Vielen Dank an Juergen (juergensa) für die folgende Anleitung!
Â
SSL mit Redmine, Apache und Mercurial¶
SSL-Schlüssel¶
Generierung der notwendigen Schlüsseldateien
# make-ssl-cert generate-default-snakeoil
Â
Die generierten Dateien liegen unter
SSL-Schlüssel: /etc/ssl/private/ssl-cert-snakeoil.key SSL-Zertifikat: /etc/ssl/certs/ssl-cert-snakeoil.pem
Anmerkung
Der eben generierte Schlüssel ist nur für 1. Monat gültig. Wie das geändert werden kann, ist hier zu lesen
Apache¶
Im follgendem wird Apache so konfiguriert, dass alle Zugriffe auf redmine.sheevaplug.loc mittels SSL-Verschlusselung durchgeführt werden.
Es wird davon ausgegenagen, dass die Mercurial Repository Zugriffskontrolle mittels hgwebdir.cgi und Redmine User-Datenbank durchgeführt wird.
Konfig HTTP://redmine.sheevaplug.loc
Umlenken von http://redmine.sheevaplug.loc auf https://redmine.sheevaplug.loc
# nano /etc/apache2/sites-available/redmine.sheevaplug.loc
Â
<virtualhost *:80>
ServerName redmine.sheevaplug.loc
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}
</virtualhost>
Â
Konfig HTTPS://redmine.sheevaplug.loc_ssl
# nano /etc/apache2/sites-available/redmine.sheevaplug.loc_ssl
Â
<virtualhost *:443>
ServerName redmine.sheevaplug.loc
SSLEngine on
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
RewriteEngine on
DocumentRoot /var/www/redmine/public
<directory /var/www/redmine/public>
AllowOverride all
Options FollowSymLinks -MultiViews
</directory>
PerlLoadModule Apache::Redmine
ScriptAliasMatch ^/hg(.*) /var/share/hg/webdir/hgwebdir.cgi/$1
<Location /hg>
AuthType Basic
AuthName "Please use your Redmine user data:"
Require valid-user
#Redmine auth
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=redmine;host=localhost"
RedmineDbUser "DB_USER"
RedmineDbPass "DB_PASSWORD"
</Location>
</virtualhost>
ScriptAliasMatch Pfad, RedmineDbUser und RedmineDbPass an die eigenen Redmine Datenbankdaten anpassen
SSLCertificateKeyFile und SSLCertificateFile ggf. anpassen
Sites aktivieren und Apache neustarten.
# a2ensite redmine.sheevaplug.loc # a2ensite redmine.sheevaplug.loc_ssl # /etc/init.d/apache2 restart
Â
HG Push¶
Jetzt können auch Mercurial Repository per HTTPS gepusht werden. Die Repository-Datei .hg/hgrc benötigt also keinen push_ssl = False Eintrag mehr. Daher kann die Repository-Datei hgRepository_name/.hg/hgrc wie folgt aussehen:
[web] allow_push = * encoding = UTF-8





