Basic認証下でWordPressサイトを作成する時。

旧サイトを公開したまま裏で新サイトを構築する時に、
新サイトのディレクトリはBasic認証を掛けてお客様に見られないようにするが、
Wordpressの動作にも制限を掛けてしまう。

●画像・ファイルのアップロードにFlashアップローダーが使えない。
Flashアップローダーを使わなければいい。

●予約投稿に失敗する。
Ver2.7からhttp経由のcronになったのでBasic認証で阻害され投稿に失敗する。
これはどうしようもない。
htaccessにAllow サイトドメイン・またはIPアドレス と入れるぐらいしか。
予約投稿は成功した事にしてシミュレートした方が良い。

データベースに接続できません。

まずftpで入ってwp-config.phpの
define(‘WP_DEBUG’, false);のfalseをtrueにすることでデバッグモードとする。
そしてリロードすると
なんらかのNoticeかWarningが出る。その中身を読む。
 
pluginならwp-content/pluginsから問題のプラグインをリネームするなり、
削除するなりすれば良い。自動的に外れる。
 
Cache系ならば
大体のCache系プラグインはwp-config.phpにもなんらかの記述をしているので、
前述のfalseからtrueにする際にその辺の記述も探ってみると良い。

それでもだめならFTPでCache系プラグインが作るキャッシュフォルダ
(大体は wp-contents/cache )の中身を綺麗に吹っ飛ばしてみよう。
すると普通にページが表示されるようになり、ページの頭にいろいろnoticeが出てくると思う。
全てに対応していては身が持たないので、さきほどのtrueをfalseに変えて、
そして再発しないように管理画面から悪さをしているcache系プラグインを停止させよう。

query_postsを使っていろいろと表示させるとmoreが効かない

WordPressTips

index.phpを弄っていろいろなカテゴリーの投稿リストを表示させているとき、
空気を読まずNewsにアホみたいに長い文書を書く人が居るとウザいです。
moreを教えてやろうと思ってもquety_postsを使っているとmoreが効きません。
spanにされてしまうんですが、強制的にmoreを有効にする方法があります。

query_postsループの前に

<?php global $more; $more = false; ?>

と入れればOK。

どの表示でも読み込まれる、function.php などに書くと
ページでもsingle.phpでもmoreが効いてしまうので要注意!

10.5でawstatsのインストール。

※XcodeToolsとMacportsはインストール済みであること。

sudo port install awstats する。

最後に
Add the following to your Apache httpd.conf, save, and restart Apache:

Alias /awstatsclasses “/opt/local/www/awstats/classes/”
Alias /awstatscss “/opt/local/www/awstats/css/”
Alias /awstatsicons “/opt/local/www/awstats/icons/”
ScriptAlias /awstats/ “/opt/local/www/awstats/cgi-bin/”


Options None
AllowOverride None
Order allow,deny
Allow from all

Find your sample config file in /opt/local/etc/awstats, rename it to
“awstats.domain_name.conf”, and edit it to configure Awstats. You
can then access Awstats by pointing your browser to:

http://yourdomain/awstats/awstats.pl

と言ってくるが、

/etc/apache2/httpd.conf には

ScriptAlias /awstats/ “/opt/local/www/awstats/cgi-bin/”


Options None
AllowOverride None
Order allow,deny
Allow from all

しか入れない。CSS外部ファイルじゃないし,iconsはそんなところにあっても塩梅悪い。
ついでに

CustomLog “/private/var/log/apache2/access_log” combined
になっているか、確認する。
なってなければそうして、既存のaccess_logをoldにする。

mv /private/var/log/apache2/access_log /private/var/log/apache2/access_log.old
touch /private/var/log/apache2/access_log
apachectl restart

そして

sudo port install libgeoip
sudo cpan -i Geo::IP

しとく。

cp -r /opt/local/www/awstats/cgi-bin/icons /Library/WebServer/Documents/

して

sudo cp /opt/local/etc/awstats/awstats.model.conf awstats.ドメイン名(このconfの中も同じもの).conf

そして

vi /opt/local/etc/awstats/awstats.ドメイン名(このconfの中も同じもの).conf

LogFile=”/var/log/apache2/access_log”
SiteDomain=”ドメイン名”
HostAliases=”ドメイン名”
DNSLookup=1
DirData=”/opt/local/var/lib/awstats”
DirCgi=”/awstats/cgi-bin”
DirIcons=”/icons”
AllowFullYearView=3
SkipHosts=”127.0.0.1 localhost REGEX[^192.168.] ::1″
LoadPlugin=”geoip GEOIP_STANDARD /opt/local/share/GeoIP/GeoIP.dat”

と修正する。

/opt/local/www/awstats/cgi-bin/awstats.pl -config=さっき設定したドメイン名

で、http://ドメイン名/awstats/awstats.pl

を見に行くと見えている。