🙌

スーパー初心者向け! Wordpress構築🐶

4 min read

人気ブログの一つに「Wordperss」がありますよね。
今回はインフラ基盤を一から作り自分の記事が書けることをゴールに設定しました!

Wordpressとは?

"WordPress(ワードプレス)とは、サイトの作成やブログの作成などが
できるCMS(コンテンツ管理システム)の1つ"

https://digital-marketing.jp/creative/what-is-wordpress/

では早速構築に移りましょう!

Amazon Linux2でのインストールを試みます。

[参考サイト]

https://qiita.com/moomindani/items/9968df0d4396564bf74c#オプション-6-phpmyadmin-をインストールする

yumのアップデート

yum update -y

まずはwebサーバを構築していきます。今回はApacheをミドルウェアに採用し
やっていきましょう!

Apacheのインストール・起動・自動設定

yum install -y httpd
systemctl start httpd
systemctl enable httpd

※ディレクトリ以下ファイルのアクセス権限をapacheにしておかないとファイルへの書き込みができずにエラーに陥るので権限委譲とパーミッションは変更しておきましょう!

ディレクトリの権限委譲

chown -R apache:apache /var/www
chmod 2775 /var/www && find /var/www -type d -exec chmod 2775 {} \;
find /var/www -type f -exec chmod 0664 {} \;

WordpressにはPHPが必要なためパッケージ諸共インストールしていきます!

レポジトリにあるPHPを参照

amazon-linux-extras enable php7.3

関連のパッケージインストール

 yum install -y php php-gd php-mysqlnd php-xmlrpc

Wordpressのデータ保存先のデータベースを構築していきます。
今回はMariaDBを採用しました!

DBのインストール

yum install mariadb mariadb-server -y
systemctl start mariadb
systemctl enable mariadb.service

DBへのログイン時のパスワード設定をします。
このパスワードは後ほどログインする際必要なのでメモっとくといいでしょう。

セキュリティ設定

mysql_secure_installation

以下続けて設定

#現在のパスワード入力が求められますが、Enterで大丈夫です
Enter current password for root (enter for none): 
#パスワード設定はyes
Set root password? [Y/n] y
#新たなパスワード設定
New password: 
#もう一度同じパスワード設定
Re-enter new password: 

#匿名ユーザーアカウントを削除
Remove anonymous users? [Y/n] y
#リモートルートログインを無効
Disallow root login remotely? [Y/n] y
#テストデータベースを削除
Remove test database and access to it? [Y/n] y
#権限テーブルを再ロードし、変更を保存
Reload privilege tables now? [Y/n] y

#以下の文言が出てくればOK!
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

DBへログイン

 mysql -u root -p
 #パスワードは先ほど設定したもの

ログイン後以下をDB内にて登録

#ユーザ登録
CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY '登録したいパスワード名';
#DB名登録
CREATE DATABASE `wordpress-db`;
#ユーザへの権限付与
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
#権限内容の反映
FLUSH PRIVILEGES;

# ctl+dでDBから抜けます

カレントディレクトリに移動

cd && pwd

今回メインのWordpressデータをインストールしていきます!
Wordpressインストール・ファイルの解凍

wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzvf latest-ja.tar.gz

解凍済みファイルの削除

rm -rf latest-ja.tar.gz

PHPの設定ファイルコピー・作成

cp wordpress/wp-config-sample.php wordpress/wp-config.php
vim wordpress/wp-config.php

DBログインした際に登録した情報をPHPに流し込んでいきます。

以下内容を編集

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'DBの編集で登録したDB名' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', '登録したユーザ名' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', '登録したパスワード名' );

今回はわかりやすいようにhtml配下に「wordpress」というディレクトリを作成し、そこにwordpressのデータをコピーしていきます!

webページ用ディレクトリ作成

mkdir /var/www/html/wordpress

Wordpressのファイルを全て先ほど作成したディレクトリへコピー

cp -r wordpress/* /var/www/html/wordpress/

最後にApacheの設定です。

Apacheの設定ファイルのオリジナルコピー・編集

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
vim /etc/httpd/conf/httpd.conf

151行目のAllowOverride Noneを Allへ編集
(WordpressとApacheのパーマリンクを実現しています。)
「パーマリンクとは「Webサイトのページ毎に設定しているURL」のこと」

https://www.xserver.ne.jp/blog/wordpress-permalink/
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    
    #151行目に記載
    AllowOverride All

最後にApacheを再起動

systemctl restart httpd

ブラウザよりWordpress設定

http://自分のグローバルIP/wordpressで初期設定画面へ移行。

後半はざざっとやっていきましたが、これでWordpress初期画面からログインができるようになったかと思います!

Discussion

ログインするとコメントできます