VHCS

Aus Doku-Wiki
Zur Navigation springenZur Suche springen

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

VHCS Wiki
VHCS Version 2.2

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

SSL-Zertifikate

2) Server-Zertifikat erstellen

SSL-Zertifikate

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

Online Doku Back 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");