apacheの最新版インストール
### リポジトリ追加
$ sudo yum erase httpd
### pcreをインストール
$ sudo yum install pcre pcre-devel
$ cd /tmp
### aprインストール。これがないと、httpdインストール時に下記エラーが出る。
### configure: error: APR not found. Please read the documentation.
$ wget http://ftp.tsukuba.wide.ad.jp/software/apache//apr/apr-1.5.1.tar.gz
$ tar zxvf apr-1.5.1
### apr-utilのインストール。同様
$ wget http://ftp.kddilabs.jp/infosystems/apache//apr/apr-util-1.5.4.tar.gz
$ tar zxvf apr-util-1.5.4.tar.gz
### httpdインストール
$ wget http://ftp.riken.jp/net/apache//httpd/httpd-2.4.12.tar.gz
$ tar zxvf httpd-2.4.12.tar.gz
### 移動した後も、apr apr-utilと名前を変えないとインストール出来ないというね。。
$ sudo cp -Rp apr-1.5.1 httpd-2.4.12/srclib/apr
$ sudo cp -Rp apr-util-1.5.4 httpd-2.4.12/srclib/apr-util
$ cd httpd-2.4.12
### 2.4からはデフォルトではevent_mpmです。今まで通りpreforkを使いたい場合は、--with-mpm=preforkを付けてください
$ sudo ./configure --enable-rewrite --enable-so --enable-ssl --with-mpm=prefork --with-included-apr
$ sudo make
$ sudo make install
### /usr/local/apache2/にインストールされます
### ServerNameを決めて、起動します
$ vim /usr/local/apache2/conf/httpd.conf
-#ServerName www.example.com:80
+ServerName www.example.com:80
$ sudo /usr/local/apache2/bin/apachectl configtest
Syntax OK
### 起動
$ sudo /usr/local/apache2/bin/apachectl start
#websocketが通るように設定する
### websocketが通すようにする
$ vim /usr/local/apache2/conf/httpd.conf
-#LoadModule proxy_module modules/mod_proxy.so
-#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
-#LoadModule proxy_http_module modules/mod_proxy_http.so
-#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
+LoadModule proxy_module modules/mod_proxy.so
+LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
+LoadModule proxy_http_module modules/mod_proxy_http.so
+LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
-#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
+LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
### 今回はrailsでwebsocketを使った簡易アプリを10.29.7.5に建てました。
### そこに通す設定です。
+ProxyPass / ws://10.29.7.5:3000/
+ProxyPassReverse / ws://10.29.7.5:3000/
### テスト
$ sudo /usr/local/apache2/bin/apachectl configtest
Syntax OK
### 再起動
$ sudo /usr/local/apache2/bin/apachectl restart
#アクセスできた!
websocketも通りました。