CentOS7にWordPressをインストールします。
前提条件
CentOS7にLAMP環境構築で紹介した下記の環境にWordPressをインストールします。
LAMP環境 | version |
---|---|
L SentOS7 | 7.2.1511 |
A Apache | 2.4.6 |
M MySQL | 5.7.15 |
P PHP | 5.6.25 |
インストール
最新のWordPressをcurlコマンドで取得します。
# curl -LO http://ja.wordpress.org/latest-ja.tar.gz
カレントディレクトリに圧縮されたファイルが出来上がるので、tarコマンドで展開します。
# tar zxf latest-ja.tar.gz
展開するとwordpressという名前のディレクトリが出来上がるので、ドキュメントルート以下へ配置します。
ディレクトリ名がwordpressだと攻撃を受けやすいので適当な名前に変更します。
今回はwpsiteにしました。
# mv wordpress /var/www/html/wpsite
WordPress用データベース・ユーザを作成
MySQLでWordPress用のデータベースとユーザを作成します。
# mysql -u root -p ←root権限でMySQLへログイン
mysql> CREATE DATABASE wpdb;
mysql> GRANT ALL PRIVILEGES ON wpdb.* TO “wpuser”@”localhost” IDENTIFIED BY “パスワード”;
mysql> FLUSH PRIVILEGES;
mysql> exit
初期設定
WordPressディレクトリの所有権をApacheに変更します。
# chown -R apache:apache /var/www/html/wpsite
WordPressディレクトリへ移動
# cd /var/www/html/wpsite
サンプルファイルの名前を変更してwp-config.phpを作成、編集
# mv wp-config-sample.php wp-config.php
# gedit wp-config.php
編集個所は3か所です。先ほど作成したWordPress用のデータベースとユーザを入力します。
// 注意: // Windows の “メモ帳” でこのフィルタを編集しないでください ! // 問題なく使えるテキストエディタ // (http://wpdocs.sourceforge.jp/Codex:%E8%AB%87%E8%A9%B1%E5%AE%A4 参照) // を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。// ** MySQL 設定 – この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define( ‘DB_NAME’, ‘wpdb‘ ); //database_name_here を書き換え/** MySQL データベースのユーザー名 */ define( ‘DB_USER’, ‘wpuser‘ ); //username_here を書き換え/** MySQL データベースのパスワード */ define( ‘DB_PASSWORD’, ‘パスワード‘ ); //password_here を書き換え/** MySQL のホスト名 */ define( ‘DB_HOST’, ‘localhost’ );/** データベースのテーブルを作成する際のデータベースの文字セット */ define( ‘DB_CHARSET’, ‘utf8’ );/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */ define( ‘DB_COLLATE’, ” ); |
誤って変更しないようにアクセス権を変更しておきましょう。
# chmod 400 wp-config.php
このままだとSELinuxによってアクセスが制限されるので、SELinuxのポリシーを変更します。
# setsebool -P httpd_can_network_connect_db 1 ←HTTPスクリプトやモジュールによるデータベースサーバーへの接続を許可。-Pオプションを付け、リブート後にも変更を維持する。
# setsebool -P httpd_tty_comm 1 ←httpd による制御ターミナルへのアクセスを許可
# setsebool -P httpd_unified 1 ← httpd_tに対してhttpdの全タイプへの完全アクセスを許可
# setsebool -P httpd_dbus_avahi 1 ←httpdによるD-Bus経由のavahiサービスへのアクセスを許可
# semanage fcontext -a -t httpd_sys_content_t “/var/www/html/wpsite” ←WordPressのディレクトリのファイルタイプを Apache HTTP Server が使用するタイプに変更
# semanage fcontext -a -t httpd_sys_rw_content_t “/var/www/html/wpsite/wp-content(/.*)?” ←httpdによる書き込み権限を与える
# restorecon -R -v /var/www/html/blog ←、デフォルトの SELinux コンテキストを復元
ここまで設定したら、
Webブラウザで http://サーバのIP(またはドメイン)/wpsite/wp-admin/install.php
にアクセスしてください。WordPressのセットアップが始まります。
画面の指示に従って設定を行ってください。
サイトアドレス変更
WordPressのセットアップが終わると、
http://サーバのIP(またはドメイン)/wpsite というURLのサイトが出来上がります。
このままでも問題ありませんが、wpsiteを取って、URLをhttp://サーバのIP(またはドメイン)に変更しようと思います。
WordPressにログインし、 設定>一般 を表示し、サイトアドレスの欄を
http://サーバのIP(またはドメイン) に変更します。
変更後、WordPressのインデックスファイルの場所を変えます。
# cd /var/www/html/wpsite ←WordPressのインストールディレクトリに移動
# cp .htaccess ../ ←ドキュメントルート(サイトアドレス指定したディレクトリ)にコピー
# cp index.php ../ ←ドキュメントルート(サイトアドレス指定したディレクトリ)にコピー
# cd .. ←ドキュメントルート(サイトアドレス指定したディレクトリ)に移動
ドキュメントルートにindex.htmlがあれば削除
# rm index.html
index.phpを編集
# gedit index.php
require 部分のファイルパスを変更します。
<?php /** * Front to the WordPress application. This file doesn’t do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress *//** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define(‘WP_USE_THEMES’, true);/** Loads the WordPress Environment and Template */ require( dirname( __FILE__ ) . ‘/wpsite/wp-blog-header.php’ );*カレントディレクトリから wp-blog-header.php が見えるようにパスを変更 |
この変更をしないと、404エラーや503エラーが発生します。
パーマリンク設定
WordPressで自動生成されるURLは、初期設定では
1 |
http://ドメイン名/?p=123
|
のような通し番号になっています。
これだと管理がし辛く、SEO的にも良くない状態なので、変更します。
設定>パーマリンク設定 を表示し、カスタム構造を選びパーマリンクをカスタマイズします。
なお、この記事を書いていているサイト(n-portal.com)では「/%category%/%postname%」を設定しております。
パーマリンク設定を変更すると、トップページ以外にアクセスした時に404エラーが発生する場合があります。
404エラーが発生した場合は httpd.conf を編集し、
ドキュメントルートの AllowOverride 設定を None から All へ変更します。
# gedit /etc/httpd/conf/httpd.conf
# Further relax access to the default document root: <Directory “/var/www/html”> # # Possible values for the Options directive are “None”, “All”, # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that “MultiViews” must be named *explicitly* — “Options All” # doesn’t give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks# # 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 #↓コメントアウト #AllowOverride None #追記 AllowOverride All # Controls who can get stuff from this server. # Require all granted </Directory> |
設定変更後、Apacheを再起動し、変更を反映させます。
# systemctl restart httpd.service
おつかれさまでした。以上でWordPressのインストールと初期設定が完了です。
機会がありましたらまたお付き合いください。