さくらVPSでWEBアプリ(PHP)公開前にやる設定
※ド素人ノンプログラマのメモなので参考にはなりません。
※タイトル変えました。
マジで何もわからないが必要に迫られたのでやるしかない。とりあえずテスト用にさくらでVPSを借りてきた。OSはCentOS 7を選択。数ヶ月後の記憶を失った自分が見ても再現できるように、できるだけゼロから(空っぽのサーバーの状態から)全行程をメモとして残したい。
この記事ではphpとDBを使えるようにするところまでやります。
まずMacのターミナルからSSHで接続してOSをアップデート
# yum update
色々出てくるけど何もわからないので無視してとりあえず「yes」を選んでおく。
次に、rootでのSSH接続を拒否するために一般ユーザーを作っておく。
# adduser username
パスワードも設定。
# passwd username
で、SSHの設定ファイルを別名コピーで保全した上で元ファイルを修正する。
# cd /etc/ssh
# cp sshd_config sshd_config.old
# nano sshd_config
vimというのがよくわからんので私はnanoをよく使う。
sshd_config を開いて
#PermitRootLogin yes
を
PermitRootLogin no
に変更してやるとrootでSSH接続できなくなるらしい。
Apacheをインストールする
さくらのVPSは独自のファイアウォールみたいなのがデフォルトで動いているがややこしくなるのでそれは停止。一旦全ポート開けておく。
で、Apacheをインストール。
# yum install httpd
何を聞かれても[y]そして[enter]。これで決まりだ。
さらにファイアウォールを設定。
# systemctl start firewalld
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
http、https通信用のポートを開けた。そしたら再起動。
# systemctl restart firewalld
再起動時にapacheを自動で起動するように設定。
# systemctl enable httpd
ftpソフトでファイルをアップロードできるようにドキュメントルートの権限を変更
# cd /var/www
# chown apache:username html
# chmod 775 html
DNSを設定
手持ちのドメインがあったので、それをこのサーバーに割り当てた。
今回はさくらの会員メニューから「契約中のドメイン一覧」→「ドメインコントロールパネル」→「ネームサーバサービスにドメインを登録(ネームサーバの利用申請)」で設定
PHP8をインストール
まずはRemiリポジトリを追加
# yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
どれがインストールできるかな?
# yum list | grep php80
色々あってよくわかんないけど、まあこんなもんでしょうかね……。
# yum -y install −−enablerepo=remi-php80 php80 php80-php php80-php-xml php80-php-xmlrpc php80-php-pecl-mcrypt php80-php-fpm php80-php-pecl-apcu php80-php-mbstring php80-php-gd php80-php-json php80-php-pecl-json-post php80-php-pdo php80-php-mysqlnd php80-php-pecl-mysql php80-php-opcache php80-php-pear php80-php-soap php80-php-intl php80-php-pear
再起動。
# systemctl restart httpd
これでphp8が使えるようになった。ちょっと設定を変更。
# cd /etc/opt/remi/php80
# cp php.ini php.ini.old
# nano php.ini
ファイルサイズ周りを修正
post_max_size = 128M
upload_max_filesize = 128M
もう書かんけど再起動して完了
次はMariaDBをインストール
# yum install mariadb-server
# systemctl enable mariadb
# systemctl start mariadb
適当に初期設定
# mysql_secure_installation
phpMyAdminをインストール
こいつも入れておかないと自分のような素人にはどうにもならない。
# yum install --enablerepo=remi,remi-php80 phpMyAdmin
更にphpMyAdminの設定。
# cd /etc/httpd/conf.d/
# cp phpMyAdmin.conf phpMyAdmin.conf.old
# nano phpMyAdmin.conf
これを
Require local
こうする。ローカル以外からもアクセス可能にする。
#Require local
Require all granted
そしたらまたhttpdを再起動。これでリモートのパソコンからもphpMyAdminにアクセスできるようになった。
本番環境では phpMyAdmin.conf をいじってURLを変更するが、今回は〜/phpMyAdmin/でいっちゃう
不正アクセス対策としてSSH通信のポートを変更する
# nano /etc/ssh/sshd_config
22を22222(仮)に変更して、再起動
# systemctl restart sshd
firewalldの設定からSSHを削除
# firewall-cmd --permanent --remove-service=ssh
# cd /usr/lib/firewalld/services/
# cp ssh.xml ssh-22222.xml
# nano ssh-22222.xml
22を22222に変更。
# firewall-cmd --permanent --add-service=ssh-22222
# firewall-cmd --reload
いかがでしたか?
いかがでしたか?いかがでしたか?いかがでしたか?いかがでしたか?いかがでしたか?いかがでしたか?いかがでしたか?いかがでしたか?
今回はとりあえずここまで。
いいなと思ったら応援しよう!
![ふぐりたつお](https://assets.st-note.com/production/uploads/images/7417405/profile_9e9f57f66f03bfce1c8743189d8a746f.jpg?width=600&crop=1:1,smart)