Günther Obermaiers Webseite



agena.go-itservice.com neu

Compaq Pro Reliant DS 320 zum Einsatz beim Provider.

Hardware:

Compaq Pro Reliant DS 320 mit 2x120GB IDE

Linux installieren:

Bootreihenfolge im BIOS: CDROM - HD0
von der Etch Netinstal DVD/CD booten, am Bootprompt "expertgui" eingeben. Da der Rechner erst mal im Privaten Netz installiert wird (aber nicht bei mir, man siehts an den abweichenden Adressen):
ip: 192.168.120.100
bei der Partitionierung der ersten Platte hatte ich erst übersehen, dass diese als Slave eingestellt war aber keine Lust mehr, das zu ändern. Hier die Partitionierungsdaten:
	10,0 GB 	hdf1 	ext3 	/	
	70,5 GB 	hdf2 	ext3 	/home
da ich an dem Tag sehr in Eile war, man siehs auch an der kurzen und relativ ungenauen Ausführung dieser Doku, habe ich auf einen RAID Verbund verzichtet.
Der Rest der Installation ist erstmal Standard.
	manuelle Paketauswahl
Pakete installieren
	Mailserver:	nur lokal
	Mails root:	root
nach dem ersten Booten und der Grundinstallation werden mit aptitude folgende Pakete aufgespielt, nachdem die /etc/apt/sources.list angepasst wurde, am besten über "Suche",
deb ftp://ftp.uni-bayreuth.de/pub/linux/Debian/debian/ etch main contrib
deb http://security.debian.org/ etch/updates main contrib
Wie man sieht habe ich vom alten Server agena her den Versionswechsel auf PHP 5 und MySQL 5 vollzogen.
	+ amavisd-new
	+ apache2-mpm-prefork 
	+ awstats 
	+ bind9
	+ catdoc (wegen xls2csv)
	+ clamav
	+ clamav-daemon
	+ courier-authdaemon
	+ courier-authlibmysql
	+ courier-base
	+ courier-imap
	+ courier-imap-ssl
	+ courier-pop-ssl
	+ courier-pop
	+ courier-ssl
	+ cryptsetup
	+ debconf-utils
	+ fetchmail
	+ hdparm
	+ laptop-mode-tools
	+ imagemagick
	+ joe
	+ ldap-utils
	+ libapache2-mod-php5
	+ libapache2-mod-proxy-html 
	+ libauthen-sasl-cyrus-perl
	+ libauthen-sasl-perl
	+ libgsasl7
	+ libnet-ip-perl
	+ libsasl2
	+ libsasl2-modules
	+ libsasl2-modules-sql
	+ lynx
	+ mcrypt	
	+ mdadm	
	+ mysql-client-5.0	
	+ mysql-server-5.0
	+ ntpdate
	+ ntp-server
	+ openssl
	+ openvpn
	+ perlmodule  (unter nicht-installiert -> perl, siehe "Allgemeines zu Etch")
	+ php5  (incl diverser Module , siehe "Allgemeines zu Etch")
	+ phpldapadmin
	+ phpmyadmin
	+ postfix
	+ postfix-tls
	+ postfix-mysql
	+ postgrey
	+ restartd
	+ rsh-redone-client
	+ rsync
	+ slapd
	+ spamassassin
	+ spamc
	+ squid
	+ squidguard
	+ squirrelmail
	+ squirrelmail-locales
	+ ssh
	+ sysutils		(wegen dos2unix)

Konfigurieren des Systems

Cronjob für /root/daily5h anlegen...
ssh-Keys von Workstation an .ssh/authorized-Leys hängen, bzw diese erst erzeugen.

sshd

damit Zugang auf agena auch von Netzen aus möglich ist, bei denen eine (Firmen)Firewall den Internetzugang via ssh auf Port 22 verhindert, lauscht der sshd auf Agena auch auf Port 563, das ist der Port für "secure News". Dazu muß in der /etc/ssh/sshd_config nur eine weitere Port Zeile eingetragen werden. Port 443 (https) wäre noch besser, der ist fast überall frei, allerdings läuft der Apache auf agena auch auf Port 443, so daß diese Option nicht möglich ist:
Port 22
Port 563

VHCS2 installieren

