Apache2
- Apache2 - SSL Zertifikat mit Let´s encrypt für Webserver bereitstellen
- Apache2 - Webspace passwortgeschützt mit einzelner Ausnahme
- Apache2 – SSL erzwingen bzw. HTTP-Zugriffe umleiten
- Apache 2 - SVN
Apache2 - SSL Zertifikat mit Let´s encrypt für Webserver bereitstellen
- letsencrypt über die Paketverwaltung installieren:
#aptitude install letsencrypt
- Zertifikat generieren:
# certbot certonly --manual --rsa-key-size 4096
- Die Fragen beantworten und z.B. die Domain festlegen.
-
Verifikations-Datei auf dem Webserver anlegen:
-
Hinweis: Die kryptischen Bezeichner sind bei euch anders - ersetzt sie einfach.
-
mkdir /var/www/letsencrypt/.well-known/acme-challenge
cd /var/www/letsencrypt/.well-known/acme-challenge
echo -n N_aDTbuhynhvqhGaqs1OVHs1_Bl1A4Z9rHtFhFeV1cA.DGo-QeCJ79p7eoFfCvjK4Np9a_RsbbtjWteKY0QMl0I > N_aDTbuhhynhvqhGaqs1OVHs1_Bl1A4Z9rHtFhFeV1cA
-
- Dem Apache2 noch die neuen Zertifikate beibringen:
-
in eure config unter /etc/apache2/site-enabled/eureseite.conf folgende Zeilen unter HTTPS einfügen:
ssl_certificate /etc/letsencrypt/live/meinedomain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meinedomain.de/privkey.pem;
-
in eure config unter /etc/apache2/site-enabled/eureseite.conf folgende Zeilen unter HTTPS einfügen:
- Danach die Verzeichnisstruktur der Verifikations-Datei wieder löschen.
- Apache2 Server neustarten:
#/etc/init.d/apache2 restart
Fertig!
Quelle: https://serverfault.com/questions/750902/how-to-use-lets-encrypt-dns-challenge-validation
Apache2 - Webspace passwortgeschützt mit einzelner Ausnahme
Quelle: https://stackoverflow.com/questions/2641646/how-to-accomplish-authtype-none-in-apache-2-2
Quelle: https://gist.github.com/lokesh-webonise/5625636
Apache2 – SSL erzwingen bzw. HTTP-Zugriffe umleiten
Der eigentliche vhost
Hier würden auch directory-, Authentication-, und ähnliche Anweisungen erfolgen.
<VirtualHost 127.0.0.1:443>
ServerName localhost:443
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>
Das ist der „Dummy“-vhost
Dieser vhost dient dann nur noch dazu um eine Umleitung auf den oberen „443-vhost“ zu machen.
<VirtualHost localhost:80>
ServerName localhost
# Das folgende erzwingt SSL
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
Quelle: http://blog.rvi-media.de/linux/apache2-ssl-erzwingen-bzw-http-zugriffe-umleiten/
Apache 2 - SVN
SVN
SVN Installation
- Subversion installieren:
apt-get update
apt-get install subversion
Speicherort für Repositories anlegen
- Ordner erstellen wo alle Repositories gespeichert werden sollen
# mkdir /var/svn-repos/
- Rechte für Apache2 vergeben
chown www-data.www-data /var/svn-repos
SVN Repository erstellen
svnadmin create /var/svn-repos/repo123
Dateirechte für Apache2 für Repository vergeben
chown -R www-data:www-data /var/svn-repos/repo123
Apache 2 Vorbereitungen
Apache SVN Modul installieren
apt-get install libapache2-svn
Apache Module aktivieren
a2enmod dav
a2enmod dav_svn
a2enmod authz_svn
Benutzerverzeichnis anlegen
- nun legen wir für den Webzugriff unsere User an
Benutzerverzeichnis erstmalig anlegen mit der Option -c
Achtung! Bestehende Nutzer werden dabei überschrieben! Das ist zum Anlegen des Verzeichnisses, nicht eines neuen Users!
htpasswd -c /etc/apache2/dav_svn.passwd user1
- danach müsst ihr ein Passwort festlegen
Weitere Benutzer in das Benutzerverzeichnis anlegen
htpasswd /etc/apache2/dav_svn.passwd user2
- danach müsst ihr ebenfalls ein Passwort festlegen
Mit diesen Benutzern könnt ihr jetzt arbeiten und Zugriffe steuern.
Accessfile anlegen
- diese Datei beinhaltet die Regelungen welche User oder gruppe auf welche Repos oder Verzeichnisse zugreifen darf
- diese Datei unter /etc/apache2 speichern
- Beispiel: dav_svn.accessfile
# Definitions of groups with users from operating system
[groups]
admins = user1,user2
testusers = user2
# Definitions of repositories
[user1:/]
user1 = rw
user2 = r
[user2:/]
user1 = r
user2 = rw
[test:/]
@testusers = rw
Apache2 Konfiguration
Nun müsst ihr eine sog. VHOST Konfiguration anlegen und euren Ordner angeben, den wir am Anfang angelegt haben. In unserem Beispiel also /var/svn-repos
.
Hier eine Beispiel Konfiguration:
<Location /svn>
DAV svn
SVNParentPath /var/svn-repos
SVNListParentPath On
AuthType Basic
AuthName "SVN Authorization Realm"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
AuthzSVNAccessFile /etc/apache2/dav_svn.accessfile
</Location>
Fertig!
Danach nochmal den Apache2 neustarten /etc/init.d/apache2 restart
und ihr könnt euer SVN bequem für eure Teams einrichten ohne auf eurem Linuxsystem Unmengen an Usern anlegen zu müssen.