私のページのインストール方法を使用しても、
Cygwin パッケージの Apache1 はインストールされません。
Apache1 をつかうには Cygwin 本体以外に
以下のパッケージをインストールしておく必要があるので確認してください。
必要なら、別途モジュール類もインストールしましょう。
普通の人は追加モジュールはいらないと思いますので、
「何でも入れとけ」って人以外は apache だけでいいと思います。
インストールは Cygwin 標準の setup.exe から実施してください。
最近はセキュリティがはやっていて知っている人は、
「配布されてるパッケージってバージョンが低いよ!
脆弱性があるバージョンじゃん!!」
とお思いでしょうが、Cygwin のドキュメントでは、
「Cygwin パッケージは脆弱性の対処済み」とのことで、大丈夫なはずです。
いうまでもなく、設定しない限り望みどおりにサーバが動くことはありません。
まずはやりたいことを整理しましょう。
やりたいことが決まったらそれにあわせた設定にしましょう。
そして、それ以上の権限を与えないようにしましょう。
最近はセキュリティがはやっているので知っていると思いますが、
何でも許可すればいいってものではありません。
最初に Apache1 が動作するのを確認したら、
そのあとはマニュアルや Web、書籍を参照しながら
/etc/apache/httpd.conf の設定をいじっていくことになります。
設定の詰め方は各自の努力次第です。
ただ、ひとつの参考として、私が用いていた (今は使ってません)
httpd.conf
を例示します。
おすすめの参考URLは以下のとおりです
日本 Apache ユーザ会
Afternoon Apache
[ZDNet]-[Linux Tips]-[Apache]
ロボット対策
Apache1 を使う際に、「サービスを起動できない」という問題がまれにあります。
この場合はほぼ間違いなく owner / group 及び パーミッションの設定ミスです。
以下のように設定されていることが望ましいと思います。
(以下のものは標準の設定より、より現実的なパーミッションです)
/var の内容(抜粋)
drwxrwxr-x+ 5 SYSTEM admins 4096 Feb 1 16:38 log/
drwxrwxr-x+ 2 SYSTEM admins 0 Feb 1 16:40 run/
/var/log の内容(抜粋)
drwxrwxr-x+ 2 SYSTEM admins 0 Dec 31 00:30 apache/
'ls -l' で表示される属性の一番右に "+" がついているのは
owner / group / other の rwx で表示できる以外のアクセス権が
ついていることを示していて、大雑把にいうと
NTFS 上のアクセス権設定で SYSTEM アカウントに
アクセス権 (フルコントロール) がついているということです。
ですので、まずは上記の二つのディレクトリ配下に相当する
Windows 上のフォルダに対して、NTFS で SYSTEM ユーザに
フルコントロールのアクセス権を設定します。
その後、chown chmod で上記のようなアクセス権設定としましょう。
おそらく以上で起動できるようになると思います。
SYSTEM ユーザ (LocalSystemアカウント) にアクセス権をつけるとき
手作業 (GUI) でアクセス権処理をするのが面倒なら、
以下の方法もよいと思います。(私はこれぐらいは GUI でやりますけどね・・・)
- 実行ファイル xcacls_setup.exe を取得します。
- xcacls_setup.exe を実行して、本体の xcacls をインストールします。
- 標準では C:\Program Files\Resource Kit\xcacls.exe
としてインストールされるので、そのファイルをフルパスをもちいて、
以下のように実行します。
- ファイル PATH については適宜読み替えた上で、
コマンドプロンプトから 以下のように実行しましょう。
C:\> "C:\Program Files\Resource Kit\xcacls.exe" c:\cygwin /C /T /E /P SYSTEM:F;F /Y
- プロンプトが帰ってくれば終了です。