VHCS2 herunterladen bei Bedarf auch das deutsche Sprachpaket auspacken die Installationsanleitung Installationsanleitung lesen. Bei den benötigten Paketen kann statt PHP4 auch PHP5 mit den entsprechenden Modulen verwendet werden.

Apache 2

Hier weicht es wegen VHCS2 von der bisherigen Konfiguration stark ab.

goweb
Dateien nach /home/go/httpd spielen (sollte von altem Rechner her noch tun) im data/tools Ordner bei jeder installierten Seite das Skript ./bootstrap -U go -P PASSWD SITE aufrufen, dann die vorher mit table2csv exportierten Daten wieder mit ./csv2table all SITE einspielen. Das Bootstrap Skript erzeugt die DB und sorgt für den grant auf die Tabellen. Falls PHP5 nicht auf mysql verbinden kann, die /etc/php5/apache2/php.ini kontrollieren, dort muß ganz unten stehen:
extension=imagick.so

Apache 2 mit https

Zertifikat erzeugen, der Servername muß mit dem CommonName im Zertifikat übereinstimmen! Soll die Domäne www.dummy.de via https erreichbar sein, muß der Eintrag in der /home/go/httpd/httpd.include so aussehen:
<VirtualHost *:443>
        SSLEngine On
        SSLCipherSuite HIGH:MEDIUM
        SSLCertificateFile    /etc/apache2/ssl/www.dummy.de.cert
        SSLCertificateKeyFile /etc/apache2/ssl/www.dummy.de.key
        SSLProtocol all
        ServerName      www.dummy.de
        DocumentRoot    /home/go/httpd/dummyssl
        DirectoryIndex  index.php index.html index.htm
</VirtualHost>
Der Apache 2 lässt leider nur ein einziges Zertifikat pro Port zu, d.h. auf dem Standard-https Port 443 sendet er das Zertifikat von agena.go-itservice.com. Das ist eine bekannte Einschränkung, die man nicht direkt umgehen kann. Falls jemand unbedingt ein eigenes Zertifikat verwenden will geht das auch, aber nur auf einem anderen Port als auf 443. Die Webseite kann zwar ganz normal mit https://www.domain.de angesprochen werden, Apache würde dann aber intern auf einen anderen Port (z.B. 44301) weiterleiten und in dem Browser würde bei der Antwort dann https://www.domain.de:44301 stehen.
Apache kann übrigens beide Varianten nicht richtig leiden und quittiert dies mit Warnings im error-Log nach jedem Start. Beide Varianten folgen, DOMAIN ist eine beliebige Domäne, z.b. uligotchi.de,USER der UNIX Username des Besitzers:

selbes Zertifikat für alle Seiten
Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
        SSLEngine On
        SSLCipherSuite HIGH:MEDIUM
        SSLCertificateFile    /etc/apache2/ssl/agena.go-itservice.com.cert
        SSLCertificateKeyFile /etc/apache2/ssl/agena.go-itservice.com.key
        SSLProtocol all
        SetEnv XXURL  /agena.go-itservice.com
        ServerName      agena.go-itservice.com
        DocumentRoot    /home/go/httpd/agena.go-itservice.com/htdocs
        ErrorLog /home/go/httpd/logs/agena.go-itservice.com-Serror.log
        DirectoryIndex  index.php index.html index.htm
        php_admin_value open_basedir "/home:/var/www/vhcs2/gui/:/etc/vhcs2/:/proc/:/var/www/virtual/:/tmp/:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
        php_admin_value session.save_path "/tmp/"
</VirtualHost>
<VirtualHost *:443>
        SSLEngine On
        SSLCipherSuite HIGH:MEDIUM
        SSLCertificateFile    /etc/apache2/ssl/www.DOMAIN.cert
        SSLCertificateKeyFile /etc/apache2/ssl/www.DOMAIN.key
        SSLProtocol all
        SetEnv XXURL  /www.DOMAIN
        ServerName      www.DOMAIN
        ServerAlias     www.DOMAINmit.com
        DocumentRoot    /home/USER/html
        ErrorLog /home/mpaint/html/logs/USER-Serror.log
        DirectoryIndex  index.php index.html index.htm
