1年以上放置した末の更新というか、生存証明的なエントリーというか、まあ死にそうになりながらも生きてる俺・輝いてる☆ 的な話というか、結論としては、生きててすみません。(積極的に生存の許しを請うていくスタイル)
1年以上更新していないと、書き出しのスタイルすら迷走し混迷を深めていくものだなあと他人事のように語りつつ、暁の軌跡 引退記念としてこのエントリーを奉じる次第……って前置きはこのあたりにしておいて。
だいたいタイトルだけで説明になってますが、Google App Engine では .htaccess が使えないため、mod_rewrite を使っての SNI SSL 非対応ブラウザの振り分けができない。よってスクリプト書いて代替したよーという話。
1年ぶりの更新なので、このくらいのネタがリハビリとしてはいいんじゃないかなということで、以下続きにて。
前回記事、GMOクラウド VPSを借りてまず行う初期設定内容 から間が空いてしまったけれど、今回はWebとメールサーバーの設定編を。
とはいえ、自分の場合メールサービスとしてGoogle Appsを利用しているため、VPS上では問い合わせやログ等を送れればいいだけなので、そっちは超簡単な設定だけで終わらせてますが……。
ということで、続きは以下から。割と長いです。
guilz.org を含め、いくつかのサイトを さくらのVPS 2G (大阪) から、GMOクラウドVPS マイクロ に移転しました。
サイト丸ごと移転の際、ちょっとつまずいたりしたことを含めて、作業メモとして残しておきます。(今後も同じようなサーバー移転するかもだし)
あ、今のところは、さくらのVPS 2G (大阪) より GMOクラウドVPS マイクロ の方が快適かなーという印象。traceroute すると、さくらの方がGMOより近いんだけど、契約ユーザー数の違いとかかな。あと体感での話だし、実際には差はあまりないかもだけど。
既にSSL証明書を入れているWebサーバー環境で、別途SSL証明書をお金出して取るのもアレだからと、Apacheのリバースプロキシを利用してAipo7をSSL対応させて使っていたわけだが、そうするとAipoアプリの追加ができない。
ネットでも同じような症状は多々見られたのだが、解決方法が載っているところがなく、アプリ使用を半ば諦めていたものの、何となく思い立って色々試行錯誤したけど解決せず、もういいやと諦めかけたときにひょんな事から解決したのでメモ。
さくらのVPS で若干ハマった話。というか、CentOS系のApacheでハマった話の方が正しいかな。
/etc/httpd/conf.d/
に、NameBased Virtualhost用の設定ファイルを置いていたんだけど、この設定ファイルで、IPアドレスを指定してアクセスしてきたユーザーは全て拒否するようにしていたのに、何故か拒否されずにCentOSのデフォルトページが表示されていた。
内容は以下のような感じ。
ServerName any
DocumentRoot /tmp
order deny,allow
deny from all
同じディレクトリにあった、welcome.conf に書かれていた以下の内容が優先されていたようなので、コメントアウトして対処。(ファイルを消しておいても問題ないけど)
Options -Indexes
ErrorDocument 403 /error/noindex.html
以上でIPアドレスを指定した接続には403が返るようになった。
PHOTOSYNTHESIC BLOG 様の以下の記事、
を参考に、さくらのVPS 上で動かしているこのWordPressもSFTP経由で自動アップデートさせたいなーと思っていたのだけれど、libssh2をソースからコンパイルするのはちょっと面倒だなーと思っていたら、CentOS 5.5ではyumだけで何とかなったので、そのメモ。
libssh2は、以下のような感じで。
yum install libssh2.x86_64
yum install libssh2-devel.x86_64
後は、PHOTOSYNTHESIC BLOG 様の記事通りに、
pecl install -f ssh2
ヘッダファイルの場所を聞かれるけど、Enterで問題なし。libssh2-devel.x86_64 を入れ忘れているとエラーが出ます。
その後、/etc/php.ini に、
extension=ssh2.so
を追加してやるか、/etc/php.d/ 以下に上記を書いたファイルを置いてやる。
で、最後にApache再起動。
/etc/init.d/httpd restart
こんな感じで問題なくWordPressでSFTPによる自動アップデートができるようになった。
SaaSes Industria で
pecl install -f ssh2
を試してみたら、peclのssh2がバージョンアップしているのか、うまくいかなかったので、こっちもyumでやってみたメモ。
pecl install -f ssh2
の代わりに、
yum --enablerepo=remi,epel install php-pecl-ssh2.x86_64
とするとうまくいった。(事前にremi・epelのレポジトリ登録が必要)
この方法だとPHPへの設定も自動でやってくれるから、さらに楽だね。今後はこの方法でやろうっと。