JAPAN APACHE USERS GROUP
日本語公式ページ
http://www.apache.jp/
Index Page for Apache
日本語訳ページ
http://japache.infoscience.co.jp/
20080303_Apacheのインストール
20090308_homeフォルダ配下でコンテンツを扱う方法
20090608_重要なフォルダ、ファイル
20090609_認証の必要なフォルダを作成してみる
20090610_ファイル一覧を表示させないようにするには
Apacheがすでにインストールされているかどうかを知るには
Ubuntuの場合は、/ete/init.d/ 配下に apache〜があるかどうかで判断できる。
ターミナルから以下のコマンドでインストールできる
$sudo -s
#apt-get install apache2
以下のメッセージが表示された場合…
E: ロック /var/lib/dpkg/lock が取得できませんでした
同時に、他でパッケージマネージャが開いている可能性がある。
開いていたら、閉じた後、再度試みてみよroot@a50:/# apt-get install apache2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
ipamonafont libestraier8 libqdbm14 opfc-modulehp-ipamonafont-source opfc-modulehp
これらを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1
提案パッケージ:
apache2-doc
以下のパッケージが新たにインストールされます:
apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1
アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。
1356kB のアーカイブを取得する必要があります。
この操作後に追加で 4878kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com hardy/main libapr1 1.2.11-1 [115kB]
取得:2 http://jp.archive.ubuntu.com hardy/main libaprutil1 1.2.12+dfsg-3 [70.0kB]
取得:3 http://jp.archive.ubuntu.com hardy-updates/main apache2-utils 2.2.8-1ubuntu0.3 [139kB]
取得:4 http://jp.archive.ubuntu.com hardy-updates/main apache2.2-common 2.2.8-1ubuntu0.3 [754kB]
取得:5 http://jp.archive.ubuntu.com hardy-updates/main apache2-mpm-worker 2.2.8-1ubuntu0.3 [234kB]
取得:6 http://jp.archive.ubuntu.com hardy-updates/main apache2 2.2.8-1ubuntu0.3 [44.6kB]
1356kB を 2s で取得しました (537kB/s)
未選択パッケージ libapr1 を選択しています。
(データベースを読み込んでいます ... 現在 135050 個のファイルとディレクトリがインストールされています。)
(.../libapr1_1.2.11-1_i386.deb から) libapr1 を展開しています...
未選択パッケージ libaprutil1 を選択しています。
(.../libaprutil1_1.2.12+dfsg-3_i386.deb から) libaprutil1 を展開しています...
未選択パッケージ apache2-utils を選択しています。
(.../apache2-utils_2.2.8-1ubuntu0.3_i386.deb から) apache2-utils を展開しています...
未選択パッケージ apache2.2-common を選択しています。
(.../apache2.2-common_2.2.8-1ubuntu0.3_i386.deb から) apache2.2-common を展開しています...
未選択パッケージ apache2-mpm-worker を選択しています。
(.../apache2-mpm-worker_2.2.8-1ubuntu0.3_i386.deb から) apache2-mpm-worker を展開しています...
未選択パッケージ apache2 を選択しています。
(.../apache2_2.2.8-1ubuntu0.3_all.deb から) apache2 を展開しています...
libapr1 (1.2.11-1) を設定しています ...
libaprutil1 (1.2.12+dfsg-3) を設定しています ...
apache2-utils (2.2.8-1ubuntu0.3) を設定しています ...
apache2.2-common (2.2.8-1ubuntu0.3) を設定しています ...
Module alias installed; run /etc/init.d/apache2 force-reload to enable.
Module autoindex installed; run /etc/init.d/apache2 force-reload to enable.
Module dir installed; run /etc/init.d/apache2 force-reload to enable.
Module env installed; run /etc/init.d/apache2 force-reload to enable.
Module mime installed; run /etc/init.d/apache2 force-reload to enable.
Module negotiation installed; run /etc/init.d/apache2 force-reload to enable.
Module setenvif installed; run /etc/init.d/apache2 force-reload to enable.
Module status installed; run /etc/init.d/apache2 force-reload to enable.
Module auth_basic installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_default installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_user installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_groupfile installed; run /etc/init.d/apache2 force-reload to enable.
Module authn_file installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_host installed; run /etc/init.d/apache2 force-reload to enable.
apache2-mpm-worker (2.2.8-1ubuntu0.3) を設定しています ...
* Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
...done.
apache2 (2.2.8-1ubuntu0.3) を設定しています ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
root@a50:/#正しくインストールされたら、
- /etc/init.d/apache2 が生成されている
- /var/www/index.html が生成されている
- ブラウザから、http://localhost で 初期画面が表示される
Apache2のドキュメントルートの標準位置は、var/www/配下である。
var/wwwはrootが所有者になっており、何かと不自由である。
/home配下で運用する方法について
以下のコマンドを実行
sudo -s
#/usr/sbin/a2enmod userdir
設定内容をリロードすれば、有効になる
#/etc/init.d/apache2 force-reload
ユーザーIDをhogehogeとすると…
/home/hogehoge 配下に、 public_html フォルダを作成
/home/hogehoge/public_html がDocumentRootになる。
/home/hogehoge/public_html/index.html は
http://HostName/~hogehomge/ で表示される事になる。
/home/user/hogehoge/public_html および、
その配下のフォルダには 755を設定しておくこと
その配下のファイルには 744を設定しておくこと
ルート権限で行う事
/etc/init.d/apache2 start 開始
/etc/init.d/apache2 stop 停止
/etc/init.d/apache2 restart 再起動
/etc/init.d/apache2 reload 設定ファイルの読み直し
/etc/apache2/apache2.conf 設定ファイル
Apacheのユーザー認証
Digest認証を採用しても、暗号化されるのは、パスワードだけ。webコンテンツはクリアテキストで流れる。内容を保護したい場合は、httpsなどを用いる必要がある。
Digest認証
Digest認証のモジュールが設定されているかどうかを確認する
/etc/apache2/mods-enabled フォルダに、シンボリックリンク auth_digest.load が存在していれば、使用可能状態である。
存在していない時は、mods-available から シンボリックリンクをはるln -s /etc/apache2/mods-available/auth_digest.load /etc/apache2/mods-enabled
アクセス制限をかけるフォルダを作成
〜/www/aaa とする
Apacheの設定ファイル(/etc/apache2/apache2.conf)に以下の設定を追加する。末尾で可
<Directory "/var/www/aaa"> AuthType Digest AuthName "private area" AuthUserFile /etc/apache2/htdigest Require user hoge </Directory>
Directory /var/www/aaa 制限をかけるフォルダ AuthType Digest ダイジェスト認証を指定する AuthName "private area" 制限エリアにニックネーム(realm)パスワードファイルを指定する AuthUserFile /etc/apache2/htdigest パスワードファイルを指定する Require user hoge 参照させるユーザを指定する Require valid-user と、指定すると、パスワードファイルに書かれているユーザ全員が許可される事になる
パスワードファイルを作成
htdigest -c /etc/apache2/htdigest "private area" hoge-c をつけるのは、最初にパスワードの生成をする時だけ。
パスワードファイルにパスワードを追加する時は、不要。パスワードファイルからユーザーを削除するときは、パスワードファイルをviなどで開いて、該当の行を削除する。
apacheの再起動を行う
/etc/init.d/apache2 restart
以下のように、ニックネームと共に アクセス制限がかかる
このようなファイル一覧を表示できないようにするには
/etc/apache2/sites-enabled/000-default
上記ファイルは、 /etc/apache2/sites-available/default のエイリアスでもある
<Directory /var/www/> Options -Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
マイナスをつけて、OFFにする
これはメモ
http://a50 とやってみたら、
/var/www 配下の index.html がとりあえず表示された
設定ファイルは、以下のにある
/etc/apache2
apache2.conf ←httpd.confの代わりにこれが読まれる。
ports.conf ←ポート設定
sites-available/ ←仮想ホストの設定はここにファイルを作る
mods-available/ ←モジュールの設定はここにファイルを作る
conf.d/ ←細かい設定はここにファイルを作る
設定を書き直したら、
/etc/init.d/apache2 force-reload
で設定を読みなおす
で、実際、a50に対して、変更を試みた
/etc/apache2/sites-available/default を変更してみた