</VirtualHost>
eigenes Zertifikat für jede Seite, verschiedene Ports
Listen 443
Listen 44301
Listen 44302
Listen 44303DOMAIN
Listen 44304
NameVirtualHost *:443
<VirtualHost *:443>
        ServerName      agena.go-itservice.com
        SSLEngine On
        SSLCipherSuite HIGH:MEDIUM
        SSLProtocol all
        SetEnv XXURL  /agena.go-itservice.com
        SSLCertificateFile    /etc/apache2/ssl/agena.go-itservice.com.cert
        SSLCertificateKeyFile /etc/apache2/ssl/agena.go-itservice.com.key
        DocumentRoot    /home/go/httpd/agena.go-itservice.com/htdocs
        ErrorLog /home/go/httpd/logs/agena.go-itservice.com-Serror.log
        DirectoryIndex  index.php index.html index.htm
        php_admin_value open_basedir "/home:/var/www/vhcs2/gui/:/etc/vhcs2/:/proc/:/var/www/virtual/:/tmp/:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
        php_admin_value session.save_path "/tmp/"
</VirtualHost>
<VirtualHost *:443>
        ServerName      www.DOMAIN
        RedirectMatch permanent ^.*$ https://www.DOMAIN:44301$0
</VirtualHost>
<VirtualHost *:443>
        ServerName      www.go-itservice.de
        ServerAlias     www.go-itservice.com
        RedirectMatch permanent ^.*$ https://www.go-itservice.de:44302$0
</VirtualHost>
<VirtualHost 213.133.101.163:44301>
        ServerName      www.DOMAIN
        SSLEngine On
        SSLCipherSuite HIGH:MEDIUM
        SSLCertificateFile    /etc/apache2/ssl/www.DOMAIN.cert
        SSLCertificateKeyFile /etc/apache2/ssl/www.DOMAIN.key
        SSLProtocol all
        SetEnv XXURL  /www.DOMAIN
        ServerAlias     www.DOMAINmit.com
        DocumentRoot    /home/USER/html
        ErrorLog /home/USER/html/logs/USER-Serror.log
        DirectoryIndex  index.php index.html index.htm
</VirtualHost>
<VirtualHost 213.133.101.163:44302>
        ServerName      www.DOMAIN
        SSLEngine On
        SSLCipherSuite HIGH:MEDIUM
...
dann SSL Modul laden, Zertifikat[e] erzeugen und Apache neu starten:
# openssl req -new -outform PEM -out www.DOMAIN.cert -newkey rsa:2048 -nodes -keyout www.DOMAIN.key -keyform PEM -days 9999 -x509
# /etc/init.d/apache2 force-reload
Das openssl Kommando erzeugt nach dem folgenden Dialog ein für 9999 Tage gültiges Zertifikat.
Country Name (2 letter code) [AU]: DE
State or Province Name (full name) [Some-State]: Baden-Wuerttemberg
Locality Name (eg, city) []: Ulm
Organization Name (eg, company) [Internet Widgits Pty Ltd]: go-itservice
Organizational Unit Name (eg, section) []: admin
Common Name (eg, YOUR name) []: agena.go-itservice.com
Email Address []: 04@go-itservice.com
Der fett markierte Eintrag muß exakt der Name des Servers im DNS sein!
Unter Debian etch ist beim apache als Charakterset UTF-8 voreingestellt, und zwar so, dass dies nur über die PHP-header Funktion umgestellt werden kann, eine Umstellung via http-equiv im HTML-Header reicht nicht, das HTML Metatag wird ignoriert.
In der /etc/apache2/conf.d/charset wird AddDefaultCharset auskommentiert:
# AddDefaultCharset UTF-8
Stattdessen kann man den Default auch auf ISO-8859-1 einstellen, hat dann aber das umgekehrte Problem mit UTF-8 codierten Seiten.

mysql

Zum Anmelden:
# mysqladmin -u root -p PASSWD
# mysql -u root -p PASSWD
Zu Beginn ist das Mysql-Passwort des root-Accounts leer, dies sofort ändern!
Datenbanken, DB-User und Tabellen können bequem mit VHCS2 angelegt werden.

Postfix und Courier mit verschlüsselter Verbindung bei SMTP,POP und IMAP

