| 
 | |||
| agena.go-itservice.comzuerst installiert auf Pentium 3 Standardrechner (armageddon II) mit Kingston KNE100, 120GB IDE mit Debian 3.1 Sarge, anschließend auf einen Compaq Pro Reliant DS 320 zum Einsatz beim Provider portiert. Hardware:Beginn Installation: armageddon II Standard mit Kingston KNE100, 80GB IDEUmbau auf: Compaq Pro Reliant DS 320 mit 2x120GB IDE Linux installieren:Bootreihenfolge im BIOS: CDROM - HD0Netzwerk erstmal ausstecken (wegen DHCP) Mit Debian Sarge DVD 1 booten Language: German<enter> Land: Deutschland Tastatur: deutschdann startet Hardwareerkennung und die DVD wird durchsucht... (dauert ca 1 Minute) Debian installer wird geladen, Hardwareerkennung (Netzwerk) primäres Netz: eth0 (KNE100) Konfiguration: manuell (Auswahl) IP Adresse: 192.168.80.19 Netmask: 255.255.255.0 Gateway: 192.168.80.1 DNS: 192.168.80.10 Rechnername agena Domäne: ulm.go-itservice.deResthardwareerkennung Festplatte: manuell 10,0 GB hda1 ext2 / 71,5 GB hda2 ext3 /home 0,9 GB swap 40,0 GB hda4 ext3Bootloader MBR <ja> Die installation wird beendet, DVD ausgeworfen und um Neustart gebeten: Neustart <weiter>Neustart Konfiguration <ok> Uhrzeit: GMT Zeitzone: Berlin rootpasswort: **** (und Bestätigung) User: Guenther Obermaier Account: go passwort: **** (und Bestätigung) apt Zugriff: cdrom (vorher DVD 1 einlegen)die Durchsuchung dauert ... 2. CD <ja>(vorher DVD 2 einlegen) weitere CD: <nein>Anschliessend wird versucht, Updates von security.debian.orgzu holen (was ohne Netz fehlschlägt).
DVD 1 wieder einlegen.Installieren von Software: manuelle PaketauswahlPakete installieren ("g") Mailserver: nur lokal (alt: Internetserver) Mails root: rootNach der Grundinstallation aptitudestarten:# aptitudenicht installierte Pakete auswählen, am besten über "Suche": + amavisd-new + apache2-mpm-prefork + awstats + bind9 + catdoc (wegen xls2csv) + clamav-daemon + courier-authdaemon + courier-authmysql + courier-base + courier-imap + courier-imap-ssl + courier-pop-ssl + courier-pop + courier-ssl + cryptsetup + debconf-utils + fetchmail + hdparm + laptop-mode-tools + imagemagix + joe + ldap-utils + libapache2-mod-perl + libapache2-mod-php4 + 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 4.1 + mysql server 4.1 + ntpdate + ntp-server + openssl + openvpn + perlmodule (siehe Allgemein zu "Sarge") + pop-before-smtp (inzwischen obsolet) + php4 (incl diverser Module, siehe Allgemein zu "Sarge") + phpldapadmin + phpmyadmin + postfix + postfix-tls + postfix-mysql + postgrey + restartd + rsh-redone-client + rsync + slapd + smssend + spamassassin + spamc + squid + squidguard + squirrelmail + squirrelmail-locales + ssh + sysutils (wegen dos2unix) + usermin (+ Module) + webmin (+ Module) Konfigurieren des Systemsin/etc/apt/sources.listdeb http://security.debian.org/ sarge/updates main deb http://debian.uni-essen.de/debian/ sarge main contribstatt der DVDs eintragen. In aptitudeerscheint als erstes eine Fehlermeldung, aber mit 
"u" für Update geht das anschliessend jedenfalls.In der /etc/apt/sources.listwar vorher stattsargeuebrigensstableeingetragen, was bis April 2007
oder so funktionierte. Dann wurde aber ETCH stable und ich bekam einen Versionsmischmasch auf dem Server, wodurch z.B.php4-gdec nicht mehr richtig funktionierte! Das besonders tückische ist, dass bei den fehlerhaften
Updates Einträge aus der/etc/php4/apache2/php.inigelöscht wurden, welche nach der
richtigen Umstellung fehlten und eine Verwendung der betroffenen PHP4 Module weiterhin verhinderten.(siehe goweb)Datei /root/daily5hanlegen, dortntpdateec eintragen, alles was als cronjob nachts um 5h laufen soll.chmod 700 /root/daily5hvorcrontab -enicht vergessen!in /etc/fstabals Bootparameternoatimefür die Systemplatte angeben.Für die User rootundgo, Verzeichniss.sshanlegen, 
keys von antares und wega dort in dieauthorized_keyseinfügen.ntp: ist automatisch konfiguriert und wird unter Sarge direkt (für localhost) benutzt. 
Sollen andere Rechner den Server beutzen:/etc/ntp.confanpassen.Programm cryptvon agena-alt (/root/crypt) holen und nach/rootkopieren.Gruppen obiundgball(clamav) anlegen.Script newuservon agena-alt holen und laufen lassen.Benutzerdaten ( /home/USER) viataroderscpholen und auspacken.sshddamit 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_confignur 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 Apache 2sites (nur einzelne virtual Host Abschitte) in/etc/apache2/sites-availableanlegen und dann einen 
link aus/etc/apache2/sites-enabledauf das Konfigfile anlegen. Wenn der Apache mit der 
Endung "php" nichts anfangen kann, fehlen wahrscheinlich im/etc/apache2/mods-enableddie beiden PHP -Links (php4.load -> /etc/apache2/mods-available/php4.load, php4.conf -> /etc/apache2/mods-available/php4.conf), dann ist das PHP4 Unterstützung nicht eingeschaltet. Diese dann viaaptitudeinstallierengoweb Dateien nach /home/go/httpdspielen (sollte von altem Rechner her noch tun)
imdata/toolsOrdner bei jeder installierten Seite das Skript./bootstrap -U go -P PASSWD SITEaufrufen,
dann die vorher mittable2csvexportierten Daten wieder mit./csv2table all SITEeinspielen. Das Bootstrap Skript erzeugt die DB und sorgt für den grant auf die Tabellen. 
Falls PHP4 nicht auf mysql verbinden kann, die/etc/php4/apache2/php.inikontrollieren, 
dort muß ganz unten stehen:extension=ldap.so extension=imagick.so extension=imap.so extension=mcrypt.so extension=mysql.so extension=gd.so Apache 2 mit httpsZertifikat erzeugen, der Servername muß mit dem CommonName im Zertifikat übereinstimmen! Soll die Domänewww.dummy.devia https erreichbar sein, muß der Eintrag in der/home/go/httpd/httpd.includeso 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>
für Erreichbarkeit der Domain mit http ist ein weiterer Eintrag nötig:
<VirtualHost *:80>
        SetEnv XXURL  /www.dummy.de
        ServerName      www.dummy.de
        DocumentRoot    /home/go/httpd/dummy
        DirectoryIndex  index.php index.html index.htm
