VHCS
Inhaltsverzeichnis
VHCS
Lizenz
VHCS ist unter der Mozilla Public License 1.1 (MPL 1.1) Lizenziert.
Anmerkung
VHCS ist ein Verwaltungsoberfläche für dedizierte Webserver. Die Oberflächen sind in drei Funktionen unterteilt:
- Administration -> Konfiguration, Anlege von Resellern - Reseller -> Verwalten von Kunden, anlegen von Domains, - Kunden -> Verwalten der eigenen Domains und Emailkonten, Konfiguration des Webspace
VHCS original Text:
VHCS is a Professional Control Panel Software for shared, reseller, virtual and dedicated server management. VHCS was designed for professional Hosting Service Providers and IT-Professionals.
Version
Diese Doku bezieht sich auf folgende Softwarestände:
OS: Debian 4 (Etch) Applikation: Debian 4 (Etch) PHP, MySQL, Courier, Postfix usw VHCS: 2.7.4.1
Homepage des Projektes
VHCS Open source appliance for hostung business
Dokumentation von VHCS
Debian vorbereiten
/etc/apt/apt.conf
APT::Default-Release "stable"; APT::Cache-Limit 10000000; APT::Get::Purge; Acquire::Pdiffs "false";
/etc/apt/sources.list
# Debian Sources deb http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ etch main deb-src http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ etch main deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib
#added for ClamAV and Spamassassin by vhcs installation script made by Armadillo #deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
Installation mit Installations-Script vhcs.sh
Anleitung
Es wird von einem neu installierten Debian 4.0 Etch augegangen.
Unabhaänig davon, daß das Installationsscript alle benötigte Softwarepakete installiert,
installiere ich vorher MySql. Im Dialog kann dann gleich das Root-Passwort gesetzt werden.
Schritt 1
Installation von MySql
aptitude install mysql-server-5.0
Bitte bei der Installation gleich ein Root-Passwort vergeben.
Schritt 2
Mit dem Script vhcs.sh wird VHCS 2.7.4.1 automatisiert auf ein Debin 4.0 Etch installiert.
Ein sehr gutes Script das bei mir in mehreren Testinstalltionen keine Fehler erzeugt hat :-)
Installation TLS/SLL für SMTP, POP3 und IMAP
POP3 und Imap mit SSL
Im Fall von Courier POP3 und IMAP ist das easy. Einfach folgende Pakete installieren
aptitude install courier-pop-ssl courier-imap-ssl
Danach mit netstat prüfen, ob der Port 993(IMAP) und 995(POP3) verfügbar sind.
# netstat -an | egrep '(993|995)' tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
Das wars ;-)
Eigenes Zertifikat in Courier POP und IMAP einbinden
Wenn man für POP3 und IMAP ein eigenes, bzw ein Rootzertifikat benutzen will, muss dies in den
Diensten konfiguriert werden. Courier erzeugt sich bei der installation sein eigenes Zertifikat.
Hierzu wird die Konfiguration in den Dateien:
/etc/courier/imapd-ssl /etc/courier/popd-ssl
angepasst. Als Beispiel wir dass hier an der popd-ssl gezeigt.
Die Anpassungen sind in der imapd-ssl die selben, und es kann auch das selbe Zertifikat verwendet werden.
/etc/courier/popd-ssl TLS_CERTFILE=/[Pfad zum Zertifikat]/host.examble.com.crt.pem
Das Zertifikat muss noch angepasst werden, damit es von Courier verwendet werden kann.
In der Regel erhält man ein Zertifikatfile von der Zertifizierungsstelle. Diese und das Key-File wird
dann eingebunden. Courier erwartet diese Informationen aber in einem File.
cat host.examble.com.key > host.examble.com.crt.pem cat host.examble.com.crt >> host.examble.com.crt.pem
Danach sollte das Zertifikatsfile so aussehen:
-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDGfXwOGH2A3MBhpkp............... ... ... ..........................GSjJIYyCvfQ7UwGLL4rq -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIDhzCCAvCgAwIBAgIQOFjOQcpLDAZqQmIGvP0EZDANBgkqhkiG9w0BAQU..... ... ... .....GV3d9247Nw+w8qzyPYnGPKlszmY3JCzx1/uYMIhyuhTfgFPIum4Agw== -----END CERTIFICATE-----
Installation SMTP mit TLS/SSL
Hier wird es aufwendiger. Aber Schritt für Schritt auch lösbar ;-))
1) Eigene CA installieren
2) Server-Zertifikat erstellen
3) TLS/SSL für SMTP aktivieren
Der Eintrag wird bei Postfix in die Datei /etc/postfix/main.cf hinzugefügt.
Um später in der Konfiguration noch die Übersicht zu behlten, lege ich mir für die Sektionen
eigene Komentare an
# # TLS # # Schaltet TLS ein smtpd_use_tls = yes
# Hier das Serverzertifikat und der Zertifikatskey angegeben smtpd_tls_key_file = /etc/ssl/demoCA/certs/postfixkey.pem smtpd_tls_cert_file = /etc/ssl/demoCA/certs/postfixcert.pem
# Trägt in den Mailheader eine Hinweis auf TLS-Versand ein smtpd_tls_received_header = yes
# Performance tuning für TLS/SSL Session Cache smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_session_cache smtpd_tls_session_cache_timeoute = 7200s
# SMTP Auth auf TLS zwingen (Für private Nutzung sinnvoll, bei Kunden eher Problematisch, deshal auskommentiert) # smtpd_tls_auth_only = yes
!!!! Noch Zertifikat Stammseicher einrichen
Wichtig ist, wie in der SSL Dokumentation beschrieben, die Phassphrase aus dem Zertifikat
zu extrahieren, sonst muss bei jedem Neustart von Postfix das Passwort des Zertifikates angegeben werden.
Ansonsten läuft der Dienst nicht.
Amavis, ClamAv und Spamassassin installieren und aktivieren
Installation mit vhcs.sh
Wenn man das Script aufruft, kommt man nach ein paar Infos zu einem Menü.
Dort wählt man mit "m" die Installation von Amavis, Spamassassin aus.
Nach der installation müssen noch einige Änderungen vorgenommen werden, sonst wird Spam nicht erkannt
# vi /etc//etc/amavis/conf.d/05-domain_id den Eintag #@local_domains_acl = ( ".$mydomain" ); in @local_domains_acl = ( "." ); ändern
# vi /etc/amavis/conf.d/15-content_filter_mode muss so aussehen
#@bypass_virus_checks_maps = ( # \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); #@bypass_spam_checks_maps = ( # \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
Testen der Einstellungen
Testen kann man die Einstellungen wenn man sich mit telnet direkt mit dem Mailserver verbindet
# telnet www.maildomain.de 25 mail from:test@testmail.de # Diese Mailadresse kann beliebig gewählt werden rcpt to:mail@mydomain.de # Hier eine echte Mailadresse verwenden data X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* # VIRUS Signatur oder XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X # SPAM Signatur . # Punkt + Return quit
SPAM sollte nun im Postfach ankommen, ist aber mit ***SPAM*** gekennzeichnet
Viren werden direkt gelöscht. Kontrollieren kann man dass im Log.
tail -f /var/log/syslog ... amavis[1516]: (01516-01) Blocked INFECTED (Eicar-Test-Signature) ...
Online Installationsanleitung ohne Install-Script
http://www.debianadmin.com/a-successfull-installation-guide-to-vhcs2-on-debian-etch-40.html
Tips und Tricks
Instalation von Clamav und Spam Assassin
Clamav und Spam Assassin können mit Hilfe des Scripts vhcs.sh vhcs.sh genauso einfach installiert werden,
wie daß vorher mit der Installation von VHCS geschehen ist.
!!Achtung Die sources.list muss aber vorher angepasst werden /etc/apt/sources.list ### added for ClamAV and Spamassassin by vhcs installation script made by Armadillo deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
Diese deb-Eintrag muss in der Sources.list stehen
Webseiten werden ohne Umlaute angezeigt
Wenn in den angezeigten Webseiten die Umlaute durch ? und Karos ersetzt werden,
kann daß an der Einstellung des Apache2 Servers liegen. In der folgenden Datei wird die Codierung angegeben:
# cat //etc/apache2/conf.d/charset AddDefaultCharset ISO-8859-1
/etc/init.d/apache2 restart
Jetz noch den Cache des Browsers aktualisieren!
VHCS und seine Templates
Damit VHCS Konfigurationen von Diensten erstellen, aber auch ändern kann,
benutzt es Template-Konfigurationen. Diese findet man im Verzeichnis /etc/vhcs/
# ls -al /etc/vhcs/ drwxr-xr-x 5 root root 4096 2007-11-07 09:36 apache drwxr-xr-x 5 root root 4096 2007-11-06 15:36 bind drwxr-xr-x 4 root root 4096 2007-11-06 15:36 courier drwxr-xr-x 5 root root 4096 2007-11-06 15:36 crontab drwxr-xr-x 2 root root 4096 2007-11-06 15:36 database drwxr-xr-x 6 root root 4096 2007-11-06 15:36 postfix drwxr-xr-x 3 root root 4096 2007-11-06 15:36 proftpd -rw-r--r-- 1 root root 4846 2007-11-06 15:37 vhcs2.conf
In der Datei vhcs2.conf werden zentrale Konfigurations-Variablen von VHCS gesetzt.
Dazu gehört der Hostname, Root-Directory, Conf-Directory und so weiter.
# # Misc config variables; # BuildDate = 03.01.2006 # DFtpDir = /var/www/virtual/ # FtpShell = /bin/bash Version = 2.4.7.1 ... ... ... HTPASSWD_CMD = /usr/bin/htpasswd2 # # backup management (16.05.2005). # BACKUP_FILE_DIR = /var/www/vhcs2/backups
Für die Konfiguration der Dienste findet sich für jeden Dienst ein Verzeichnis.
Hier als Beispiel, der Aufbau für Apache2:
ls /etc/vhcs/apache/* backup # geänderte Daten werden hier gesichert httpd.conf parts # Template zum anlegen von neuen Webseiten working # Ändern vorhandener Websiten
DirectoryListing (Indexes) verbieten
In den Voreinstellungen von VHCS wird das Anzeigen des Index erlaubt.
Wenn bei einem Webaufruf die angeforderte Datei nicht vorhanden ist,
wird das Verzeichnis mit allen Dateien und Ordnern angezeigt. Um dies abzuschalten,
müssen die Apache Templates geändert werden. Diese liegen in folgendem Verzeichnis:
/etc/vhcs2/apache/parts
1) Zuerst suchen wir die entsprechenden Templates
# egrep -irn Indexes * als_entry.tpl:47: Options Indexes Includes FollowSymLinks MultiViews dmn_entry.tpl:44: Options Indexes Includes FollowSymLinks MultiViews sub_entry.tpl:48: Options Indexes Includes FollowSymLinks MultiViews vhcs2_base.tpl:41: Options Indexes Includes FollowSymLinks MultiViews
2) Jetzt in den Dateien vor Indexes ein - hinzufügen. Zur Kontrolle nochmals mit egrep suchen
# egrep -irn Indexes * als_entry.tpl:47: Options -Indexes Includes FollowSymLinks MultiViews dmn_entry.tpl:44: Options -Indexes Includes FollowSymLinks MultiViews sub_entry.tpl:48: Options -Indexes Includes FollowSymLinks MultiViews vhcs2_base.tpl:41: Options -Indexes Includes FollowSymLinks MultiViews
Dann sollte es so aussehen
DirectoryIndex erweitern
Die Datei index.htm ist nicht im DirectoryIndex (automatische Startseiten) enthalten.
Möchte man eigene Startdateien hinzufügen, wird das in der Datei:
/etc/apache2/mods-available/dir.conf angepasst.
<IfModule mod_dir.c> DirectoryIndex index.html index.htm index.cgi index.pl index.php index.xhtml </IfModule>
In dieser Liste könne die eigenen Startdateien hizu gefügt werden.
VHCS erweitern fürApache2 mit SSL
http://www.vhcs.net/new/modules/phpwiki/index.php/SSL%20mit%20VHCS
Backup VHCS
Debug
Fehlermeldungen
Fehler 1
ERROR (2): Header may not contain more than a single header, new line detected. /var/www/vhcs2/gui/tools/webmail/inc/inc.php:155)"
Lösing
Ändere in der ( /var/www/vhcs2/gui/tools/webmail/inc/inc.php )mal folgendes:
Header("Expires: Wed, 11 Nov 1998 11:11:11 GMT\r\n". "Cache-Control: no-cache\r\n". "Cache-Control: must-revalidate");
durch
Header("Expires: Wed, 11 Nov 1998 11:11:11 GMT"); Header("Cache-Control: no-cache"); Header("Cache-Control: must-revalidate");