CentOS で PHP を動かすのに苦労する

長編小説が進んでない……。9 月からずっと忙しいのだ。
ただコロナ禍になって、テレワークになったので、だいぶ余裕が出来た。
ちょっと合間をぬって、東京守護神の公開している部分を整理した。まぁただそれだけなんだけど……。

仕事でまた Linux を扱うことになった。うーむ……。
といってもウェブサーバPHPMySQL を立ち上げるだけっちゃぁだけなのだが……。すべて滞りなく行ったと思ったら、なぜか Web で PHP が呼び出せない。ちなみに OS は CentOS 8 だ。いろいろ調べを進めていくと、Apache(ウェブ サーバ)上で PHP を動かすには三つの方法があるらしい。

  • prefork
  • worker
  • event

このうちボクが知っているのは prefork だ。だから prefork な設定をしてしまった。ところが CentOS 8 は event らしい。ということが解ったので、ごにょごにょして Apache の Config ファイルを書き換えて event にした。もー。

ところで今回もトリッキーなことをしている。実は会社から開発環境用を作るように言われたのだが、無料でっていう指示をされたので、いろんな Cloud のお試しを使おうとしたんだが、AWS, Google Cloud ともに無料期間をすでに食い潰してしまっていた(笑)。
で、最近ちょっとかじった Oracle Cloud を試そうとしたら、これがなぜか仮想マシンが作れないというか、なんかバグなのか OS のイメージが選択できなくて何をやってもダメだったので、結局、amatsukami.jp 上に仮想マシンを立ち上げた。
しかしながら amatsukami.jp には IP アドレスが一つしか無い。

そこでリバース プロキシの出番だ。開発用に飛んで来たアクセスを amatsukami.jp サーバが仮想マシンに飛ばしてやるのだ。まぁこちらはちょっと一悶着あったので、別記事にしたいと思う。

しかし日本のゲーム業界だとサーバはもっぱら Linux だ。Windows サーバに今の所出会ったことはない。社内インフラは Windows なんだけどねぇ……。ボクは Windows Server の人なので、Linux はほんと設定するのに時間がかかる……。

天津神本舗を SSL 化する話

今日はわりと遅めに食事に出たため、お店はだいたいどこも昼休み(?)に入ってしまっていた。個人経営の飲食店は、14 時頃から 17 時頃まで閉まってしまうことが多いのだ。その時間帯にやっているのはチェーン店かラーメン屋くらいなものである。

