ApacheでInvalid command ‘Header’のエラー

Ubuntu 14.04 で Apache + WordPress を動かそうとしたらエラーが

$ tail /var/log/apache2/error.log

Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration

Headers moduleが無効のようなので、

$ sudo a2enmod headers

これで有効になったので、Apache再起動

$ sudo service apache2 restart

これでエラーが取れました

WordPressのサブディレクトリにもうひとつWordPressを入れる

あんまり検索しててもヒットしないのでメモ
(なにか問題ある方法なんだろうか..)

WordPressサイトを運営していて、実験的にもうひとつのWordPressを同じサーバーに入れたかったので

http://sample.com/ が既存のサイトとすると
http://sample.com/sample でもうひとつWordPressが動くようにしてみました

元のサイトで http://sample.com/sample/〜 のURLを使っているとアウトなのでかぶらないものにします

簡易的に既存のWordPressをコピー

$ cd /var/www/html
$ cp -r wordpress sample
$ mv sample wordpress

.htaccessを修正
RewriteBaseをサブディレクトリに変えます

$ vim sample/.htaccess

<IfModule mod_rewrite.c>                                                        
RewriteEngine On                                                                
RewriteBase /sample/                                                       
RewriteRule ^index\.php$ - [L]                                                  
RewriteCond %{REQUEST_FILENAME} !-f                                             
RewriteCond %{REQUEST_FILENAME} !-d                                             
RewriteRule . index.php [L]                                                     
</IfModule> 

WordPressのサイト設定を追記します

$ vim sample/wp-config.php

define ('WP_SITEURL', 'http://sample.com/sample/'); 
define ('WP_HOME', 'http://sample.com/sample/'); 

これで
http://sample.com/sample
にアクセスできました

あとはデータベースを変えてあげれば、違うWordPressが使えるようになります

WordPressでプラグインのアップデートに失敗する

WordPress 4.3でプラグインのアップデートに失敗したのでメモ
サーバーはCentOS 6.4、Apacheの構成です

All In One SEO Packのアップデート中にエラーが発生しました: いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。

ひさしぶりに失敗して何かと思いましたが、たいしたことなかったです
サーバーにログインしてWordPressのインストールディレクトリで

$ ls -al wp-content/plugins/

drwxrwxr-x 22 user   apache 4096  4月  6 14:59 2016 .
drwxrwxr-x  9 user   apache 4096  4月  4 18:33 2015 ..
drwxrwxr-x 10 user   user   4096  3月  2 16:00 2016 all-in-one-seo-pack

とパーミッションがない..アップデートに知っぴいするpluginのディレクトリごとapacheのグループにします

$ sudo chown -R :apache all-in-one-seo-pack

これで再度試すと無事アップデート出来ました

wp-cron.phpを止めてcronで動かす

New Relicを見ていて wp-cron.php で時間がかかっているので、止めてcronを使うようにしてみました
wp-cronを有効にしておくとアクセスのたびに処理が走るようです

WordPressのインストールディレクトリへ行って、wp-config.phpを探し

$ vim wp-config.php

define('DISABLE_WP_CRON', true);

これでwp_cronが止まるらしい
あとは、linuxのcronを使って

$ crontab -e

15 * * * * curl http://(your domain)/wp-cron.php > /home/user/curl.log 2>&1

こんな感じで対応しました
wp-cron.phpでかかる時間がどうなるか様子を見てみます