diff --git a/docs/installation/web-server.md b/docs/installation/web-server.md index 3e914dd5d..559928888 100644 --- a/docs/installation/web-server.md +++ b/docs/installation/web-server.md @@ -2,30 +2,22 @@ We'll set up a simple WSGI front end using [gunicorn](http://gunicorn.org/) for the purposes of this guide. For web servers, we provide example configurations for both [nginx](https://www.nginx.com/resources/wiki/) and [Apache](http://httpd.apache.org/docs/2.4). (You are of course free to use whichever combination of HTTP and WSGI services you'd like.) We'll also use [supervisord](http://supervisord.org/) to enable service persistence. -Debian/Ubuntu +!!! info + Only Debian/Ubuntu instructions are provided here, but the installation process for CentOS/RHEL does not differ much. Please consult the documentation for those distributions for details. + ``` -# sudo apt-get install -y gunicorn supervisor -``` -Centos/RHEL -``` -# sudo yum install -y gunicorn supervisor +# apt-get install -y gunicorn supervisor ``` ## Option A: nginx The following will serve as a minimal nginx configuration. Be sure to modify your server name and installation path appropriately. -Debian/Ubuntu - ``` -# sudo apt-get install -y nginx -``` -Centos/RHEL -``` -# sudo yum install -y nginx +# apt-get install -y nginx ``` -Once nginx is installed, proceed with the following configuration: +Once nginx is installed, save the following configuration to `/etc/nginx/sites-available/netbox`. Be sure to replace `netbox.example.com` with the domain name or IP address of your installation. (This should match the value configured for `ALLOWED_HOSTS` in `configuration.py`.) ``` server { @@ -49,7 +41,7 @@ server { } ``` -Save this configuration to `/etc/nginx/sites-available/netbox`. Then, delete `/etc/nginx/sites-enabled/default` and create a symlink in the `sites-enabled` directory to the configuration file you just created. +Then, delete `/etc/nginx/sites-enabled/default` and create a symlink in the `sites-enabled` directory to the configuration file you just created. ``` # cd /etc/nginx/sites-enabled/ @@ -61,22 +53,14 @@ Restart the nginx service to use the new configuration. ``` # service nginx restart - * Restarting nginx nginx ``` To enable SSL, consider this guide on [securing nginx with Let's Encrypt](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04). ## Option B: Apache -Debian/Ubuntu - ``` -# sudo apt-get install -y apache2 -``` -Centos/RHEL - -``` -# sudo yum install -y httpd +# apt-get install -y apache2 ``` Once Apache is installed, proceed with the following configuration (Be sure to modify the `ServerName` appropriately): @@ -117,7 +101,7 @@ To enable SSL, consider this guide on [securing Apache with Let's Encrypt](https # gunicorn Installation -Save the following configuration file in the root netbox installation path (in this example, `/opt/netbox/`) as `gunicorn_config.py`. Be sure to verify the location of the gunicorn executable (e.g. `which gunicorn`) and to update the `pythonpath` variable if needed. If using centos/RHEL use the apache user instead of www-data. +Save the following configuration file in the root netbox installation path (in this example, `/opt/netbox/`) as `gunicorn_config.py`. Be sure to verify the location of the gunicorn executable (e.g. `which gunicorn`) and to update the `pythonpath` variable if needed. If using CentOS/RHEL change the username from `www-data` to `nginx` or `apache`. ``` command = '/usr/bin/gunicorn' @@ -127,7 +111,6 @@ workers = 3 user = 'www-data' ``` - # supervisord Installation Save the following as `/etc/supervisor/conf.d/netbox.conf`. Update the `command` and `directory` paths as needed. @@ -139,7 +122,7 @@ directory = /opt/netbox/netbox/ user = www-data ``` -Finally, restart the supervisor service to detect and run the gunicorn service: +Then, restart the supervisor service to detect and run the gunicorn service: ``` # service supervisor restart