というわけでとんこつラーメン屋さんに入ってみた。
一瑞亭
食べログの店数が妙に高いが、とりたててこれはという感じではない。普通(ぁ
スープは真っ白ではなく、濁り系。博多ラーメンらしいあっさりした感じはでてて食べやすいと思った。
炒飯がしょっぱかったー。

ちなみにこの一瑞亭、前に食べた由丸と同じ並びにある。由丸は白くてミルキー系(北九州系なんだろうか?)で特色は全然違うので、その二つが味わえるのはいいなと思った。

ところで同人の方で使っている amatsukami.infoSSLHTTPS)化をしてみた。
世間はなんでもかんでも SSL 化である。Google Chrome に至っては SSL 化していないサイトにアクセスすると警告を出す始末。えー、たかが個人サイトに SSL 化って必要なの?? っていう思いは未だに変わらないものの、世の中がそういう流れになっていくので仕方なく(ぉ

といっても自分のサーバでやったのではない。
実は自分の所でやらない大きな理由がある。それはウチのウェブサーバである IIS7.5 が SNI にちゃんと対応してないのだ。暗号化されたウェブページを取り扱う HTTPS は、何もかも暗号化するため、amatsukami.info と言うようなドメイン名まで隠蔽してしまう。となると一つのサーバでいくつものドメインを運営しているサイトにはアクセスできなくなってしまうのだ(なんのドメインでアクセスしに来たのか解らなくなるため)。
そこで HTTPS で通信を確立する前に平文でドメイン名だけをやりとりする規格が SNI なのだが、ウチのサーバにはその機能が無い(正確にはないわけではないが、対応が中途半端)。
そのため、amatsukami.jp や amatsukami.info、他にも様々なサイトを動かしているウチのサーバは SSL 化ができないでいた。

まぁそもそもサーバ自体を更新しなくちゃいけないんだけどね。こっちは裏で少しずつ進行中。

とりあえず練習も兼ねてテキトーなホスティング サービスを契約した。月 300 円(ぁ
ファイル容量は 100GB、DB は三つまで。DB の容量は 100 MB まで。
DB の制限がきつすぎるなぁ、と思いつつ……。

まず一回目は失敗。どうしても WordPress が動かなかった。
DB の問題か? それとも WordPress のスクリプトの問題か??

それから一日おいて、もう一度試してみた
すると ASCII モードで転送していたのが問題だったようだ。とりあえず動いてエラーを吐くところまではきた(前回はウンともスンとも言わなかった)。そのエラーを見ると、今度は memcached 関連のところで動かなくなっていたことが解った。それらを取り外すと動き始めた。

次に萌え時計だ。これが動かないんだwww
原因はファイル名に日本語を使っているからというのは何となく推測できたのだが、それの何がいけないのかさっぱりわからない。ファイル名の文字コードソースファイル側の文字コードを合わせたりしたのだが、まったくダメ。

結局これはソースコードの UTF8 から EUC にコンバートすることによって動いた。

もっとも時間がかかったのがファイルのアップロードだ。FTPS でアップロードしたのだが、とにかく途中で止まるのだ。天津神本舗は 1.16GiB ほどのデータが有り、ファイル数は 6174 個。とまりまくってそのたびに再接続してまたアップするファイルを指定して……とかやってたんだけど、6 時間ぐらいかかった。
あほらしい……orz

これ、どうも NextFTP というソフトだとなるらしい。確かに一回目の時は CyberDuck というソフトを使ったのだけど、そちらだと三回ぐらいしか止まらなかった。もー、なんなの?? じゃぁなんで二回目も CyberDuck を使わなかったのかというと、同じファイルがあった場合にちゃんとした比較がなかったのと、バイナリ モードだけでアップする方法がよく解らなかったため。たぶんどっちもないわけじゃないとは思うんだけどね……設定を見つけられなかった。

ちなみに萌え時計はもっとデータがデカくて、7GiB オーバー。こっちもアップするのが大変だった~。

なんだかんだで Windows Server と Linux はけっこう違うなぁと実感した作業であった。

glace.me と galette.me を amatsukami.jp で引き受ける

GLacé / Galette のサイトを amatsukami.jp で受け持つことになったので、引っ越し作業をした。もともとボクが立てたサーバだから、まぁそんなに面倒なことはないのだが、GLacé / Galette のサイトというのは WordPress と実 HTML が混在していたり、LinuxDebian)で動いてたりしていたので、そのままコピーしたのでは動かないところがちらほら。
実 HTML 部分と WordPress を切り替える処理はボクがテキトーに組んだんだけど、ApacheIIS で返値が異なると言うことを突き止めるまで、さっぱり原因がわからず、頭を悩ませることにw

とりあえず引っ越し作業は終わり、amatsukami.jp 上で見られるようになった。
元の Linux の方は今月いっぱい残しておいて、様子を見る予定。

落ちる glace.me

ウチで管理しているブランドのサイトが、時たま落ちることがある。原因は Apache がメモリを確保しようとして結局確保出来ず、だけれどもさらにメモリを確保しようとして……ってのが延々と続き、メチャメチャ重くなって反応がなくなると言うもの。
SNMP  によるステイタス把握もできなくなり、結局は OS(Linux)ごと再起動をせざるを得なくなる。
最初疑ったのは WordPress の何らかのプラグインか、ボクが作ったテーマ(PHP で組んである場所がある)だったのだが、結局、単純なメモリ不足であることが判明。Apache の同時接続数の数値を下げることによって、飛ばなくはなった。
ただその接続数以上に来た場合は、当然サーバの反応は遅くなる。が、まぁ、飛ぶよりはマシであろう。

そしてメモリ食いそのものの原因は WordPress であった。
やっぱ重いのかなぁ。ちなみに glace.me はすべて WordPress で動いている。
wordpress
現在、glace.me で動いているサイトは、5 サイト(GLacé 本家、Galette、作品 2 本、ブログ)。このうち動的生成が楽なサイトは、二つだけ(ブログと、GLacé 本家)。あとは静的サイトでも充分なんだよねー。ただ、目論見はあった。それは WordPress のテーマだけボクが作って、あとは HTML とかが分からないディレクタでも更新出来るようにしておく、それがそもそもの WordPress を選んだ理由だった。
ところが作品紹介サイトって、ブログみたいにはいかないのね。
結局 HTML や CSS の知識が必要で、今のところボクしか更新出来ない。
ページの造りをホントにブログみたいにしてしまえばいいんだろうけど……そうするとレイアウトとかがダサいっていわれちゃうのかねぇ。ちなみにブログそのものの更新は、各ディレクタがやっている。

glace.me は sakura の VPS を使っている。今のところ一番安いコース。
で、glace.me はいわゆるブランドのサイトなんだけど、重いデータ類は別のサーバに置いてある。それが dl.glace.me なんだけど、こちらも sakura の VPS で、一番安いコース。つまり二台体制。dl にはバナーや主題歌、体験版などのデータを置ためのサーバで、しかも glace.me が大阪、dl.glace.me が北海道と一応分散させてある。ので、体験版公開時などで glace.me が重くなると言うことはないようにしている(関連記事)。
とりあえず、glace.me の方は一つ上のコースにしようと思っている。それでだいぶ接続性は改善されるであろう。今は、夜 22 時頃過ぎるとけっこう重い。dl の方はしばし様子見。こちらは単純に体験版とかの時に集中するだけで、普段はすっかすかなので。
そんな一エロゲメーカーのサーバ事情でした。