XAMS Install HowTo

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
bfal
Posts: 68
Joined: 2002-07-07 15:12
Location: Lüneburg

XAMS Install HowTo

Post by bfal » 2003-04-07 15:19

XAMS Installation auf einem Debian 3.0 System (http://www.xams.org)
===========================================================
Diese Anleitung basiert auf der Original Installationsanleitung
für Debian, welche im Paket enthalten ist.
Ich kann nicht dafür garantiere das es so bei allen funktioniert.
Bei mir klappte aber alles ;-)

Und jetzt viel Spaß beim ausprobieren....



1. MySQL Server installieren (falls noch nicht installiert)
-----------------------------------------------------------

-> apt-get install mysql-server libmysqlclient10-dev
(Die Frage: Should MySQL start on boot? mit YES beantworten)
-> mysqladmin -u root password 'xxxx' (Root-Passwort ändern - xxxx durchs neue Root-Passwort ersetzen)

2. EXIM installieren
--------------------

-> dselect
- Select auswählen
- exim suchen und per H (großes H) auf Hold setzen.
- Deselect beenden (großes Q)
-> cd /usr/src
-> wget ftp://ftp.tin.org/pub/mail/exim/exim4/exim-4.14.tar.gz
-> tar xvfz exim-4.14.tar.gz
-> cd exim-4.14
-> cp src/EDITME Local/Makefile
-> mcedit Local/Makefile
Folgende Ã?nderungen durchführen:
Zeile 101 - BIN_DIRECTORY=/usr/local/exim/bin
Zeile 117 - CONFIGURE_FILE=/usr/local/exim/configure
Zeile 135 - EXIM_USER=mail
Zeile 225 - SUPPORT_MAILDIR=yes
Zeile 242 - LOOKUP_CDB=yes
Zeile 246 - LOOKUP_MYSQL=yes
Zeile 280 - LOOKUP_INCLUDE=-I /usr/include/mysql
Zeile 281 - LOOKUP_LIBS=-L/usr/lib -lmysqlclient
Zeile 292 - # EXIM_MONITOR=eximon.bin (Wird normalerweise nicht benötigt)
Zeile 314 - AUTH_PLAINTEXT=yes
Zeile 419 - LOG_FILE_PATH=/var/log/exim/%slog
Zeile 453 - COMPRESS_COMMAND=/bin/gzip
Zeile 461 - ZCAT_COMMAND=/bin/zcat
Zeile 571 - CHOWN_COMMAND=/bin/chown
Zeile 572 - CHGRP_COMMAND=/bin/chgrp
Zeile 755 - PID_FILE_PATH=/var/run/exim/exim.pid
Zeile 788 - SUPPORT_MOVE_FROZEN_MESSAGES=yes

Für TLS Support müssen noch folgende Zeilen angepasst werden
Zeile 352 - SUPPORT_TLS=yes
Zeile 355 - TLS_LIBS=-lssl -lcrypto

Datei speichern und Editor beenden.

Anmerkung: Diese Einstellungen sind aus der Original-Installationsanleitung
übernommen wurden.

-> apt-get install libdb2-dev
-> apt-get install libssl-dev (Wird nur für TLS Support benötigt!!!)

Jetzt müssen wir das Paket kompilieren. Folgende Zeile installiert alle benötigten
Tools um das Paket zu bauen.
-> apt-get install make g++

-> make
-> make install
-> cd /usr/sbin
-> mv exim exim.old
-> ln -s ../local/exim/bin/exim
-> cd /etc/exim
-> mv exim.conf exim.old
-> ln -s ../../usr/local/exim/configure exim.conf


3. Courier
----------
-> apt-get install courier-imap courier-imap-ssl courier-pop courier-pop-ssl
-> /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/courier-authdaemon stop
-> chmod a-x /etc/init.d/courier-authdaemon

3. XAMS 0.0.12
------------
-> cd /usr/src
-> wget http://easynews.dl.sourceforge.net/sour ... .12.tar.gz
-> wget http://easynews.dl.sourceforge.net/sour ... man.tar.gz
-> tar xvfz xams-0.0.12.tar.gz
-> tar xvfz xams-0.0.12-german.tar.gz
-> apt-get install libdigest-md5-perl libunix-syslog-perl libconfig-inifiles-perl libcdb-file-perl
-> cd xams-0.0.12
-> mysqladmin -u root -p create xams (Jetzt wird das zuvor festgelegte Root-Passwort abgefragt)
-> mysql -u root -p xams < database/mysql/xams-struct.sql
-> mcedit database/mysql/xams.sql
Zeile 6 - Raute entfernen
-> mysql -u root -p xams < database/mysql/xams.sql
(Xams Gruppe und User anlegen)
-> groupadd xams
-> useradd -g xams -d /dev/null -s /bin/false xams

