OCIでLAMP環境の構築(Oracle Linux8)OpenSSLインストール
#パスフレーズを2回入力する。
#server.key からパスフレーズ情報を削除する。
sudo openssl rsa -in server.key -out server.key
sudo chmod 400 server.key
#自己証明書作成
sudo openssl req -new -x509 -days 3650 -key server.key -out server.crt
※ ホスト名を正しく設定しないと証明書エラーになる
#ブラウザインポート用バイナリDER作成(アドレス/server.der でDL可能)
sudo openssl x509 -in server.crt -out /var/www/html/server.der -outform DER
cd /
#mod_sslインストール
#ssl.conf 編集
#DocumentRoot "/var/www/html" ←43行目くらい
↓
DocumentRoot "/var/www/html" ←コメント解除(ドキュメントルート)
#ServerName www.example.com:443 ←44行目くらい
↓
ServerName xxxxxxxxxx.com:443 ←コメント解除&変更(サーバー名を記入)
SSLCertificateFile /etc/pki/tls/certs/localhost.crt ←85行目くらい
↓
SSLCertificateFile /etc/pki/tls/certs/server.crt ←変更(証明書へのパスを指定)
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key ←93行目くらい
↓
SSLCertificateKeyFile /etc/pki/tls/certs/server.key ←変更(秘密鍵へのパスを指定)
sudo systemctl restart httpd
OCIでLAMP環境の構築(Oracle Linux8)MySQLインストール
MySQL5.6のdmpデータを取り込もうとしたら上手くいかず,upgredeできない等MySQLの挙動がおかしいので,こちらの方法にします。以下は無視で。
#リポジトリをインストールします。
sudo dnf localinstall https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
#Default のMySQLを無効化。
sudo dnf module disable mysql
#MySQLのインストール
sudo dnf install mysql-community-server
#自動起動を有効に。
sudo systemctl start mysqld
sudo systemctl enable mysqld
#ログからパスワードを確認(root@localhost: の後の文字列を記録する)
最初にrootのパスワードを入力,次に新しいパスワードを入力し,以降はすべてYで進めば設定完了。
データベースの作成等は省略します。
OCIでLAMP環境の構築(Oracle Linux8)PHPインストール
PHP7をインストールします。
sudo dnf -y install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl restart httpd
PHPが有効である事を確認します。
sudo vi /var/www/html/info.php
ブラウザで,アドレス/info.php にて各種PHPの設定が表示される事を確認します。
phpinfoを部外者に見られると何かとあれなので,ファイル削除をお忘れなく。
OCIでLAMP環境の構築(Oracle Linux8) Apache
Apacheをインストールします。
sudo dnf -y install httpd httpd-tools httpd-devel
sudo systemctl start httpd
sudo systemctl enable httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
これで,パブリックIPでApacheの初期画面が表示されれば成功。
当然ながらOCIのFWの80ポートの開放も必要です。
Apache専用ユーザーの作成
sudo useradd -s /sbin/nologin www
passwd www
cd /etc/httpd/conf
sudo vi httpd.conf
User Apache
↓ 69行目くらい
User www
Group Apache
↓ 70行目くらい
Group www
#ServerName www.example.com:80
↓ 98行目くらい
ServerName www.example.com:80
cd /var/www
sudo chown www:www html
sudo chown www:www cgi-bin
sudo systemctl restart httpd
OCIでLAMP環境の構築(Oracle Linux8)
CentOS8のサポート終了が知らされ,慌ただしく代役を調査しています。
OCIでOracleLinux8なら当分大丈夫そうですし,試してみる事にしました。
まずは,環境の作成から。
コンパートメントを作成。
次にVCN,orclを作成
そして,コンピュートの作成
ImageをOracleLinux8にして,CPUも変更します。無料版の場合は一択ですが。
SSHキーなどは同じなので省略します。Createでとりあえずコンピュートは作成されました。
OCIでサーバー構築(MySQL)
MySQLのインストール
MariaDBの削除
最新版のmySQLをインストール
# sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# yum info mysql-community-server
# sudo yum -y install mysql-community-server
# mysqld –version
# sudo systemctl start mysqld.service
自動起動を設定
# sudo systemctl enable mysqld.service
初期パスワードの確認(ログファイル中の赤文字の部分 6行目くらい)
# vi /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: lSample;#B/f6Y;
# sudo mysql_secure_installation
最初に上記パスワードの入力を求められ,新しいPWを入力するが結構セキュリティーポリシーが厳しい。あとは基本的にy(yes)
デフォルトキャラセットをUTF-8にしてパスワードの有効期限を無限に
# vi /etc/my.cnf
最後に以下を追加
character-set-server = utf8
default_password_lifetime = 0
上記を下記にする
character-set-server = cp932
skip-character-set-client-handshake
default_password_lifetime = 0
念のため再起動してからデータベースを作成。外部からの接続があるならlocalhost→192.168.10.% etc
OCIでサーバー構築(FTPサーバー)
VSFTPD インストール
# openssl genrsa -des3 -out server.key 2048
# sudo openssl rsa -in server.key -out server.key
# sudo chmod 400 server.key
# sudo openssl req -new -x509 -days 3650 -key server.key -out ftp.crt
以下をのように入力
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) :Osaka
Locality Name (eg, city) [Default City]:Osaka
Organization Name (eg, company) [Default Company Ltd]:testtest
Organizational Unit Name (eg, section) :
Common Name (eg, your name or your server's hostname) :test
Email Address :test@test.pgw.jp
FTPユーザーの作成(ドキュメントルートへの権限を与える)
# sudo adduser testtest
# sudo passwd testtest
# sudo chown -R testtest /var/www/html
VSFTPDインストール
# sudo yum -y install vsftpd
# sudo vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES ←12行目くらい
↓
anonymous_enable=NO ←変更(anonymous(匿名)のログインを許可しない。)
#xferlog_file=/var/log/xferlog ←53行目くらい
↓
xferlog_file=/var/log/xferlog ←コメントを外す
#ascii_upload_enable=YES ←83行目くらい
↓
ascii_upload_enable=YES ←コメント解除(ASCIIモードでのアップロードを許可)
#ascii_download_enable=YES ←84行目くらい
↓
ascii_download_enable=YES ←コメント解除(ASCIIモードでのダウンロードを許可)
#chroot_local_user=YES ←101行目くらい
↓
chroot_local_user=YES ←コメント解除(デフォルトでホームディレクトリより上階層への移動を禁止)
#chroot_list_enable=YES ←102行目くらい
↓
chroot_list_enable=YES ←コメント解除(ホームディレクトリより上階層への移動を許可するリスト)
#chroot_list_file=/etc/vsftpd/chroot_list ←104行目くらい
↓
chroot_list_file=/etc/vsftpd/chroot_list ←コメント解除(上記ユーザーの指定ファイル)
#ls_recurse_enable=YES ←110行目くらい
↓
ls_recurse_enable=YES ←コメント解除(ディレクトリごとの削除を許可する)
listen=NO ←115行目くらい
↓
listen=YES ←変更(IPv4を許可)
listen_ipv6=YES ←124行目くらい
↓
↓最終行に下記を記入 pasv_addressはグローバルアドレス
# VSFTPD configuration
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=XXX.XXX.XXX.XXX
pasv_min_port=4000
pasv_max_port=4029
use_localtime=YES
ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/ftp.pem
require_ssl_reuse=NO
force_local_logins_ssl=NO
force_local_data_ssl=NO
force_dot_files=YES
sudo su
echo "vsftpd: ALL" >> /etc/hosts.allow
echo opeman >> /etc/vsftpd/chroot_list
systemctl start vsftpd.service
systemctl enable vsftpd.service
systemctl is-enabled vsftpd.service
exit