Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,014)  
HandBrake Japanese Language Version  (2,964)  
CrystalDiskInfo  (1,714)  
Boookends  (1,269)  
CrystalDiskMark  (874)  
Tera Term  (825)  
CotEditor  (626)  
FFFTP  (593)  
えこでこツール  (532)  
10  ffdshow  (524)  
11  SMPlayer  (503)  
12  Cabos  (492)  
13  ギコナビ  (475)  
14  Rappelz Server  (471)  
15  MergeDoc  (457)  
More >>

最近ブックマークされた記事

FreeBSDでLAMPをセットアップする

2008年08月13日 10:02 Martin-Münch(2008年7月31日(木)) 1 2 3 4
 LAMPサーバのセットアップといえば、システム管理者によく回ってくる仕事だが、信頼性が高く安定したオペレーティングシステムとしてはLinux以外にもFreeBSDがある。つまり、LAMPのL(Linux)をF(FreeBSD)で置き換えても、高速で信頼性の高いWebサーバを構築できるわけだ。

 本稿では、FreeBSDがすでにインストールされているものとして話を進める。インストールが済んでいない場合は、FreeBSDの最新の安定稼働版をダウンロードしてインストーラを実行すればよい。インストール画面では、MINIMUMオプションの選択をお勧めする。そうすれば、最も基本的で必要なものだけを短時間でインストールできる。

 FreeBSDにアプリケーションをインストールするには、portsファイルを使う。portsファイルは、コンピュータ上でソフトウェアをコンパイルするためのソースコードをどこからダウンロードすればよいかが記されたプレーンテキストファイルである。このファイルで設定(特定のモジュールの追加/除外)を自由に変更することで、インストールするマシンの仕様にぴったり合ったソフトウェアが得られる。まずは、最新のportsファイルを用意する。これまで一度もportsファイルをインストールしたことがなければ「portsnap fetch extract」を、それ以外の場合は「portsnap fetch update」をシェルで実行する。これで最新のportsファイルがダウンロードされる。ダウンロードされたファイル名を示す一連のメッセージ表示が終了したら、次のステップに進むとしよう。

Apache

 続いて、WebサーバそのものであるApacheのコンパイルとインストールを、以下に示すコマンド列によって行う。適切なディレクトリに移り(最初のコマンド)、2番目のコマンドを実行すると設定画面が表示され、ここで設定の内容を変更できる。IPv6サポートやproxyモジュールを有効にしてもよいが、通常は標準設定のままでも問題はない。設定内容の確認を済ませると、Apacheのコンパイルとインストールが自動的に行われる。最後の3行は、オペレーティングシステムの起動時にApacheと必要なモジュールを自動で立ち上げるためのものだ。

cd /usr/ports/www/apache22/
make config install distclean
echo 'apache2_enable="YES"' >> /etc/rc.conf
echo 'apache2ssl_enable="YES"' >> /etc/rc.conf
echo 'accf_http_ready="YES"' >> /etc/rc.conf && kldload accf_http

 Apacheのインストールが無事に済んだら、サーバとしての設定を行う必要がある。まず、SSLサポートを有効にし、証明書ファイルと鍵ファイルを作成する。SSL鍵ファイルは、パスワードの変更と証明書の復元を行うための秘密ファイルである。SSL証明書ファイルは、訪問者側のWebブラウザに対して利用しているサーバが不正なものではないことを保証する証明書の役割を果たす。デフォルトでは、SSL証明書ファイルが「/usr/local/etc/apache22/server.crt」、SSL鍵ファイルが「/usr/local/etc/apache22/server.key」になっている。これらの設定は「/usr/local/etc/apache22/extra/httpd-ssl.conf」ファイル中でそれぞれ「SSLCertificateFile」と「SSLCertificateKeyFile」という文字列を検索することによって確認と変更ができる。Apacheのバージョン2以降では、メインの設定ファイルの内容が「/usr/local/etc/apache22/extra/」内のいくつかの追加ファイルに分割されている。この変更のおかげで、特定のオプションが見つけやすくなり、メイン設定ファイルのサイズも小さくなった。メイン設定ファイルで見つからないオプションについては、追加ファイルをあたればよい。

 続いて、適切なディレクトリに移って鍵ファイルを生成する。この鍵を使うことで、証明書署名要求(CSR:Certificate-Signing Request)を生成できる。これは、鍵の署名を認証局(CA:Certificate Authority)に依頼するためのものだ。VeriSignのような認証機関に依頼する以外に、自己署名を行うこともできる。専門の機関から署名を受けるには費用がかかるが、そうした証明書を持つWebサーバは訪問者側としても安心して利用できる。自己署名された証明書の場合は、そのサイトの訪問者のブラウザに警告が表示されるが、コストは一切かからない。以下に、SSL証明書に自己署名するためのコードを示す。

cd /usr/local/etc/apache22/
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
chmod 0400 server.key server.crt

 これで鍵ファイルと証明書ファイルの生成が適切なパーミッションとディレクトリの下で行われる。とはいえ、設定の必要な箇所がいくつかある。まず「/usr/local/etc/apache22/httpd.conf」ファイルでは、「ServerAdmin」を検索してサーバ管理者の電子メールアドレスを正しく設定する。また、Webドキュメントの置かれている場所を示す「DocumentRoot」には、サーバ上の「/srv/www/01」を指定する。さらに、各ユーザの個人的なWebコンテンツを非公開にするために、「Include etc/apache22/extra/httpd-userdir.conf」の行をコメントアウトしておく。最後に「Include etc/apache22/extra/httpd-ssl.conf」の行を有効にしてSSLのサポートをオンにする。続いて「/usr/local/etc/apache22/extra/httpd-default.conf」ファイルでは「ServerSignature」を無効にしてサーバによる不必要な情報の表示を防ぐ。また「/usr/local/etc/apache22/extra/httpd-info.conf」ファイルでも、「server-status」と「server-info」の各セクションをコメントアウトしておく。セキュリティ担当者としては、Webサーバに関する情報はできるだけ隠しておくほうが好都合だからだ。

 また、「usr/local/etc/apache22/extra/httpd-vhosts.conf」ファイルには、このサーバへのすべてのSSL接続用のディレクトリを設定しておく。なお、この例ではサーバ名が「lawrencium」になっているが、この部分は適宜変更すること。

NameVirtualHost *:443
<VirtualHost *:443>
ServerName lawrencium
ServerAlias lawrencium.ipc.net
DocumentRoot /srv/www/02/
<Directory /src/www/02/>
Order allow,deny
Allow from all
</Directory>
SSLEngine On
SSLCertificateFile /usr/local/etc/apache22/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/etc/apache22/ssl.key/server.key
AllowOverride None
Order Deny, Allow
</VirtualHost>

 これで、80番ポートへのすべての接続と、443番ポートへのすべての接続に対してディレクトリが1つずつ(「/srv/www/01」と「/srv/www/02」)用意される。

最終更新:2009年11月26日 20:02