さくらインターネットでドメインのエイリアス設定を使う場合

このレンタルサーバで動くのかとかインストールに関する質問など。
動作報告も大歓迎です。

さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by dice on 2008年7月28日(月) 22:03

構築時のURIでわからないところが出たので質問いたします。
※さくらインターネット/MySQL/PHP5.2.6を使用して構築しています。

まず、
・インストーラ設置場所
/home/hoge/www/tool/soycms/
・インストール&サイト公開場所
/home/hoge/www/soy/
・公開URL
http://hoge.sakura.ne.jp/soy/(デフォルトのURL+/soy/)

のように設置してうまく動作しました。

次に別のドメインを使用したかったため
・インストーラ設置場所
/home/hoge/www/soy/tool/soycms/
(URL:http://soy.xxx.jp/tool/soycms/)
・インストール&サイト公開場所
/home/hoge/www/soy/
・公開URL(予定/エイリアス設定済み)
http://soy.xxx.jp/

に変更しました。

しかし、http://soy.xxx.jp/tool/soycms/にアクセスしてインストールしようとすると
下記のように余計な「soy」ディレクトリが自動で挿入され、インストールが完了しません。
例)
<link rel="stylesheet" type="text/css" href="http://soy.xxx.jp/soy/tool/soycms/css/style.css" />

<script type="text/javascript" src="http://soy.xxx.jp/soy/tool/soycms/prototype.js"></script>

var url = "http://soy.xxx.jp/soy/tool/soycms/observer.php";

デフォルトのホームを取得して、
そこを解析してURIを作り上げているのでしょうか?

なにか回避方法はあるでしょうか?
この段階でrewriteなどは使いたくないのですが…
dice
 
記事: 2
登録日時: 2008年7月28日(月) 17:34

Re: さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by furusho on 2008年7月31日(木) 20:29

ご質問の件ですが、さくらインターネットではドキュメントルート以下のディレクトリにエイリアスを設定し、そのドメインにアクセスがあった場合にもドキュメントルートは
/home/hoge/www/
であるように認識されます。そのため、ご指摘のような現象がおきるようです。

上記の理由から、インストーラやSOYCMSへのアクセスはhttp://hoge.sakura.ne.jp/もしくはドキュメントルート(/home/hoge/www/)に設定したエイリアスから行う必要があります。

http://hogehoge.com(ご自身で指定したドメイン)/直下からサイトを公開したいという場合、下記の二つの方法のうちいずれかを選択してください。

このサーバで運用するサイトがひとつだけの場合
ドキュメントルートにエイリアスを設定し、SOYCMSの「ルートサイト機能」を使用します。
http://www.soycms.net/man/cms_admin/RootSite


このサーバで運用するサイトが複数の場合
SOYCMSによって作成されたサイトのディレクトリにエイリアスを設定しそのドメインでサイトにアクセスする場合は、mod_rewriteを設定する必要があります。具体的な書き方は下記を参考にしてください。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} 【使用したいドメイン】
RewriteRule ^(.*)$ /index.php?pathinfo=$1&%{QUERY_STRING}
furusho
 
記事: 92
登録日時: 2008年6月05日(木) 17:41

Re: さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by yoshipan on 2008年9月04日(木) 01:03

こんばんは!さくらインターネットにインストールしてみました。PDFのマニュアルの通りにインストールしたら5分でできました!

が、私もエイリアス設定した別ドメインを使いたくて、上記2つの方法を試したのですが、ルートサイト機能と、mod_rewriteのどちらの方法も、管理画面のCSS、JavaScript、画像のパスがおかしいままでした。

ルートサイト設定の説明の中には「CSSなどのリンク先を絶対パスで指定すれば、問題が回避されます。」とあるのですが、管理画面の場合どこを触ればいいのか分かりませんでした。

インストールし直したりもしてみたのですが解決出来なかったので、教えていただけるとありがたいです!
yoshipan
 
記事: 1
登録日時: 2008年8月23日(土) 19:47

Re: さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by furusho on 2008年9月04日(木) 12:56

>管理画面のCSS、JavaScript、画像のパスがおかしい
これは、公開側はちゃんと見られるけど管理画面が(CSS等の読み込みに失敗して)ちゃんと表示されない、ということでしょうか?

ルートサイト設定の方が確かなのでその場合のことだけまず書きますと、まず最初にルートへのエイリアスを設定して、
インストール自体も(初期設定のID、PWの設定を)そのドメインからのアクセスで行ってみてください。

