|
@@ -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
|
|
|
-```
|
|
|
-# sudo apt-get install -y gunicorn supervisor
|
|
|
-```
|
|
|
-Centos/RHEL
|
|
|
+!!! 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 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
|