このスレッドはクローズされています。記事の閲覧のみとなります。
  
    
        バーチャルホストで複数のブログの管理 | 
        | 
    
    
      
        
        - æ¥æï¼ 2006/07/03 10:59
        
- ååï¼ hideto
 
 
          - hidetoです。
 先日はバーチャルホストの件で大変お世話になりました。 無事設定も完了し、稼働させることができました。本当にありがとうございました。
  今度はバーチャルホストとMovableTypeの件で質問させてください。
  バーチャルホストで「main.com」「aaa.com」「bbb.com」「ccc.com」としている状態で MovableTypeを用いてそれぞれのドメインでブログを構築したいと考えているのですが、 MT本体はそれぞれにインストールしないといけないのでしょうか? 例えば「main.com」にMT本体をインストールし、複数のブログを構築してそれぞれの出力先を「aaa.com」「bbb.com」「ccc.com」にするといったことはできないのでしょうか。
  どうぞご指導よろしくお願い致します。
          
        
       | 
    
  
■ コンテンツ関連情報
  
    
        Re: バーチャルホストで複数のブログの管理 ( No.1 ) | 
        | 
    
    
      
        
          - æ¥æï¼ 2006/07/04 12:02
          
- ååï¼ 管理者
          
 
           
            - 複数のブログ作成まで検証していないので細かくはお答えできませんが、管理画面の右にある「システム・メニュー」に「ブログ」をクリックすると「ブログを新規作成」と言うのがあると思います。
  ここで、ブログを新しく作成して以下のパスに各ブログを割り付ければ、バーチャルホストで「main.com」「aaa.com」「bbb.com」「ccc.com」での公開は可能と思われます。 ここで「Aブログ」を「/var/www/html/blog_a/」というパスに作成 「Bブログ」を「/var/www/html/blog_b/」というパスに作成 「Cブログ」を「/var/www/html/blog_c/」というパスに作成           :           :
          
        
       | 
    
    
        Re: バーチャルホストで複数のブログの管理 ( No.2 ) | 
        | 
    
    
      
        
          - æ¥æï¼ 2006/07/04 18:38
          
- ååï¼ hideto
          
 
           
            - 管理人様、回答ありがとうございます。
  昨夜自宅のサーバで実験してみました。 MovableTypeをインストールしたのは「/home/main/mt/」で、「http://main.com/mt/blog/」でMTのhtmlが表示される状態になっています。 が、ブログを「/home/aaa/public_html」に新規作成すると、下記のようなエラーが出ます。
  「/home/aaa/public_html/index.html.new」への書き込みに失敗しました: ローカル・ファイル/home/aaa/public_html/index.html.newが開けません: Permission denied 
  おそらく「main」の所有者は「main」、「aaa」の所有者は「aaa」なので、その辺のパーミッションの違いかとは思うのですが、この所有者をすべて同じにすることは可能ですか?
          
        
       | 
    
    
        Re: バーチャルホストで複数のブログの管理 ( No.3 ) | 
        | 
    
    
      
        
          - æ¥æï¼ 2006/07/04 19:46
          
- ååï¼ 管理者
          
 
           
            - 「/home/main」のパーミッションと同様に「/home/aaa」にしてみては如何でしょうか?
 ※:「/home/main」配下のパーミッションも「/home/aaa」配下に適用してください。
  気になっているのが、「/home/main」での公開しているブログは、ユーザホームページですか? 例えば、apacheデフォルトDocumentRootの「/var/www/html」の配下に、   「/var/www/html/main」→「http://main.com/」   「/var/www/html/sub」→「http://sub.com/」              :              : の様にした方が、後々に宜しいかと思いますが・・・・
          
        
       | 
    
    
        Re: バーチャルホストで複数のブログの管理 ( No.4 ) | 
        | 
    
    
      
        
          - æ¥æï¼ 2006/07/05 10:02
          
