1
Help us understand the problem. What are the problem?

posted at

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

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

Wordpressとは?

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

では早速構築に移りましょう!
:::message
Amazon Linux2でのインストールを試みます。
:::

[参考サイト]
https://qiita.com/moomindani/items/9968df0d4396564bf74c#%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3-6-phpmyadmin-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B

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 None
     
     AllowOverride All

最後にApacheを再起動

sys
temctl restart httpd

ブラウザよりWordpress設定

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

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?