Ubuntu+LAMP(名前ベースバーチャルホスト)のインストール

by

in

UbuntuのLAMP環境インストールメモ

以下はデスクトップ版Ubuntu(Hardy Heron 8.04LTS)の話です.

Ubuntu本体のインストールは,最新版のUbuntuをDLして,
いくつかの簡単な質問に答えるだけです.

起動したら,アップデートマネージャを起動して,
とりあえずすべてアップデートします.

LAMP環境のインストール(いまさら書くほどのこともないけれども・・・)

コンソールから,
# sudo apt-get install apache2
# sudo apt-get install php5 libapache2-mod-php5
# sudo apt-get install mysql-server
(途中でパスワードの設定)
# sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
(ついでにphpmyadminもインストール)
ここら辺は,# sudo tasksel で一発でできるのかもしれません.

Apache2.2の設定(以下は好みによっていろいろ・・・)
apache2.confの設定はいじらず,上書きで設定することにしました.
まず,共通の設定を新規に作成します.

# sudo vi /etc/apache2/conf.d/common_settings
---
ServerTokens ProductOnly
ServerSignature Off
HostnameLookups On
DirectoryIndex index.php index.html index.htm index.cgi
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
AddHandler cgi-script .cgi .pl
AddDefaultCharset UTF-8
<directory>
Order Allow,Deny
Deny from all
Options None
AllowOverride None
</directory>
<directory /var/www/public_html/>
Options +ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
AllowOverride All
</directory>
---

DirectoryIndex等の設定は/etc/apache2/mods-available/の下の*.confに散らばっているので,まとめて上書きしてしまうようにしました.
従って,他の設定ファイルは一切触っていません.

名前ベースのバーチャルホストの設定

# sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/www1
# sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/www2
# sudo vi /etc/apache2/sites-available/www1
---
<virtualhost *:80>
ServerAdmin example@www1.example.com
DocumentRoot /var/www/public_html/www1
ServerName www1.example.com

ErrorLog /var/log/apache2/error-www1.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access-www1.log combined
</virtualhost>
---

のような感じで,www2も作り,2つのサイトの設定ファイルをそれぞれ,/etc/apache2/sites-available/の下に置きます.

サイトの有効化

# sudo a2dissite default
# sudo a2ensite www1
# sudo a2ensite www2

defaultを無効にして新しいサイトを有効にします.

ディレクトリの作成,パーミッションの設定

# sudo mkdir /var/www/public_html
# sudo mkdir /var/www/public_html/www1
# sudo mkdir /var/www/public_html/www2
# sudo chown -R www-data:www-data /var/www/public_html

設定したそれぞれのサイトのwwwのルートディレクトリを用意し,パーミッションを変更します.

/etc/hostsを修正

# sudo vi /etc/hosts

127.0.0.1 localhost
127.0.1.1 ホスト名

初期状態では上記のようになっているが,127.0.1.1の行はバグです.
(直しておかないとsudoの度にエラーが出ます)
で,削除して以下のように追記します.

127.0.0.1 メインサイトのFQDN localhost ホスト名

例えば,
127.0.0.1 www1.example.com localhost foo
という感じです.
www1.example.comを書かないと,

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

というエラーが出るようになります.
メインサイトは下記のコマンドを実行してdefaultになってるほうです.

# sudo apache2ctl -S

Apache2のPHPモジュールを有効にする

# sudo a2enmod php5

設定を確認して再起動

# sudo apache2ctl configtest
# sudo /etc/init.d/apache2 restart

MySQLの設定
文字コードをUTF-8に統一します.

# sudo /etc/mysql/my.cnf
[client]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
default-character-set=utf8
[mysqldump]
default-character-set=utf8

MySQLを再起動

# sudo /etc/init.d/mysql restart

PHPの設定

# sudo vi /etc/php5/apache2/php.ini

ファイルを上から見ていって,下記のように修正します.おもに文字コード関係です.

magic_quotes_gpc = Off
default_charset = UTF-8
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_charactor = none

次はXoopsのインストールへ進みます.