Apache2 proxy setup.

Om lan servers via internet te benaderen en daarbij niet te veel poorten te hoeven openen kun je Apache2 gebruiken als proxy server.

Voorbeeld salamanders:

Opslaan als salamanders.wasietsmet.nl.conf in /etc/apache2/sites-available.

<VirtualHost *:80>

    Servername salamanders.wasietsmet.nl

    ProxyRequests Off

    ProxyPreserveHost On

    <Location />
        ProxyPass "http://192.168.0.199/"
        ProxyPassReverse "http://192.168.0.199/"
    </Location>

    SetEnvIf Request_URI "^/api/getdevice" dontlog

    CustomLog "|/usr/bin/rotatelogs /var/www/salamanders.wasietsmet.nl/log/access%d-%m-%Y 86400" vhost_combined env=!dontlog
    ErrorLog "|/usr/bin/rotatelogs /var/www/salamanders.wasietsmet.nl/log/error%d-%m-%Y 86400"

</VirtualHost>

Nu alleen nog Apache2 op de hoogte stellen:

a2ensite salamanders*
service apache2 reload

En het werkt.

De links:

https://www.leaseweb.com/labs/2014/12/tutorial-apache-2-4-transparent-reverse-proxy/
https://www.howtoforge.com/setenvif_apache2
https://www.jamescoyle.net/how-to/116-simple-apache-reverse-proxy-example

NFS setup 2017

on the server:

/etc/exports

/media/storage 192.168.2.0/24(no_subtree_check,insecure,rw)
/media/movie 192.168.2.0/24(no_root_squash,rw,async,no_subtree_check)
/var/www 192.168.2.0/24(rw,no_subtree_check)

on pc clients:

/etc/fstab

192.168.2.2:/media/storage /media/storage nfs auto,rw,hard,intr 0 0
192.168.2.2:/var/www /mnt/www nfs auto,rw,hard,intr 0 0

on Enigma2 clients:

/etc/fstab

192.168.2.2:/media/movie /media/hdd/movie nfs rw,intr,nolock 0 0
192.168.2.2:/media/storage /media/storage nfs rw 0 0

Tutorial self-signed SSL op VirtualHosts.

Certificaat aanmaken:

mkdir /etc/ssl/wildcard.wasietsmet.nl
cd /etc/ssl/wildcard.wasietsmet.nl/
openssl genrsa 2048 > host.key
openssl req -new -x509 -nodes -sha1 -days 3650 -key host.key > host.cert

Gebruik bij de openssl optie 6 ‘Common Name’ *.wasietsmet.nl als domeinnaam.
Overige opties hoeven niet ingevuld te worden.

openssl x509 -noout -fingerprint -text < host.cert > host.info
cat host.cert host.key > host.pem
chmod 400 host.key host.pem

Continue reading

Redirect van HTTP naar HTTPS.

In de configuratie van de HTTP (poort 80) VirtualHost:

<VirtualHost *:80>
ServerName test.wasietsmet.nl
Redirect / https://test.wasietsmet.nl/

CustomLog "|/usr/bin/rotatelogs /var/www/test.wasietsmet.nl/logs/acces-%d-%$
ErrorLog "|/usr/bin/rotatelogs /var/www/test.wasietsmet.nl/logs/error-%d-%$

</VirtualHost>

Maak folder writeable in php.

#voeg de eigenaar toe aan de juiste groep
sudo usermod -a -G www-data USERNAME
#voor nieuwe folders:
sudo chgrp -R www-data /pad/dat/schrijfbaar/moet/zijn
sudo chmod -R g+w /pad/dat/schrijfbaar/moet/zijn

www-data is het standaard gebruikers account van de webserver in Ubuntu.
Dit kan een ander account zijn in andere linux versies.

Let op: werkt niet over NFS!

Mod_musicindex

De configuratie van apache2 voor muziek.wasietsmet.nl
Let op AllowOverride Indexes.
Met bv. AllowOverride None werkt het niet!

#/etc/apache2/sites-available/muziek.wasietsmet.nl.conf
<VirtualHost *:80>
    Servername muziek.wasietsmet.nl
    DocumentRoot /var/www/muziek.wasietsmet.nl/music

<Directory /var/www/muziek.wasietsmet.nl/music>
   Options             Indexes MultiViews FollowSymlinks
   AllowOverride       Indexes
   MusicIndex          On +Stream +Download +Search -Rss -Tarball
   MusicFields         title artist length filetype
   MusicPageTitle      muziek
   MusicDefaultCss     musicindex.css
   MusicDefaultDisplay HTML
   MusicIndexCache     file://tmp/musicindex
   MusicDirPerLine     3
#    MusicIceServer     [ice.domain.my]:8000
#    MusicCookieLife    300
</Directory>
</VirtualHost>