マルチインストールする(ダウンロード版を利用)

提供: GeeklogJpWiki

マルチインストールする(ダウンロード版を利用)


目次

はじめに

Geeklogをひとつのサーバで多数インストールする場合、本体の非公開ソースとテーマのファイルは個々にインストールせず、すべてのシステムで共有すると便利です。テーマはカスタマイズしたいファイルだけを個別に持っておくことで,最小限のファイル占有で収めることができるわけです。(マルチインストールする冒頭文より)


このドキュメントでは本体ソースの共有のみを取り扱います。

すべて手作業で本体ソースとテーマを共有する場合はマルチインストールするをご覧ください。

※このドキュメントの作業後に手動でテーマを共有することも可能です。

マルチサイトインストールの手順

本体ソースを各サイトで共有したマルチサイトの作り方

例として1つのサーバーへ3つの複数ドメインでのマルチインストールをする過程で進めます。

以下の説明の例で使うサイト名

  • サイト1: www.geeklog.jp
  • サイト2: demo.geeklog.jp
  • サイト3: multi.geeklog.jp

※実在のドメインとは関係ありません


Geeklog 1.4.1 本体ファイルをマルチ(サイト)対応インストラー版にする

まず Geeklog 1.4.1 本体ファイルを取得して解凍します。

次に、このページの一番上にあるダウンロードから「マルチ(サイト)インストール対応したファイル」を取得し展開します。

展開してできたファイルの中の public_html 以下を公開フォルダ内へ、そしてそれ以外を非公開フォルダ内へコピーして既存ファイルを上書きします。

(README.txtはコピー不要)

  • public_html 以下を公開フォルダへ
  • config.php を非公開フォルダへ

次のGeeklogのバージョンがでるまで、ここまで作業したファイルを大切に保管しておくことをお勧めいたします。

さらにサイトを追加して、4つめのサイトを作る場合などにこの下からの作業だけでよくなるので重宝します。

公開領域(public_html)のファイルをサーバーへアップロード

マルチインストール対応にしたGeeklog 1.4.1本体の、公開領域(public_html)ファイルをそれぞれの公開ディレクトリへ設置します。

※各サイトごとのlib-common.phpは通常のインストール手順と同様にそれぞれのconfig.phpを指し示す用に変更してください。

サイト1の公開領域をFTPソフトで転送

/var/www/public_html/www.geeklog.jp へ

サイト2の公開領域をFTPソフトで転送

/var/www/public_html/demo.geeklog.jp へ

サイト3の公開領域をFTPソフトで転送

/var/www/public_html/multi.geeklog.jp へ

非公開領域(private)のファイルをサーバーへアップロード

マルチインストール対応にしたGeeklog 1.4.1本体の、非公開領域(public_html以外)ファイルを共通のディレクトリへ設置します。

サイト1、サイト2、サイト3、共通の非公開領域をFTPソフトで転送

/var/www/private/ へ


各サイト用の設定ファイル

各サイトで個別に設定が必要なconfig.phpファイルをコピーします

(コピー後にコピー元が残っていると間違いの元になり、おかしくなるので削除します)

サイト1の設定ファイルをコピーして準備

/var/www/private/config.php を
/var/www/private/www.geeklog.jp/config.php へコピー

/var/www/private/www.geeklog.jp/data を作成しパーミッションを757(もしくは777)に設定する

サイト2の設定ファイルをコピーして準備

/var/www/private/config.php を
/var/www/private/demo.geeklog.jp/config.php へコピー

/var/www/private/demo.geeklog.jp/data を作成しパーミッションを757(もしくは777)に設定する

サイト3の設定ファイルをコピーして準備

/var/www/private/config.php を
/var/www/private/multi.geeklog.jp/config.php へコピー

/var/www/private/multi.geeklog.jp/data を作成しパーミッションを757(もしくは777)に設定する

各サイト用に用意(コピー)した設定ファイルは共通領域から削除します。

/var/www/private/config.php を削除

ファイルのパーミッションの設定

基本的に普段のインストール手順と同じ設定です。

まったく同じですが、変更するファイルリストを以下に記述します。

(パーミッションは各自がいつも利用している設定をお使いください)