あと、どんなパスにどういう風にインストールして、どのディレクトリにどうエイリアスを設定しているか教えていただけたら
具体的にアドバイスさせていただけます。

よろしくおねがいいたします。
furusho
 
記事: 92
登録日時: 2008年6月05日(木) 17:41

Re: さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by okada on 2009年6月25日(木) 15:28

スタンダードプランの場合
以下のようにしてさくらインターネットのスタンダードプランでマルチドメインで運用できます。

  1. サイトのディレクトリにドメインを割り当てる(追記参照)。
  2. サイト一覧の詳細からサイトURLを割り当てたドメインに書き換える
  3. サイト直下の.htaccessに RewriteBase / を付け加える(RewriteEngine onの次の行あたりに)

以下のような感じ。
コード: 全て選択
/home/your-account/www/ your-account.sakura.ne.jp
                    ├ cms/
                    │ ├ admin/
                    │ ├ common/
                    │ ├ …
                    │ └ soycms/
                    ├ site01/ サイト ここにドメインを割り当てる(site01.example.comならサイトURLはhttp://site01.example.com/とする)
                    │ └ .htaccess これに RewriteBase / を付け加える
                    ├ …

追記
サイトのディレクトリにドメインを割り当てる際の注意
SGT.soukさんの情報によると、さくらのコントロールパネルでサイトのディレクトリにドメインを割り当てるときに、末尾に/(スラッシュ)が付いているとだめなようです。


ビジネスプロの場合
ビジネスプロだとエイリアスではなくドメインごとにドキュメントルートが割り振られるため、.htaccessを書き換えなくても
  1. サイトのディレクトリにドメインを割り当てる
  2. サイト一覧の詳細からサイトURLを書き換える
でOKです。
以下のような感じで。
コード: 全て選択
/home/your-account/www/ your-account.sakura.ne.jp または その他の割り当てたドメイン
                    ├ cms/
                    │ ├ admin/
                    │ ├ common/
                    │ ├ …
                    │ └ soycms/
                    ├ site01/ サイト ここにドメインを割り当てる(site01.example.comならサイトURLはhttp://site01.example.com/とする)
                    ├ …


ポイント
どちらでも重要なのは管理画面のドメインを/home/your-account/www/に割り当てること(もしくはデフォルトのドメインをつかうこと)です。
/home/your-account/www/cms/や/home/your-account/www/cms/adminなどにドメインを割り当てると、スタンダードでは管理画面がうまく動作しません。ビジネスプロではサイトがそのディレクトリ以下に作られてしまいます(一応common/config/user.config.phpでSOYCMS_TARGET_DIRECTORYを指定するとサイトを作るディレクトリを変更できますがまだ実験段階です。やってみた方はぜひ報告を!)。

参考情報
開発ブログの記事も参考にしてください。
SOY CMS 開発ブログ - さくらのスタンダードで複数ドメイン運用
SOY CMS 開発ブログ - マルチドメイン環境その2
okada@株式会社日本情報化農業研究所

SOY CMS http://www.soycms.net/
SOY Shop http://www.soyshop.net/
SOY App http://www.soycms.net/extentions
開発ブログ http://www.soycms.net/blog/
Twitter http://twitter.com/SOY_CMS
okada
 
記事: 553
登録日時: 2008年6月07日(土) 00:49

ログインできません。。。

投稿記事by keit on 2009年10月11日(日) 02:39

こんにちは。私もこれを参考にして、設定してみました。
さくらのスタンダードです。独自ドメイン、元々のドメインどちらともで接続することはできたのですが…
管理画面の「サイト一覧」からのログインができなくなってしまいました。

ディレクトリ構成
home/
 └myaccount/
   └www/
    └cms/ (SOY CMSインストール)
      └adminなど以下ファイル
    └mysite(ここにドメイン割り当て)


まずドキュメントルートのcmsフォルダにインストール。
phpパーミッションは755です。
mysiteというフォルダは元々あったもので、ここに独自ドメインを設定しています。
(★SOY CMSを設置しサイトを作成する際、サイトIDをmysiteにしました)
mysite内にindex.phpやim.phpなどの各ファイルができたので、
その中のhtaccessに、RewriteBase /と加えました。

サイト一覧画面で「ルート設定」をクリック。
詳細画面のサイトURLを独自ドメインに書き換えました。

以上のことをした状態で、サイト一覧から、作ったサイトにログインしようとすると、
以下のようなエラーが出てしまいます。

---------------------------------------------------------

致命的なエラーが発生しました
エラーメッセージ
Call to a member function getUri() on a non-object

レポート
DETECT DATE:2009-10-11T03:43:18+09:00

MESSAGE: Call to a member function getUri() on a non-object
EXCEPTION TYPE: ErrorException
LOCATION: /cms/soycms/webapp/pages/Wizard/_stage/HTML/ConfirmStage.class.php (13)

SOY CMS Version: 1.2.6
SOY CMS DBType: mysql

PHP Version: 5.2.10
PHP SAPI NAME: cgi
PHP SAFE MODE: No
MAGIC_QUOTE_GPC: Yes
mb_string: Yes
PDO: Yes
PDO_SQLite: Yes
PDO_MySQL: Yes
Simple PHP Library: Yes
SimpleXML: Yes
JSON: Yes
Services_JSON: No
ZIP: No
ZipArchive: No
Archive_Zip: No
OpenSSL: Yes
HASH: Yes

USER_AGENT: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Sleipnir/2.8.5)
PATH_INFO: /Wizard


STACK TRACE
-----------------------
0:soycms_shutdown

()

---------------------------------------------------------

やはり、元々あったフォルダと同じ名前のサイトIDで作ったからいけないのでしょうか?
keit
 
記事: 7
登録日時: 2009年10月10日(土) 01:06

Re: さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by あいた on 2009年10月11日(日) 04:43

お世話になっております。

私は上記の方法で、インストールを行いまして、
うまくログインができました。

環境は同様に、さくらスタンダードです。

keitさんが、なぜサイト一覧からログインができなくなったのかは、私なりに見てみましたが、
なぜエラーになってしまうのかは分かりませんでした・・。

お力になれなく、すみません。


私の場合は、ドメインエイリアスの設定はうまくいったのですが、ご確認いただきたい点が2点あります。

【1】ブログを設定しそのブログのトップは表示されるのですが、
記事毎ページのURL表示がうまくいきませんでした。

例)ブログトップの場合

