Apacheでウェブサーバ

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

やっぱりサーバ立てたらWebサーバ立てないとということで、
Apacheを使っていろいろと遊ぶます。

6年ぶりのメジャーリリースの2.4系がでましたな。
いろいろ試してみようと思いますが、モジュールがががが

サーバーを置き換えてからhttpdはrpmにしたのでほんにゃらかんにゃらですぜ

2.4ではNameVirtualHostが亡くなったため2.2系からそのままコンフィグを持ってくると
エラーが出ます。
コメントアウトなりをしておきましょう

とりあえずr->connection->remote_ipr->connection->client_ipにすると動くのがほとんどぽい?
まぁしばらくは様子見ですかな。

本来は使うべきモジュールを選定して、いらないモジュールは
使わないようにするのが一番ですが、
今回は実験をいろいろしようと考えてみているため、結構モジュール入れてみるます。
subversionとWevDAVで利用するのでDAVとかのモジュールも追加するます。

HP: http://httpd.apache.org/

インストール

cd /usr/local/src wget http://ftp.jaist.ac.jp/pub/apache/httpd/httpd-2.4.12.tar.bz2 tar jxvf httpd-2.4.12.tar.bz2 cd httpd-2.4.12 ./configure \ --prefix=/usr/local/apache2 \ --enable-modules=all \ --enable-mods-shared=all \ --with-suexec-userdir=public_html \ --with-suexec-docroot=/home \ --with-suexec-caller=apache \ --with-suexec-uidmin=400 \ --with-suexec-gidmin=400 \ --with-dbm=db44 \ --with-berkeley-db=/usr/local/BerkeleyDB \ --with-pcre=/usr \ --enable-so \ --enable-suexec \ --enable-proxy \ --enable-proxy-connect \ --enable-proxy-ftp \ --enable-proxy-http \ --enable-proxy-scgi \ --enable-proxy-ajp \ --enable-proxy-balancer \ --with-apr=/usr/bin/apr-1-config \ --with-apr-util=/usr/bin/apu-1-config \ --enable-pie \ --with-pcre \ --enable-socache-dc \ --enable-bucketeer \ --enable-case-filter \ --enable-case-filter-in \ --disable-imagemap \ --with-libxml2 \ --with-z \ --with-lua=/usr \ --with-ssl=/usr/local/ssl \ --enable-mpms-shared=all make make install

Apache2.4からはevent MPMが実験的導入からはずれたようで、
新し物好きのこの鯖ではeventを利用してます。

さて脱線しましたが、次に起動ファイルをちょこっといじります。
というのも、Apacheの起動・停止を繰り返しているとなんか圧迫されて
次のようなエラーがでて起動できなくなってしまうのです。
今のバージョンだとなおってるのかな?

[error] (28)デバイスに空き領域がありません: Cannot create SSLMutex

うちの場合はこんなのでしたが、
ほかにもいろいろと出てくるかもしれません。

/etc/init.d/httpd

start() { SEM=`ipcs -s | grep apache | wc -l` if [ $SEM -gt "1" ] then ipcs -s | grep apache | perl -e 'while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}' fi `rm -f /usr/local/apache2/logs/cgisock*` echo -n $"Starting $prog: "

start()の下にあるSEM=~~って部分が追加したものです。
起動(再起動)時にセマフォ配列にあるapacheのものを全部消してから、
起動するって感じです。(ぶっちゃけよくわかってない)
なお、apache以外のユーザで起動している場合は「grep apache」の部分の
apacheを該当するユーザに置き換えるとうまーです。

でもFedora18だとsystemd経由で直接httpd起動させてるっぽいから
このエラー出たらどうすんだろうねぇ。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.