| 導入編 | |
| FreeBSDルーター編 | |
| ローカルDNSサーバー | |
| フレッツADSLで固定IP | |
| ドメイン取得とDNS運用 | |
| メールサーバー | |
| >>> | Webサーバー |
| 30 Aug 2011 | 若干追記。 |
| 29 Aug 2011 | 新規作成。 |
※ほとんど覚え書き。
WebサーバーとしてApache HTTP Serverを入れてみる。 といっても、基本は
$ ./configure $ make # make install
だけ。ただ、後々のことを考えると、
$ ./configure -enable-so
くらいはしておいた方がいい、かもしれない。
放っておくと/usr/local/apache2以下にインストールされる。
設定ファイルが/usr/local/apache2/confに、ログが/usr/local/apache2/logsになる。
個人的に、設定ファイルは/usr/local/etc/apache2に、ログは/var/log/apache2に実体ができて欲しい。
設定ファイルが/usr/local/etc以下にまとまっていると設定ファイルをバックアップするのが楽なのと、/varはパーティションを分けてあるから(ログ書いてる途中にシステムがトンでも、/と/usrは助かる可能性が高い)。
なので、設定ファイルとログの実体を/usr/local/etc/apache2と/var/log/apache2に移して、/usr/local/apache2からシンボリックリンクを張るようにしている。
./configure --sysconfdir=/usr/local/etc/apache2とかやってもいいんだけどね、調べるのが面倒くさい・・・。
実は./configureすると、config.niceというファイルができる。
中を見るとシェルスクリプトになっていて、configureした際のコマンドラインが書いてあって、後ろに$@が書いてある。
だから、./config.nice --hogeとすると、最初にconfigureしたオプションに--hogeが追加されてconfigureされる。
で、config.niceにも--hogeが追加されるので、さらにオプションを追加していくこともできる。
最初に./configure --enable-soとしてあれば、例えばmod_headersを後から組み込みたければ、
$ ./config.nice --enable-headers $ make # make install
でよい。
これはマイナーバージョンアップのときにも使える。
新しいバージョンのソースツリーを展開したら、古いソースツリーにあるconfig.niceを新しいソースツリーにコピーして使えばよい。
new$ cp ../old/config.nice . new$ ./config.nice new$ make new# make install
オプションを削除したい場合はconfig.niceを編集すればよい。
[ユーザーディレクトリ]
http://www.example.jp/~user/でアクセスするアレ。
~込みのURLでいいならばUserDirディレクティブを使えばよいが、~が気に入らない場合はAliasディレクティブを使ったほうがよい。
その方がURLも自由になるし、複数のディレクトリをひとりのユーザーに割り当てることもできる。
Webサイトを運用しないユーザーの分はAliasを書かなければいい。
なお、UserDirディレクティブのデフォルトは、2.0系では~userというURLを~user/public_htmlにマップするようになっていたが、2.2系になってdisabledとして扱われるようになった。
なので、2.2系で~userの形のURLを使いたい場合は明示的にUserDirを書く必要がある。
[隠したいファイル]
.htaccessがその筆頭。
多分サンプルにAccessFileNameディレクティブが書いてあると思う。
それに加え、cvsでサイトをアップデートする場合はCVSディレクトリも隠したいので、
<Directory ~ "/CVS/">
Order allow,deny
Deny from all
AllowOverride None
</Directory>
などとしておく。
UserDirやAliasで指定したディレクトリに公開するファイルを置く。 ひとつひとつ手作業でFTPやscpしてもいいが、 sambaでフォルダごとコピーしてもいいし、FTPで変更のあったファイルだけを更新するようなクライアントも公開されている。 このあたりはプロバイダのレンタルWebスペースとほとんど同じ。
HTMLファイルのバージョン管理を行っている場合、エクスポートやチェックアウトを使う、という手もある。
チェックアウトした場合、手元でHTMLファイルを変更したら、それをチェックインしてサーバー側でアップデートすればサイトの更新が終わる。
さらに改行コードの変換まで勝手にやってくれるというおまけ付き。
この場合、CVSならCVSディレクトリを、Subversionなら.subversionディレクトリを<Directory>で見えないようにしておくといい。
バージョン管理システムというと最近はSubversionが主流だが、Subversionは作業ディレクトリにリポジトリのコピーを置こうとするので、この用途にはCVSの方が向いている。
Copyright (C) 2011 You SUZUKI
$Id: httpd.htm,v 1.8 2011/09/23 13:37:15 you Exp $