pukiwikiデータの移行
pscpを使ってwindowsのpukiwiki-1.4.5_1ディレクトリをサーバにuploadする。
C:\bin\putty>pscp -p -C -r -l susa c:\htdocs 192.168.10.38:/home/susa
最初やったとき、-pオプションを付け忘れたため、uploadしたファイルの日付が全て、転送した日付時刻になってしまった。ファイルの内容は変化ないが、wikiのメニューに出てくる更新日関連の内容が全部、現時点になってしまうので、よろしくない状態になってしまいました。
- pを使ってファイルの属性(最終更新日など)を保ったままコピーしましょう。
これを/var/www/html以下にコピーし、ファイルオーナーもapacheに変更しておきます。
[root@linux38 html]# cp -pr /home/susa/htdocs/pukiwiki-1.4.5_1 ./ [root@linux38 html]# chown -R apache:apache pukiwiki-1.4.5_1/
ここまでやると、
http://192.168.10.38/pukiwiki-1.4.5_1/pukiwiki.php
にアクセスできるようになります。
ただし、こんなエラーが/var/log/httpd/errorに出てます。
[Fri Nov 03 15:27:06 2006] [alert] [client 192.168.10.23] /var/www/html/pukiwiki-1.4.5_1/.htaccess: order not allowed here
肝心のアクセス制御ファイル.htaccessの中身はこんな感じ。
[root@linux38 pukiwiki-1.4.5_1]# more .htaccess ## Access control needs 'AllowOverride Limit' at httpd.conf.Order allow,deny Deny from all ## Using zlib.output_compression per directory (via .htaccess), ## needs 'AllowOverride Options' at httpd.conf. #php_flag zlib.output_compression On
同様のファイルがあちこちにあります。
[root@linux38 pukiwiki-1.4.5_1]# find ./ -name .htaccess ./attach/.htaccess ./backup/.htaccess ./cache/.htaccess ./counter/.htaccess ./diff/.htaccess ./lib/.htaccess ./plugin/.htaccess ./plugin/code/.htaccess ./skin/.htaccess ./trackback/.htaccess ./wiki/.htaccess ./.htaccess
これの意味は・・・
Order allow,deny Deny from all
ファイルの末尾が .ini.php .lng.php .txt .gz .tgz .zipというファイルへのアクセスはどこからのものであってもdenyするよ、という意味。
で、これは、pukiwikiの設定ファイルである pukiwiki.ini.phpなどが
http://192.168.10.38/pukiwiki-1.4.5_1/pukiwiki.ini.php
とかで覗かれたりしないように、との意図。
なので削除することで
[Fri Nov 03 15:27:06 2006] [alert] [client 192.168.10.23] /var/www/html/pukiwiki-1.4.5_1/.htaccess: order not allowed here
を出なくしようなんていう安直な処置はNG。
エラーを読むと、ここの.htaccessファイルではorderを書いちゃいけない、と書いてある。
ここでは.htaccessによる対策をムダにしないため、上位の設定ファイルを修正する。
[root@linux38 pukiwiki-1.4.5_1]# more /etc/httpd/conf/httpd.confOptions 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 Options Order allow,deny Allow from all
全体の設定で、AllowOverride(下位の設定ファイルで設定の上書きをしていいものリスト) Optionsだけとなっているので、
AllowOverride Options Limit
ここにLimitを加えてあげる。
httpd.confを書き換えたので、httpdを再読み込み(restartでもいいけど)
[root@linux38 pukiwiki-1.4.5_1]# /etc/init.d/httpd reload httpd を再読み込み中: [ OK ]
すると、きちんとpukiwikiが見られるようになりました。