WordPressをインストールした際の手順をまとめておきます。
インストールするサーバーは RedHat Enterprise Linux 7 互換のディストリビューションである CentOS7 が稼働しているLinux環境です。
このマシンにはシェルアカウントがあり、rootになる権限も持っています。システム管理者としての作業を行います。
インストール手順はWordPress 日本語ローカルサイトに日本語で解説したものがあります。詳細はこちらを参照して下さい。
- WordPress のインストール
http://wpdocs.osdn.jp/WordPress_のインストール
以下、インストールを進めていきます。
1) 必要とされるソフトウェアの確認とインストール
https://ja.wordpress.org/によると、WordPress 日本語版の推奨動作環境は以下の様になっています。
●PHP バージョン 5.6 以上
●MySQL バージョン 5.6 以上 または MariaDB バージョン 10.0 以上古い PHP や MySQL しか利用できないレガシーな環境でも、PHP 5.2.4 以上、かつ MySQL 5.0 以上であれば WordPress は動作しますが、公式サポートは終了しており、サイトがセキュリティの脆弱性にさらされる危険があります。
条件を満たしているか確認します。
1 2 3 4 5 6 7 |
[root@web7 ~]# php -v PHP 5.4.16 (cli) (built: Aug 11 2016 21:24:59) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies [root@web7 ~]# mysql --version mysql Ver 15.1 Distrib 5.5.50-MariaDB, for Linux (x86_64) using readline 5.1 [root@web7 ~]# |
PHPのバージョンが5.4でしたので推奨の5.6以上を満たしていませんが、5.2.4以上で動作する様ですので、このまま使う事にしました。
MariaDBは推奨10.0 以上に対して15.1ですので問題ありません。
RedHat社は採用したソフトウェアにセキュリティホールが発見された場合、製作元の公式サポートが終了しているものについても独自にセキュリティパッチを作成し、セキュリティフィックスされたパッケージを配布してくれています。
CentOSはこのRedHat Enterprise Linuxのクローン(互換OS)ですので、製作元が公式サポートを終了した古いソフトウェアでも安心して利用する事が出来ます。
ただし、RedHat社のサポート期限内のディストリビューションに限ります。
PHP関連のパッケージは以下の物がインストールされており、この状態で問題なく動作しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[root@web7 ~]# rpm -qa|grep php php-common-5.4.16-36.3.el7_2.x86_64 php-gd-5.4.16-36.3.el7_2.x86_64 php-5.4.16-36.3.el7_2.x86_64 php-mysql-5.4.16-36.3.el7_2.x86_64 php-bcmath-5.4.16-36.3.el7_2.x86_64 php-process-5.4.16-36.3.el7_2.x86_64 php-xml-5.4.16-36.3.el7_2.x86_64 php-tcpdf-dejavu-sans-fonts-6.2.11-1.el7.noarch php-cli-5.4.16-36.3.el7_2.x86_64 uuid-php-1.6.2-26.el7.x86_64 php-mbstring-5.4.16-36.3.el7_2.x86_64 php-pdo-5.4.16-36.3.el7_2.x86_64 php-tidy-5.4.16-4.el7.x86_64 php-php-gettext-1.0.11-12.el7.noarch php-tcpdf-6.2.11-1.el7.noarch phpMyAdmin-4.4.15.8-2.el7.noarch [root@web7 ~]# |
不必要な物はアンインストールした方が良いかもしれません。これは追々…
データベース管理の為にphpMyAdminをインストールしてあります。この件も追々…
2) WordPress日本サイトから日本語版の最新版をダウンロード
WordPress 日本語ローカルサイト からファイルを取得します。Linuxにインストールするので、tar.gz形式をダウンロードするのが良いでしょう。
この記事を書いている現在、最新版は wordpress-4.6.1-ja でした。
3) ファイルの展開
ファイルを展開する場所、このサイトのドキュメントルートにするディレクトリは、
/var/www/www_hogehoge-k_com/
とする事にしました。
後でapacheのVirtualHostの設定を行って、このディレクトリを公開する様に設定します。
root ユーザになり/var/www/
下でファイルを展開します。
1 2 3 4 5 6 7 8 9 10 |
[myusername@web7 ~]$ sudo su - 最終ログイン: 2016/10/03 (月) 16:39:55 JST日時 pts/2 [root@web7 ~]# cd /var/www/ [root@web7 www]# tar xfz /any/where/wordpress-4.6.1-ja.tar.gz [root@web7 www]# ls -l 合計 12 drwxr-xr-x. 2 root root 6 7月 19 00:30 cgi-bin drwxr-xr-x. 3 root root 22 9月 30 14:32 html drwxr-xr-x 5 nobody 65534 4096 9月 9 21:50 wordpress |
wordpressディレクトリが出来ましたので、リネームします。
1 2 3 4 5 6 |
[root@web7 www]# mv wordpress www_hogehoge-k_com [root@web7 www]# ls -l 合計 12 drwxr-xr-x. 2 root root 6 7月 19 00:30 cgi-bin drwxr-xr-x. 3 root root 22 9月 30 14:32 html drwxr-xr-x 5 nobody 65534 4096 9月 9 21:50 www_hogehoge-k_com |
ファイルオーナーをapacheに設定します。
CentOS7では通常、ウェブサーバーのapache(httpd)はUser:apache、Group:apacheで動作しています。apache内で動作するPHPがWordPressのプログラムを動作させますので、WordPressからファイルの作成、書き込みをさせるにはこのユーザー、グループから書き込めるパーミッションにする必要があります。
WordPressは自身で .htaccessファイルやアップロードされたファイル等のファイルを作成します。ファイルを作成、書き込み出来るようにパーミッションの設定を行う必要があります。
ディレクトリとそれ以下の全てのファイル、ディレクトリに対してUser及びGroupのオーナーを変更する事にします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[root@web7 www]# chown -R apache:apache www_hogehoge-k_com [root@web7 www]# ls -l 合計 12 drwxr-xr-x. 2 root root 6 7月 19 00:30 cgi-bin drwxr-xr-x. 3 root root 22 9月 30 14:32 html drwxr-xr-x 5 apache apache 4096 10月 2 13:09 www_hogehoge-k_com [root@web7 www]# ls -la www_hogehoge-k_com/ 合計 188 drwxr-xr-x 5 apache apache 4096 9月 9 21:50 . drwxr-xr-x. 7 root root 83 10月 3 16:49 .. -rw-r--r-- 1 apache apache 418 9月 25 2013 index.php -rw-r--r-- 1 apache apache 19935 3月 6 2016 license.txt -rw-r--r-- 1 apache apache 10214 9月 9 21:50 readme.html -rw-r--r-- 1 apache apache 5456 5月 25 06:02 wp-activate.php drwxr-xr-x 9 apache apache 4096 9月 9 21:50 wp-admin -rw-r--r-- 1 apache apache 364 12月 19 2015 wp-blog-header.php -rw-r--r-- 1 apache apache 1477 5月 24 01:44 wp-comments-post.php -rw-r--r-- 1 apache apache 3834 9月 9 21:50 wp-config-sample.php drwxr-xr-x 5 apache apache 65 9月 9 21:50 wp-content -rw-r--r-- 1 apache apache 3286 5月 25 2015 wp-cron.php drwxr-xr-x 17 apache apache 8192 9月 9 21:50 wp-includes -rw-r--r-- 1 apache apache 2382 5月 24 01:44 wp-links-opml.php -rw-r--r-- 1 apache apache 3353 4月 15 02:53 wp-load.php -rw-r--r-- 1 apache apache 34057 6月 15 06:51 wp-login.php -rw-r--r-- 1 apache apache 7786 7月 13 21:37 wp-mail.php -rw-r--r-- 1 apache apache 13920 8月 14 01:02 wp-settings.php -rw-r--r-- 1 apache apache 29890 5月 25 05:44 wp-signup.php -rw-r--r-- 1 apache apache 4035 12月 1 2014 wp-trackback.php -rw-r--r-- 1 apache apache 3064 7月 6 21:40 xmlrpc.php [root@web7 www]# |
以上でファイルの展開は完了です。
4) MySQL(MariaDB)へのデータベースの作成とユーザー設定
以下の項目について使用する値を決めておきます。
- データベース名: wp_hogeblog
- ユーザー名: wp_hogeuser
- パスワード: wp_hogepasswd
仮にこれを使用する事とします。
CentOS7にはMySQL互換のMariaDBが採用されています。以後MariaDBと記します。
CentOS7をインストールしてそのままでは、MariaDBのrootユーザーのパスワードが設定されていません。これは非常に危険な状態ですので、忘れずにrootユーザーのパスワードを設定しておきます。
1 2 3 4 |
[root@web7 ~]# mysqladmin -u root password New password: ←rootパスワードを入力 Confirm new password: ←確認の為もう一度同じものを入力 [root@web7 ~]# |
MariaDBにrootでログインし、データベースの作成とデータベースにアクセスするユーザーを登録します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
[root@web7 ~]# mysql -u root -p Enter password: ←設定したrootパスワードを入力 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 6734 Server version: 5.5.50-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database wp_hogeblog; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on wp_hogeblog.* to "wp_hogeuser"@"localhost" identified by "wp_hogepasswd"; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | wp_hogeblog | +--------------------+ 4 rows in set (0.00 sec) MariaDB [(none)]> quit Bye [root@web7 ~]# |
5) WordPress設定ファイル(wp-config.php)の設定
展開したディレクトリに含まれている wp-config-sample.php ファイル(設定ファイルのサンプル)を元にWordPressの設定ファイルを記述します。
wp-config-sample.php を wp-config.php にコピーを作成し、wp-config.php を編集していきます。
1 2 3 4 5 6 7 |
[root@web7 ~]# cd /var/www/www_hogehoge-k_com/ [root@web7 www_hogehoge-k_com]# ls index.php wp-activate.php wp-comments-post.php wp-cron.php wp-load.php wp-settings.php xmlrpc.php license.txt wp-admin wp-config-sample.php wp-includes wp-login.php wp-signup.php readme.html wp-blog-header.php wp-content wp-links-opml.php wp-mail.php wp-trackback.php [root@web7 www_hogehoge-k_com]# cp wp-config-sample.php wp-config.php [root@web7 www_hogehoge-k_com]# vi wp-config.php |
必須の設定内容は2点です。
データベースへの接続情報の設定
MariaDBの設定で使用した値をデータベース設定項目に記述していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define('DB_NAME', 'wp_hogeblog'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'wp_hogeuser'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'wp_hogepasswd'); /** MySQL のホスト名 */ define('DB_HOST', 'localhost'); /** データベースのテーブルを作成する際のデータベースの文字セット */ define('DB_CHARSET', 'utf8'); /** データベースの照合順序 (ほとんどの場合変更する必要はありません) */ define('DB_COLLATE', ''); |
データベース名、ユーザー名、パスワードの3カ所です。
今回MariaDBを稼働させるのもこのウェブサーバーにしますので、ホスト名は localhost のままでOKです。
データベースを他のリモートのマシンに設置する事も出来ます。サーバーの環境に応じて対応出来ます。
認証用ユニークキーの設定
8項目について、他人に推測されないランダムな文字列を設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/**#@+ * 認証用ユニークキー * * それぞれを異なるユニーク (一意) な文字列に変更してください。 * {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。 * 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせること>になります。 * * @since 2.6.0 */ define('AUTH_KEY', '!&hmqe!%AZec!JJ4{^.kT+Wh+p#u82.W}>.d@-hnq0[Q~;K27L[hI2$18*2y|<k@'); define('SECURE_AUTH_KEY', 'RBBS@}`Y1_`&%jKZ~g^[~d@?=RSAN6~eDJScVVw,&hb37%w{nq.sjj#WD;N5rgW~'); define('LOGGED_IN_KEY', 'k^3|g>5l7Jy0-[NX?j8l>ns3Y&gvr@oP=Y?btY:|ln?uCbS7gt0baXLQiNx[s,tT'); define('NONCE_KEY', 'U=?%76J~I_gLb~eUQPTJ#4DY8/EVTt.!8)k,m7hY!+}AhB=]&+)+wEF(`#YwI<F2'); define('AUTH_SALT', 'h=)%Dkk#eZB[$Y,p{GLSA!r{msaI ZCG.Ziu1e66ezG`H8-dSgwS4a%~FOjRQKn?'); define('SECURE_AUTH_SALT', 'fcWTG+qIDhV*U@kd[ny^cn(?lkewVf:fFURm--(sj}T[>am(k+[i].XoiC/hAy5}'); define('LOGGED_IN_SALT', 'D?W7G$-`*]BuY|dJbieEjm*TMy$p}6ow83tOKU2|F@-J86D[azg?K$_~9$tZ6u6H'); define('NONCE_SALT', 'p;Zgd3._+%sh.$NczDe_B.aUSSz|+H(+a|8,Id)F&z*S?&<.j0Q-WEbsn}D2v8<7'); /**#@-*/ |
このランダムな文字列を自動で生成してくれる仕組みをWordPressのサイトで提供してくれていますので、これを使うと便利です。
行単位で置き換えられる様に生成してくれますので、該当行を置き換えます。
上で提示した設定例は実際に使用した文字列ではありません。この情報は他人に知られない様にして下さい。
以上でWordPressの基本設定は完了です。
続いて、ウェブサーバーの設定後、ウェブの管理画面からの初期設定を進めていきます。
つづく…
Leave A Comment