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