2018年8月26日から2018年8月22日までの日記を表示中

2018年 8月26日 (日)

HTTPD

手元のPCだと、PHPでhttpのヘッダとして Last-Modified を返す際、明示的に指定した日時ではなく、何故か常に現在時刻が返ってしまうという問題に直面。色々試した結果、引数をGMTにする(gmdate関数の戻り値を使う)と、ちゃんと指定した時刻が返るけど、date関数とかの「Sun, 26 Aug 2018 08:30:10 +0900」とかついてる値を使うとダメということが判明。ただ、ここのサーバだと、date関数の戻り値でも、指定の時刻がLast-Modifiedで返るんだよなぁ。その差は何・・・

というわけで、差分を調べてみたら、php.iniでのtimezone設定に辿り着きました。どうも、timezoneが「Asia/Tokyo」などに設定されている場合に、引数をGMTにしないとLast-Modifiedの値が現在時刻に置き換わってしまう模様。timezoneを未設定にしておくと、非GMTを与えても、ちゃんと指定の時間がLast-Modifiedとして出ていきます。うーん、ほんとかよ。というわけで、php.iniで正しくtimezoneを設定した上で、PHP側ではgmdate関数を使ってLast-Modifiedの値を生成する形で決着。はぁ。

ちなみに、最初、この辺の設定との関係をFirefoxで確認してたんですが、キャッシュが効いてしまい、大混乱。かと言ってtelnetでいちいちHEADとか打つのも面倒だし・・・って、ncコマンドでこうすりゃいいのか。またすぐ忘れそうなので記録に残しておこうw

echo -en "HEAD /~nosuke/diary/ HTTP/1.0\r\n\r\n" | nc localhost 80

2018年 8月25日 (土)

移動

朝4時台に起きて6時前に出発。が、既に東名で数十分の事故渋滞に巻き込まれ、そのせいで遅れて圏央道の相模湖のあたりで長い渋滞に巻き込まれ・・・。というわけで、長岡に着いたのは12時過ぎでした。疲れた・・・。

Fedora 27

VirtualBoxのFedoraを26から27に上げようとしたら、再起動後のインストールの最後の最後で、「running scriptlet kernel-core-何とか」とか出たところからまったく進まない状態に。

数時間待っても何も進まなかったので、VirtualBoxを強制的に再起動したら、kernel panicを起こしてクラッシュ。4.16.11-100.fc26.x86_64だと上がったので、ひとまずそのまま起動させて、手動で kenrel-core、kernel、kernel-modulesの3つを消して入れ直したら、無事4.17.17-100.fc27.x86_64でも上がるようになりました。うーん、ググると類似の問題は見つかるものの、原因自体は不明な感じですね。何なんだろう、これ。

Fedora27のhttpd

Fedora 27になって、PHPがphp-fpmという枠組みで動くようになったらしいんですが、これで拡張子がhtmlのファイルもPHPで処理させるにはどうすりゃいいのか、なかなかわからず結構ハマりました。

最終的には、こんな感じで解決したっぽいです。まずは /etc/httpd/conf.d/php.confをこういじって・・・

--- /etc/httpd/conf.d/php.conf.bkp
+++ /etc/httpd/conf.d/php.conf
@@ -50,7 +50,7 @@
     # Enable http authorization headers
     SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

-    <FilesMatch \.(php|phar)$>
+    <FilesMatch \.(php|phar|html)$>
         SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
     </FilesMatch>
   </IfModule>

さらに、 /etc/php-fpm.d/www.conf の security.limit_extensions を有効化して、そこに .html を足す感じ。

--- /etc/php-fpm.d/www.conf.bkp
+++ /etc/php-fpm.d/www.conf
@@ -378,7 +378,7 @@
 ; exectute php code.
 ; Note: set an empty value to allow all extensions.
 ; Default Value: .php
-;security.limit_extensions = .php .php3 .php4 .php5 .php7
+security.limit_extensions = .php .php3 .php4 .php5 .php7 .html

 ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
 ; the current environment.

うーん、Webサーバを維持するのもなかなかしんどくなってきたかな、こりゃ・・・。

2018年 8月24日 (金)

何もしていない

明日朝に備えて、特に何もせず。

2018年 8月23日 (木)

Fedora 27のhttpd

先日、ここのサーバをFedora 26から27に上げたんですが、その際、ApacheでのPHPの動かし方?が変わったらしく(mod_phpからphp-fpmになったとか何とか)、 元のままだとPHPがちゃんと動かない状態になっていた模様。とりあえず出先でググって調べて、スマホのConnectBotで繋いで応急処置して復旧。確認してなくてすいません。それにしても、AndroidのHacker's KeyboardはConnectBotと非常に相性良いですね。

2018年 8月22日 (水)

人間ドック

近所の病院で人間ドックを受診してきました。何か微妙にあちこち悪くなってる感 (汗)。

地球防衛軍5

総合達成度80% に到達。

2018年8月26日から2018年8月22日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2018年8月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