| Line 4: |
Line 4: |
| | /etc/apache2/sites-enabled (symbolic links to sites-available/*.conf files)<br /> | | /etc/apache2/sites-enabled (symbolic links to sites-available/*.conf files)<br /> |
| | | | |
| − | == Virtual Hosts == | + | ==Virtual Hosts== |
| | Apache allows to have multiple web sites on the same server. To do this go to sites-available and create a<br /> | | Apache allows to have multiple web sites on the same server. To do this go to sites-available and create a<br /> |
| | .conf file for each host you whant containing the following: | | .conf file for each host you whant containing the following: |
| Line 30: |
Line 30: |
| | Basic SSL VirtualHost: | | Basic SSL VirtualHost: |
| | <nowiki><VirtualHost *:80> | | <nowiki><VirtualHost *:80> |
| − | ServerName home.rra.lan
| + | ServerName home.rra.lan |
| − | ServerAdmin webmaster@rra.lan
| + | ServerAdmin webmaster@rra.lan |
| − | DocumentRoot /var/www/home.rra.lan
| + | DocumentRoot /var/www/home.rra.lan |
| − |
| + | |
| − | Redirect permanent / https://home.rra.lan
| + | Redirect permanent / https://home.rra.lan |
| − | ErrorLog ${APACHE_LOG_DIR}/error.log
| + | ErrorLog ${APACHE_LOG_DIR}/error.log |
| − | CustomLog ${APACHE_LOG_DIR}/access.log combined
| + | CustomLog ${APACHE_LOG_DIR}/access.log combined |
| − | </VirtualHost> | + | </VirtualHost> |
| − | <VirtualHost *:443> | + | <VirtualHost *:443> |
| − | ServerName home.rra.lan
| + | ServerName home.rra.lan |
| − | ServerAdmin webmaster@rra.lan
| + | ServerAdmin webmaster@rra.lan |
| − | DocumentRoot /var/www/home.rra.lan
| + | DocumentRoot /var/www/home.rra.lan |
| − | ErrorLog ${APACHE_LOG_DIR}/error.log
| + | ErrorLog ${APACHE_LOG_DIR}/error.log |
| − | CustomLog ${APACHE_LOG_DIR}/access.log combined
| + | CustomLog ${APACHE_LOG_DIR}/access.log combined |
| − |
| + | |
| − | SSLEngine on
| + | SSLEngine on |
| − | SSLCertificateKeyFile /etc/ssl/private/home.rra.lan.key
| + | SSLCertificateKeyFile /etc/ssl/private/home.rra.lan.key |
| − | SSLCertificateFile /etc/ssl/certs/home.rra.lan.crt
| + | SSLCertificateFile /etc/ssl/certs/home.rra.lan.crt |
| − | SSLCertificateChainFile /etc/ssl/certs/FreeIPA-CA.crt
| + | SSLCertificateChainFile /etc/ssl/certs/FreeIPA-CA.crt |
| − | </VirtualHost> | + | </VirtualHost> |
| − | </nowiki> | + | </nowiki> |
| | | | |
| − | == Redirect HTTP to HTTPS == | + | ==Redirect HTTP to HTTPS== |
| | sudo nano /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf | | sudo nano /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf |
| | <nowiki><VirtualHost *:80> | | <nowiki><VirtualHost *:80> |
| − | RewriteEngine on
| + | RewriteEngine on |
| − | RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
| + | RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] |
| − | </VirtualHost></nowiki> | + | </VirtualHost></nowiki> |
| | sudo ln -s /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf /etc/apache2/sites-enable/redirect_HTTP_to_HTTPS | | sudo ln -s /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf /etc/apache2/sites-enable/redirect_HTTP_to_HTTPS |
| − | == Authentication == | + | ==Authentication== |
| | | | |
| | Create user account with: | | Create user account with: |
| Line 66: |
Line 66: |
| | Protect with the directory directive: | | Protect with the directory directive: |
| | <nowiki><Directory "/usr/local/apache/htdocs/secret"> | | <nowiki><Directory "/usr/local/apache/htdocs/secret"> |
| − | AuthType Basic
| + | AuthType Basic |
| − | AuthName "Restricted Files"
| + | AuthName "Restricted Files" |
| − | # (Following line optional)
| + | # (Following line optional) |
| − | AuthBasicProvider file
| + | AuthBasicProvider file |
| − | AuthUserFile "/usr/local/apache/passwd/passwords"
| + | AuthUserFile "/usr/local/apache/passwd/passwords" |
| − | # Require user rbowen
| + | # Require user rbowen |
| − | Require valid-user
| + | Require valid-user |
| − | </Directory></nowiki> | + | </Directory></nowiki> |
| − | See more options at: https://httpd.apache.org/docs/2.4/es/howto/auth.html | + | |
| | + | == Reverse Proxy == |
| | + | <syntaxhighlight lang="bash"> |
| | + | a2enmod proxy proxy_http # HTTP |
| | + | a2enmod proxy proxy_ftp # FTP |
| | + | a2enmod proxy proxy_html # rewrite HTML links in proxy address space |
| | + | a2enmod proxy proxy_ajp # Tomcat |
| | + | a2enmod proxy |
| | + | a2enmod rewrite |
| | + | a2enmod deflate |
| | + | a2enmod headers |
| | + | a2enmod proxy_balancer |
| | + | a2enmod proxy_connect |
| | + | </syntaxhighlight> |
| | + | |
| | + | ==== VirtualHost ProxyPass ==== |
| | + | <syntaxhighlight lang="apache"> |
| | + | <VirtualHost *:*> |
| | + | ProxyPreserveHost On |
| | + | |
| | + | # Servers to proxy the connection, or; |
| | + | # List of application servers: |
| | + | # Usage: |
| | + | # ProxyPass / http://[IP Addr.]:[port]/ |
| | + | # ProxyPassReverse / http://[IP Addr.]:[port]/ |
| | + | # Example: |
| | + | ProxyPass / http://0.0.0.0:8080/ |
| | + | ProxyPassReverse / http://0.0.0.0:8080/ |
| | + | |
| | + | ServerName localhost |
| | + | </VirtualHost> |
| | + | </syntaxhighlight> |
| | + | |
| | + | |
| | + | See more options at: |
| | + | |
| | + | https://httpd.apache.org/docs/2.4/es/howto/auth.html |
| | + | |
| | + | https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension |
| | + | <br /> |