Für Apache, Postfix und Courier wied das selbe Zertifikat verwendet, Courier (POP und IMAP) will es allerdings als PEM File mit Key und Zertifikateintrag neben Hashkey in einer Datei. Zuerst wird die Key- und Zertifikatdatei generiert, diese aneinandergehängt und der Hashkey hinzugefügt:
# openssl req -new -outform PEM -out postfix.cert -newkey rsa:2048 -nodes -keyout postfix.key -keyform PEM -days 9999 -x509
# cat postfix.cert postfix.key > postfix.pem
# openssl gendh >> postfix.pem
# chmod 440 postfix.pem
Dialog für openssl Kommando siehe weiter oben unter Apache 2
in /etc/courier/pop3d-ssl wird folgendes geändert:
POP3_STARTTLS=YES
TLS_CERTFILE=/etc/apache2/ssl/postfix.pem
analog in der /etc/courier/imapd-ssl
IMAPDSTARTTLS=YES
TLS_CERTFILE=/etc/apache2/ssl/postfix.pem
das Kommando ergibt folgenden Dialog: diese Keyfiles in der /etc/postfix/main.cf einfügen.
Da der Server im lokalen Netz ohne lokalen DNS Server installiert wurde, muss wegen EHLO/HELO Meldung des Postfix Hostname und Domain angepasst werden. Dies ist wichtig, da sonst viele Mailprovider keine Mails von Agena annehmen!
myhostname = agena.go-itservice.com
mydomain = agena.go-itservice.com
...
smtpd_tld_loglevel = 2
smtpd_tls_cert_file = /etc/apache2/ssl/postfix.cert
smtpd_tls_key_file = /etc/apache2/ssl/postfix.key
smtpd_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_received_header = yes
Falls Postfix mails mit mehr als 10 MB verschicken soll (im Beispiel 40MB), muss noch folgende Zeile ergänzt werden:
message_size_limit = 41943040
Diese Einstellung kann analog zu anderen alle Postfix-Parametern mit:
# postconf message_size_limit
kontrolliert werden.
In der master.cf ist für Verschlüsselten Mailversand eine Zeile einzufügen (oder einzukommentieren)
smtps    inet  n       -       -       -       -       smtpd

Test der Mailinstallation

Test smtp
alle Dienste stoppen:
# /etc/init.d/courier-imap stop
# /etc/init.d/courier-imap-ssl stop
# /etc/init.d/courier-pop stop
# /etc/init.d/courier-pop-ssl stop
# /etc/init.d/postfix stop
Testen:
# netstat -tnp
Content checks disablen: /etc/postfix/master.cf wieder aktivieren, Zeilen mit -o auskommentieren:
smtp inet n - n - - smtpd 
cleanup unix n - - - 0 cleanup 
Zeilen mit content_filter auskommentieren in /etc/postfix/main.cf
# content_filter = amavis:[127.0.0.1]:10024
Mysql und postfix Log mit tail in zwei Terminals verfolgen:
# tail -f /var/log/mysql.log 
# tail -f /var/log/maillog.info 
Dann MySQL und Postfix starten:
# /etc/init.d/mysql start 
# /etc/init.d/postfix start 
wenn beide Laufen, telnet auf Port 25 zum Test des Postfix:
> telnet localhost 25
EHLO wega.ulm.go-itservice.de
	...
MAIL FROM: go@wega.ulm.go-itservice.de
	OKimap
RCPT TO: local@uligotchi.de
	OK
data
...
.
quit
Falls kein Eintrag im mysql.log kommt, kanns auch an den Logeinstellungen liegen: in /etc/mysql/my.cnf folgende Zeile einkommentieren. Vorsicht, wieder entfernen, bremst ohne Ende!
log             = /var/log/mysql.log
Kontrollieren, ob unter /var/spool/mail/virtual/local/new die neue Mail angekommen ist. Wenn ja, Test mit falschem Recipient, diese wird abgelehnt!
Test imap
Analog zu smtp redet man nun mit dem IMAP server:
> telnet localhost 143 
worauf sich der IMAP Server meldet, und mit dem Pop Server:
> telnet localhost 110
USER local@uligotchi.de
PASS local*
STAT		
LIST		(Mails auflisten)
RETR 1		(Mail ansehen)
RSET		(sonst ist die Mail gelöscht!)
QUIT		Logout 