4. Apache
---------
(In dieser Konfiguration wird ein eigener Apache-Process für XAMS
verwendet. Dies entpricht der Empfehlung der Programmierer da es mögliche
Sicherheitslücken vorbeugt)

-> apt-get install apache php4 php4-gd2 php4-mysql php4-xslt
-> cp ./docs/install/debian/files/httpd-xams.conf /etc/apache
-> cp ./docs/install/debian/files/apache-xams /etc/init.d
-> cd /etc/rc0.d
-> ln ../init.d/apache-xams K20apache-xams
-> cp -d K20apache-xams /etc/rc1.d
-> cp -d K20apache-xams /etc/rc6.d
-> cp -d K20apache-xams /etc/rc2.d/S91apache-xams
-> cp -d K20apache-xams /etc/rc3.d/S91apache-xams
-> cp -d K20apache-xams /etc/rc4.d/S91apache-xams
-> cp -d K20apache-xams /etc/rc5.d/S91apache-xams
-> mcedit /etc/php4/apache/php.ini
- Kontrollieren ob folgende Zeilen zu finden sind:
- extension=mysql.so
- extension=gd.so
- extension=xslt.so
und gegebenfalls hinzufügen.
-> /etc/init.d/apache-xams start

5. XAMS (Teil 2) Kopieren des PHP-Interface
-------------------------------------------

-> cp -R gui /var/www/xams
-> chown xams.xams -R /var/www/xams
-> find /var/www/xams -type d -exec chmod 2750 {} ;
-> find /var/www/xams -type f -exec chmod 0640 {} ;
-> chmod 2770 /var/www/xams/cache /var/www/xams/skins/*/img/{buttons,tabs}
-> mkdir -p /etc/xams /etc/xams/autoreply /var/run/xams /usr/local/xams/sbin
-> chown mail.xams /etc/xams
-> chown mail.mail /etc/xams/autoreply
-> chown mail.xams /var/run/xams
-> chgrp mail /var/run/courier/authdaemon
-> cp config/init.d/authdaemon.sh /etc/init.d
-> cp config/xams/xams.conf /etc/xams
-> cp config/exim4/exim-global.conf config/exim4/exim-mysql.conf config/exim4/exim-routers.conf config/exim4/exim-transports.conf /etc/xams
-> touch /etc/xams/localdomains.cdb
-> chown mail.xams /etc/xams/xams.conf
-> chown root.mail /etc/xams/exim-*.conf
-> chmod 640 /etc/xams/*.conf
-> mcedit /etc/xams/xams.conf
- Folge Werte unter [GUI] anpassen:
DBUser = root
DBPass = xxxx (Das vorher für den User Root definierte Passwort)
-> cp scripts/Xmod.pm /usr/lib/perl5/
-> cp scripts/xmu.pl scripts/authdaemon.pl /usr/local/xams/sbin
-> chown mail.xams /usr/local/xams/sbin/xmu.pl
-> chmod 644 /usr/lib/perl5/Xmod.pm

6. EXIM (Teil 2)
---------------

-> cp config/exim4/exim-mdir-mysql.conf /usr/local/exim/configure
-> mcedit /etc/xams/exim-mysql.conf
Konfiguration nach folgendem Schema anpassen:
"hide mysql_servers = localhost/xams/root/xxxx"
^ ^ ^ ^
| | | |- Mysql-Passwort
| | |- Mysql-User
| |- Mysql-Datenbank
|- Mysql-Host
-> mv /etc/init.d/courier-authdaemon /etc/init.d/courier-authdaemon.old
-> ln -s /etc/init.d/authdaemon.sh /etc/init.d/courier-authdaemon
-> /etc/init.d/authdaemon.sh start
-> /etc/init.d/courier-imap start
-> /etc/init.d/courier-imap-ssl start
-> /etc/init.d/courier-pop start
-> /etc/init.d/courier-pop-ssl start

7. PEAR installation
--------------------
(Da die Pear-Version von Debian 3.0 zu alt ist, müssen wir Pear per Hand installieren)

-> apt-get install php4-cgi
-> lynx -source http://go-pear.org | php4
Hier in Kurzform die von mir vorgenommene
Auswahl ;-)
-> ENTER
-> ENTER
-> ENTER
-> Y
-> ENTER

8. BIND Nameserver integration
------------------------------
-> apt-get install bind9
-> touch /etc/bind/xams-zones.conf
-> mkdir /etc/bind/xams-zones
-> mcedit /etc/bind/named.conf
- Am Ende der Datei folgende Zeile einfügen:
include "/etc/bind/xams-zones.conf";
(Leerzeile am Ende nicht vergessen !)
-> rndc reconfig (oder ndc reconfig bei Bind8)
-> cp config/bind/{named,zone}_template /etc/xams
-> /usr/local/xams/sbin/xmu.pl --update-bind

9. CRONJOB
----------

-> mcedit /etc/crontab
Am Ende der Datei folgende Zeile einfügen:
*/5 * * * * root /usr/local/xams/sbin/xmu.pl --update-bind --homedirs


