CentOSにwordpressインストール

2021-06-24

CentOS に WordPressをインストールする

BLOGを作れるWordPressをCentOSにインストールする機会があったのでその方法を紹介します。WordPressの構築の要件は「Apache」・「MySQL(MariaDB)」・「PHP」が動いていれば動作します。最新のWordpressの場合は公式サイトによると以下のバージョンとなります。

インストール手順ですが色々ありますが、今回の紹介する手順は、DB作成・Wordpressをダウンロード及び展開、Apacheの設定、Wordpressのセットアップて手順です

PHP バージョン 7 以上
MySQL バージョン 5.6 以上 または MariaDB バージョン 10.0 以上

古い PHP や MySQL しか利用できないレガシーな環境でも、PHP 5.2.4 以上、かつ MySQL 5.0 以上であれば WordPress は動作しますが、公式サポートは終了しており、サイトがセキュリティの脆弱性にさらされる危険があります。

MySQL(MariaDB)で、Wordpress用のデータベース作成

まずが、MySQL(MariaDB)でデータベースを作成します。今回は以下の設定で作成しています。ご使用の環境でユーザー名・パスワード・DB名は変更して下さい

  • ユーザー名:wp_admin
  • パスワード:Qe93dDe5
  • データベース名:wp_database
--MySQLにrootでログインします
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5340 to server version: 3.23.54
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
-- wp_databaseのデータベースを作成します
mysql> CREATE DATABASE wp_database;

-- wp_adminのパスワードやDBの権限を設定します
mysql> GRANT ALL PRIVILEGES ON wp_database.* TO "wp_admin"@"localhost" IDENTIFIED BY "Qe93dDe5"; 
mysql> SHOW CREATE DATABASE wp_database;
mysql> flush privileges;

これでDB関係の設定は終了です。次がWordpressをダウンロード・展開します

WordPressをダウンロード及び配置

公式サイトからWordpressをダウンロードしてWEBディレクトリに展開します。WEBディレクトリですが「/var/www/wordpress」に配置します。このディレクトリはVirtualHostの設定を後にします

まずは公式サイトよりwgetで圧縮ファイルをダウンロードします

$ cd /usr/local/src
$ wget https://ja.wordpress.org/wordpress-4.7.3-ja.tar.gz

解凍してWEBディレクトリ(/var/www/wordpress)に設置します

#圧縮ファイルを解答します
$ cd /usr/local/src
$ tar wordpress-4.7.3-ja.tar.gz

#ダウンロードした圧縮ファイルを削除してから、WEBディレクトリ(/var/www/wordpress)に移動します
$ rm -f wordpress-4.7.3-ja.tar.gz
$ mv wordpress /var/www/wordpress
$ rm -Rf wordpress

WEBディレクトリの配置したコンテンツをApacheに設定して、wp-config.phpを編集します

# 所有者、グループ名をapache:apacheに変更
$ sudo chown -R apache:apache /var/www/wordpress
# wp-config-sample.php wp-config.phpに変更して編集する
$ sudo mv wp-config-sample.php wp-config.php
$ sudo vi wp-config.php
define('DB_NAME', 'wp_database'); #データベース名
define('DB_USER', 'wp_admin'); #ユーザー名
define('DB_PASSWORD', 'Qe93dDe5'); #パスワード
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');

これでWordpressの設定は終了です。次がApacheの設定です

WordPressのApacheの設定

「/var/www/wordpress」をルートディレクトリとして、VirtualHostの設定をします。
設定ファイルですがCentOS7とCentOS6のApacheのバージョン違いますので、下記の箇所の設定が異なります

【CentOS 7 apache2.4】
Require all granted

【CentOS 6 apache2.2】
Order allow,deny
Allow from all

# VirtualHost用の設定ファイル(vhost.conf)を作って編集します
$ sudo vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName example.com; #ドメイン
DocumentRoot /var/www/wordpress
<Directory "/var/www/wordpress">
AllowOverride All # .htaccess による設定変更を許可
Options Includes ExecCGI FollowSymLinks
Require all granted
# Apache2.2系は、下記の設定です
#Order allow,deny
#Allow from all
</Directory>

# xmlrpc.phpにアタックあったのでアクセス拒否
<Files "xmlrpc.php">
Require all denied

# apacheを再起動します
# CentOS 6
$ sudo /etc/init.d/httpd restart
# CentOS 7
$ sudo systemctl start httpd

これで設定は終了です。あとブラウザでinstall.phpにアクセスして設定して終了です

ブラウザででinstall.phpにアクセスする

下記のURLにアクセスしてhttp://www.example.com/wp-admin/install.phpに実行します。URLはせていした環境で変わりますので任意に変更して下さい。