postgrey zur Spamunterdrückung konfigurieren

in /etc/postfix/main.cf bei smtpd_recipient_restrictions noch zusätzlich check_policy_service inet:127.0.0.1:60000 einfügen, um den postgrey-Dämon einzubinden:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_policy_service inet:127.0.0.1:60000, reject_unauth_destination 
Dadurch werden ankommende Mails von einer bisher nicht empfangengen Domain für einige Minuten abgewiesen. Reguläre Mails werden vom Mail Server nach einiger Zeit erneut zugestellt und dann akzeptiert, während Spam-Sender normalerweise keinen Zweitversand versuchen. Denen geht es nur darum, in möglichst kurzer Zeit viele Mails zu versenden. Das Verzögerungsverfahren nennt sich "greylisting". In der Datei /etc/postgrey/whitelist_recipients kann man einzelne Mailadressen oder Domains vom Greylisting ausnehmen, deren Mails werden dann immer und sofort akzeptiert. Da einige Senderdomains mit dem Verfahren nicht zurechtkommen, sind in der Datei /etc/postgrey/whitelist_clients schon voreingestellte Ausnahmen eingetragen.

phpmyadmin konfigurieren

funktioniert direkt unter VHCS2, keine weitere Konfiguration nötig

restartd

nachzustartende Prozesse in /etc/restartd.conf eintragen, z.b.
apache2          ".*apache2"      "/etc/init.d/apache2 restart"
Wobei der 2.String den Ausdruck angibt, der vom Restard-demon in der Ausgabe des ps -ef Kommandos gesucht wird, um bei Misserfolg den 3.String auszuführen.
Anschliessend den Restard-Demon neu starten.

OpenVPN konfigurieren

Unterverzeichnis zertifikate erzeugen, wo die erstellten Zertifikate abgelegt werden.
# cd /etc/ssl
# mkdir zertifikate
Schlüssel für CA ( Certifikate Authority ) erstellen
# openssl genrsa -aes256 -out private/vpn-cakey.pem 2048
CA erstellen
# openssl req -new -x509 -days 365 -key private/vpn-cakey.pem -out vpn-ca.pem -set_serial
festgelegtes Passwort vergeben, nun folgt der Zertifizierungsdialog.
Country Name (2 letter code) [AU]: DE
State or Province Name (full name) [Some-State]: Baden-Wuerttemberg
Locality Name (eg, city) []: Ulm
Organization Name (eg, company) [Internet Widgits Pty Ltd]: go-itservice
Organizational Unit Name (eg, section) []: admin
Common Name (eg, YOUR name) []: vpn1.go-itservice.com
Email Address []: 04@go-itservice.com
Datei index.txt erzeugen, damit man später die Zertifikate sperren kann, 1 in serial schreiben
# echo "01" > serial
# touch index.txt && echo "01" > serial
Zertifikatanfrage und den Schlüssel erstellen:
# openssl req -new -newkey rsa:2048 -out zertifikate/server_csr.pem -nodes -keyout private/server_key.pem -days 9999
diesmal als CN vpn2.go-itservice.com eingeben, Rest gleich. Kein Passwort vergeben. Rechte auf Datei korrigieren (sonst Warnung von OpenVPN)
# chmod 600 /etc/ssl/private/server_key.pem
Server Zertifikat erzeugen
-CA: für das Unterzeichnen des Zertifikates
-Cakey: Masterschlüssel für das Erstellen des Zertifikates
# openssl x509 -req -in zertifikate/server_csr.pem -out zertifikate/server_cert.pem -CA vpn-ca.pem -CAkey private/vpn-cakey.pem -CAserial serial -days 9999
Jetzt der Schlüssel und das signierte Zertifikat fü r den Client
# openssl req -new -newkey rsa:2048 -out zertifikate/Client1_csr.pem -keyout private/Client1_key.pem -days 9999
festgelegtes Passwort vergeben, im Zertifizierungsdialog CN: vpn3.go-itservice.com