*** --> FERTIG <-- ***

Jetzt ist Xams unter http://IP-DES-RECHNERS:81 zu erreichen.
Einloggen mit Usertyp=Administrator, Login=demo und Passwort=demo
Unter den Einstellungen kann die Sprache jetzt auch auf Deutsch geändert werden,
und unter XAMS-Konten kann der Admin-User (demo) geändert werden.

Gruß
Björn
Last edited by bfal on 2003-04-14 10:44, edited 1 time in total.

davidk
Posts: 28
Joined: 2003-03-14 14:01

Re: XAMS Install HowTo

Post by davidk » 2003-04-09 01:21

Herr Admin könnten Sie das mal bitte ins Forum Admin-Tools verschieben -> da lesen es bestimmt mehr -> da wir sowas auch gesucht !!!!!
Und meine Antwort löschen !!!

Anonymous

Re: XAMS Install HowTo

Post by Anonymous » 2003-04-09 22:37

Habe ein Problem in Schritt 8.

---snip---
workstation:/usr/src/sw/serv/xams-0.0.12# /usr/local/xams/sbin/xmu.pl --update-bind root
DBI->connect(xams:localhost) failed: Access denied for user: 'user@localhost' (Using password: YES) at /usr/local/xams/sbin/xmu.pl line 227
Can't connect to database! at /usr/local/xams/sbin/xmu.pl line 227.
---snap---

Da ich Kein Perl-Künstler bin, weiß ich leider nciht,
wo ich da ansetzen soll, vielleicht ließt hier noch jemand
mit und kann mir weiterhelfen.

MfG Oliver

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: XAMS Install HowTo

Post by captaincrunch » 2003-04-10 06:21

Dafür muss man eigentlich kein Perl-Künstler sein, die Fehlermeldung liegt im Klartext vor dir :
DBI->connect(xams:localhost) failed: Access denied for user: 'user@localhost' (Using password: YES) at /usr/local/xams/sbin/xmu.pl line 227
Can't connect to database! at /usr/local/xams/sbin/xmu.pl line 227.
Anscheinend ist für den "user@localhost" das falsche Passwort eingetragen, es gibt ihn nicht, oder er hat nicht die korrekten Rechte ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

bfal
Posts: 68
Joined: 2002-07-07 15:12
Location: Lüneburg

Re: XAMS Install HowTo

Post by bfal » 2003-04-10 08:12

Hei,

dann stimmen die Daten in der /etc/xams/exim-mysql.conf.

Siehe Punkt 6. :
-> mcedit /etc/xams/exim-mysql.conf
Konfiguration nach folgendem Schema anpassen:
"hide mysql_servers = localhost/xams/root/xxxx"
(Mysql-Host/Mysql-Datenbank/Mysql-User/Mysql-Passwort)
Gruß

Björn

moe
Posts: 5
Joined: 2003-03-15 22:00
Location: Potsdam

Re: XAMS Install HowTo

Post by moe » 2003-04-10 20:01

Hallo,

