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

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

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

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

コメントを追加

Plain text

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