WEBサーバ
_ Apache2のインストール
$ sudo apt-get install apache2
_ 動作確認
Windowsのブラウザでhttp://192.168.0.100/を開いてエラーにならないかを確認する。デフォルトでは"It works!"と表示される。
_ 設定ファイルの説明
設定ファイルは/etc/apache2以下にある。
apach2.conf | メインの設定ファイル |
envvars | 環境変数を設定するファイル。apache2.confから呼ばれる。 |
mods-available | 利用可能なモジュールの一覧。xxx.confは設定ファイルで、xxx.loadは読み込むためのファイル。ここにあるファイルはapache2からは読み込まれない。 |
mods-enabled | apache2が読み込むモジュールの一覧、mods-availableにあるファイルへのシンボリックリンクをはって利用する。apache2.confから読み込まれる。 |
httpd.conf | 空のファイル。apache2.confから読み込まれる。 |
sites-available | 利用可能なサイト一覧。バーチャルホストで定義されている。 |
sites-enabled | apache2から読み込まれる。sites-available内のファイルへのシンボリックリンクをつくる。 |
_ ServerNameの設定
デフォルトだとApache2の起動時にドメイン名の警告が出るので、設定を変える。ServerNameはVirtualHostで設定するので.localをつけてしまう。
$ sudo vi /etc/apache2/httpd.conf
以下の行を追加
ServerName myhost.example.com.local
_ DDNSでつくったホスト名をApache2に登録する
ここでは/var/wwwをドキュメントを置くディレクトリにする。そのまえにデフォルトのサイトのディレクトリも/var/wwwとなっているのでこれを/var/www/defaultに移動する。
$ sudo mkdir /var/www/default $ sudo mv /var/www/index.html /var/www/default/
$ sudo vi /etc/apache2/sites-available/default
変更前
DocumentRoot /var/www/ ... <Directory /var/www/>
変更後
DocumentRoot /var/www/default/ ... <Directory /var/www/default/>
apache2をリスタートしてからWindowsでhttp://192.168.0.100/へアクセスしてエラーが出ないか確認する。
$ sudo /etc/init.d/apache2 restart
_ myhost.example.comをApache2に登録する
(myhost.example.comは取得したDDNS名に置き換えてください。)
_ ドキュメントのディレクトリを作成する。
$ sudo mkdir /var/www/myhost.example.com
_ 適当なドキュメントを作成する。
$ sudo vi /var/www/myhost.example.com/index.html
<html> <head> <title>myhost</title> </head> <body> myhost works. </body> </html>
_ サイトの設定ファイルを作成。
$ sudo vi /etc/apache2/sites-available/myhost.example.com
<VirtualHost *> ServerName myhost.example.com DocumentRoot /var/www/myhost.example.com ErrorLog /var/log/apache2/myhost.example.com-error.log LogLevel warn CustomLog /var/log/apache2/myhost.example.com-access.log combined </VirtualHost>
Interpidの場合は"<VirtualHost *>"の代わりに"<VirtualHost *:80>"とする。この行は/etc/apache2/sites-available/defaultを見て同じにすればいい。
_ このファイルを利用可能にする。
$ cd /etc/apache2/sites-enabled/ $ sudo ln -s ../sites-available/ubusrv.example.com
_ サーバを再起動する。
$ sudo /etc/init.d/apache2 restart
_ 一時的にhostsファイルを編集する
この状態でWindowsからhttp://myhost.example.comにアクセスしても、ネームサーバは192.168.0.100を返してくれないので、今つくったサイトにアクセスできない。そこで一時的にhostsファイルを編集する。
_ hostsファイルの編集
Windowsのテキストエディタで C:\WINDOWS\system32\drivers\etc\hostsを開き以下を追加。
192.168.0.100 myhost.example.com
apache2をリスタートしてからWindowsでhttp://myhost.example.com/へアクセスし上で作成した/var/www/myhost.example.com/index.htmlが表示されるかを確認する。
$ sudo /etc/init.d/apache2 restart
_ ログを見る方法
apache2がうまく動かなかったりcgiやPHPがうまく動かないときはログを見ることになる。tail -fを利用して動的にログを監視できる。
$ tail -f /var/log/apache2/*
この状態でブラウザなどでサーバにアクセスしてログへの追加を確認できる。
_ 外部からアクセスできるかを確認する
外部のプロキシサーバを利用できる場合は、それを利用すれば確認できる。あるいは外部から自分にアクセスしてくれるようなサービスを使えば確認できる。例えばhtml lintや翻訳のページなどで自分のページを指定すればいい。またtorを使ってアクセスもできる。