dreamedge.net

Digest認証の設定

2009-01-03T04:02:00+0000

Digest認証のpassword設定ファイルは,htdigestコマンドを用いて作成する.realmの設定があるのが,Basic認証と違うところ.

$ htdigest -c /tmp/digest.key "realm_name" user_name

次にa2enmodコマンドで,digest認証モジュールを有効にする.

# a2enmod auth_digest
# /etc/init.d/apache2 restart

.htaccessに書くDigest認証の設定は以下の通り.

AuthType Digest
AuthName "realm_name"
AuthDigestFile /tmp/digest.key
Require user user_name

Basic認証のやりかたは”[ .htaccessでのアクセス制限の仕方]”(http://www.dreamedge.net/2008/6/17/51)を参照のこと.

このエントリーをはてなブックマークに追加
Bookmark this on Delicious

Apache2 & WebDAV & SSL with Ubuntu 8.0.4

2009-01-01T11:53:00+0000

1. パッケージをインストールして,sslの認証情報を作成する

# apt-get install apache2 ssl
# sudo mkdir /etc/apache2/ssl
# sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

2. sslモジュールを有効にする

# a2enmod dav dav_fs dav_lock ssl

3. ssl用のsite設定を行う

ssl用設定のひな型が/usr/shareにあるので,まずそれをコピーして/etc/apache2/site-available/に置く.

# cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz /etc/apache2/site-available/
# gzip -d /etc/apache2/site-available/httpd-ssl.conf.gz
# mv /etc/apache2/site-available/httpd-ssl.conf /etc/apache2/site-available/ssl

VirtualHostやServerName,CertificateKeyFile等の設定を修正する.

--- /etc/apache2/site-available/httpd-ssl.conf 2009-01-01 21:01:18.000000000 +0900
+++ /etc/apache2/site-available/ssl 2008-10-14 20:36:26.000000000 +0900
@@ -34,7 +34,7 @@
 # Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
 #       Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
 #
-Listen 443
+#Listen 443

 ##
 ##  SSL Global Context
@@ -71,12 +71,13 @@ SSLMutex  "file:/var/run/apache2/ssl_mut
 ## SSL Virtual Host Context
 ##

-<VirtualHost _default_:443>
+NameVirtualHost *:443
+<VirtualHost *:443>

 #   General setup for the virtual host
-DocumentRoot "/usr/share/apache2/default-site/htdocs"
-ServerName www.example.com:443
-ServerAdmin you@example.com
+DocumentRoot "/var/ssl"
+#ServerName www.example.com:443
+#ServerAdmin you@example.com
 ErrorLog "/var/log/apache2/error_log"
 TransferLog "/var/log/apache2/access_log"

@@ -96,7 +97,7 @@ SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RS
 #   in mind that if you have both an RSA and a DSA certificate you
 #   can configure both in parallel (to also allow the use of DSA
 #   ciphers, etc.)
-SSLCertificateFile "/etc/apache2/server.crt"
+SSLCertificateFile "/etc/apache2/ssl/apache.pem"
 #SSLCertificateFile "/etc/apache2/server-dsa.crt"

 #   Server Private Key:
@@ -104,7 +105,7 @@ SSLCertificateFile "/etc/apache2/server.
 #   directive to point at the key file.  Keep in mind that if
 #   you've both a RSA and a DSA private key you can configure
 #   both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile "/etc/apache2/server.key"
+SSLCertificateKeyFile "/etc/apache2/ssl/apache.pem"
 #SSLCertificateKeyFile "/etc/apache2/server-dsa.key"

 #   Server Certificate Chain:
@@ -228,4 +229,10 @@ BrowserMatch ".*MSIE.*" \
 CustomLog "/var/log/apache2/ssl_request_log" \
           "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

+DavLockDB /var/lock/apache2/DavLock
+Alias /dav "/var/dav"
+<Location /dav>
+    Dav On
+</Location>
+
 </VirtualHost>

4. 公開するdavのディレクトリを設定する

まずはディレクトリを

mkdir /var/dav
htpasswd /var/www/.htpasswd user-name
touch /var/dav/.htaccess

/var/dav/.htaccessを設定する

AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Input password"
AuthType Basic
require valid-user
このエントリーをはてなブックマークに追加
Bookmark this on Delicious

Apache2 with SSL @ Debian etch

2008-06-17T03:56:00+0000

ここここを参考にして設定したときの記録.

1. opensslのインストール

# apt-get install openssl

2. opensslの設定
/etc/ssl/openssl.cnfの

  • [usr_cert]セクションのnsCertType=serverのコメントアウトを外す
  • [v3_ca]セクションのnsCertType=sslCA,emailCAのコメントアウトを外す

3. sslの証明書作成

# cd /usr/lib/ssl/misc/

//証明書の作成
# ./CA.sh -newca

//パスフレーズが鬱陶しいので消す
# openssl rsa -in ./demoCA/private/cakey.pem -out ./demoCA/private/cakey.pem

//証明書の作成
# openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/cacert.crt

//ブラウザにインポートするderファイル作成
# openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der

4. 証明書をApache2に登録

# mkdir /etc/apache2/ssl
# cp /usr/lib/ssl/misc/demoCA/cacert.crt /etc/apache2/ssl
# mkdir /etc/apache2/ssl/private
# cp /usr/lib/ssl/misc/demoCA/private/cakey.pem /etc/apache2/ssl/private/

5. Apache2側の設定
SSLのVirtualHost設定をコピー

# cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz /etc/apache2/site-available/ssl.gz
# gzip -d /etc/apache2/site-available/ssl.gz

/etc/apache2/site-avalable/defaultの頭の部分を以下のように変更.

NameVirtualHost *:80
<VirtualHost *:80>

/etc/apache2/site-avalable/sslを以下のように変更.

<VirtualHost *:443>
DocumentRoot "hoge"
ServerName hoge:443
ServerAdmin hoge@localhost
ErrorLog /var/log/apache2/error_log.ssl
TransferLog /var/log/apache2/access_log.ssl

SSLCertificateFile /etc/apache2/ssl/cacert.crt
SSLCertificateKeyFile /etc/apache2/ssl/private/cakey.pem

6. mod, siteを有効に

# a2enmod ssl
# a2ensite ssl
# /etc/init.d/apache2 restart
このエントリーをはてなブックマークに追加
Bookmark this on Delicious

errorページの設定

2008-06-17T03:54:00+0000

デフォルトのエラーページはバージョンが出るので困りもの.
といってもエラーページを自作するのも(そこにネタを仕込むのが)面倒.

以下の内容を/etc/apache2/conf.d/error.confとして作っておけば,素っ気ないエラーコードが出る.(コピペで可,か?)

ErrorDocument 400 "400 error"
ErrorDocument 401 "401 error"
ErrorDocument 403 "403 error"
ErrorDocument 404 "404 error"
ErrorDocument 405 "405 error"
ErrorDocument 408 "408 error"
ErrorDocument 410 "410 error"
ErrorDocument 411 "411 error"
ErrorDocument 412 "412 error"
ErrorDocument 413 "413 error"
ErrorDocument 414 "414 error"
ErrorDocument 415 "415 error"
ErrorDocument 500 "500 error"
ErrorDocument 501 "501 error"
ErrorDocument 502 "502 error"
ErrorDocument 503 "503 error"
ErrorDocument 506 "506 error"
このエントリーをはてなブックマークに追加
Bookmark this on Delicious

.htaccessでのアクセス制限の仕方

2008-06-17T03:53:00+0000
$ htpasswd -c file_path user_name

として,.htpasswdを作成する.一般的には~/.htpasswdといった感じに作成すると思う.

その後,.htaccessに,

AuthName        hoge
AuthType        Basic
AuthUserFile    file_path
Require         valid-user

と書いておけばOK.
一部のホストからは認証なしにみたいなら,

Satisfy any
order deny,allow
deny from all
allow from host_name

としておけばいいでしょう.

このエントリーをはてなブックマークに追加
Bookmark this on Delicious