戻る


JAPAN APACHE USERS GROUP
日本語公式ページ
http://www.apache.jp/

Index Page for Apache
日本語訳ページ
http://japache.infoscience.co.jp/


20080303_Apacheのインストール
20090308_homeフォルダ配下でコンテンツを扱う方法
20090608_重要なフォルダ、ファイル
20090609_認証の必要なフォルダを作成してみる
20090610_ファイル一覧を表示させないようにするには


20080303 Apacheのインストール

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:/#

正しくインストールされたら、


20090308 homeフォルダ配下でコンテンツを扱う方法

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を設定しておくこと


20090608 重要なフォルダ、ファイル

ルート権限で行う事

/etc/init.d/apache2 start    開始

/etc/init.d/apache2 stop    停止

/etc/init.d/apache2 restart    再起動

/etc/init.d/apache2 reload    設定ファイルの読み直し

/etc/apache2/apache2.conf    設定ファイル


20090609 認証の必要なフォルダを作成してみる

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

以下のように、ニックネームと共に アクセス制限がかかる


20090610 ファイル一覧を表示させないようにするには

このようなファイル一覧を表示できないようにするには

/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 を変更してみた

 


戻る