ユーザ用ツール

サイト用ツール


ubuntu-server-14-04:apache-ssl

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
ubuntu-server-14-04:apache-ssl [2015/01/07 14:14] – [apacheのSSLを有効にする] adminubuntu-server-14-04:apache-ssl [2015/01/07 22:43] (現在) – 削除 admin
行 1: 行 1:
-====== Apache2 でWebサーバ ====== 
- 
- 
-Apache2 で Web サーバを構築する。セキュリティを考慮してとりあえず、HTTP 標準の 80 ポートは使用せず、SSL を使用して 443 "以外" のポートで通信を行うようにする。 
-===== 環境 ===== 
- 
-==== インストール前の環境 ==== 
- 
-  * Ubuntu 14.04.1 LTS 64bit 
- 
-^ パッケージ名 ^ バージョン ^ 
-| apache2 | 2.4.7-1ubuntu4.1 | 
-| mysql-server | 5.5.40-0ubuntu0.14.04.1 | 
-| libapache2-mod-php5 | 5.5.9+dfsg-1ubuntu4.5 | 
- 
-Apache2、MySQL、PHP は Ubuntu をインストールした際に、ついでにインストール済み。 
- 
- 
-==== インストールするパッケージ等 ==== 
- 
- 
- 
- 
-===== インストール ===== 
- 
-インストールしていない場合は apt-get でインストール。 
- 
-<code> 
-$ sudo apt-get install apache2 
-</code> 
- 
-ufw で 80 ポートへのアクセスを許可する。 
- 
-<code> 
-$ sudo ufw allow 80/tcp 
-</code> 
- 
- 
-インストールしてサーバにブラウザでアクセスすると、とりあえず It works! は表示される。 
- 
- 
-===== apache2 ディレクトリ内のファイル ===== 
- 
-/etc/apache2 ディレクトリ内のファイル 
- 
-  * apache2.conf: メイン設定ファイル。グローバル設定を記述する。 
-  * conf-available: 設定ファイルを格納するディレクトリ。以前は "conf.d" という名前だったが変更された。 
-  * conf-enabled: /etc/apache2/conf-available に格納されている設定ファイルへのシンボリックリンクを格納する。このディレクトリに格納されたシンボリックリンクに対応する設定ファイルが次回の Apache2 起動時に読み込まれる。 
-  * envvars: Apache2 で使用する環境変数を記述する。 
-  * mods-available: モジュールとモジュールの設定ファイルを格納するディレクトリ。ただし、すべてのモジュールが、設定ファイルが必要な訳ではない。 
-  * mods-enabled: /etc/apache2/mods-available に格納されているモジュールへのシンボリックリンクを格納する。このディレクトリに格納されたシンボリックリンクに対応するモジュールが次回の Apache2 の起動時に有効化される。 
-  * ports.conf: Apache2が接続を受け入れるポートの設定。 
-  * sites-available: このディレクトリにはApache2のバーチャルホストの設定ファイルを格納する。 
-  * sites-enabled: /etc/apache2/sites-available に格納されている設定ファイルへのシンボリックリンクを格納する。このディレクトリに格納されたシンボリックリンクに対応するバーチャルホストが次回の Apache2 の起動時に有効化される。 
-  * magic: MIME タイプの認識方法を設定するファイル。 
- 
- 
-===== サイトの設定 ===== 
- 
-インストール時点でデフォルトのサイトが有効かされている。 
- 
-このサイトの設定ファイルをコピーして新しいサイトの設定ファイルを作成する。 
- 
-<code> 
-$ cd /etc/apache2/sites-available/ 
-$ sudo cp ./000-default.conf ./mynewsite.conf 
-$ sudo vi ./mynewsite.conf 
-</code> 
- 
-  * ServerAdmin: サーバ管理者のメールアドレスを設定する。 
-  * DocumentRoot: サーバが読み込むドキュメント(HTML PHP 等)のフォルダを設定する。 
- 
-以下のディレクティブを <VirtualHost> 〜 </VirtualHost> の間に追記する。 
- 
-your.domain.com に対する要求に応答するように設定。また、www.your.domain.com 等の頭に他のホスト名が付加されても応答するようにする。 
- 
-  * ServerName your.domain.com 
-  * ServerAlias *.your.domain.com 
- 
- 
- 
-デフォルトで有効になっていたサイトを無効化し、新規に作成したサイトを有効化する。 
- 
-<code> 
-$ sudo a2dissite 000-default 
-$ sudo a2ensite mynewsite 
-</code> 
- 
-設定ファイルの構文に間違いがないかをチェック 
- 
-<code> 
-$ sudo apache2ctl configtest 
-</code> 
- 
-Apache2 を再起動して設定を反映する。 
- 
-<code> 
-$ sudo service apache2 restart 
-</code> 
- 
-ブラウザでアクセスして、ページが表示されるか確認する。 
- 
- 
-===== apacheのSSLを有効にする ===== 
- 
-初期状態で有効になっていたが、念のため SSL モジュールの有効化する。 
- 
-<code> 
-$ sudo a2enmod ssl 
-</code> 
- 
-/etc/apache2/sites-available/ に default-ssl が生成あるので、コピーして編集する。 
- 
- 
-<code> 
-$ cd /etc/apache2/sites-available/ 
-$ sudo cp ./default-ssl.conf ./mynewsite-ssl.conf 
-$ sudo vi ./mynewsite-ssl.conf 
-</code> 
- 
-SSL接続を使用するサーバの設定を行う。 
- 
-  * <VirtualHost _default_:443>: アクセスするポートを変更する場合は数字を変更 
-  * ServerAdmin: 管理者のメールアドレスに変更 
-  * DocumentRoot: Apache2 のドキュメントルートを任意のパスに変更 
- 
-応答するアドレスの設定を追加する。 
- 
-  * ServerName your.domain.com 
-  * ServerAlias *.your.domain.com 
- 
-鍵のパスを実際のパスに変える。 
- 
-  * SSLCertificateFile    /etc/ssl/certs/server.crt 
-  * SSLCertificateKeyFile /etc/ssl/private/server.key 
- 
- 
-アクセスするポートを変更した場合は、/etc/apache2/ports.conf でポート番号を変更する。 
-<code> 
-$ sudo vi /etc/apache2/ports.conf 
-</code> 
- 
-  * Listen 443: 番号を任意のポート番号に変更 
- 
- 
-コマンドで default-ssl を有効にする。 
-<code> 
-$ sudo a2ensite mynewsite-ssl 
-</code> 
- 
- 
-設定に間違いがないかをチェック。 
-<code> 
-$ sudo apache2ctl configtest 
-</code> 
- 
-Apache2 を再起動して設定を反映する。 
- 
-<code> 
-$ sudo service apache2 restart 
-</code> 
- 
- 
-ブラウザからアクセスできるかをチェックする。 
- 
- 
-===== WevDavの設定 ===== 
- 
- 
-Apache2 の WebDav モジュールを有効にする。 
- 
-<code> 
-$ sudo a2enmod dav_fs 
-</code> 
- 
- 
-Webdavで使用するディレクトリを作成。所有者は www-data:www-data にする。 
-<code> 
-$ sudo mkdir -p /var/www/webdav 
-$ sudo chown www-data:www-data /var/www/webdav 
-</code> 
- 
-/etc/apache2/default か default-sslに WebDav フォルダの設定を追加する。 
- 
-<code> 
-<IfModule mod_dav_fs.c> 
-        Alias /dav "/var/www/webdav" 
-        <Location /dav> 
-                DAV on 
-                Options Indexes 
-                Order deny,allow 
-                AuthType Basic 
-                AuthName "Webdav" 
-                AuthUserFile /etc/apache2/dav.passwd 
-                Require valid-user 
-        </Location> 
-</IfModule> 
-</code> 
- 
-認証用のパスワードファイルを作成する。 
- 
- 
-<code> 
-$ cd /etc/apache2/ 
-$ sudo htpasswd -c ./dav.passwd hoge  ← 最初の一人のときだけ 
-New password: 
-Re-type new password: 
-Adding password for user hoge 
-</code> 
- 
--c オプションは新しくファイルを作成してしまうので、2人目以降は 
-<code> 
-$ sudo htpasswd ./dav.passwd hoge 
-</code> 
-で追加する。 
- 
-パスワードファイルのパーミッションを変更。 
-<code> 
-$ sudo chown www-data:www-data ./dav.passwd 
-$ sudo chmod 600 ./dav.passwd 
-</code> 
- 
-Apache2 を再起動。 
- 
-<code> 
-$ sudo /etc/init.d/apache2 restart 
-</code> 
- 
-ブラウザから http://your.domain.com/dav にアクセスしてチェック。 
- 
- 
-===== 文字化け対策 ===== 
- 
-以前は文字化け対策で mod-encoding をインストールしていた気がするけれど、文字化けの現象が現れないのでとりあえず放置。 
- 
-===== 参考 ===== 
- 
-[[https://help.ubuntu.com/10.04/serverguide/C/httpd.html|Ubuntu公式マニュアル]] 
- 
- 
  
ubuntu-server-14-04/apache-ssl.1420607692.txt.gz · 最終更新: 2015/01/07 14:14 by admin