mirror of
https://github.com/EDCD/EDDN.git
synced 2025-06-07 19:03:10 +03:00
docs/Running: Outline for using Apache
This commit is contained in:
parent
7684cec4d5
commit
096ccab9fb
97
contrib/apache-eddn.conf
Normal file
97
contrib/apache-eddn.conf
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
# vim: :filetype=apache
|
||||||
|
## dev.eddn.edcd.io
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerName dev.eddn.edcd.io
|
||||||
|
|
||||||
|
DocumentRoot //home/eddn/.local/share/eddn/dev
|
||||||
|
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/dev.eddn.edcd.io/error.log
|
||||||
|
# Possible values include: debug, info, notice, warn, error, crit,
|
||||||
|
# alert, emerg.
|
||||||
|
LogLevel warn
|
||||||
|
CustomLog ${APACHE_LOG_DIR}/dev.eddn.edcd.io/access.log combined
|
||||||
|
|
||||||
|
Redirect / https://dev.eddn.edcd.io/
|
||||||
|
RedirectMatch "/^(.*)$" "https://dev.eddn.edcd.io/$1"
|
||||||
|
|
||||||
|
# LetsEncrypt
|
||||||
|
Alias /.well-known/ /var/www/letsencrypt/.well-known/
|
||||||
|
<Directory /var/www/letsencrypt/.well-known/>
|
||||||
|
Options -Indexes
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Directory /home/eddn/.local/share/eddn/dev>
|
||||||
|
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
|
||||||
|
AllowOverride All
|
||||||
|
<Limit GET POST OPTIONS>
|
||||||
|
Require all granted
|
||||||
|
</Limit>
|
||||||
|
<LimitExcept GET POST OPTIONS>
|
||||||
|
Require all denied
|
||||||
|
</LimitExcept>
|
||||||
|
|
||||||
|
Include partials/default-directory.conf
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
</VirtualHost>
|
||||||
|
|
||||||
|
<IfModule mod_ssl.c>
|
||||||
|
<VirtualHost *:443>
|
||||||
|
SSLEngine On
|
||||||
|
SSLCertificateFile /etc/letsencrypt/live/dev.eddn.edcd.io/fullchain.pem
|
||||||
|
SSLCertificateKeyFile /etc/letsencrypt/live/dev.eddn.edcd.io/privkey.pem
|
||||||
|
|
||||||
|
ServerName dev.eddn.edcd.io
|
||||||
|
|
||||||
|
DocumentRoot /home/eddn/.local/share/eddn/dev/monitor
|
||||||
|
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/dev.eddn.edcd.io/error.log
|
||||||
|
# Possible values include: debug, info, notice, warn, error, crit,
|
||||||
|
# alert, emerg.
|
||||||
|
LogLevel warn
|
||||||
|
CustomLog ${APACHE_LOG_DIR}/dev.eddn.edcd.io/access.log combined
|
||||||
|
|
||||||
|
# LetsEncrypt
|
||||||
|
Alias /.well-known/ /var/www/letsencrypt/.well-known/
|
||||||
|
<Directory /var/www/letsencrypt/.well-known/>
|
||||||
|
Options -Indexes
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Directory /home/eddn/.local/share/eddn/dev>
|
||||||
|
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
|
||||||
|
AllowOverride All
|
||||||
|
<Limit GET POST OPTIONS>
|
||||||
|
Require all granted
|
||||||
|
</Limit>
|
||||||
|
<LimitExcept GET POST OPTIONS>
|
||||||
|
Require all denied
|
||||||
|
</LimitExcept>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
# Serve the schemas
|
||||||
|
Alias /schemas/ /home/eddn/.local/share/eddn/dev/schemas/
|
||||||
|
|
||||||
|
# netdata (performance info)
|
||||||
|
<IfModule mod_alias.c>
|
||||||
|
Redirect /netdata /netdata/
|
||||||
|
</IfModule>
|
||||||
|
<LocationMatch /netdata*>
|
||||||
|
SetOutputFilter DEFLATE
|
||||||
|
|
||||||
|
<Limit GET POST OPTIONS>
|
||||||
|
Require all granted
|
||||||
|
</Limit>
|
||||||
|
<LimitExcept GET POST OPTIONS>
|
||||||
|
Require all denied
|
||||||
|
</LimitExcept>
|
||||||
|
</LocationMatch>
|
||||||
|
<IfModule mod_proxy.c>
|
||||||
|
SSLProxyEngine On
|
||||||
|
SSLProxyVerify none
|
||||||
|
ProxyPreserveHost On
|
||||||
|
|
||||||
|
ProxyPass "/netdata/" "http://127.0.0.1:19999/"
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
</VirtualHost>
|
||||||
|
</IfModule>
|
@ -80,6 +80,28 @@ Ensure you have the module installed and active:
|
|||||||
a2enmod proxy
|
a2enmod proxy
|
||||||
|
|
||||||
#### Apache configuration
|
#### Apache configuration
|
||||||
|
There is an example VirtualHost configuration in
|
||||||
|
`contrib/apache-eddn.conf` which makes the following assumptions:
|
||||||
|
|
||||||
|
1. The usual Apache default configuration is in place elsewhere.
|
||||||
|
1. The hostname being used - `ServerName`.
|
||||||
|
1. The location of the monitor files - `DocumentRoot`.
|
||||||
|
1. The location of the schema files - `Alias /schemas/ ...`.
|
||||||
|
1. The location of the TLS certificate files - `SSLCertificateFile` and
|
||||||
|
`SSLCertificateKeyFile.
|
||||||
|
|
||||||
|
You should be able to:
|
||||||
|
|
||||||
|
1. Copy `contrib/apache-eddn.conf` into `/etc/apache/sites-available/`
|
||||||
|
*as an appropriate filename for the hostname you're using*.
|
||||||
|
1. Edit to suit the local situation/setup. **Remember to ensure the
|
||||||
|
configured log directory exists.**
|
||||||
|
1. Enable the site:
|
||||||
|
|
||||||
|
a2ensite <filename without trailing .conf>
|
||||||
|
apache2ctl configtest
|
||||||
|
# CHECK THE OUTPUT
|
||||||
|
apache2ctl graceful
|
||||||
|
|
||||||
### Reverse Proxy with nginx
|
### Reverse Proxy with nginx
|
||||||
If you don't yet have nginx installed then start with:
|
If you don't yet have nginx installed then start with:
|
||||||
@ -95,7 +117,7 @@ some assumptions:
|
|||||||
1. The location of the monitor files - `root` directive.
|
1. The location of the monitor files - `root` directive.
|
||||||
1. The location of the schema files - `location` directive.
|
1. The location of the schema files - `location` directive.
|
||||||
1. The location of the TLS certificate files - `ssl_certificate` and
|
1. The location of the TLS certificate files - `ssl_certificate` and
|
||||||
`ssl_certificate_key` directives.
|
`ssl_certificate_key` directives.
|
||||||
|
|
||||||
You should be able to:
|
You should be able to:
|
||||||
|
|
||||||
@ -107,24 +129,10 @@ You should be able to:
|
|||||||
ln -s /etc/nginx/sites-available/eddn
|
ln -s /etc/nginx/sites-available/eddn
|
||||||
systemctl restart nginx.service
|
systemctl restart nginx.service
|
||||||
|
|
||||||
If you're already using another web server, such as Apache, you'll need to
|
If you're already using another web server you'll need to
|
||||||
duplicate at least the use of a TLS certificate and the Reverse Proxying as
|
duplicate at least the use of a TLS certificate and the Reverse Proxying as
|
||||||
required.
|
required.
|
||||||
|
|
||||||
For Apache you would reverse proxy using something like the following in an
|
|
||||||
appropriate `<VirtualHost>` section:
|
|
||||||
|
|
||||||
<IfModule mod_proxy.c>
|
|
||||||
SSLProxyEngine On
|
|
||||||
SSLProxyVerify none
|
|
||||||
ProxyPreserveHost On
|
|
||||||
|
|
||||||
# Pass through 'gateway' upload URL to Debian VM
|
|
||||||
ProxyPass "/upload/" "https://EDDNHOST:8081/upload/"
|
|
||||||
# Pass through 'monitor' URLs to Debian VM
|
|
||||||
ProxyPass "/" "https://EDDNHOST/"
|
|
||||||
</IfModule>
|
|
||||||
|
|
||||||
## In the 'eddn' account
|
## In the 'eddn' account
|
||||||
|
|
||||||
### Set up a python virtual environment
|
### Set up a python virtual environment
|
||||||
|
Loading…
x
Reference in New Issue
Block a user