- ååï¼ hideto
          
 
           
            - 管理人様、いつも回答ありがとうございます。
  とりあえず、下のように整理してみました。
  apacheの設定は、 User nobody Group nobody DocumentRoot "/var/www/html"としています。 バーチャルホストのDocumentRootは、管理人様のおっしゃるように/var/www/htmlの下に作成・変更しました。 (意味を履き違えていたらごめんなさい)
 
  また、今までは「main.example.com」「aaa.dip.jp」「bbb.dip.jp」「ccc.dip.jp」 (投稿時の例からちょっと変更しました)に、それぞれ
  「main.example.com」…ユーザfedoraで、/var/www/html/fedora/ディレクトリを使用 「aaa.dip.jp」「bbb.dip.jp」「ccc.dip.jp」…それぞれaaa,bbb,cccというユーザを作り、ディレクトリを/var/www/html/以下に作成
  としていたのを、
  ・ユーザの削除(aaa,bbb,ccc) ・fedora,aaa,bbb,cccディレクトリを削除し、rootで/var/www/html/以下にmt,aaa,bbb,cccのディレクトリを改めて作成。 (WinSCPではディレクトリの所有者がrootになっている状態) ・/var/www/htmlにはダミーのhtmlファイルを置き、「main.example.com」でそのhtmlが表示可能な状態に。 ・rootとして、/var/www/html/mt/にmovabletypeのシステムをインストール
  としました。
 
  以下はバーチャルホスト部分の記述です。(必要ないかもしれませんが、一応…)
  NameVirtualHost 192.168.1.8:80 <VirtualHost 192.168.1.8:80>   ServerName main.example.com </VirtualHost> <VirtualHost 192.168.1.8:80>   ServerName aaa.dip.jp   DocumentRoot /var/www/html/aaa   ErrorLog logs/aaa-error_log   CustomLog logs/aaa-access_log combined env=!no_log </VirtualHost> <VirtualHost 192.168.1.8:80>   ServerName bbb.dip.jp   DocumentRoot /var/www/html/bbb   ErrorLog logs/bbb-error_log   CustomLog logs/bbb-access_log combined env=!no_log </VirtualHost> <VirtualHost 192.168.1.8:80>   ServerName ccc.dip.jp   DocumentRoot /var/www/html/ccc   ErrorLog logs/ccc-error_log   CustomLog logs/ccc-access_log combined env=!no_log </VirtualHost>
 
  この状態でmovabletypeの管理画面から新規ブログを/var/www/html/aaaに作成してみたのですが、 「/var/www/html/aaa/index.html.new」への書き込みに失敗しました: ローカル・ファイル/var/www/html/aaa/index.html.newが開けません: Permission denied  というように、同じエラーがでてしまいました。
 
  自分なりにいろいろやってみたのですが、根本的に間違っているのでしょうか…?
  >「/home/main」のパーミッションと同様に「/home/aaa」にしてみては如何でしょうか? >※:「/home/main」配下のパーミッションも「/home/aaa」配下に適用してください。
  このパーミッションの設定を変更するというのは、上記で記している”aaaなどのユーザを削除してすべてのディレクトリをrootで作り直す”というのとは違いますでしょうか? (WinSCPでみると、それぞれのディレクトリの所有者はrootになっています)
  >  >気になっているのが、「/home/main」での公開しているブログは、ユーザホームページですか? >例えば、apacheデフォルトDocumentRootの「/var/www/html」の配下に、 >  「/var/www/html/main」→「http://main.com/」 >  「/var/www/html/sub」→「http://sub.com/」
  こちらについては、上記の通りディレクトリ構成を修正してみました。こういうことでよろしいのでしょうか?
 
  一生懸命学ぼうと頑張っているのですが、なかなかこちらの欲する情報に合致するものがなく、 管理人様にはお手数をおかけして大変申し訳ありません。 どうぞ勉強のために教えて頂けたらと思います。どうぞよろしくお願い致します。
          
          
       | 
    
    
        Re: バーチャルホストで複数のブログの管理 ( No.5 ) | 
        | 
    
    
      
        
          - æ¥æï¼ 2006/07/05 13:00
          
