前回の内容では、EC2とDocker、Apacheを利用してWebサーバーを構築しました。
今回はそのWebサーバーにWordPressを設置し、ブログを公開してみましょう。
WordPressはオープンソースのCMS(Contents Management System)ソフトウェアです。
オリジナルのブログ・Webサイトを公開するツールとして人気があり、このAvintonのWebサイトもWordPressで作られています。
WordPressを利用するにはMySQLとPHPが必要なため、合わせてインストールし、設定を進めていきましょう。
前回から引き続きDockerコンテナの中で作業を進めたいので、インスタンスへSSHし、コンテナにログインしてください。
ssh -i "~/.ssh/HOGEHOGE" -p xxxxx USER@FQDN sudo su - docker exec -it CONTAINER_ID /bin/bash
~
早速PHPをインストールしたいのですが、そのままのyumリポジトリでは古いバージョンのPHPしかありません。
最新のPHPをインストールするために、Webtatic Yum(https://webtatic.com/) リポジトリを導入しましょう。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
これでphp7系のパッケージをインストールできるようになりました。
それではPHPをインストールしましょう。
WordPressではPHP本体に加え、いくつかモジュールを必要としますので、まとめてインストールします。
yum -y install php72w php72w-mysql php72w-gd php72w-mbstring php72w-opcache php72w-xml
インストール後、Apacheを再起動します。
systemctl restart httpd
PHPが実際に動作するか調べるには、次のようにphpの情報を表示するページを作成し、Web上で確認すると良いでしょう。
touch /var/www/html/info.php
echo “<?php phpinfo(); ?>” > /var/www/html/info.php
ブラウザからURLにアクセスすると、次のようなページが開きます。
(URLは http://YOUR_INSTANCE_IP/info.php になります。)
動作確認後、ファイルは不要となるので rm コマンド で削除しましょう。
rm /var/www/html/info.php
MySQL公式のリポジトリを追加し、
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
インストールします。
yum -y install mysql-server
インストール後、サービスを起動します。
systemctl start mysqld
MySQLがインストールされると、デフォルトでrootユーザーのパスワードが生成されます。
そのままにしておくのはあまりよくないため、rootのパスワードを変更しましょう。
生成されたパスワードを次のコマンドで表示し、コピーします。
grep 'temporary password' /var/log/mysqld.log
MySQLのコンソールへ接続します。パスワードを聞かれるので、上記コマンドで表示したパスワードを入力します。
mysql -u root -p
rootユーザーのパスワードを変更します。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ENTER_NEW_PASSWORD';
control + D または exit を押下してコンソールから一度ログアウトし、変更したパスワードでMySQLのコンソールへログインできるか試してください。
WordPressのインストールは次の手順で進めます。
WordPress用のDBをセットアップします。
公式サイトから wget コマンドで最新の圧縮ファイルをダウンロードし、公開フォルダに設置します。
cd ~ yum -y install wget wget http://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz cp -R wordpress/ /var/www/html/wordpress
~
MySQLコンソールを呼び出し
mysql -u root -p
WordPress用のデータベースとユーザーを作成します。
mysql> CREATE DATABASE wpdb; mysql> GRANT ALL ON wpdb.* TO hoge@localhost IDENTIFIED BY 'hogehogepassword'; mysql> FLUSH PRIVILEGES;
DBとユーザーを作成後、一度ログアウトし、作成したユーザーでMySQLコンソールを呼び出せることを確認します。
mysql -u hoge -p
MySQLコンソールが開いたら、作成したDBが存在していることを確認します。
mysql> show databases:
WordPressの機能の中には、Apacheのドキュメントルートへのアクセスを必要とするものがあります。
機能をフルに使いたい場合は、ドキュメントルートのパーミッションを次のように修正します。
chown -R apache:apache /var/www chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \;
これでブログを公開する準備が整いました。
ブラウザでURLを叩き、WordPressの最後の設定を済ませましょう。
http://[Your Public IP]/wordpress
画面の指示通りに進むと、次のような入力画面が表示されます。ここでは前項で作成したデータベースとユーザー名、パスワードをそれぞれ指定してください。
全ての設定が終わるとブログにアクセスできます!やったね!
この記事ではWordPressを導入するために、必要なパッケージを一つずつインストールしていきました。しかしこのような方法は手間がかかって大変です。
実は、DockerにはWordPressとMySQLのコンテナがアップロードされており、それらのコンテナと docker compose を利用することで瞬時にWordPressの環境を用意することができます。
WordPressでブログを公開できるようになりました。これであなたのポエムをどしどし投稿してください!
次回はこれまで構築してきたWebサーバーをメンテナンスするため、AWS CLIの使い方をまとめます。
>>AWS CLIをインストールしてコマンド操作しよう
社員の成長を導きながら、AIやビッグデータなどの最先端技術をプロジェクトに活用していくことが私たちのビジョンです。Avintonの充実した技術研修でスキルアップを図り、あなたのキャリア目標を一緒に達成しませんか?