/var/www/private/backups (757)
/var/www/private/data (757)
/var/www/private/logs/*.log (666)
/var/www/private/plugins/filemgmt/filemgmt.php
/var/www/private/各サイト名/data (757)
/var/www/public_html/各サイト名/admin/plugins/themedit/preview.* (666)
/var/www/public_html/各サイト名/backend (757)
/var/www/public_html/各サイト名/backend/*.rss (666)
/var/www/public_html/各サイト名/filemgmt_data (757)
/var/www/public_html/各サイト名/filemgmt_data/* (757)
/var/www/public_html/各サイト名/filemgmt_data/*/tmp (757)
/var/www/public_html/各サイト名/images/articles (757)
/var/www/public_html/各サイト名/images/library (757)
/var/www/public_html/各サイト名/images/library/* (757)
/var/www/public_html/各サイト名/images/topics (757)
/var/www/public_html/各サイト名/images/userphotos (757)
/var/www/public_html/各サイト名/layout/* (757)
/var/www/public_html/各サイト名/layout/*.thml (666)
/var/www/public_html/各サイト名/layout/*.css (666)
/var/www/public_html/各サイト名/layout/*/* (757)
/var/www/public_html/各サイト名/layout/*/*.css (666)


各サイトごとにconfig.phpを設定する

それぞれのサイトの基本設定を行うため /var/www/private/各サイト名/config.php を編集します。

※データベースはそれぞれのサイト毎に用意するか、用意できない場合は$_DB_table_prefixを変えてください。

これも基本的に普段のインストール手順と同じですので、普段とは違う部分のみ記述します。

$_CONF['path']の下に追加されている、$_CONF['path_config']を設定します。 それから、$_CONF['path_data']を変更します。

$_CONF['path']=''  //ここは共通のprivate領域を指定する
$_CONF['path_config']=''  //各サイトのconfig.phpの場所を入力。最後のスラッシュ(/)は必須。
$_CONF['path_data']='';  //各サイトごとにdata領域を作成。userconfigプラグインなどもここを利用する。最後のスラッシュ(/)は必須。

例)サイト1の配置の場合

$_CONF['path']='/var/www/private/';  //全サイトで共通の非公開領域
$_CONF['path_config']='/var/www/private/sample.com/';  //それぞれのサイトのconfig.phpの場所
$_CONF['path_data']=$_CONF['path_config'].'data/';  //それぞれのサイトのdata領域の場所

各サイトごとにインストーラーを起動してインストール

サイト1、サイト2、サイト3、共にインストール画面を起動してインストールします。

http://各サイト名/admin/install/precheck.php へアクセスして画面にしたがってインストールします。

※インストール画面は普段のものと同じですから難しいことはありません。


これでマルチサイトのインストールが完了します。


既存サイト1つをマルチサイトにする手順

既存サイトをマルチ(サイト)対応にする

設定ファイルを移動してマルチ対応に編集します。

非公開領域へ既存サイトのサイト名のディレクトリを作りその中へ設定ファイルを移動します。

private/config.php を
private/サイト名/config.php へ移動

private/サイト名/data を作成してパーミッションを757(もしくは777)に設定

/private/サイト名/config.php ファイルの末尾の部分を以下のように編集します。

// ☆絶対アドレスでconfig.phpの場所を設定する.最後のスラッシュ(/)が必須
$_CONF['path_config'] = '/virtual/☆アカウント/private/xxxxxx/';  // これは追加します。
$_CONF['path_data'] = $_CONF['path_config'] . 'data/';  // これは追加します。

※上の例なら $_CONF['path_config'] は '/virtual/☆アカウント/private/サイト名/config.php' です。

追加サイトのマルチインストール

サイトを追加するのはマルチサイトを作成する手順とほぼ同じになります。

#Geeklog 1.4.1 本体ファイルをマルチ(サイト)対応インストラー版にする

まったく同じ方法です。上記をご覧ください。

#公開領域(public_html)のファイルをサーバーへアップロード

まったく同じ方法です。上記をご覧ください。

追加サイト用の設定ファイル

追加サイトで個別に設定が必要なconfig.phpをコピーして、プラグインの設定ファイルがおかれるdataディレクトリを作成します

マルチインストール対応にしたGeeklog 1.4.1本体の、非公開領域の中の config.php ファイルを追加サイト用のディレクトリへ設置します。

<マルチサイト対応非公開領域>/config.php を
private/追加サイト名/config.php へコピー

userconfigプラグイン等が設定ファイルを置くdataディレクトリを、追加サイト用のディレクトリへ作成します。

private/追加サイト名/data を作成しパーミッションを757(もしくは777)に設定

#ファイルのパーミッションの設定

ほぼ同じです。非公開領域の追加サイト内のパーミッション設定と公開領域のパーミッション設定のみとなります。

#各サイトごとにconfig.phpを設定する

まったく同じ方法です。上記をご覧ください。

#各サイトごとにインストーラーを起動してインストール

まったく同じ方法です。上記をご覧ください。


これで追加サイトのマルチインストールが完了します。

個人用ツール