ブログサイトの構築
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
本日のやりたいこと
今回はAmazonEC2のインスタンス上にブログサイトを構築します。
ブログサイトには「wordpress」というブログ用のソフトウェアを使用します。
使用する環境
- サーバー
- Amazon EC2
- インスタンスタイプ: t2.micro (1台)
- オペレーティングシステム: Amazon Linux 2
- Amazon EC2
- ソフトウェア
- 参考
構築の流れ
以下の手順で構築を行います。
----------------------------------------------------------
①Apache をインストールする
②PHPをインストールする
③MariaDBをインストールする
④phpMyAdominをインストールする
⑤WordPressをインストールする
⑥データベースのセットアップ
⑦WordPressの設定
-----------------------------------------------------------
いざ構築!!
①Apache をインストールする
rootユーザになる
sudo su -
httpdをインストール
yum install httpd
(yを押下)
systemctl enable httpd
systemctl start httpd
②PHPをインストールする
PHPをインストール
amazon-linux-extras enable php7.3
yum install php php-gd php-mysqlnd php-xmlrpc -y
→Conplete! でインストール完了!
※バージョンは最新のものに適宜置き換えてください。
③MariaDBをインストールする
MariaDBをインストール
yum install mariadb mariadb-server -y
systemctl enable mariadb
systemctl start mariadb
mysql_sequre_installationを実行
mysql_secure_installation
⑴ Enter current password for root (enter for none):
データベースのrootユーザのパスワードはまだ設定されてないので
何も入力せずにenterを押す。
⑵ enter current password for root (enter for none):
データベースの root ユーザーのパスワードをこれから設定したいので
'Y' と入力して Enter を押す。
⑶ Set root password? [Y/n]
安全なパスワードを 2回入力
New password:
Re-enter new password:
Password updated successfully!
⑷ 以下全部 Y を入力
④phpMyAdominをインストールする
※このphpMyAdminをダウンロードする工程は飛ばしても構築は可能です。
急ぎの方は⑤にお進みください。。。
phpMyAdminの関連パッケージをインストール
yum install php-mbstring php-fpm -y
Apacheを再起動
systemctl restart httpd
カレントディレクトリを/var/www/htmlに移動
cd /var/www/html
phpMyAdminをダウンロード
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
phpMyAdminディレクトリを作成してphpMyAdmin パッケージを展開(解凍)し元のファイルを削除
mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1
rm phpMyAdmin-latest-all-languages.tar.gz
:yを入力
ブラウザよりアクセス
<URL>
http://[パブリックDNS]/phpMyAdmin
ユーザ名 : root
パスワード: mysql_secure_installation
で設定したパスワード
を入力して "実行" ボタンをクリック
これで、普通SQL文を書いて行うデータの登録や更新といった管理をGUIで感覚的に行うことができるようになります。今回はCUIでSQL文を書いてデータ登録等を行いますので使いません。
⑤WordPressをインストールする
ホームディレクトリに戻る
cd
pwd
WordPress関連パッケージをダウンロードして展開(解凍)
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
⑥データベースのセットアップ
mysqlにログイン
mysql -u root -p
※mysql_sequre_installationにて設定したパスワードを入力
データベースのユーザーとパスワードを作成
CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';
※your_strong_passwordはご自身で考えたパスワードをご使用ください。
データベースを作成
CREATE DATABASE `wordpress-db`;
データベースに対して、さきほど作成した wordpress-user
ユーザーの権限を追加
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
すべての変更を有効にするため、データベース権限をフラッシュ
FLUSH PRIVILEGES;
mysql クライアントを終了
Ctrl+DでExit
⑦WordPressの設定
ホームディレクトリに戻る
cd
pwd
WordPressの設定ファイルを変更する前にバックアップを作成
cp wordpress/wp-config-sample.php wordpress/wp-config.php
設定ファイルを編集
vi wordpress/wp-config.php
以下を変更
-----------------------------------------
define( 'DB_NAME', 'database_name_here' );
を
define( 'DB_NAME', 'wordpress-db' );
に変更
define( 'DB_USER', 'username_here' );
を
define( 'DB_USER', 'wordpress-user');
に変更
define( 'DB_PASSWORD', 'password_here' );
を
define( 'DB_PASSWORD', 'your_strong_password');
に変更
--------------------------------------------
※your_strong_passwordはご自身で設定したパスワード。
⑦Wordpressファイルの配置
Wordpressディレクトリを/var/ww/html/blog/ディレクトリにコピー
mkdir /var/www/html/blog
cp -r wordpress/* /var/www/html/blog/
httpd.confのバックアップを作成し、#を排除
cd /etc/httpd/conf
mv httpd.conf httpd.conf.org
grep -v -e '^#' -e ' #' httpd.conf.org > httpd.conf
ホームディレクトリに戻る
cd
pwd
httpd.confを修正
vi /etc/httpd/conf/httpd.conf
以下を変更
-----------------------------------------
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None → AllowOverride All
Require all granted
</Directory>
-----------------------------------------
Apacheによるファイル書き込みの許可
sudo chown -R apache /var/www
sudo chgrp -R apache /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
Apacheの再起動
sudo systemctl restart httpd
ブラウザよりWordPressをインストール
<URL>
http://[パブリックDNS]/blog/wp-admin/install.php
<補足>
#エラーが発生する場合
<URL>
http://[パブリックDNS]/blog/wp-admin/install.php
を表示しようとしてもエラーが出る場合は、⑦の設定ファイルに誤りがある可能性があるので確認してみてください。
もし、誤りがみつかった場合は変更を保存した後に以下コマンドより、⑦で行ったコピー元にも反映させてください。
cp wordpress/wp-config.php /var/www/html/blog/wp-config.php
yを押下でコピーを承諾
以上