自宅のPCにDebianをインストールして、WEBサーバーの設定を進めてきたのはWordPressを動かすためです。いよいよ、本丸のWordPressのインストールを実施します。
前提として、DebianにWEBサーバーの準備(apache2、php5、sql-server、phpmyadmin)ができているところから始めます。
基本的には「WordPress.ORG 日本語」のインストール手順の通りになぞっていき、複数選択肢がある部分は私がいつも選択している方法で進めます。
WordPress.ORG 日本語
そちらを参考に、現時点でのいろいろを最新版で進めた記録です。最後のほうではDebianならではの追加設定をいくつか紹介しています。
今回の環境は次の通りとしています。
- サーバーアドレス:192.168.22.199
- Shell操作はサーバーと同じローカルLANにあるPCからTeraTermで行う
- ブラウザ操作もローカルLANにあるPCで行う
このページの目次
最新版WordPress 日本語版パッケージのダウンロードと展開
wgetコマンドで最新版WordPress日本語版をダウンロードします。
wget https://ja.wordpress.org/latest-ja.tar.gz
ダウンロードしたファイルを解凍します。
tar -xzvf latest-ja.tar.gz
これでログインしているユーザーディレクトリにWordPressパッケージを展開できました。
phpMyAdminでデータベースとユーザの作成
PCのブラウザからphpMyAdminにログインします。
例:)http://192.168.22.199/phpmyadmin/
ユーザー名「root」、パスワード「MySQLのrootパスワード」をいれて「実行」
ログインしたら「データベース」タブをクリック
- 新規データベース名を入れる(例:wordpress_dbとしています。)
- プルダウンメニューから
- 「utf8_general_ci 」を選択(日本語が一番文字化けしないのがコレ)
- 「作成」をクリックします。
次は、「特権」タブをクリックします。(追記:現行バージョンでは「特権」ではなく「ユーザー」タブに変わりました。)
「新しいユーザーを追加する」をクリック
- 任意のユーザー名を入れます。(例:wordpress_user としています。)
- プルダウンメニューから「ローカル」を選ぶと、右に「localhost」と出ます。
- パスワードを自分で入れてもいいですが、今回は「生成する」をクリックして自動生成します。
- 作成されたパスワードでをメモしておきます。(今後も使います。)
- ここではユーザーを作るだけなので「ユーザ専用データベース」は「なし」のまま
- 「ユーザを作成する」をクリック
今作ったユーザーの「特権を編集」をクリックします。
画面下のほう、画面の解像度によっては下のほうにスクロールして(追記:現行バージョンでは、画面上「データベース」ボタンを押すに変わりました。)「データベースに固有の特権」のプルダウンメニューから作成したデータベース名(例:wordpress_db)を選択する (選択するだけで画面が切り替わります。)
- データベースに固有の特権で「すべてチェックする」をクリック
- すべてのチェックボックスにマークが付いたのを確認して、「実行」をクリック
これでWordPress用のデータベースとユーザーの作成は完了です。phpMyAdminの操作はここまでです。
wp-config.php の設定変更
先ほどダウンロードして展開したwordpressは、/homeディレクトリのログインしたユーザーディレクトリの中にあるはずです。そのwordpressパッケージの中の設定ファイル、wp-config-sample.phpをwp-config.phpに名前を変えて複製します。
cd wordpress cp wp-config-sample.php wp-config.php
複製したwp-config.phpを編集していきます。TeraTermなどからターミナル操作する場合は
nano wp-config.php
私は長い記述のファイル編集はWinSCPでファイル編集をして全コピー、TeraTermで貼り付けというやり方をしています。
24行目に先ほど作ったデータベース名を入れます。(例:wordpress_db にしています。)
define('DB_NAME' , 'database_name_here');
define('DB_NAME', 'wordpress_db');
27行目に先ほど作ったデータベースのユーザー名を入れます(例:wordpress_user にしています。)
define('DB_USER', 'username_here');
define('DB_USER', 'wordpress_user');
30行目に先ほど作ったデータベースのユーザー名のパスワードを入れます(例:6Q7mcnKPjwh4YRYK にしています。)
define('DB_PASSWORD', 'password_here');
define('DB_PASSWORD', '6Q7mcnKPjwh4YRYK');
50-70行目にコチラで自動作成された認証用ユニークキーを丸々コピペして書き換えます。
認証用ユニークキーの自動生成
あくまでも(例:)なので、実際の設定では、必ず新しく生成されたものをご使用ください。
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
define('AUTH_KEY', '|j3 0e_.$<`TMaPEl8MWD>Gb=r.ZFW-42*uN//i6eu:3|d-aDX&,,i0EW)?MT/:~'); define('SECURE_AUTH_KEY', '=YX`fl=,I+t-.<9137(3w>!^tS]iytlJwsf(3^u9+5*u -NxsnIQmdx/qEq^b6>d'); define('LOGGED_IN_KEY', 'N+CwwR~-)F$]y?a}vCx6uTc?eH+]mla!P RE/(P.&2*:zit-S)#`[5D7s4<C6cG{'); define('NONCE_KEY', '^0Byu~,%m>~furXe.>hg03/P|Cazs(!W`,uZAWE7fmo^T#WB[Nu_Qx.I0B,-b3^<'); define('AUTH_SALT', '4KKAm]T6_?u74!{$pi@-EsP64≫b?7].R[]@ N+PD+t@ !:WF(}$Sxj/$YHY{('); define('SECURE_AUTH_SALT', 'Sg-+S.XgQ$!.Tq4$&=ET]9~ak$MoR0u#aPK!]a$q=,-P!GID>S?7ZYqHD)p@Y#B4'); define('LOGGED_IN_SALT', 'Glow|&|hXsM+AC<%6$mOctwBWb}+PLnL+c.$n/IHfvq{gv}0905kF04UrVq.sK#e'); define('NONCE_SALT', 'y^.`qv4i+C-!=)r$%Fg#+(Z:n#8<Uj(l;HLg)/k}`Z(HW@ltLDO`oN%q(n$,AVM(');
自宅サーバーに最初のWordPressサイトを設定する場合は編集は以上です。TeraTermで編集してる場合は、「Ctrl+X」→Y→Enterで保存します。
WordPressファイルの設置
ホームページの公開ディレクトリにファイルを移動(コピー)します。Debianの標準ディレクトリである /var/www にwordpressを設置する場合です。suコマンドでroot権限になってから、
cp -R wordpress/* /var/www/
※ユーザーホームディレクトリにあるwordpressディレクトリの中身を全部コピーするという意味のコマンド例なので、ディレクトリパスは適時変更してください。
【2014/12/04追記】
最初から存在しているindex.htmlを削除しておかないと、トップページがコチラ優先になってしまいます。
rm /var/www/index.html
インストールスクリプトの実行
PCのブラウザからwordpressインストールアドレスを入力して開きます。
例:)http://192.168.22.199/wp-admin/install.php
- サイトのタイトルを入れます。(後で変更できるのでとりあえずのタイトルでOK)
- WordPressのユーザー名を好きなように入れます。
- パスワードは空欄にすると自動生成してくれます。(パスワード強度を強めるために自動生成推奨)
- メールアドレスを入力
- 「検索エンジンによるサイトのインデックスを許可する。」は、ある程度サイトが出来上がるまではチェックを外しておいたほうがいいかもしれませんが、あとでチェックを入れるのを忘れるくらいなら最初からチェックを入れておいてもいいかもしれません、初めての自宅サーバーならばまずもって向こうから検索エンジンが探しに来ることはないのでどちらでも良さそうです。
- 「WordPressをインストール」をクリック
これでインストール完了です。パスワードを自動生成させた場合は、パスワードをメモすることを忘れずに。
「ログイン」をクリックしてみます。
動作確認
今作ったばかりのWordPressのユーザー名とパスワードを入れてログインします。
ログインできて管理画面が出てくれば、動作確認OKです。
プラグインインストールやメディアアップロード、更新などができるようにWordPressファイルの所有者変更
【2014/12/04追記】
WordPressの自動更新やテーマやプラグインのインストール、メディアのアップロードができるように設定します。
chown -R www-data:www-data /var/www
これをやっておかないと、何もできませんでしたね。Debianの場合はwww-data:www-dataですが、他のLinuxだとapache:apacheのようです。
パーマリンクの編集ができるようにする
【2014/12/13 追記】
WordPressを覚えていくと、パーマリンクを変更したほうが見栄えがいいとか、SEO対策になるとか情報を仕入れて、さっそくやってみると「404 Not Found」になって顔面蒼白になったりします。最初に対策を実施しておきます。
mod_rewriteを有効にする
Debianでapache2を普通にインストールすると、mod_rewriteというモジュールが入っているが有効になっていないはずなので、有効にします。suコマンドでroot権限になってから
a2enmod rewrite
/etc/apache2/sites-available/default の編集
.htaccessファイルの書き換えを許可しておく必要があるみたいです。ファイルの場所は/etc/apache2/sites-available/defaultです。
Debian8.0 Jessieの場合は、/etc/apache2/apache2.conf に設定場所が変わりました。
nano /etc/apache2/sites-available/default
初期状態から変更の場合、11行目を変更します。
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
11行目をコメントアウトして、12行目を追記します。
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews #AllowOverride None AllowOverride All Order allow,deny allow from all </Directory>
apache再起動後に設定変更が有効になります。
/etc/init.d/apache2 restart
これでパーマリンクを変更しても大丈夫になるはずです。
最後にひとこと
これでWordPressのインストールができました。データベースやWordPressのユーザー名パスワードなど、いろいろすべてメモするのを忘れないようにしてください。
今後ログインする場合は、
- http://ホスト名/wp-admin
- http://ホスト名/wp-login.php
のどちらかでログイン画面を出すことができます。