habe das Howto Schritt für Schritt befolgt und bin auch glatt durchgekommen. Jedoch nimmt mein Server weder Mails an, noch kann ich welche verschicken..
Wenn ich von einer beliebigen externen Mail-Adresse eine Mail an eine Adresse schicke, die auch eingerichtet ist, kommt da nirgens eine Mail an, ich bekomme aber auch keine Fehlermeldung zurück (Testmail ist 18h her). Die Verzeichnisse /var/mail/<domain>/<user>/* sind auch leer, Abruf per Pop3 oder Imap bringt demzufolge auch nix..
Das Einloggen per Pop3 klappt, aber ich kann nicht per smtp senden, leider bringt mir sylpheed und balsa keine ordentliche Fehlermeldung, nur Problem beim Senden :cry:
Woran könnten beide Probs liegen? Hab im Mailprogramm als Pop3 und SMTP Server meine Domain ohne Subdomain (NS vom Provider zeigt per Wildcard auf meinen Server), als Benutzer hab ich die komplette Adresse und als Password mein Password :-).
Der Server ist ein VD-Server, hatte auf die frische Grundinstallation XAMS installiert..

Gruss Maurice

bfal
Posts: 68
Joined: 2002-07-07 15:12
Location: Lüneburg

Re: XAMS Install HowTo

Post by bfal » 2003-04-11 08:21

Hei,

was sagen denn die Logfiles? (/var/log/mail* und /var/log/exim/*)
Das hört sich fast so an, als wenn die gar nicht bei deinem Mail-Server landen.
Die Domain ist auch unter Xams angelegt wurden?

mfg
Björn

moe
Posts: 5
Joined: 2003-03-15 22:00
Location: Potsdam

Re: XAMS Install HowTo

Post by moe » 2003-04-11 13:50

Die Logfiles /var/log/mail.info und *.log enthalten nur meine erfolgreichen Pop3 und Po3-ssl Logins, mail.err ist leer. Aber /var/log/exim/mainlog könnte den Fehler zeigen:

Code: Select all

2003-04-11 09:29:04 Start queue run: pid=4191
2003-04-11 09:29:04 End queue run: pid=4191
2003-04-11 09:30:21 193urV-00015c-5P Expansion of "Received: ${if def:sender_rcvhost {from $sender_rcvhostnt}{${if def:sender_ident {from $sender_ident }}${if def:sender_helo_name {(helo=$sender_helo_name)nt}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)nt}}(Exim $version_number and XAMS 0.0.12)ntid $message_id${if def:received_for {ntfor $received_for}}" (received_header_text) failed: unknown variable "tls_cipher" after "def:"
2003-04-11 09:44:04 Start queue run: pid=4196
2003-04-11 09:44:04 End queue run: pid=4196
Warum hab ich das vorher nicht gesehen?? Das Start und End queue run kommt übrigens fast regelmässig alle 4 Minuten, ist das normal?
Die Domain hab ich in xams angelegt, allerdings keinen DNS-Eintrag erstellt, da ja der Provider beide NS verwaltet, ist das richtig?

Gruss Maurice

bfal
Posts: 68
Joined: 2002-07-07 15:12
Location: Lüneburg

Re: XAMS Install HowTo

Post by bfal » 2003-04-11 21:43

Hei,

eigentlich sollte das gehen, wenn du unter xams eine site erstellst und dann ein Mail-Account anlegst.
Hast du Xams mit TLS installiert? Oder hast du es weggelassen?

Wirklich eine Idee habe ich jedoch nicht. Vielleicht mal per Phpmyadmin in die Datenbank schauen, ob da irgendwo "murks" eingetragen wurde.

Ich muß noch mal bei meiner Installation schauen. Melde mich dann nochmal.

mfg
Björn

moe
Posts: 5
Joined: 2003-03-15 22:00
Location: Potsdam

Re: XAMS Install HowTo

Post by moe » 2003-04-11 23:54

Habs mit TLS installiert, unter xams hab ich (denk ich mal) alles richtig eingestellt, soviel falsch machen kann man ja da eigentlich nicht.
Hab jetzt aber nach 48h ne Fehlermeldung von der Mail, die ich an meine in xams eingerichtete Adresse geschickt habe bekommen. Also nimmt mein Server wohl keine Mails an, aber warum nicht? laut ps ax läuft exim..

Gruss Maurice

bfal
Posts: 68
Joined: 2002-07-07 15:12
Location: Lüneburg

Re: XAMS Install HowTo

Post by bfal » 2003-04-14 10:50

Hei,

habe das HowTo nocheinmal überarbeitet, da ich doch noch ein paar Kleinigkeiten Vergessen habe... Sorry ;-)

Also jetzt nochmal nachträglich die Ã?nderungen.

-> chown mail.xams /etc/xams/xams.conf
-> chown mail.xams /usr/local/xams/sbin/xmu.pl
-> chmod 644 /usr/lib/perl5/Xmod.pm
-> mcedit /etc/crontab
Am Ende der Datei folgende Zeile einfügen:
*/5 * * * * root /usr/local/xams/sbin/xmu.pl --update-bind --homedirs

(Durch das -homedirs am ende des Cronjobs, werden die Directory für die MailAblage erzeugt.

Jetzt sollte es aber auch funzen....

Gruß

Björn