</VirtualHost>
Am oberen Ende der httpd.include steht:Listen 443 NameVirtualHost *:80 NameVirtualHost *:443Dann SSL Modul laden, Zertifikat erzeugen (genaueres siehe bei Postfix) und Apache neu starten: # a2enmod ssl # openssl req -new -outform PEM -out www.dummy.de.cert -newkey rsa:2048 -nodes -keyout www.dummy.de.key -keyform PEM -days 999 -x509 # /etc/init.d/apache2 force-reloaddas opensslKommando erzeugt ein für 999 Tage gültiges Zertifikat.Apache für neue Webseite konfigurieren: Neuen User anlegen: z.B. User nuser, Eintrag in Dateinewuseranalog zu bisherigen (oder mituseradd) anlegen,newuserstarten.
neue Gruppe mit UID = GID und selben Namen in/etc/groupeintragen, 
den neuen User in die Gruppe aufnehmen und ebenso den Userwww-data. 
Unter diesem läuft der Apache, sonst kann dieser die Webseiten des Users nicht 
anzeigen. Die Zeile in der/etc/groupsieht also so aus:nuser:x:GID:nuser,www-dataRechte setzen: # chmod 750 /home/nuser # chown nuser:nuser /home/nuser # mkdir /home/nuser/httpdDefault index.htmloderindex.phpanlegenEintrag in der httpd.includehinzufügen. (siehe weiter oben, ab<VirtualHost *:80>...)
Apache neu startenmysqlZum Anmelden:# mysqladmin -u root -p PASSWD # mysql -u root -p PASSWDZu Beginn ist das Mysql-Passwort des root-Accounts leer, dies sofort ändern! Tabellen für Postfix anlegen: # mysql --user=root mysql> create database maildb; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'localhost' IDENTIFIED by 'PASSWD'; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'%' IDENTIFIED by 'PASSWD'; mysql> exit; # Postfix konfigurierenFragen bei Installation Postfix:mail name: agena.go-itservice.com akzeptierte Domains: agena.go-itservice.com, localhost (wird eh gelöscht)Konfiguration ist in der /etc/postfix/main.cf, 
dort werden die virtuellen Email Adressen in mysql-Tabellen eingetragen ec.# cp /etc/aliases /etc/postfix/aliasesKontrollieren wegen Roots Mails, dann # postalias /etc/postfix/aliasesUser virtualfür Mails an die virtuellen User anlegen:# mkdir /var/spool/mail/virtual # groupadd virtual -g 5000 # useradd virtual -u 5000 -g 5000 # chown -R virtual:virtual /var/spool/mail/virtualKonfig Files für Mysql anlegen: /etc/postfix/mysql_mailbox.cf /etc/postfix/mysql_uid.cf /etc/postfix/mysql_gid.cf /etc/postfix/mysql_alias.cf /etc/postfix/mysql_domains.cfTabellen für Postfix in mysql anlegen: # mysql -u mail -p PASSWD mysql> CREATE TABLE `aliases` ( `pkid` smallint(3) NOT NULL auto_increment, `mail` varchar(120) NOT NULL default '', `destination` varchar(120) NOT NULL default '', `enabled` tinyint(1) NOT NULL default '1', PRIMARY KEY (`pkid`), UNIQUE KEY `mail` (`mail`) ) ; mysql> CREATE TABLE `domains` ( `pkid` smallint(6) NOT NULL auto_increment, `domain` varchar(120) NOT NULL default '', `transport` varchar(120) NOT NULL default 'virtual:', `enabled` tinyint(1) NOT NULL default '1', PRIMARY KEY (`pkid`) ) ; mysql> CREATE TABLE `users` ( `id` varchar(128) NOT NULL default '', `name` varchar(128) NOT NULL default '', `uid` smallint(5) unsigned NOT NULL default '5000', `gid` smallint(5) unsigned NOT NULL default '5000', `home` varchar(255) NOT NULL default '/var/spool/mail/virtual/', `maildir` varchar(255) NOT NULL default 'blah/', `enabled` tinyint(3) unsigned NOT NULL default '1', `change_password` tinyint(3) unsigned NOT NULL default '1', `clear` varchar(128) NOT NULL default 'ChangeMe', `crypt` varchar(128) NOT NULL default 'sdtrusfX0Jj66', `quota` varchar(255) NOT NULL default '', `procmailrc` varchar(128) NOT NULL default '', `spamassassinrc` varchar(128) NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ); Courier IMAP/POPDatei/etc/courier/authdaemonrcändern:authmodulelist="authmysql"Datei /etc/courier/authmysqlrcändern, es dürfen keine Leerzeichen am Zeilenende sein!
Felder anpassen:MYSQL_SERVER localhost MYSQL_USERNAME mail MYSQL_PASSWORD arkon3 MYSQL_PORT 0 MYSQL_OPT 0 MYSQL_DATABASE maildb MYSQL_USER_TABLE users # comment out this field, # as I now longer use the encrypted pw options #MYSQL_CRYPT_PWFIELD crypt MYSQL_CLEAR_PWFIELD clear MYSQL_UID_FIELD uid MYSQL_GID_FIELD gid MYSQL_LOGIN_FIELD id MYSQL_HOME_FIELD home MYSQL_NAME_FIELD name MYSQL_MAILDIR_FIELD concat(home,'/',maildir) MYSQL_WHERE_CLAUSE enabled=1in den Dateien: /etc/courier/imapd /etc/courier/imapd-ssl /etc/courier/pop3d /etc/courier/pop3d-sslkontrollieren, ob der Daemon auch gestartet wird, der Eintrag sieht z.B. so aus: IMAPDSTART=YES Amavisd-newKonfiguration in:/etc/amavis/amavisd.confdort im array@av_scannerund@av_scanner_backupalle Zeilen bis 
auf die 5 vonclamavherauslöschen. Vorsicht, daß Endklammern 
geschlossen werden.
andere Änderungen: Host/Domain setzen und Run-User, default istamavis, der 
muß aufvirtualgeändert werden! Dann Verzeichnisse an diesen übergeben (bzw dastmperst anlegen):# cd /var/lib/amavis # mkdir tmp # chown virtual:virtual tmp # chown virtual:virtual virusmails # chown -R virtual:virtual /var/run/amavisWichtig, auch /etc/init.d/amavismuß angepasst werden (Zeile 31):chown -c -h "virtual:virtual" "$4"Dann die /etc/postfix/master.cfändern, genauer 2 Zeilen ändern 
und 3 Dienste dazufügen:smtp inet n - - - - smtpd -o cleanup_service_name=pre-cleanup cleanup unix n - - - 0 cleanup -o mime_header_checks= -o nested_header_checks= -o body_checks= -o header_checks= amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o strict_rfc821_envelopes=yes -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1001 pre-cleanup unix n - - - 0 cleanup -o virtual_alias_maps= -o canonical_maps= -o sender_canonical_maps= -o recipient_canonical_maps= -o masquerade_domains=in die /etc/postfix/main.cf2 Zeilen einfügen:content_filter = amavis:[127.0.0.1]:10024 #receieve_override_options = no_address_mappings Clamavbei Nachfrage: als demon Server: db.de.clamav.net Proxy: - Notify clamd: jaStartuser, in /etc/clamav/clamd.conf:User: virtualRechte und Gruppe anpassen: # chown virtual:virtual /var/run/clamav # adduser virtual amavisUm alle 6 Stunden nach neuen Virenpattern zu suchen: in der /etc/clamav/freshclam.conffolgendes eintragen:Checks 4 Cyrus SASLfolgendes in die/etc/postfix/main.cfeinfügen:# modify the existing smtpd_recipient_restrictions smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unauth_destination, check_policy_service inet:127.0.0.1:60000, permit # modify the existing smtpd_sender_restrictions smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit # then add these smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_path = /etc/postfix/sasl:/usr/lib/sasl2 smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain =Datei /etc/postfix/sasl/smtpd.confanlegen:pwcheck_method: auxprop auxprop_plugin: sql mech_list: plain login cram-md5 digest-md5 sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: mail sql_passwd: arkon3 sql_database: maildb sql_select: select clear from users where id='%u@%r' and enabled = 1 courier und TLSin pop3d steht normalerweise auskommentiert folgende Zeile, in imapd ist sie bei instaliertem SASL anscheinend aktiv:POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1" IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE" Verschlüsselungzuerst Keyfiles generieren:# cd /etc/postfix # openssl req -new -outform PEM -out postfix.cert -newkey rsa:2048 -nodes -keyout postfix.key -keyform PEM -days 999 -x509das Kommando ergibt folgenden Dialog: 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.comDer fett markierte Eintrag muß exakt der Name des Servers im DNS sein! diese Keyfiles in der /etc/postfix/main.cf einfügen: smtpd_use_tls = yes smtpd_tls_cert_file = /etc/postfix/postfix.cert smtpd_tls_key_file = /etc/postfix/postfix.key smtpd_data_restrictions = reject_unauth_pipeliningin der master.cfsind 3 Zeilen einzufügen (oder einzukommentieren)tlsmgr unix - - n 300 1 tlsmgr smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes 587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yesZertifikat für courier erzeugen: 
# openssl req -x509 -newkey rsa:1024 -keyout imapd.pem -out imapd.pem -nodes -days 999
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
wie bei Postfix wird das Zertifikat nicht akzeptiert wenn nicht genau der DNS Name des Servers bei dem "Common Name" eingetragen wird.sowohl in der imapd-sslals auch in derpop3d-sslwird auf 
das selbe Zertifikat verwiesen:TLS_CERTFILE=/etc/courier/imapd.pemdefaultmässig ist das nur bei imapd-ssleingestellt.Daten in maildb einfügenZuerst werden die lokalen Domänen angelegr, dann einige default Aliases, möglicherweise kann man hier einige weglassen, anschliessend der root User
mysql> INSERT INTO domains (domain) VALUES ('localhost'), ('localhost.localdomain');
mysql> INSERT INTO aliases (mail,destination) VALUES ('postmaster@localhost','root@localhost'), ('sysadmin@localhost','root@localhost'), ('webmaster@localhost','root@localhost'), ('abuse@localhost','root@localhost'), ('root@localhost','root@localhost'), ('@localhost','root@localhost'), ('@localhost.localdomain','@localhost');
mysql> INSERT INTO users (id,name,maildir,clear) VALUES ('root@localhost','root','root/','*****');
Daten für echte Domains einfügen, z.B. füruligotchi.de, derlocalUser ist lokal, währendulieine Weiterleitung ist.
mysql> INSERT INTO domains (domain) VALUES ('uligotchi.de'); 
mysql> INSERT INTO aliases (mail,destination) VALUES ('local@uligotchi.de','local@uligotchi.de');
mysql> INSERT INTO aliases (mail,destination) VALUES  ('uli@uligotchi.de','uli@ulrike-winker.de');
mysql> INSERT INTO users (id,name,maildir,clear) VALUES ('local@uligotchi.de','local','local/','local*');
Maschinenname aufagena.go-itservice.comeinstellen.Test der MailinstallationTest smtpalle 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 # /etc/init.d/amavis stop # /etc/init.d/spamassassin stop # /etc/init.d/clamav stop # /etc/init.d/mysql stopTesten: # netstat -tnpContent checks disablen: /etc/postfix/master.cfwieder aktivieren, 
Zeilen mit-oauskommentieren:smtp inet n - n - - smtpd cleanup unix n - - - 0 cleanupZeilen mit content_filter auskommentieren in /etc/postfix/main.cf # content_filter = amavis:[127.0.0.1]:10024Mysql und postfix Log mit tail in zwei Terminals verfolgen: # tail -f /var/log/mysql.log # tail -f /var/log/maillog.infoDann MySQL und Postfix starten: # /etc/init.d/mysql start # /etc/init.d/postfix startwenn 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 ... . quitFalls kein Eintrag im mysql.logkommt, kanns auch an den Logeinstellungen 
liegen: in/etc/mysql/my.cnffolgende Zeile einkommentieren. Vorsicht, 
wieder entfernen, bremst ohne Ende!log = /var/log/mysql.logKontrollieren, ob unter /var/spool/mail/virtual/local/newdie 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 143worauf 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 Konfiguration Mozilla als ClientEmail account anlegen:Name: Testname Mailadresse: test@uligotchi.de Servertyp: PoP oder IMAP (beide möglich) Server Eingang: agena.go-itservice.com Server Ausgang: agena.go-itservice.com Benutzername: test@uligotchi.de Account Name: test@uligotchi.deMail und News Account Einstellungen: Server-Einstellungen: Sichere Verbindung: Ja (Haken setzen)Der Rest paßt, der Port ändert sich auf 995, dieser muß an der lokalen Firewall freigeschaltet sein! Server für ausgehende Nachrichten: Server Name: agena.go-itservice.com Name und Passw. verw.: Ja (Haken setzen) Benutzername: test@uligotchi.de Sichere Verb. verw.: TLSBeim ersten Aufruf und Versenden muß das Zertifikat von agena akzeptiert werden! IP Adresse ändernManuelles Einstellen der IP Adresse: in/etc/networks/interfacesauto eth0 iface eth0 inet static address 192.168.80.11 netmask 255.255.255.0 network 192.168.80.0 broadcast 192.168.80.255 gateway 192.168.80.1 dns-nameservers 192.168.80.10 dns-search ulm.go-itservice.de slapd, phpldapadmin, ldaptools konfigurierenIn den Dateien/etc/ldap/slapd.confsuffix "o=go-itservice, c=de" rootdn "cn=admin, o=go-itservice, c=de" rootpw PASSWD in der /etc/ldap/ldap.conf: BASE o=go-itservice,c=de HOST agena.ulm.go-itservice.de PORT 389 SIZELIMIT 4096Sizelimit muß wegen dem automatischen Import durch adressen2ldap(von goweb) auf einen Wert > Zeilenzahl deradressen.xlsDatei 
gesetzt werden!
in der/etc/phpldapadmin/config.php:$servers[$i]['name'] = 'agena'; $servers[$i]['host'] = '127.0.0.1'; $servers[$i]['base'] = 'o=go-itservice, c=de'; $servers[$i]['port'] = 389; $servers[$i]['auth_type'] = 'config'; $servers[$i]['login_dn'] = 'cn=admin, o=go-itservice, c=de'; $servers[$i]['login_pass'] = 'PASSWD';slapd und apache2 neu starten, voila! ntp-server konfigurierenin der/etc/ntp.conffolgende Zeile eintragen oder anpassen:
broadcast 192.168.80.255phpmyadmin konfigurierenWenn im Apache2 das sites-enabled/default gelöscht wurde (so wie es in der obigen Installation ist) ist zwar der phpldapadmin noch verfügbar, nicht aber der phpmyadmin. In dem Verzeichnis/etc/apache2/conf.dkönnen weitere Teile zurhttpd.confgefügt werden, 
das dort vorhandene phpldapadmin (ist ein Link auf/etc/phpldapadmin/apache.conf) sorgt 
nämlich dafür, daß der LDAPAdmin noch läuft. Also diese Datei kopieren, nachphpmyadmin.confumbenennen und in der Datei den Text phpldapadmin durch phpmyadmin ersetzen. apache2 neu Starten, geht.OpenVPNauf Client installieren (in dem Fall: wega:192.168.80.10), bei Nachfrage: TUN/TAP Device anlegen lassen!# cd /etc/openvpn/ # openvpn --genkey --secret 192.168.80.vpn.keydie Datei vpn.confanlegen:remote agena.go-itservice.com dev tun ifconfig 10.0.0.1 10.0.0.2 secret /etc/openvpn/192.168.80.vpn.key tun-mtu 1500 fragment 1500 mssfixStart mit: # openvpn --config /etc/openvpn/vpn.confKeyfile mit scpauf Server agena, kopieren, OpenVPN analog auf agena 
installieren. Da dort mehrere Clients existieren können, heißt die
Konfigurationsdatei:192.168.80.confStart auf agena:# openvpn --config /etc/openvpn/192.168.80.confJetzt müssen sich die Demons sehen ... Da zwischen wega und agena Firewall(s) sind, müssen dort "Löcher gebohrt" werden. usermin/webmin einrichtenUsermin und Webmin werden über je eine Datei gesteuert,/etc/webmin/miniserver.conf:Listen 8081 Port 8081 allow: 192.168.80.0 (zum Installieren)/etc/usermin/miniserver.conf Listen 8082 Port 8082allow: <Zeile löschen> # /etc/init.d/webmin restart # /etc/init.d/usermin restartWebmin aufrufen, als root anmelden und Usermin Module freischalten: available-Modules, Dort Mail Forwarding, Read Mail, Change Password, GnuPG Encryption freischalten. User können damit administrieren. restartdnachzustartende Prozesse in/etc/restartd.confeintragenUMBAU Server: hdc => hde wegen Compaq DS 320Bei dem Compaq Rechner hat die erste IDE Master Platte nichthdcsondernhdeRAID1 einrichtenPartitionstabelle von hdenachhdgkopieren und Partitionstyp
aufLinux raid autodetect(=FD) ändern, anschliessend Datenarray anlegen,
wobei die Partitionhde2noch in Ruhe gelassen wird, da noch Daten drauf sind, ist ja diehdc2von vorher!:# sfdisk -d /dev/hde | sed -e 's/=8[23]/=fd/g' | sfdisk /dev/hdg # mdadm --create /dev/md2 --level=1 --raid-devices=2 missing /dev/hdg2in /etc/mdadm/mdadm.confeintragen, damit es nach dem booten wieder zur Verfügung steht:DEVICE /dev/hde2 /dev/hdg2ID des md-Devices an Datei hängen, Filesystem Formatieren und Mounten und Daten kopieren: # mdadm --brief --detail --verbose /dev/md2 >> /etc/mdadm/mdadm.conf # mkfs.ext3 /dev/md2 # mount /dev/md2 /mnt # cd /home; find -depth -print | cpio -pdauV /mntDen Raidarray in /etc/fstabstatt/dev/hde2eintragen und neu booten.Falls alles glatt gegangen ist, jetzt hde2mit in den Array nehmen:# mdadm --add /dev/md2 /dev/hde2Die Synchronisation kann man unter /proc/mdstatbeobachten z.b. mitcat /proc/mdstat.
Abschliessend noch die/dev/hde2in/etc/mdadm/mdadm.confeintragen, 
statt der missing Partition.mdadm.confARRAY /dev/md2 ... devices=/dev/hdg2,/dev/hde2 Array Swap# mdadm --create /dev/md3 --level=1 --raid-devices=2 missing /dev/hdg3in /etc/mdadm/mdadm.confeintragen, damit es nach dem booten wieder zur Verfügung steht:DEVICE /dev/hde3 /dev/hdg3ID des md-Devices an Datei hängen: # mdadm --brief --detail --verbose /dev/md3 >> /etc/mdadm/mdadm.confFilesystem Formatieren und Mounten, aidarray in /etc/fstabstatt/dev/hde3eintragen und neu booten.# mkswap /dev/md3 # mdadm --add /dev/md2 /dev/hde2Falls alles glatt gegangen ist, hde3mit in den Array nehmen:ARRAY /dev/md3 ... devices=/dev/hdg3,/dev/hde3 Array SystemDa man davon Booten muß, braucht es das md und raid1 Kernelmodul schon beim Booten. md und raid1 in/etc/modulesund/etc/mkinitrd/moduleseintragen.
Jetzt wird ein neues initrd gebaut:# mkinitrd -o /boot/initrd.img-2.6.8-raid /lib/modules/2.6.8-3-686In /boot/grub/menu.lstmuß noch das sda1 durch md1 ersetzt werden und die alte durch die neue initrd ersetzt werden.
Dann den Array der Systemplatte anlegen und dabei hde1 noch in Ruhe lassen:# mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/hdg1in /etc/mdadm/mdadm.confeintragen, damit es nach dem booten wieder zur Verfügung steht:DEVICE /dev/hde1 /dev/hdg1ID des md-Devices an Datei hängen, Filesystem Formatieren und Mounten und Daten kopieren: # mdadm --brief --detail --verbose /dev/md1 >> /etc/mdadm/mdadm.conf # mkfs.ext3 /dev/md1 # mount /dev/md1 /mnt # cd /; find -depth -print | cpio -pdauV /mntstatt der letzten Zeile geht auch cd /; find . -xdev -print | cpio -dvpm /mntoder mitrsyncRaidarray in/etc/fstabstatt/dev/hde1eintragen und neu booten.Grub auf der zweiten Platte installierenWenn die erste Platte ausfällt, fällt auch der MBR aus und es kann nicht mehr gebootet werden. Auch zum Booten des Rechners falls die hde1 noch nicht im Verband ist, wird der Grub gebraucht.(???). Deshalb wird der Grub-Bootsektor auf die zweite Platte installiert werden. Beim Plattenaustausch muß das wiederholt werden.grub > device (hd0) /dev/hdg > root (hd0,0) > setup (hd0)Neu booten. Falls alles glatt gegangen ist, hde1 mit in den Array nehmen: # mdadm --add /dev/md1 /dev/hde1und die /etc/mdadm/mdadm.confanpassen (2.Device in der Array Zeile bei hdg1).ARRAY /dev/md1 ... devices=/dev/hdg1,/dev/hde1Wenn der Rechner dann von der md1bootet nochmal ein frischesinitrdbauen und/boot/grub/menu.lstkontrollieren
 und gegebenenfalls anpassen:# mkinitrd -o /boot/initrd.img-2.6.8-raid /lib/modules/2.6.8-3-686Neu booten, jetz sollten alle Arrays korrekt laufen... Paketfilter mit iptablesDamit der Rechner etwas besser geü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 fwstartnicht versehentlich dauerhaft
selber aussperrt, wird die Firewallregel alle 24h für 5 Minuten durch einen 
Defaultfiltersatz ersetzt.Server kommt zum Providerumstellen der IP Adresse auf den Provider Hetznerin /etc/network/interfaces |