====== Apache2 でWebサーバ ====== ===== インストール ===== apt-get でインストール。 $ sudo apt-get install apache2 インストールしてサーバにブラウザでアクセスすると、とりあえず It work! は表示される ===== apache2 ディレクトリ内のファイル ===== /etc/apache2 ディレクトリ内のファイル * apache2.conf: メイン設定ファイル * conf.d: Apache2全体に適用される設定が記述されているファイルが格納されるディレクトリ * envvars: Apache2の環境変数 * httpd.conf: 以前使用されていた設定ファイルの名前。Apach2全体に適用される設定を記述する。 * mods-available: このディレクトリにはモジュールとモジュールの設定ファイルが格納されている。すべてのモジュールが専用の設定ファイルを必要とするわけではない。 * mods-enabled: このディレクトリに /etc/apache2/mods-available に格納されているモジュールへのシンボリックリンクを置くと、そのモジュールがロードされるようになる。 * ports.conf: Apache2が接続を受け入れるポートの設定 * sites-available: このディレクトリにはApache2のバーチャルホストの設定ファイルを格納する。 * sites-enabled: このディレクトリに /etc/apache2/sites-available に格納されているモジュールへのシンボリックリンクを置くと、そのバーチャルホストが有効になる。 ===== apacheのSSLを有効にする ===== SSLモジュールの有効化 $ sudo a2enmod ssl /etc/apache2/sites-available/ に default-ssl が生成される。 コマンドで default-ssl を有効にすると、/etc/apache2/sites-enabled/ にシンボリックリンクが張られる。 $ sudo a2ensite default-ssl $ ls -l /etc/apache2/sites-enabled/ total 0 lrwxrwxrwx 1 root root 26 2010-10-29 10:47 000-default -> ../sites-available/default lrwxrwxrwx 1 root root 30 2010-10-29 12:41 default-ssl -> ../sites-available/default-ssl SSL接続を使用するサーバの設定を行う。 $ sudo vi /etc/apache2/sites-available/default-ssl * : アクセスするポートを変更する場合は数字を変更 * ServerAdmin: 管理者のメールアドレスに変更 * DocumentRoot: Apache2 のドキュメントルートを任意のパスに変更 鍵のパスを実際のパスに変える。[[ubuntu-server-10-04:postfix#smtp_authentication|Postfixで設置した鍵]]を使用。 * SSLCertificateFile /etc/ssl/certs/server.crt * SSLCertificateKeyFile /etc/ssl/private/server.key アクセスするポートを変更した場合は、/etc/apache2/ports.conf でポート番号を変更する。 $ sudo vi /etc/apache2/ports.conf * Listen 443: 番号を任意のポート番号に変更 設定に間違いがないかをチェック。 $ sudo apache2ctl configtest こんな警告が、、、 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName どうやら $ hostname --fqdn とした時に、グローバルからアクセス可能なホスト名が出てこないのが原因らしい。 /etc/hosts を編集する。 $ sudo vi /etc/hosts 127.0.1.1 hostname こんな行があるはずなので、 127.0.1.1 your.domain.com hostname グローバルからアクセスできるホスト名を、172.0.1.1に対応する最初のホスト名として記述する。 apache再起動する。 $ sudo /etc/init.d/apache2 restart ブラウザからアクセスできるかをチェックする。 ===== WevDavの設定 ===== Apache2 の WebDav モジュールを有効にする。 $ sudo a2enmod dav_fs Webdavで使用するディレクトリを作成。所有者は www-data:www-data にする。 $ sudo mkdir -p /var/www/webdav $ sudo chown www-data:www-data /var/www/webdav /etc/apache2/default か default-sslに WebDav フォルダの設定を追加する。 Alias /dav "/var/www/webdav" DAV on Options Indexes Order deny,allow AuthType Basic AuthName "Webdav" AuthUserFile /etc/apache2/dav.passwd Require valid-user 認証用のパスワードファイルを作成する。 $ cd /etc/apache2/ $ sudo htpasswd -c ./dav.passwd hoge ← 最初の一人のときだけ New password: Re-type new password: Adding password for user hoge -c オプションは新しくファイルを作成してしまうので、2人目以降は $ sudo htpasswd ./dav.passwd hoge で追加する。 パスワードファイルのパーミッションを変更。 $ sudo chown www-data:www-data ./dav.passwd $ sudo chmod 600 ./dav.passwd Apache2 を再起動。 $ sudo /etc/init.d/apache2 restart ブラウザから http://your.domain.com/dav にアクセスしてチェック。 ===== 文字化け対策 ===== 以前は文字化け対策で mod-encoding をインストールしていた気がするけれど、文字化けの現象が現れないのでとりあえず放置。 ===== 参考 ===== [[https://help.ubuntu.com/10.04/serverguide/C/httpd.html|Ubuntu公式マニュアル]]