Insgesamt sind 4 Besucher online: 1 registrierter, 0 unsichtbare und 3 Gäste Der Besucherrekord liegt bei 226 Besuchern, die am 8. Jul 2012, 14:25 gleichzeitig online waren.
Mitglieder: Google [Bot]
basierend auf den aktiven Besuchern der letzten 5 Minuten
Geburtstage
Heute hat kein Mitglied Geburtstag
Geburtstage in den nächsten 3 Tagen: ExhighilM (40)
Kalender
 |
Mai 2013 |
 |
|
HOWTOs zum c't Server
Moderator: Moderatoren Team
von lucifer » 1. Feb 2006, 19:36
Hallo zusammen!
Folgendes will ich erreichen:
Einen Jabber 2.x Server mit MySQL-Anbindung zur Authetifizierung und Datenspeicherung. Dazu kommt bald noch die SSL-Unterstützung.
Ich gehe von einer "frischen" UML aus. Es sollte aber auch überall sonst funktionieren.
User and Gruppe
- Code: Alles auswählen
groupadd jabber useradd -g jabber jabber PID-Verzeichnis- Code: Alles auswählen
mkdir -p /usr/local/var/jabberd/pid/ chown -R jabber:jabber /usr/local/var/jabberd/pid/ Log-Verzeichnis- Code: Alles auswählen
mkdir -p /usr/local/var/jabberd/log/ chown -R jabber:jabber /usr/local/var/jabberd/log Pakete installieren- Code: Alles auswählen
apt-get install openssl libssl0.9.7 libssl-dev libidn11 libidn11-dev mysql-common-4.1 mysql-server-4.1 mysql-client-4.1 libmysqlclient14-dev build-essential Jabberd2 herunterladen- Code: Alles auswählen
wget http://files.jabberstudio.org/jabberd2/jabberd-2.0s10.tar.gz
(aktuelle Versionen unter: http://jabberstudio.org/projects/jabberd2/releases/) Jabberd2 entpacken- Code: Alles auswählen
tar -xzf jabberd-2.0s10.tar.gz Jabberd2 konfigurieren und installieren- Code: Alles auswählen
cd jabberd-2.0s10 ./configure --enable-mysql --enable-ssl --enable-idn make make install
Bei Fehlern während des Aufrufs von configure siehe Jabber FAQDateirechte neu setzen und Symlink setzen, damit wir "halbwegs" Debian-konform bleiben- Code: Alles auswählen
chown -R root:jabber /usr/local/etc/jabberd/* chmod -R 640 /usr/local/etc/jabberd/* ln -s /usr/local/etc/jabberd/ /etc/jabberd Konfiguration des HostnamensIn der Datei "sm.xml" Zeile 7 anpassen (dort steht "localhost") - Code: Alles auswählen
<id>jabber.zuhause.xx</id>
In der Datei "c2s.xml" Zeile 77 anpassen (dort steht "localhost") - Code: Alles auswählen
<id>jabber.zuhause.xx</id> MySQL-KonfigurationIn dem Verzeichnis, in das Ihr die Sourcen entpackt habt, findet Ihr ein Verzeichnis "tools". Wechselt in dieses Verzeichnis. MySQL-Konsole starten: (wenn Ihr sowieso als root angemeldet seid, lasst die Parameter weg, es sei denn Ihr habt ein Passwort gesetzt) - Code: Alles auswählen
mysql -u root -p
Import der Datenbank-Struktur: - Code: Alles auswählen
mysql>\. db-setup.mysql
Benutzer anlegen: - Code: Alles auswählen
GRANT select,insert,delete,update ON jabberd2.* to jabberd2@localhost IDENTIFIED by '<Dein Passwort>';
Symlink anlegen, da Jabber immer einen Socket im Verzeichnis "/tmp" erwartet...  - Code: Alles auswählen
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock Anpassen der Jabber-Konfiguration an MySQL (Storage)In der Datei "sm.xml" die Zeile 88 anpassen (Passwort von gerade) - Code: Alles auswählen
<pass>secret</pass> Anpassen der Jabber-Konfiguration an MySQL (Auth)In der Datei "c2s.xml" die Zeilen 278 anpassen - Code: Alles auswählen
<pass>secret</pass> Port-Weiterleitungen:Ihr werdet sicherlich 5222 brauchen. - Code: Alles auswählen
Port 5222 — non-SSL client communication Port 5223 — SSL client communication Port 5269 — server to server communication SSL-Unterstützung einschaltenBei der Datei "c2s.xml" in den Zeilen 91 und 110 den Kommentar entfernen. (<pemfile> und <ssl-port>) Zertifikat erzeugenScripte: "cert.cnf": - Code: Alles auswählen
RANDFILE = ./mailcert.rand
[ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type prompt = no
[ req_dn ] C=Land ST=Bundesland L=Stadt O=Organisation OU=Organisations-Einheit (Abteilung) CN=jabber.zuhause.xx emailAddress=jabberadmin@zuhause.xx
[ cert_type ] nsCertType = server
"mk_cert.sh": - Code: Alles auswählen
#! /bin/sh
test -x /usr/bin/openssl || exit 0
if test -f ./cert.pem then echo "CAUTION:" echo "=> cert.pem already exists." echo "" echo " Please delete this file before to be aware" echo " of what you doing with this script... ;-)" echo "" exit 1 fi
cp /dev/null ./cert.pem chmod 600 ./cert.pem chown jabber ./cert.pem
cleanup() { rm -f ./cert.pem rm -f ./cert.rand exit 1 }
cd `pwd`
dd if=/dev/urandom of=./cert.rand count=1 2>/dev/null
/usr/bin/openssl req -new -x509 -days 365 -nodes \ -config ./cert.cnf -out ./cert.pem -keyout ./cert.pem || cleanup
/usr/bin/openssl gendh -rand ./cert.rand 512 >> ./cert.pem || cleanup
/usr/bin/openssl x509 -subject -dates -fingerprint -noout -in ./cert.pem || cleanup
rm -f ./cert.rand
- Code: Alles auswählen
./chmod 700 mk_cert.sh ./mk_cert.sh cp -a ./cert.pem /usr/local/etc/jabberd/server.pem
Testen- Code: Alles auswählen
su jabber -c "/usr/local/bin/jabberd" &
Und versuchen eine Verbindung aufzubauen... StartscriptIst zwar nicht die "perfekte" Lösung, aber ich habe ausser dieser keine gefunden... - Code: Alles auswählen
#! /bin/sh set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="jabber daemon" NAME=jabberd USER=jabber DAEMON=/usr/local/bin/$NAME SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed. test -x $DAEMON || exit 0
do_start ( ) { su $USER -c "$DAEMON" & } do_stop ( ) { for MYPID in `pgrep -u $USER`; do kill $MYPID >/dev/null 2>&1 done }
case "$1" in start) echo -n "Starting $DESC: $NAME" do_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" do_stop echo "." ;; restart|force-reload) echo -n "Restarting $DESC: $NAME" do_stop sleep 5 do_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac
exit 0
Fertig! Viel Spass...
Gruß
Jens
Quellen: - Startseite und Links: http://www.jabberdoc.org/FrontPage - Installationsguide: http://www.jabberdoc.org/AdminGuide
Zuletzt geändert von lucifer am 5. Mai 2006, 11:50, insgesamt 4-mal geändert.
Gigabyte M61P-S3, AMD X2 BE-2350, 2GB RAM, 3xGBit, AVM, HFC, 2x DVB-T, ctsrv2, 500GB SATA, 400GB ATA, DomUs:
endian(2.2beta3); Mail (postfix, gld...); www (Apache2, php...); mld; mysql; comm (TSS2, Jabber); server (samba, dns, TwonkeyVision...); In Vorbereitung: ISDN/asterisk und VDR.
ocfs2 wird mit eigenem Subnetz zwischen den DomUs www, mld und server benutzt.
Hier ist die Kristallkugel...
-
lucifer
- Moderator

-
- Beiträge: 979
- Registriert: 27. Aug 2005, 17:27
- Wohnort: Waltrop
-
von lucifer » 2. Feb 2006, 12:16
Hallo zusammen,
habe gerade das Startscript nochmals geändert, da ein restart nicht funkionierte. Und ich habe den SSL-Teil fertiggestellt...
Gruß
Jens
Gigabyte M61P-S3, AMD X2 BE-2350, 2GB RAM, 3xGBit, AVM, HFC, 2x DVB-T, ctsrv2, 500GB SATA, 400GB ATA, DomUs:
endian(2.2beta3); Mail (postfix, gld...); www (Apache2, php...); mld; mysql; comm (TSS2, Jabber); server (samba, dns, TwonkeyVision...); In Vorbereitung: ISDN/asterisk und VDR.
ocfs2 wird mit eigenem Subnetz zwischen den DomUs www, mld und server benutzt.
Hier ist die Kristallkugel...
-
lucifer
- Moderator

-
- Beiträge: 979
- Registriert: 27. Aug 2005, 17:27
- Wohnort: Waltrop
-
von lucifer » 23. Feb 2006, 18:49
Hi,
noch ein Nachtrag:
hatte vergessen zu erwähnen, dass man das "Paket" build-essential ziehen sollte...  Ohne das geht nix.
Gruß
Jens
Gigabyte M61P-S3, AMD X2 BE-2350, 2GB RAM, 3xGBit, AVM, HFC, 2x DVB-T, ctsrv2, 500GB SATA, 400GB ATA, DomUs:
endian(2.2beta3); Mail (postfix, gld...); www (Apache2, php...); mld; mysql; comm (TSS2, Jabber); server (samba, dns, TwonkeyVision...); In Vorbereitung: ISDN/asterisk und VDR.
ocfs2 wird mit eigenem Subnetz zwischen den DomUs www, mld und server benutzt.
Hier ist die Kristallkugel...
-
lucifer
- Moderator

-
- Beiträge: 979
- Registriert: 27. Aug 2005, 17:27
- Wohnort: Waltrop
-
von lucifer » 5. Mai 2006, 11:52
Schon wieder nur ich...
Habe die URLs angepasst, so dass die neuen Seiten (Guide und FAQ) passen...
Die neue Version des Servers selbst müsst Ihr euch immer noch selbst raussuchen... (sonst bin ich alle paar Tage dran)
Nur zur Info:
Man braucht nicht unbedingt den MySQL-Server in der selben UML...
Dann braucht man nur den paasenden mysql-client.
Gruß
Jens
Gigabyte M61P-S3, AMD X2 BE-2350, 2GB RAM, 3xGBit, AVM, HFC, 2x DVB-T, ctsrv2, 500GB SATA, 400GB ATA, DomUs:
endian(2.2beta3); Mail (postfix, gld...); www (Apache2, php...); mld; mysql; comm (TSS2, Jabber); server (samba, dns, TwonkeyVision...); In Vorbereitung: ISDN/asterisk und VDR.
ocfs2 wird mit eigenem Subnetz zwischen den DomUs www, mld und server benutzt.
Hier ist die Kristallkugel...
-
lucifer
- Moderator

-
- Beiträge: 979
- Registriert: 27. Aug 2005, 17:27
- Wohnort: Waltrop
-
von ChristianKnorr » 2. Jan 2008, 16:46
Hi Jens.
Danke schonmal vorab für das HowTo, obwohl ich noch gar nicht fertig bin  .
Da die Anleitung mittlerweile leicht veraltet ist, schreibe ich mal die Änderungen dazu:
lucifer hat geschrieben:- Code: Alles auswählen
apt-get install openssl libssl0.9.7 libssl-dev libidn11 libidn11-dev mysql-common-4.1 mysql-server-4.1 mysql-client-4.1 libmysqlclient14-dev build-essential
Die aktuelle Befehlszeile zum Installieren lautet z.B.: - Code: Alles auswählen
aptitude install openssl libssl0.9.7 libssl-dev libidn11 libidn11-dev mysql-common mysql-server mysql-client libmysqlclient15-dev build-essential
lucifer hat geschrieben:Konfiguration des HostnamensIn der Datei "sm.xml" Zeile 7 anpassen (dort steht "localhost") - Code: Alles auswählen
<id>jabber.zuhause.xx</id>
In der Datei "c2s.xml" Zeile 77 anpassen (dort steht "localhost") - Code: Alles auswählen
<id>jabber.zuhause.xx</id>
Die Dateien sind in /etc/jabberd zu finden. lucifer hat geschrieben:Benutzer anlegen: - Code: Alles auswählen
GRANT select,insert,delete,update ON jabberd2.* to jabberd2@localhost IDENTIFIED by '<Dein Passwort>';
Danach mit 'quit' die mysql-Konsole verlassen. lucifer hat geschrieben:Anpassen der Jabber-Konfiguration an MySQL (Storage)In der Datei "sm.xml" die Zeile 88 anpassen (Passwort von gerade) - Code: Alles auswählen
<pass>secret</pass>
...ist mittlerweile Zeile 89 lucifer hat geschrieben:Anpassen der Jabber-Konfiguration an MySQL (Auth)In der Datei "c2s.xml" die Zeilen 278 anpassen - Code: Alles auswählen
<pass>secret</pass>
... Zeile 287 lucifer hat geschrieben:SSL-Unterstützung einschalten Bei der Datei "c2s.xml" in den Zeilen 91 und 110 den Kommentar entfernen. (<pemfile> und <ssl-port>)
Aus - Code: Alles auswählen
<!-- <pemfile>...</pemfile> -->
wird - Code: Alles auswählen
<pemfile>...</pemfile>
Analog zu <ssl-port>. lucifer hat geschrieben:Zertifikat erzeugen Scripte: "cert.cnf": und "mk_cert.sh":
Diese müssen erstellt werden. Zuerst dachte ich, die seien irgendwo zu finden. Dann gibt's ein Problem: Das Script mk_cert.sh löscht cert.pem, welches anschließend kopiert werden soll. Deshalb habe ich mk_cert.sh folgender maßen geändert: - Code: Alles auswählen
cleanup() { #rm -f ./cert.pem rm -f ./cert.rand exit 1 }
Man beachte die #Raute. lucifer hat geschrieben:Testen- Code: Alles auswählen
su jabber -c "/usr/local/bin/jabberd" &
Und versuchen eine Verbindung aufzubauen...
Bei mir kam die Fehlermeldung: - Code: Alles auswählen
ERROR: c2s died. Shutting down server.
Die darauf zurück zu führen war, dass mindestens einer der Ports 5269, 5222 und 5223 nicht richtig auf den jabber geleitet wurde (Firewall-Arbeit). Wie beende ich den jabber am elegantesten? Ich habe das recht trivial so gelöst: - Code: Alles auswählen
jabber:/etc/jabberd# kill `pgrep -U jabber`
lucifer hat geschrieben:Startscript Ist zwar nicht die "perfekte" Lösung, aber ich habe ausser dieser keine gefunden...
Das dann in /etc/init.d speichern und mit chmod 755 ausführend machen. Dann kann man es mit Webmin auch grafisch starten, stoppen und beim Rechnerstart automatisch starten lassen. lucifer hat geschrieben:Fertig! Viel Spass...  Gruß Jens
Tja, leider hat es trotz der guten Anleitung bei mir nicht funktioniert, aber der Fehler wird wohl irgendwo bei mir im Netzwerk zu finden sein (DNS?).
Der jabber scheint zwar zu laufen, aber ich kann mich nicht mit kopete registrieren.
MfG, Chris.....
c't Debian Server 2.1
-
ChristianKnorr
- Starter

-
- Beiträge: 5
- Registriert: 1. Jan 2008, 14:30
-
von lucifer » 4. Jan 2008, 20:49
Hallo Chris,
der jabberd schreibt log-Infos ins syslog...
Evtl. findest Du dort einen Hinweis auf den Fehler...
Gruß
Jens
Gigabyte M61P-S3, AMD X2 BE-2350, 2GB RAM, 3xGBit, AVM, HFC, 2x DVB-T, ctsrv2, 500GB SATA, 400GB ATA, DomUs:
endian(2.2beta3); Mail (postfix, gld...); www (Apache2, php...); mld; mysql; comm (TSS2, Jabber); server (samba, dns, TwonkeyVision...); In Vorbereitung: ISDN/asterisk und VDR.
ocfs2 wird mit eigenem Subnetz zwischen den DomUs www, mld und server benutzt.
Hier ist die Kristallkugel...
-
lucifer
- Moderator

-
- Beiträge: 979
- Registriert: 27. Aug 2005, 17:27
- Wohnort: Waltrop
-
Zurück zu HOWTOs
Wer ist online?
Mitglieder: Google [Bot]
|