- ååï¼ 管理者
          
 
           
            - 当方でMTを構築してみました。
  まず、apache設定ファイルについてですが、「User」と「Group」を『nobody』にしている理由は何でしょうか? 特に理由がない限り、デフォルトでは『apache』ですので変更した方が良いと思います。
  次に「Permission denied」が出る理由は、MTが書き込もうとしているパスの「オーナ:グループ」が『root』で、且つOtherに書き込み権がない為と思われます。
  「/vaw/www/html/mt」「/vaw/www/html/aaa」「/vaw/www/html/bbb」「/vaw/www/html/ccc」のパスのパーミッションを757にすれば問題ありませんが、全般的に以下の様にするのが理想です。
 
  ①先述しましたが、理由がない限りapache設定ファイルの「User」と「Group」を『apache』にする。(変更後、httpd再起動) ②「/var/www/html」配下以下のパスの所有者:グループを『apache』にする。 ③上記同様の「/var/www/html」配下以下のパスのパーミッションは755にする。 ④mtにて各パスにブログを作成する。
  ※:以下がパスのイメージ(オーナ:グループ・パーミッションをご覧下さい) # ls -l /var/www/html/ 合計 24 drwxr-xr-x 2 apache apache 4096 7月 5 08:32 aaa drwxr-xr-x 2 apache apache 4096 7月 5 08:29 bbb drwxr-xr-x 2 apache apache 4096 7月 5 08:29 ccc drwxr-xr-x 13 apache apache 4096 7月 5 08:18 cgi-bin -rw-r--r-- 1 apache apache 102 7月 5 06:56 index.html drwxr-xr-x 2 apache apache 4096 7月 5 08:22 mt
  ※:以下がサービス(プロセス)実行者のイメージ(httpdプロセスが「apache」で起動されている。ただし親プロセスは「root」) # ps -ef | grep httpd root   6324   1 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6327 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6328 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6329 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6330 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6331 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6332 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6333 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd apache  6334 6324 0 08:36 ?    00:00:00 /usr/sbin/httpd root   6669 1969 0 08:45 pts/0  00:00:00 grep httpd
 
 
 
  バーチャルホストについては投稿頂いた内容で問題ありませんが、IP部分を"*"アスタリスクにした方が無難です。(以下参照)
  NameVirtualHost *:80 <VirtualHost *:80>   ServerName main.example.com </VirtualHost> <VirtualHost *:80>   ServerName aaa.dip.jp   DocumentRoot /var/www/html/aaa   ErrorLog logs/aaa-error_log   CustomLog logs/aaa-access_log combined env=!no_log </VirtualHost> <VirtualHost *:80>   ServerName bbb.dip.jp   DocumentRoot /var/www/html/bbb   ErrorLog logs/bbb-error_log   CustomLog logs/bbb-access_log combined env=!no_log </VirtualHost> <VirtualHost *:80>   ServerName ccc.dip.jp   DocumentRoot /var/www/html/ccc   ErrorLog logs/ccc-error_log   CustomLog logs/ccc-access_log combined env=!no_log </VirtualHost>
 
  上記以外のご質問では特にhidetoさんが理解された内容で相違ありません。(ユーザを削除した部分も含めて)
 
  正常に動作すれば以下のアクセス方法で個別のページが表示されるはずです。
  「http://main.example.com」   →  ダミーのhtmlファイルが表示 「http://main.example.com/mt」 →  「メイン」ブログ画面表示 「http://aaa.dip.jp」      →  「aaa」ブログ画面表示 「http://bbb.dip.jp」      →  「bbb」ブログ画面表示 「http://ccc.dip.jp」      →  「ccc」ブログ画面表示
          
          
       | 
    
  
■ その他