CentOS6と7、やっぱり結構違うなあ、と。
もともとCentOS6で動いていたこのlaboサーバ。
時代に追いつくために思い切ってCentOS7にしてみた。
【バックアップ】
せっかくOSを上げるので、最低限必要なものだけ持っていくことに。
qmail(vpopmail)
→ postfixにして最初から設定しなおすので必要なし。
apache
→ 2.2系から2.4系になるのでこれも設定仕直し、基本必要ないのだが
2.4系で断念したら2.2系に戻すために念のために各種コンフィグバックアップ。
そして各サイトの公開ディレクトリをtar czvfで固める。
別にgzipでもいいけど、tarコマンドを手が覚えてるうちはtarでいいかな、と。w
bind
→セキュリティ追いかけるの面倒だし、さくらのDNS機能を使うように切り替えたいので破棄。
mysql
→MariaDBに変えるので、各DBだけdump。privilegesはgrant文を再発行するので不必要。
いずれはmysql5.7系とMariaDB10系をサーバ内で共存させたいなー、程度で。
php
→5系から7系に上げるのでこちらも再度php.ini検討。バックアップせず。
svn
→制作物のソースはローカルにあるので破棄、いずれ必要ならgithubで作り直す
【インストール】
カスタムインストールでCentOS7。
マニュアルにもあるので詳細は省略。
最小構成で入れたらwgetも入ってなくて序盤苦しみまくったのは内緒。
【設定】
◇SELinuxを切る
今はまだわからないので、いずれ習得したら使いたいな、と。
$ set enforce 0
$ vi etc/sysconfig/selinux
…
SELINUX=disabled
…
◇firewalldを設定
こいつで超絶ハマった。これが書いてある参考サイトがどこにもなかったからな!w
iptablesじゃなくてfirewalldなのね、もうこれは絶対に忘れないと思うwww
22番ポートは開いてるのに80番開いてないから本当に1週間苦しんだわ。
# どこのポートが開いてるか確認
$ firewall-cmd –list-all
# http(80/TCP)を開ける
$ firewall-cmd –add-service=http –permanent
# 8080/TCPを開ける(いずれapacheとnginxを80と8080で共用したい)
$ firewall-cmd –add-port=8080/tcp –permanent
# firewalld再起動
$ systemctl restart firewalld
◇apache2.4、PHP7.0.6、MariaDB10、nginx1.10を入れる
ここはどんな文献でも出てくるのでサラっと。
# apache2.4
$ yum install httpd
$ systemctl start httpd
$ systemctl enable httpd
# PHP7.0.6
# nginxでphp-fpmを使いたいので、そちらもついでに。
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ yum –enablerepo=remi-php70 install php php-fpm php-devel php-mysql php-mbstring
$ systemctl start php-fpm
$ systemctl enable php-fpm
# MariaDB
$ yum install mariadb-devel mariadb-client mariadb-server
$ systemctl start mariadb
$ systemctl enable mariadb
# rootのパス設定したり不要なものを消したりetc…
$ mysql_secure_installation
# nginx
$ yum install nginx
$ systemctl start nginx
$ systemctl enable nginx
◇リストア
DBはバックアップから復元。
各サイトのデータは適当にディレクトリを用意してtar xzvfで解凍。
apacheはVirtualhostの設定、PHPはphp.iniにdate.timezone=”Asia/tokyo”だけ記述。
とりあえずこれでapache、PHP、mariaDB側は問題なし。
php-fpmとnginxについては、動いたらまた記述しようかと。
UNIXドメインソケットというのがよくわからぬので、まだ進んでないので。
あ、あとpostfixもね。まだそこまで手が追いつかないんで。w