You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.6 KiB
ReStructuredText

Configuring apache as a proxy
=============================
11 years ago
**Prerequisites to making this work:**
11 years ago
Apache 2.4.x
What if I'm on 2.2.x (Debian/Ubuntu)?
------------------------------------
11 years ago
you need to manually compile and add the module "mod_proxy_wstunnel" to the Apache 2.2 branch. If you're running Ubuntu or Debian, you're likely on the 2.2 branch of code.
The following guide will assist with that if you're on Debian or Ubuntu. This is what I used to backport the mod_proxy_wstunnel module to the 2.2 code base of Apache;
http://www.amoss.me.uk/2013/06/apache-2-2-websocket-proxying-ubuntu-mod_proxy_wstunnel/
NOTE: On ubuntu, if youre missing the ./configure file
------------------------------------
You need to first run ./buildconf. After this is complete, you will then be able to use ./configure.
11 years ago
**automake & libtool package was needed too.**
11 years ago
.. code::
apt-get install automake libtool
Enable the necessary modules
-----------------------------
11 years ago
1. sudo a2enmod proxy
2. sudo a2enmod proxy_http
11 years ago
3. sudo a2enmod proxy_wstunnel
Add the config to Apache
-----------------------------
11 years ago
The next step is adding the configuration to your virtualhost.conf file, typically located in /etc/apache2/sites-available/. The below configuration assumes you've used 4567 (default) port for NobeBB installation. It also assumes you have the bind address set to 127.0.0.1.
.. code::
11 years ago
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /socket.io/1/websocket ws://127.0.0.1:4567/socket.io/1/websocket
ProxyPassReverse /socket.io/1/websocket ws://127.0.0.1:4567/socket.io/1/websocket
ProxyPass /socket.io/ http://127.0.0.1:4567/socket.io/
ProxyPassReverse /socket.io/ http://127.0.0.1:4567/socket.io/
ProxyPass / http://127.0.0.1:4567/
ProxyPassReverse / http://127.0.0.1:4567/
The last thing you need to be sure of is that the config.json in the NodeBB folder has use_port: false. Otherwise some functionality will not work properly.
Example nodebb/config.json
-----------------------------
.. code:: json
11 years ago
{
"base_url": "http://www.yoursite.com",
"port": "4567",
"use_port": false,
"secret": "55sb254c-62e3-4e23-9407-8655147562763",
"bind_address": "127.0.0.1",
"database": "redis",
"redis": {
"host": "127.0.0.1",
"port": "6379",
"password": "",
"database": "0"
},
"bcrypt_rounds": 12,
"upload_path": "/public/uploads",
"relative_path": ""
}
**Change the domain and dont use the secret in the example above.**