Home » Ubuntu 日記 » Ubuntu ~Apache~ » Apache:インストール
| Index | Apache:ログ »
Ubuntu ~Apache - インストール~
○ Apache
ホームページの公開や Web アプリケーションの作成には、サーバーソフトが必要になります。
ここでは、Linux 環境でもっともユーザーが多いと思われる Apache を紹介します。
○ インストール
# apt-get install apache2
Reading package lists... Done
xxxxx
xxxxx
Do you want to continue [Y/n]? y
xxxxx
xxxxx
Setting up apache2-mpm-worker (2.2.8-1ubuntu0.3) ...
* Starting web server apache2
[ OK ]
Setting up apache2 (2.2.8-1ubuntu0.3) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
○ 設定ファイル/関連ファイル
場所/ファイル | 内容 |
/etc/apache2/apache2.conf | apache2の全体設定用ファイル |
/etc/apache2/conf.d/ | 各種Webアプリケーションなどの設定ファイルを配置するディレクトリ |
/etc/apache2/envvars | 環境設定ファイル |
/etc/apache2/httpd.conf | 過去の互換性のために存在するファイル(中身は空) |
/etc/apache2/mods-available/ | モジュールファイルが置かれるディレクトリ |
/etc/apache2/mods-enabled/ | 使用するモジュールへのリンクファイルが置かれるディレクトリ |
/etc/apache2/ports.conf | ポート番号 |
/etc/apache2/sites-available/ | サイト定義ファイルが置かれるディレクトリ |
/etc/apache2/sites-enabled/ | 使用するサイト定義ファイルへのリンクファイルが置かれるディレクトリ |
/etc/init.d/apache2 | rcスクリプト |
/usr/sbin/a2dismod | モジュールを無効にする |
/usr/sbin/a2dissite | サイトを無効にする |
/usr/sbin/a2enmod | モジュールを有効にする |
/usr/sbin/a2ensite | サイトを有効にする |
/usr/sbin/apache2 | 実行用バイナリ |
/usr/sbin/apache2ctl | コントロール用スクリプト |
/var/www/ | HTMLファイルや画像ファイルなどを配置するディレクトリ |
/var/log/apache2/access.log | クライアントからのアクセスを記録するログファイル |
/var/log/apache2/error.log | エラーを記録するログファイル |
ツリービューでは |
/ ルート ├etc | ├apache2 | | ├conf.d | | | └xxxxx :各種Webアプリケーションなどの設定ファイルを配置するディレクトリ | | ├mods-available | | | └xxxxx :モジュールファイルが置かれるディレクトリ | | ├mods-enabled | | | └xxxxx :使用するモジュールへのリンクファイルが置かれるディレクトリ | | ├sites-available | | | └xxxxx :サイト定義ファイルが置かれるディレクトリ | | ├sites-enabled | | | └xxxxx :使用するサイト定義ファイルへのリンクファイルが置かれるディレクトリ | | ├apache2.conf :apache2の全体設定用ファイル | | ├envvars :環境設定ファイル | | ├httpd.conf :過去の互換性のために存在するファイル(中身は空) | | └ports.conf :ポート番号 | └init.d | └apache2 :rcスクリプト ├usr | ├lib | | └cgi-bin | | └xxxxx :cgi スクリプトを配置するディレクトリ | └sbin | ├a2dismod :モジュールを無効にする | ├a2dissite :サイトを無効にする | ├a2enmod :モジュールを有効にする | ├a2ensite :サイトを有効にする | ├apache2 :実行用バイナリ | └apache2ctl :コントロール用スクリプト └var ├www | └xxxxx :HTMLファイルや画像ファイルなどを配置するディレクトリ └log ├access.log :クライアントからのアクセスを記録するログファイル └error.log :エラーを記録するログファイル |
○ 設定の変更
apache2 は(デフォルトの状態では)
・ /etc/apache2/apache2.conf に全体の設定ファイル
・ /etc/apache2/sites-enabled/ にシンボリックリンク
・ /etc/apache2/sites-available/ にサイト定義(個別設定ファイル)
が配置されていて、シンボリックリンクとサイト定義のセットを複数用意することでバーチャルドメインの設定ができる。
デフォルトでは、
/etc/apache2/sites-enabled/000-default -> /etc/apache2/sites-available/default
となっている。
上記構成について確認、変更は、apache2.conf の最終行にある以下の行から行える。
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
デフォルトでは、/etc/apache2/sites-available/default のみが存在する。
# バーチャルホストを定義するIPアドレスを指定。*を指定すると全てのアクセスが対象
NameVirtualHost *
# バーチャルホストの定義開始。*が指定されているので、全てのアクセスがここの設定に従う
<VirtualHost *>
# エラーが発生したときに、ブラウザに表示されるメールアドレス
ServerAdmin webmaster@localhost
# ホームページのドキュメントルート
DocumentRoot /var/www/
# システム全体の設定開始。/ はシステムのルート
<Directory />
# サーバがこのディレクトリ内のシンボリックリンクをたどることを許可
Options FollowSymLinks
# .httpaccessファイルによる各種設定の変更を禁止する
AllowOverride None
# システム全体の設定終了
</Directory>
# ドキュメントルートの設定開始
<Directory /var/www/>
# index.htmlが存在しない場合、ファイル一覧を表示する
# サーバがこのディレクトリ内のシンボリックリンクをたどることを許可
# MultiViews機能が有効
Options Indexes FollowSymLinks MultiViews
# .httpaccessファイルによる各種設定の変更を禁止する
AllowOverride None
# allowをdenyの前に評価する
Order allow,deny
# 全てのホストからのアクセスを許可する
allow from all
# ドキュメントルートの設定終了
</Directory>
# /cgi-bin/ は /usr/lib/cgi-bin/ のエイリアス
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# /usr/lib/cgi-bin の設定開始
<Directory "/usr/lib/cgi-bin">
# .httpaccessファイルによる各種設定の変更を禁止
AllowOverride None
# CGIを有効にする/ultiViewsを無効にする/キュリティの強化
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# allowをdenyの前に評価する
Order allow,deny
# 全てのホストからのアクセスを許可する
Allow from all
# /usr/lib/cgi-bin の設定終了
</Directory>
# error.logファイルの指定
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# Logレベルをwarnに設定
LogLevel warn
# カスタムログを指定
# フォーマットは combined(apache2.confで定義) とする
CustomLog /var/log/apache2/access.log combined
# プロキシ群の中で、実際に仕事を行ったサーバをクライアントに知らせる
ServerSignature On
# /doc/ を /usr/share/doc/ の別名にする
Alias /doc/ "/usr/share/doc/"
# /usr/share/doc/ の設定開始
<Directory "/usr/share/doc/">
# index.htmlが存在しない場合、ファイル一覧を表示する
# MultiViews機能が有効
# サーバがこのディレクトリ内のシンボリックリンクをたどることを許可
Options Indexes MultiViews FollowSymLinks
# .httpaccessファイルによる各種設定の変更を禁止
AllowOverride None
# denyをallowの前に評価する
Order deny,allow
# 全てのホストからのアクセスを禁止する
Deny from all
# 127.0.0.0/255.0.0.0 ::1/128からのアクセスを許可する
Allow from 127.0.0.0/255.0.0.0 ::1/128
# /usr/share/doc/ の設定終了
</Directory>
# バーチャルホストの定義終了
</VirtualHost>
◆ ホスト名をログ収集できるように DNS ルックアップを有効にする
# nano /etc/apache2/apache2.conf
#HostnameLookups Off
HostnameLookups On
◆ クライアントが、ディレクトリ名の最後に「/」 を指定してディレクトリインデックスを要求する場合に探すリソースのリストを設定する
# nano /etc/apache2/mods-enabled/dir.conf
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
DirectoryIndex index.php index.cgi index.pl index.html index.xhtml index.htm
◆ 言語の優先順位を設定する
# nano /etc/apache2/mods-available/negotiation.conf
#LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
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
◆
○ モジュールの有効・無効化
# a2enmod モジュール名 ・・・モジュールの有効化
# a2dismod モジュール名 ・・・モジュールの無効化
○ サイトの有効・無効化
# a2ensite サイト名 ・・・サイトの有効化
# a2dissite サイト名 ・・・サイトの無効化
○ 再起動
設定を変更したら、設定を有効にするため再起動する
# /etc/init.d/apache2 restart
* Restarting web server apache2
[ OK ]