http://独自ドメイン/blog名/
→こちらはhtaccessにRewriteBase / をつけ加えれば表示は問題ないです。

例)記事毎ページの場合
ブログトップからの記事毎ページへのリンクが下記のようになってしまいます。

http://独自ドメイン/サイトID/blog名/article/タイトル名
→「独自ドメイン」と「blog名」の間に「サイトID」が表示されてしまうようです。
※日時、Comments、Trackback、最近の記事等のリンクも同様のようです。

こちらのご対応をお願いできないでしょうか。


【2】サイト詳細の「フロントコントローラーの再生成」をクリックすると、
設定変更したhtaccessが元に戻ってしまいます。
これは、再生成のため当たり前だと思うのですが、設定変更した箇所は
(今回は、RewriteBase / をつけ加える)リセットされないようには、
可能でしょうか?

特に急いではおりませんので、お時間があるときにご確認いただけますと幸いです。
どうぞよろしくお願いします。
あいた
 
記事: 19
登録日時: 2008年12月06日(土) 01:49

あれれ?

投稿記事by keit on 2009年10月11日(日) 11:25

こんにちは。先日書き込みをした件に関してです。

元々あったmysiteというフォルダを残し、他を全部削除しました。
(さくらのファイルマネージャーから削除し、FTPでも削除を確認、念のため
データベースも一度削除し、再度データベース作成)

そして再度、cmsというフォルダを作り、その中にSOY CMSをアップロード。
パーミッションなどに関してはphpのみ755に設定してアップロードするようにしています。
(さくらでPHPを動かすには、755か705だそうなので)
初期設定画面に管理者名、パスワードを入れた後、ログイン画面が出てくるので設定した管理者名とパスワードでログイン。
サイト作成をクリックし、現存のmysiteフォルダと同じ名前でIDを指定。
その後、さくらのファイルマネージャから、mysiteフォルダの中のhtaccessを開き、
RewriteEngine onの後にRewriteBase / と書き込み、保存。
管理画面の「サイト一覧」ページに戻り、ルート設定をし、詳細→サイトURLを独自ドメインに変更。

そうしたところ、普通にログインでき、ページを作成することができました。
なぜなのか、よくわかりません。
昨日とまったく同じ方法ですし、mysiteフォルダの中のhtaccessに関しても、
昨日もRewriteEngine onの後にRewriteBase / と書き込んでいます。
SOY CMS関係のファイル削除→データベース削除→データベース作成→ファイルアップロード(以下、上記と同様の操作)
と何度かやり直しても、同じ症状だったんです。

