22 June 2009

Apache初期設定 (SSL無し) on Ubuntu 10.04

Apacheとphpのインストール

※ Ubuntu 10.04に対応するよう書き換え済み


root@localhost:~# apt-get install apache2
root@localhost:~# apt-get install php5

Apacheサービスを実行しているユーザと、所属するグループは、次のように指定されている。

/etc/apache2/envvars

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

この環境変数を、apacheの設定ファイルで用いている

/etc/apache2/apache2.conf

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

このユーザはログインできるように設定されているため、ログインできないように変更する。


root@localhost:~# cat /etc/passwd | grep -e www-data
www-data:x:33:33:www-data:/var/www:/bin/sh ← 現在状況の表示

root@localhost:~# usermod -s /usr/sbin/nologin www-data

バーチャルサイトの基本的な設定を行う

/etc/apache2/sites-available/default

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/

<Directory /var/www/>
# Options Indexes FollowSymLinks MultiViews
Options Includes ExecCGI FollowSymLinks← SSI, CGIを有効化。ディレクトリ表示を無効化した
AllowOverride None
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

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

CustomLog /var/log/apache2/access.log combined

</VirtualHost>

CGI (Perl) スクリプトの実行を許可

/etc/apache2/mods-available/mime.conf

#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi

SSI (shtml) の有効化

念のため、次の設定がコメントアウトされていないか確認しておく

/etc/apache2/mods-available/mime.conf

# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

includeモジュールを有効化する
(a2enmodはパラメータ無しで起動すると、選択できるモジュール一覧が表示される)


root@localhost:~# a2enmod include
Enabling module include.
Run '/etc/init.d/apache2 restart' to activate new configuration!

PHP用 Pear拡張リポジトリをインストール


root@localhost:~# apt-get install php-pear