das Client Zertifikat wird fast identisch wie das Serverzertifikat erzeugt
# openssl x509 -req -in zertifikate/Client1_csr.pem -out zertifikate/Client1_cert.pem -CA vpn-ca.pem -CAkey private/vpn-cakey.pem -CAserial serial -days 9999
kein Passwort, im Zertifizierungsdialog CN: vpn4.go-itservice.com
Zum Schluss den Diffie Hellman Parameter erzeugen (dauert lange).
# openssl dhparam -out dh2048.pem 2048
Startskripte anpassen
in /etc/init.d/fwstart
/sbin/iptables -t nat -F POSTROUTING
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.90.0/24 -j MASQUERADE
...
/sbin/iptables -A INPUT -i "$EXT_IF" -p udp --dport 1194 -m state --state NEW -j ACCEPT
in /etc/init.d/obi1
/usr/sbin/openvpn /etc/openvpn/Server.ovpn
Serverkonfigurationsdatei Server.ovpn:
port 1194
proto udp
mode server
tls-server
dev tap
client-to-client
keepalive 10 120

#Virtuelle Server IP
ifconfig 192.168.90.1 255.255.255.0
ifconfig-pool 192.168.90.2 192.168.90.9
push "redirect-gateway"

ca /etc/ssl/vpn-ca.pem
cert /etc/ssl/zertifikate/server_cert.pem
key /etc/ssl/private/server_key.pem
dh /etc/ssl/dh2048.pem

auth SHA1
cipher aes-256-cbc

comp-lzo
user nobody
group nogroup

persist-key
persist-tun

#Logging 0, (Zum testen:5)
verb 3

log-append /var/log/openvpn/openvpn.log
status /var/log/openvpn/status.log
der OpenVPN Client für Windows kann von http://openvpn.net/index.php/downloads.html heruntergeladen werden. die Konfigurationsdatei Client.ovpn ist für die Installation unter E:\Programme\Openvpn, wobei die vier Konfigurationsdateien dann im Ordner E:\Programme\Openvpn\config liegen:
tls-client 
pull
dev tap
proto udp
remote 213.133.101.163 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca E:\\Programme\\Openvpn\\config\\vpn-ca.pem
cert E:\\Programme\\Openvpn\\config\\Client1_cert.pem
key E:\\Programme\\Openvpn\\config\\Client1_key.pem
cipher AES-256-CBC
comp-lzo
auth SHA1
verb 3
mute 20
Bei der Verbindung von OpenVPN auf den Server muß das festgelegte Passwort eingegeben werden.
Diese Beschreibung basiert übrigens auf openvpn-wiki

Paketfilter mit iptables

Damit der Rechner etwas besser gesützt ist, verhindert ein Paketfilter Verbindungsaufnahmen auf den Server agena und lässt nur einige Ports, wie POP, SMTP, HTTP und HTTPS offen.
Damit man sich bei Änderungen an der Datei fwstart nicht versehentlich dauerhaft selber aussperrt, wird die Firewallregel alle 24h für 5 Minuten durch einen Defaultfiltersatz ersetzt.

Server kommt zum Provider

umstellen der IP Adresse auf den Provider Hetzner
in /etc/network/interfaces
iface eth0 inet static
        address	213.133.101.163
        netmask	255.255.255.224
        network	213.133.101.160
        broadcast	213.133.101.191
        gateway	213.133.101.161
        dns-nameservers	213.133.98.98, 213.133.99.99
        dns-search	go-itservice.com
Dateien anpassen: /etc/hosts kontrollieren
/etc/resolv.conf
/etc/init.d/fwstart
Für die Umstellung bei VHCS2:
IP Adresse in der /etc/vhcs2/vhcs2.conf ändern.
IP Adresse in der Datenbank, am einfachsten mit phpmyadmin, anschliessend die Domaineinträge mit "ändern" markieren:
UPDATE server_ips SET ip_number='213.133.101.163' WHERE ip_id=1 LIMIT 1 ;
UPDATE vhcs2.subdomain SET subdomain_status='change' WHERE subdomain_status='ok';
UPDATE vhcs2.domain SET domain_status='change' WHERE domain_status='ok';
UPDATE vhcs2.domain_aliasses SET alias_status='change'; WHERE alias_status='ok';
Änderungen mit dem VHCS Request Manager ausführen:
# /var/www/vhcs2/engine/vhcs2-rqst-mngr

neue Domain und User anlegen

