アーカイブ : 2016年 5月

さくらのVPSをCentOS7にしようとしてくっそハマった件

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=enforcing
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