2013年5月27日の日記の1番目の記事へのコメント
■サーバセットアップ
今日はhttpdの復活にチャレンジ。バックアップしてあった設定ファイルを見ながらデフォルトの httpd.conf を手で修正していざ起動。・・・うーん、やっぱり一発じゃ動きませんな・・・w
httpd のプロセスは上がっているのに、ブラウザから繋がりません。そもそもサーバ上からlocalhostの80番にtelnetしても繋がららない・・・。って、 fuser してみたらIPv6側で上がってるし(;´Д`)。 httpd.confで「Listen 80」となっているところを、「Listen 192.168.なんちゃら:80」にしたらちゃんとIPv4で上がってくれました。うーん、こんなんだったっけ・・・?
ただ、この状態でもまだ外からは繋がらず、httpd のログにも変なメッセージが出ます。・・・あー、そうか、インストールした後、SELinux とか Firewall を切るのを忘れてたわ・・・。って、setup メニューにfirewall切るための項目がない? あ、今は systemctlで切るのか? いや、でも T430 の環境ではsetupでいじれるようになってるなぁ。何かパッケージ入れないとだめなのかな?(サーバは最小インストールしたので・・・)
というわけで、SELinuxを切って、/etc/hostsにサーバ名を書いて、Firewallを切って、ようやくhttpdが起動するようになりました。はー。が、ここで次なる問題が。普通のコンテンツはちゃんと表示されるんですが、PukiWikiを開くと真っ白。エラーメッセージさえ出ません。これは一体何が・・・?
PHPが壊れているのかと思ったんですが、日記の方はちゃんと表示されます。他のスクリプトだと、エラーがあったときにちゃんと教えてくれるし、これは一体・・・って、PukiWikiが内部でエラーメッセージ抑制してんのか (;´Д`)。 これはダメでしょう・・・。
で、エラーですが、PukiWiki内部で宣言している hex2bin なる関数が、組み込み関数と名前が被ってるということのようです。PHPのバージョンが上がって、組み込み関数増えたことに起因するみたいですね。というわけで、PukiWiki側の関数名を書き換えて対処。わーい、表示された。
が、今度は日本語が一切表示されないという問題が。文字化けするわけでもなく、文字の存在自体が消されているという感じです。ググってみたら、PHPの組み込み関数の引数のデフォルトが変更になって、非UTF-8なエンコードの文字列が表示されない状態になっている模様。こちらを見ると、それ以外にも問題がいくつかあるようだったので、まとめて手パッチしたらようやく動くようになりました。
あれ、この関数、日記の方でも使ってるよな、確か・・・と思って見てみたら、案の定、コメントを書き込む処理で使っておりました。というわけで、こちらも修正。これでひとまず元通りかな?・・・げ、何かバックアップミスって最新のコメントが残ってないぞ!? うわぁ、これは申し訳ない(;´Д`)
ちなみにPukiWiki使ってる別館ですが、もうWikiの形にしてある意味も殆どないんで、一部のコンテンツだけ適当に回収して撤去しちゃおうかなと思っていたり。
2013年5月27日の日記の1番目の記事へのコメント
[コメントを書く]