apache2

Hiki on mod_rubyがあまりにも速いのでapache2が必須と なってしまった。他のものもさっさと移行して、 apache2に一本化してしまいたい。

セクションの編集

tDiary

tDiaryはhttpd.confの追加だけで問題無さそう。

Alias /hdiary "/home/httpd/tdiary"
<Directory "/home/httpd/tdiary">
  AllowOverride None
  Options +ExecCGI
  #AddHandler cgi-script .rb
  RubyRequire apache/ruby-run
  <Files *.rb>
    SetHandler ruby-object
    RubyHandler Apache::RubyRun.instance
  </Files>
  DirectoryIndex index.rb
  Order allow,deny
  Allow from all
 <Files update.rb>
    AuthName      tDiary
    AuthType      Basic
    AuthUserFile  /home/.htpasswd.md5
    Require user  xxx
 </Files>
</Directory>

namazuはcgiの場所の変更、

#ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
ScriptAlias /cgi-bin/ "/usr/lib/cgi-bin/"

例によってnamazuの検索結果が化けるので、DefaultCharsetをコメントアウト。

#AddDefaultCharset ISO-8859-1
セクションの編集

sqwebmail

cgiディレクトリの変更でsqwebmailも動くのではと思ったが、どうもダメっぽい。 どうやらSSLが動いてない模様。セットアップ済のはずなのだが... 調べてみると、443がlistenしてない。443ポートはssl.confで指定していて、 httpd.confがssl.confをincludeしている。試しにssl.conf全体を囲んでいる、

#<IfDefine SSL>

をコメントアウトしたら動くようになった。サーバ証明書も セットアップしてあったので、以前は動いていたはずなのだが... 意味わからんが、とりあえず動いたのでそれ以上追求せず。 これで一通り常用していたものはapache2に移行できているはず。

セクションの編集

logrotate

Debianオリジナルのサーバ類が吐くログはlogrotateで管理されている。 apacheには独自にrotatelogsというユーティリティがあるのだが、 logrotateの方が良さげ。

logrotateはcronからこのように起動するようにセットアップされていて、

root@obs# cat /etc/cron.daily/logrotate
#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf

対象となるログは、/etc/logrotate.d/に設定ファイルが置かれている。

root@obs# grep include /etc/logrotate.conf
include /etc/logrotate.d
root@obs# ls /etc/logrotate.d
apache  base-config  mysql-server  samba

既存のapache定義ファイルを真似て、apache2を作成。

root@obs# cat /etc/logrotate.d/apache2
/usr/local/apache2/logs/*log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                /etc/init.d/apache2 reload > /dev/null
        endscript
}
root@obs#   

ログの切り替には、"reload"が必要らしい。 そうでなくても rcファイルはあった方が便利なので、これもapacheをパクって作る。

--- /etc/init.d/apache  Sat Nov 13 04:16:52 2004
+++ /etc/init.d/apache2 Fri May 27 10:50:58 2005
@@ -3,13 +3,14 @@
 # apache       Start the apache HTTP server.
 #
 
-NAME=apache
+NAME=apache2
 PATH=/bin:/usr/bin:/sbin:/usr/sbin
-DAEMON=/usr/sbin/apache
+DAEMON=/usr/local/apache2/bin/httpd
 SUEXEC=/usr/lib/apache/suexec
-PIDFILE=/var/run/$NAME.pid
-CONF=/etc/apache/httpd.conf
-APACHECTL=/usr/sbin/apachectl 
+#PIDFILE=/var/run/$NAME.pid
+PIDFILE=/usr/local/apache2/logs/httpd.pid
+CONF=/usr/local/apache2/conf/httpd.conf
+APACHECTL=/usr/local/apache2/bin/apachectl 
 
 trap "" 1
 export LANG=C

root@obs# update-rc.d apache2 defaults
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "ja"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
 Adding system startup for /etc/init.d/apache2 ...
   /etc/rc0.d/K20apache2 -> ../init.d/apache2
   /etc/rc1.d/K20apache2 -> ../init.d/apache2
   /etc/rc6.d/K20apache2 -> ../init.d/apache2
   /etc/rc2.d/S20apache2 -> ../init.d/apache2
   /etc/rc3.d/S20apache2 -> ../init.d/apache2
   /etc/rc4.d/S20apache2 -> ../init.d/apache2
   /etc/rc5.d/S20apache2 -> ../init.d/apache2
root@obs#                                          
セクションの編集

access control

<Directory /home/httpd/hiki08/rto>
    <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY
        AuthType Basic
        AuthName "WebDAV Security"
        AuthUserFile  /home/.htpasswd.md5
        Require valid-user
    </Limit>
</Directory>

パスワードファイル新規作成

root@obs# /usr/local/apache2/bin/htpasswd -cm .htpasswd.md5 hao

ユーザ追加

root@obs# /usr/local/apache2/bin/htpasswd -m .htpasswd.md5 reiko

.htpasswd.md5はplain textなので、確認は直接

root@obs# cat .htpasswd.md5
セクションの編集

http://pegandgiff.dyndns.org/~ユーザ名/

httpd.confでUserDirが有効になっていることを確認

UserDir public_html

home directoryにpublic_htmlを作る

% mkdir ~/public_html

home directory、及びpublic_htmlにapacheの実行権限(x)が必要

% chmod 711 ~
% chmod 711 ~/public_html
Last modified: 2011-03-20 by Unknown