昨日更新したように、この oyasu.info は ConoHa へ移転しましたが、今回はどんなサーバー構成にしたのか、操作手順を含めて紹介します。
関連する記事
- (紹介編)Web サーバーを ConoHa に移行しました
- (この記事)ConoHa で oyasu.info 向けウェブサーバーの構築・インストール編
- (公開予定)ConoHa で oyasu.info 向けウェブサーバーの構築・環境設定編
- (公開予定)ConoHa で oyasu.info 向けウェブサーバーの構築・データ移転編
今回はインストール編ということで、OS デフォルトでインストールされる古いバージョンの代わりに、最新版をインストールするところまでを目的とします。
今回インストールするもの
- Mackerel
- Nginx 1.10
- PHP 7
- MySQL 5.7
Mackerel 以外は yum install でとりあえず動くバージョンがインストールできます。
しかし、最新版を利用したいので少し工夫しています。
Perl はデフォルトで 5.16 がインストールされ、最新版は 5.24 ですが、Perl はとりあえず動けばいいというレベルですのでそのまま利用します。
インストールしただけでは、PHP も Perl も Web サーバーで利用できません。
それぞれの設定については、今後公開予定の「環境設定編」で紹介します。
サーバーの追加
ConoHa でこのような設定でサーバーを追加します。
- 東京リージョン VPS
- メモリ 1GB
- CentOS 7.2 (64bit)
- ディスク容量 50GB
- 接続許可ポート SSH(22)、Web(20/21/80/443)
- SSH Key 認証
今回は ConoHa の CentOS テンプレートを使用します。
それ以外の環境の場合、標準でインストールされているパッケージが少ないこともあるのでご注意ください。
パッケージの更新とファイアウォールの設定
再起動が必要なカーネルのアップデートとファイアウォールの設定を行います。
yum -y update
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
reboot
デフォルトで、SSH のポートが開いているので、これで 22、80、443 が開きました。
FTP は使用しないので、この設定で OK です。
サーバー監視ツール「Mackerel」の導入
ロリポップのような共用サーバーと違い、監視は自己責任であることから監視ツールを使用します。
Nagios を自分でインストールすることも可能ですが、今回は外部のツールである Mackerel を使用します。
ユーザー固有の API キーもありますので、公式のマニュアルを参考にインストールします。
curl -fsSL https://mackerel.io/assets/files/scripts/setup-yum.sh | sh
sudo yum install -y mackerel-agent
systemctl enable mackerel-agent
sudo mackerel-agent init -apikey="(キー)"
sudo /etc/init.d/mackerel-agent start
コピーなので削除していませんが、ConoHa では root でログインしているため、sudo は無くても動作します。
Mackerel を開き、今回の VM が追加されていると作業完了です。
Nginx のインストール
デフォルトの設定では、バージョン 1.6.3 がインストールされるため、最新版(記事公開時点 1.10.1)をインストールするよう設定します。
テキストエディタで下記のような内容で /etc/yum.repos.d/nginx.repo を作成します。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
あとは、通常の手順で nginx をインストールすると OK です。
ConoHa の CentOS 7 テンプレートでは、最初に Apache がインストールされているため削除します。
yum -y remove httpd
yum -y install nginx
systemctl start nginx
systemctl enable nginx
参考:
https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
PHP 7 のインストール
nginx 同様、デフォルトでは PHP 5.4 と古いバージョンがインストールされてしまいますので、7 をインストールするよう設定します。
PHP のダウンロードと起動設定
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php70
yum -y install php php-fpm php-mbstring php-mysqlnd composer
systemctl enable php-fpm
参考
http://blog.remirepo.net/post/2016/02/14/Install-PHP-7-on-CentOS-RHEL-Fedora
yum-config-manager なしで、
yum --enablerepo=epel,remi,remi-php70 install php70
のような書き方を紹介しているページがありましたが、バージョンアップの際も毎回 –enablerepo をつける必要があることからこちらの設定がおすすめです。
念のためバージョンを確認します。
php -v PHP 7.0.8 (cli) (built: Jun 22 2016 11:57:34) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
MySQL 5.7 のインストール
CentOS 7 デフォルトの設定では、MySQL から派生した MariaDB 5.5 がインストールされます。
MariaDB も最新版は 10.1 ですし、今回は MySQL の最新版 5.7 をインストールします。
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum -y install mysql-community-server systemctl enable mysqld
MySQL root パスワードの確認・変更
MySQL の root パスワードの初期値は、ログに記載されています。
ログファイルにパスワードが記録されていると危険ですので変更します。
あとで見てもいいですが、ログが増えないうちに初回起動時に確認します。
MySQL サーバー起動
systemctl start mysqld
/var/log/mysqld.log を開き、このような行にパスワードが記載されているのでコピーします。
[Note] A temporary password is generated for root@localhost: (パスワード)
新しいパスワードの設定
mysql -u root -p Enter password:(パスワードを入力) ALTER USER root@localhost IDENTIFIED BY "(新しいパスワード)"; CREATE DATABASE wordpress;
まとめ
ここまでで、Nginx、PHP、MySQL、一通りインストールは完了しました。
ウェブブラウザで IP アドレスを入力すると、このようなページが表示されたら OK です。
ただ、PHP も CGI も独立してインストールしていることから、そのまま、nginx.conf に書かれている root フォルダに PHP や CGI ファイルを設置しても動作しません。