LoginSignup
27
23

More than 5 years have passed since last update.

apache 2.4系のwebsocketが通るまでの構築手順

Last updated at Posted at 2015-02-16

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

動いた!

スクリーンショット 2015-02-13 10.38.14.png

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も通りました。

27
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
23