マルチドメイン設定でSOY CMSが未だにうまくインストールできない
昨日のエントリー「SOY CMSを試してみようと思ったけど…」でも書いたのですが、いまだにSOY CMSがうまくインストールできていません。
でも嬉しいことに、自宅で別途使っているXAMPPではすんなりインストールできた!同じバージョンで同じ設定なのに、最初のPCだと使えなかったのは何でだろう?それは本日後ほど調査しようと思う。
と、そっちはまだいい。問題はサーバーの方。PHPとかサーバーについて何にもわからない人な自分なので、htaccessをどういう風にかいたらいいのかなど、まったくもってどうしていいかわからない。
とりあえず、どんな状態なのかメモ代わりにご報告
マルチドメインの設定状態
ここは昨日も書いたのですが、サーバー上では
/home/hoge/httpdocs/
これがルートディレクトリ。仮にドメインが「http://h2ham.jp/」だとする。これを、
/home/hoge/httpdocs/cms/
をマルチドメイン(サブドメイン)として「http://cms.h2ham.jp/」でアクセスできるようにしているとする。(そのドメインはこのエントリーのための仮ドメインで、実際にはまだ存在しませんので注意。)
その、/home/hoge/httpdocs/cms/上に、今回MySQL版のインストール形を入れてみた。
そしてhttp://cms.h2ham.jp/にアクセスしてみると、こんな状態
昨日書いたのはMySQL版のインストーラー無し型だったのですが、それだとhttp://cms.h2ham.jp/cms/admin/に勝手にリダイレクトされてしまったのですが、今回はインストーラー型を入れなおしてみたので少し状況が違ってます。
今回http://cms.h2ham.jp/にアクセスすると、HTMLは表示されるのですが、どうもCSSとJSがうまく設定されていない。このままインストールしても、動作しなくなったので再度まっさらな状態に戻して現在この状態。
HTMLを表示してみると、CSSの指し示しているのが「http://cms.h2ham.jp/cms/css/style.css」と、結局このインストール版でも、CMSというディレクトリが勝手にできている様子。サブドメインからアクセスしても、実際のルートディレクトリの位置からの階層で表示されているらしい。
これをどうしたらいいんだ?
.htaccessで対応か?
おそらくそうなるのだと思われるのですが、これをリダイレクト指定する方法…書き方がわからない現状です。いろいろ調べてみたのですが、フォーラムに書いてあったような、下記のでは駄目っぽい。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} cms.h2ham.jp RewriteRule ^(.*)$ /index.php?pathinfo=$1&am@;%{QUERY_STRING}
ちなみに、mod_rewriteは有効になっている。状態です。
さて、どうしたものか…HTMLは見れても、その先にいけない状態では駄目だ〜。
CSSとJS、正常にインストールさせるには、http://cms.h2ham.jp/でちゃんとCSSやJSも表示させるように設定する必要がある。
まだまだ調べる必要がありそうだ・・・フォーラムで質問したほうが早いだろうか...
=====================
NameVirtualHost *:80
<VirtualHost *:80>
ServerName h2ham.jp
DocumentRoot /home/hoge/httpdocs/
</VirtualHost>
<VirtualHost *:80>
ServerName cms.h2ham.jp
DocumentRoot /home/moge/httpdocs/
</VirtualHost>
=====================
的な?
それかmod_rewriteでやるなら。
RewriteEngine on
RewriteCond %{HTTP_HOST} cms.h2ham.jp
RewriteRule ^(.*)$ http://localhost/cms/$1 [P]
とかでできそうな気がする。(mod_proxyも挟んでるけど)
HTTP_HOSTがcms.h2ham.jpだったらcms/以下のディレクトリにプロキシする感じです。
ただこれやるために
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
をhttpd.confとかに追加しないといやんな感じかも。
だからconf.d/の下に
conf.d/cms.confっていうのでも作って
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
RewriteEngine on
RewriteCond %{HTTP_HOST} cms.h2ham.jp
RewriteRule ^(.*)$ http://localhost/cms/$1 [P]
って感じで一まとめにしても良いかもね。
サーバー関係知識は皆無なので、アドバイスもらえるのはとても参考になりやす!
XAMPPとかのApacheとか、サーバー設定を修正できるならいいけど、
できないときが大変か。。。
時間ができたら試してみるっすー!