User für Domain anlegen, am besten neuen Eintrag in der /root/newuser
gleichnamige Gruppe anlegen
www-data User in neue Gruppe aufnehmen
Domain,User und Alias in maildb anlegen, am Einfachsten mit phpmyadmin
in /home/NEWUSER Verzeichnis httpd anlegen
EMailadressen, Domaenen und Datenbanken werden mittels VHCS2 angelegt.
Die zu sichernden Datenbanken werden in /root/backupdb eingetragen
Die Webseiten liegen derzeit unter /home/USER, VHCS will die Verzeichnisse aber unter /var/www/virtual/DOMAIN, also letzteren löschen und stattdessen verlinken:
# cd /var/www/virtual/DOMAIN
# rm htdocs 
# ln -s /home/go/httpd/www.DOMAIN/htdocs htdocs
In der /etc/apache2/vhcs2.conf werden die Domäneneinträge gespeichert. Da dem Apache keine Zugriffe ausserhalb von vorgegebenen Verzeichnissen gestattet werden und dabei auch Links nach aussen kontrolliert werden, muss das /home und /tmp Verzeichnis dort mit aufgenommen werden, der Eintrag wird also um diese Verzeichnisse ergänzt zu:
php_admin_value open_basedir "/home:/tmp:/var/www/virtual/DOMAIN:/var/www/virtual/DOMAIN/phptmp:/usr/
Dummerweise überschreibt VHCS bei jeder Änderung an den Domänen alle Einträge wieder, entfernt also /home und /tmp! Deshalb läuf auf agena derzeit ein Perl-Skript, dass diese vhcs2.conf mittels regulärem Ausdruck alle 5 Minute erneut umschreibt und den apache anschliessend lädt.
Man kann dies wohl eleganter durch Verändern der Root Verzeichnisse in der VHCS Konfiguration erreichen, aber dazu müsste man die Verzeichnisse der User anpassen.

Mozilla als Mailclient

Folgende Einstellungen sind bei Mozilla nötig. Sinngemäß gilt dies für alle POP3/IMAP Clients.
Zu Beginn verwendet man am besten eine unverschlüsselte Verbindung, falls das funktioniert, ändert man die Einstellungen auf "Verschlüsselte Verbindung". Diese Verschlüsselung verhindert allerdings nur das Abhöhren der Verbindung zwischen dem Client-PC und agena z.B. über Eingriffe beim Internetprovider, nicht aber das Abhören der Mail, wenn sie von agena aus an den Zielrechner gesendet wird!
Um eine Mail "sicher" zu versenden, ist deren komplette Verschlüsselung vor Versand und beim Empfänger nötig. Dies kann z.B. durch Verwendung von Icedove,enigmail und OpenPGP geschehen.
Einstellungen Mail & Newsgroupsaccount
Servertyp: 		POP
Servername:		agena.go-itservice.com  
Port:			110 [default]
Benutzername		USERNAME@DOMAIN		(=Mailadresse, z.b. go@go-itservice.com)
sichere Verb. ben.:	nein/nie
sichere Authent.:	nein
Falls statt POP3 ein IMAP Zugang verwendet werden soll, dies beim Anlegen des Mailaccounts angeben und statt dem Port für POP3 (110) einfach den Port 143 angeben. Dieser sollte aber bei IMAP voreingestellt sein.
Einstellungen Server für ausgehende Nachrichten
Server: 		agena.go-itservice.com 
Port:			25 [default]
Name&Passwort:		JA			(sonst kommt "Greylist" Meldung und die Mail wird nicht gesendet)
Benutzername:		USERNAME@DOMAIN		(=Mailadresse, z.b. go@go-itservice.com)
sichere Verbindung:	nein		
Jetzt testhalber eine Mail an die eigene Adresse senden und über POP3 (oder IMAP) abholen. Falls das funktionierte, fogende Änderungen für eine verschlüsselte Kommunikation. Sichere Authentisierung muß auf "nein" bleiben.
Einstellungen Mail & Newsgroupsaccount
sichere Verbindung ben:	SSL		
Port:			995 [default]
ODER
sichere Verbindung ben:	TLS		
Port:			110 [default]
Einstellungen Server für ausgehende Nachrichten
sichere Verbindung ben:	TLS