$ sudo apt-get install drupal5
インストールされるもの
/usr/share/drupal5/ |
本体 |
/etc/drupal/5/ |
設定 |
/etc/cron.d/drupal5 |
|
/var/lib/drupal5/ |
作業域 |
/usr/share/dbconfig-common/data/drupal5/ |
|
/usr/share/lintian/overrides/drupal5 |
|
/etc/apache2/conf.d/drupal.conf |
|
アクセス経路解析
- /etc/apache2/conf.d/drupal.conf で Alias /drupal5 /usr/share/drupal5
- /usr/share/drupal5/includes/bootstrap.inc の conf_path() で /etc/drupal/5/sites/XXX/settings.php の XXX が決定される.基本的には URL のホスト部分とパスからディレクトリ名の候補を作り,settings.php が見つかるまで探す.
- settings.php で $db_url が設定される.これは同じディレクトリにある dbconfig.php で設定された $dbname などから決定される.
- $db_url が設定されている箇所の近くの $db_prefix というのを設定すれば一つのデータベースで複数のインスタンスをサポートできそうだ.
手順
# cd /etc/drupal/5/sites
# vi default/settings.php
$db_prefix = $dbprefix;
# vi default/dbconfig.php
$dbprefix = '';
# mkdir /srv/drupal5
# chown www-data.www-data /srv/drupal5
# chmod g+s /srv/drupal5
# sudo -u www-data mkdir -p /srv/drupal5/sites/all/modules /srv/drupal5/sites/all/themes
# ln -s /srv/drupal5/sites/all .
# cp -a default www.example.com.drupal.one
# vi www.example.com.drupal.one/dbconfig.php
$dbprefix = 'one_';
# sudo -u www-data mkdir /srv/drupal5/dirs
# sudo -u www-data ln -s /usr/share/drupal5 /srv/drupal5/dirs/one
# sudo -u www-data mkdir -p /srv/drupal5/files/one
# chmod 750 /srv/drupal5/files/one
# sudo -u www-data ln -s /srv/drupal5/files/one /var/lib/drupal5/files
# sudo -u www-data mkdir -p /srv/drupal5/sites/one/modules /srv/drupal5/sites/one/themes
# ln -s /srv/drupal5/sites/one/* www.example.com.drupal.one
# cd ..
# vi htaccess
# RewriteEngine on
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
php_value mbstring.language "neutral"
php_value mbstring.func_overload "0"
php_value mbstring.internal_encoding "UTF-8"
# vi apache.conf
Alias /drupal/one /srv/drupal5/dirs/one
<Directory /srv/drupal5/dirs/one>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /drupal/one
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
# vi /usr/share/drupal5/scripts/cron.sh
grep '^Alias' /etc/drupal/5/apache.conf | while read a; do
b=($a)
curl --silent --compressed "http://${HOSTNAME}${b[1]}/cron.php"
done
# /etc/init.d/apache2 reload
(access to http://www.example.com/drupal/one/install.php)
追加手順
# cd /etc/drupal/5/sites
# cp -a default www.example.com.drupal.two
# vi www.example.com.drupal.two/dbconfig.php
$dbprefix = 'two_';
# sudo -u www-data ln -s /usr/share/drupal5 /srv/drupal5/dirs/two
# sudo -u www-data mkdir /srv/drupal5/files/two
# chmod 750 /srv/drupal5/files/two
# sudo -u www-data ln -s /srv/drupal5/files/two /var/lib/drupal5/files
# sudo -u www-data mkdir -p /srv/drupal5/sites/two/modules /srv/drupal5/sites/two/themes
# ln -s /srv/drupal5/sites/two/* www.example.com.drupal.one
# cd ..
# vi apache.conf
Alias /drupal/two /srv/drupal5/dirs/two
<Directory /srv/drupal5/dirs/two>
Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /drupal/two
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
</Directory>
# /etc/init.d/apache2 reload
(access to http://www.example.com/drupal/two/install.php)
最初に設定すべきもの
- Administer → Site configuration → File system → File system path
- Administer → Site configuration → Date and time
- Administer → Site configuration → Clean URLs
0 件のコメント:
コメントを投稿