WordPress4.0.1をインストールした記事を書いてて、数ヶ月前にも同じところでハマッたことをまたもや忘れててハマりました。初歩の初歩の話かもしれませんが、同じように困っている方もいると思いますよ。
このページの目次
WordPressが立ち上がらない!?
いろいろなサイトを見ながらWordPressの設定を進めていき、公開ディレクトリにファイルをアップロードしていざブラウザからひらくかなぁ~と思ったら立ち上がらないってこともあると思います。私もそうでした。
私の場合は、apache2なのでapacheインストール時の動作確認のページが開いてしまいました。これ、WordPressのindex.phpよりも、最初から入ってるindex.htmlのほうが優先度が高いってだけなんですが、WEB制作の世界では常識中の常識かもしれませんが、WordPressからブログ始めようなんて私のような人には????な状況になってしまいます。
index.htmlが存在している場合は、サクッと削除しましょう。ブラウザにキャッシュが残っているので、再度テストするときはブラウザの更新ボタンを忘れずにWordPressのトップページが開くか確認してください。
FTPの接続情報ってなんだ?テーマやプラグインのインストールや更新ができない!?
やっとWordPressの立ち上げが上手くいってサイトが見れるようになり、そこからいろいろインストールや更新をしようと思ってもFTPの接続情報を入れろって何だ?となってしまう場合があります。
なんだか門前払いされた感がある画面です。
これって、本来WordPressは自動インストールや自動更新ができる機能があり、管理画面からボタンひとつでインストールも更新もできるという、初心者にオススメの最大の売りが効いてないってことですね。「仕方ないからFTPかSFTPでアップロードしろや」ってWordPressからのメッセージがこの画面なのです。ここでFTPでログインできたとしても、WordPressの本来の恩恵を受けていないということになります。
- Debianの場合は
chown -R www-data:www-data 【WordPress公開ディレクトリ】
- その他のlinuxのapacheの場合は
chown -R apache:apache 【WordPress公開ディレクトリ】
要はWordPressファイルの所有者をWEBサーバーのものにすれば良しということでしょうか。これで自動更新、自動インストールができるはずです。
これでもエラーが出るようであればwp-contentのパーミッションの設定を見直したほうが良さそうです。
パーマリンクの編集をすると「404 Not Found」になってサイトが開かなくなる
WordPressを覚えていくと、パーマリンクを変更したほうが見栄えがいいとか、SEO対策になるとか情報を仕入れて、さっそくやってみると「404 Not Found」になって顔面蒼白になったりします。自宅Debianサーバーでapache2を利用してWordPress単体で公開している場合、次の2項目の変更が必要です。
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 に設定場所が変わりました。
初期状態から変更の場合、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>
WordPressインストールディレクトリ直下の.htaccessに書き込む方法もあるようですが、Debianの場合はこちらのほうが直球のような気がします。ケースバイケースで臨機応変に設定してください。
apache再起動後に設定変更が有効になります。
/etc/init.d/apache2 restart
これでパーマリンクを変更しても大丈夫になるはずです。