2010/11/14

Ubuntu に Apache をインストールする。

Ubuntu のバージョンは
$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 10.04.1 LTS
Release:    10.04
Codename:    lucid
Netbook Edition でございます。



では早速。
$ sudo apt-get install apache2
一応テストとしてなので、 ServerName は 127.0.0.1 にしようと思う。
これをしないと事あるごとに
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
って言われるので。
$ sudo vi /etc/apache2/httpd.conf
ServerName 127.0.0.1
$ sudo apache2ctl restart
ひとつ注意点。
Apacheを操作するときは apache2ctl で行う。
apache2ctl -M とか apache2ctl -t とか。
apache2 もあって apache2 -M とかすると、
apache2: bad user name ${APACHE_RUN_USER}
って怒られるので。apache2ctl を使いましょう。
apache2ctl は /etc/apache2/envvars を読み込んで操作をしてくれるみたい。

mod_rewrite を有効にする。
このままだと、mod_rewrite が有効になってないので。有効にします。
$ sudo a2enmod rewite
$ sudo apache2ctl restart
$ sudo apache2ctl -M
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_worker_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgid_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 status_module (shared)
Syntax OK

モジュールの有効化には a2enmod を使う。
apache2 enable module な感じか?
その他
a2* はコマンドが何個か用意されている。
a2enmod  モジュール有効化
a2dismod モジュール無効化
a2ensite バーチャルホスト有効化
a2dissite バーチャルホスト無効化

モジュールなら mods-available/ ディレクトリに
バーチャルホスト設定は sites-available/ ディレクトリに
実ファイルを置いておいて、上記コマンドで *-enabled/ ディレクトリに
シンボリックリンクがはられる仕組み。
便利ねー。

あとは apache を再起動して
http://127.0.0.1/ で
ってでれば完成です。

入った Apache は

$ apache2ctl -v
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Sep 28 2010 12:54:48