何か原因というのは考えられるのでしょうか?


★あいた様
試してくださったんですね。ありがとうございますー!
LiteCMSと呼ばれるものを調べていた際にSOY CMSを見つけ、まさに捜し求めていたCMS!!
…と思い…どうしても使いたくて(´;ω;´)

私も、ブログを作る予定があるので、時間がある時に、あいたさんの状況を
試してみたいと思います。お互いがんばりましょう!
keit
 
記事: 7
登録日時: 2009年10月10日(土) 01:06

Re: さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by あいた on 2009年10月12日(月) 03:20

>keitさん

無事に独自ドメインでのインストールができたようでよかったです。

Lite CMS(軽量CMS)という言葉は私ははじめて知ったのですが、WikiにあったCMSページによると、下記のような特徴があるようですね。

* マルチプラットフォームに対応し、動作環境に対する制約が少ない。ホスティングサーバにも容易に設置できる。
* インストールに要するディスクスペースが少なくてすみ、ディレクトリ構造もシンプルである。
* MySQLなどデータベースサーバーを必要とせず、せいぜいSQLiteあるいはXMLでデータが管理できる。
* データベースサーバーを使う場合でもテーブル数が少なく、管理しやすい。
* 処理できるデータの量より、手軽さに重点をおく。
* アクセスに対するレスポンスが速い。


これって、確かにSOY CMSの特徴ですよね!
その手軽さ、便利さ、拡張性などたくさんのメリットがありまして、
私はすでに20サイト以上でSOY CMSを利用させてもらっています。

特に、最新情報等でブログを利用したり、SOY APPでの問い合わせフォームなんかがかなり重宝しています。
keitさんも是非活用してみてください!

そして、開発をいただいている日本情報化農業研究所の皆様にも改めて、感謝しております。
ありがとうございます。
あいた
 
記事: 19
登録日時: 2008年12月06日(土) 01:49

Re: さくらインターネットでドメインのエイリアス設定を使う場合

投稿記事by okada on 2009年10月16日(金) 22:51

こんばんは、okadaです。

まずkeitさんへ
以上のことをした状態で、サイト一覧から、作ったサイトにログインしようとすると、
以下のようなエラーが出てしまいます。
---------------------------------------------------------
致命的なエラーが発生しました
エラーメッセージ
Call to a member function getUri() on a non-object
この原因はちょっとわかりません。
インストールし直しでうまく行ったとのことでよかったのですけど、なんだったんでしょうね。

やはり、元々あったフォルダと同じ名前のサイトIDで作ったからいけないのでしょうか?
これは全く問題ありません。


あいたさん、ご無沙汰しています。
【1】ブログを設定しそのブログのトップは表示されるのですが、
記事毎ページのURL表示がうまくいきませんでした。

すみません。
1.2.6でブログのURLの生成方法を変更したのですが、
さくらのサーバーのような環境での動作検証が不十分でした。

ひとまずは サイトID/index.phpの <?php の次の行に
コード: 全て選択
$_SERVER["DOCUMENT_ROOT"] = dirname(__FILE__);
と追記してください。
おそらくこれでURLが治ると思います。
次回リリースにはこのバグの修正が含まれる予定です。

【2】サイト詳細の「フロントコントローラーの再生成」をクリックすると、
設定変更したhtaccessが元に戻ってしまいます。
これは、再生成のため当たり前だと思うのですが、設定変更した箇所は
(今回は、RewriteBase / をつけ加える)リセットされないようには、
可能でしょうか?

申し訳ないのですが、現状(1.2.6)上書きのみとなっています。
ルート設定の.htaccessのようにバックアップを取ったり、編集画面に遷移するなど
した方がいいですね。
また、RewriteBase /は常に入っていてもたいていは問題ないはずのですので、
デフォルトになるかもしれません。

それにしても20サイト以上はすごいですね!
差し支えなければ viewforum.php?f=13 で報告してください。
よろしくお願いします。
okada@株式会社日本情報化農業研究所

SOY CMS http://www.soycms.net/
SOY Shop http://www.soyshop.net/
SOY App http://www.soycms.net/extentions
開発ブログ http://www.soycms.net/blog/
Twitter http://twitter.com/SOY_CMS
okada
 
記事: 553
登録日時: 2008年6月07日(土) 00:49

次へ

Return to 動作環境・インストール方法

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]

cron