Die Aufgabe besteht darin, einen Unternehmensjabber-Server im lokalen Netzwerk zu installieren und die Benutzerkorrespondenz in mysql über das mod_logdb-Modul und alles andere in der eingebauten mnesia-Datenbank zu speichern.
Debian GNU/Linux (Etch, Lenny, Squeeze, Wheezy) oder Ubuntu LTS Server
Ich installiere in Debian Wheezy, aber der Unterschied zu Debian Lenny, Squeeze ist nur in der Patch-Version (angegeben in den Anweisungen)
Angenommen, der Server ist gemäß den Anweisungen installiert:Installation des Debian Wheezy Servers mit detaillierten Screenshots
Gegründet Hosting-Panel für die Bequemlichkeit des Hinzufügens einer Domain, Datenbank, Website gemäß den Anweisungen: Installieren und Konfigurieren des Hosting-Panels ISPConfig 3 in Debian
Angenommen, Sie haben noch kein Repository hinzugefügt, also fügen wir Ihrer Distribution einen Befehl hinzu:
Für Debian Lenny:
echo 'deb http://archive.debian.org/debian/ lenny main contrib non-freedeb-src http://archive.debian.org/debian/ lenny mainFür Debian Squeeze:
echo 'deb http://mirror.yandex.ru/debian/ squeeze main contrib non-free
deb-src http://mirror.yandex.ru/debian/ squeeze main
' > /etc/apt/sources.list
Für Debian Wheezy:
echo 'deb http://mirror.yandex.ru/debian/ wheezy main contrib non-free
deb-src http://mirror.yandex.ru/debian/ wheezy main
' > /etc/apt/sources.list
!!! Wenn Sie eine Ejabberd-Version mit Lenny auf Squeeze setzen müssen, fügen Sie das Lenny-Repository hinzu, indem Sie dem Befehl folgen:
echo 'deb http://archive.debian.org/debian/ lenny main contrib non-freedeb-src http://archive.debian.org/debian/ lenny mainInstallieren Sie die notwendigen Pakete, um Quellcode für alle Debian-Versionen zu kompilieren:
aptitude install -y build-essential fakeroot subversion erlang
Lassen Sie uns einen Ordner erstellen. /usr/src/ejabberd Und dann gehen wir zum Ordner, in dem wir Ejabberd bauen.
mkdir /usr/src/ejabberd cd /usr/src/ejabberd
Als nächstes laden Sie die Quelle aus dem offiziellen Repository herunter:
apt-get source ejabberd
! Wenn Sie die Squeeze-Version von ejabberd c Lenny herunterladen müssen, folgen Sie dem Befehl:
apt-get source ejabberd -t lenny
Wir prüfen, was wir bekommen haben.
ls
Die Teamausgabe für Debian Wheezy (andere Versionen von ejabberd werden für andere verfügbar sein):
ejabberd-2.1.10 ejabberd_2.1.10-4+deb7u1.diff.gz ejabberd_2.1.10-4+deb7u1.dsc ejabberd_2.1.10.orig.tar.gz
Gehen Sie zum ausgepackten Ordner, um ein Paket für Wheezy zusammenzustellen:
cd ejabberd-2.1.10/
Gehen Sie zum ausgepackten Ordner, um ein Paket für Squeeze zusammenzustellen:
cd ejabberd-2.1.5/
Gehen Sie zum ausgepackten Ordner, um ein Paket für Lenny zusammenzustellen:
cd ejabberd-2.0.1/src
Pumppflaster.
Patch und Treiber für mysql sind auf Website
Für Debian Lenny müssen Sie im ejabberd 2.0.1-Repository 2 mod_Logdb-Patches patchen, und der Patch, der anstelle des Logins hinzufügt, zeigt den Inhalt des Spitznamens an, wenn er ausgefüllt ist, z. B. Iwanow-Login und Ivanovs Nick - zeigt den Spitznamen für die Anzeige auf dem Bildschirm an:
Laden Sie den mod_logdb-Patch für Debian Lenny von der offiziellen Website herunter und Patch:
wget http://softnastroy.com/downloads/ejabberd/patch-src-mod_logdb-2.0.5.diff patch -p0 < patch-mod_logdb-2.0.5.diff
Laden Sie den Patch zur Änderung des Logins in Nickname von meiner Website herunter, nur für ejabberd 2.0.1 und 2.0.5 (Lenny), da ich die Website des Autors nicht gefunden habe:
cd .. wget http://softnastroy.com/downloads/ejabberd/mod_shared-name.diff patch -p0 < mod_shared-name.diff
!!! Wenn Sie eine Version installieren müssen Ejabberd 2.0.5Folgen Sie den Befehlen, die die Quelle herunterladen und entpacken, und wenden Sie dann Patches wie oben an:
wget http://softnastroy.com/downloads/ejabberd/ejabberd_2.0.5-1.1.dsc wget http://softnastroy.com/downloads/ejabberd/ejabberd_2.0.5.orig.tar.gz wget http://softnastroy.com/downloads/ejabberd/ejabberd_2.0.5-1.1.diff.gz dpkg-source -x ejabberd_2.0.5*.dsc cd ejabberd-2.0.5/src/
Laden Sie den Patch herunter. mod_logdb für Debian Squeeze (ejabberd 2.1.5) von der offiziellen Website:
wget http://www.dp.uz.gov.ua/o.palij/mod_logdb/patch-mod_logdb-2.1.3.diff
Laden Sie den Patch herunter. mod_logdb für Debian Squeeze (ejabberd 2.1.5) von meiner Website:
wget http://softnastroy.com/downloads/ejabberd/patch-mod_logdb-2.1.3.diff
Laden Sie den Patch herunter. mod_logdb für Debian Wheezy (ejabberd 2.1.10) von der offiziellen Website:
wget http://www.dp.uz.gov.ua/o.palij/mod_logdb/patch-mod_logdb-2.1.10.diff
Laden Sie den Patch herunter. mod_logdb für Debian Wheezy (ejabberd 2.1.10) von meiner Website:
wget http://softnastroy.com/downloads/ejabberd/patch-mod_logdb-2.1.10.diff
Setzen Sie den mod_logdb-Patch mit dem Befehl ein:
patch -p0 < patch-mod_logdb*
Sollte dir so etwas geben:
patching file mod_logdb.erl patching file mod_logdb.hrl patching file mod_logdb_mnesia.erl patching file mod_logdb_mysql.erl patching file mod_logdb_mysql5.erl patching file mod_logdb_pgsql.erl patching file mod_logdb_mnesia_old.erl patching file gen_logdb.erl patching file mod_muc/mod_muc_room.erl Hunk #1 succeeded at 605 (offset -27 lines). patching file msgs/uk.msg Hunk #1 succeeded at 375 (offset 6 lines). patching file msgs/ru.msg Hunk #1 succeeded at 375 (offset 6 lines). patching file msgs/pl.msg Hunk #1 succeeded at 375 (offset 5 lines). patching file msgs/nl.msg Hunk #1 succeeded at 375 (offset 6 lines). patching file mod_roster.erl patching file mod_roster_odbc.erl
Installieren Sie die notwendigen Pakete für die Zusammenstellung per Befehl (wenn Sie Pakete aus einer anderen Distribution einfügen müssen, fügen Sie den Schlüssel -t lenny zum Befehl hinzu):
apt-get build-dep ejabberd
Gehen wir zur Datei. /usr/src/ejabberd/ejabberd-2.1.10/
cd /usr/src/ejabberd/ejabberd-2.1.10/
Wir beginnen mit der Zusammenstellung unseres gepatchten Ejabberd-Befehls:
fakeroot dpkg-buildpackage -us -uc
Hier ist eine Compilation und Assembler, und endet mit etwas wie diesem:
... dpkg-deb: сборка пакета «ejabberd» в файл «../ejabberd_2.1.5-3+squeeze1_i386.deb». dpkg-genchanges >../ejabberd_2.1.5-3+squeeze1_i386.changes dpkg-genchanges: в закачку не включён оригинальный исходный код dpkg-source --after-build ejabberd-2.1.5 dpkg-buildpackage: закачка только двоичных пакетов и diff (без пакетов оригинального исходного кода)
Gehen Sie mit dem Befehl in den Ordner nach oben:
cd ..
Und wir schauen uns an, was das Team macht. ls:
ls ejabberd-2.1.5 ejabberd_2.1.5-3+squeeze1.dsc ejabberd_2.1.5-3+squeeze1_i386.deb ejabberd_2.1.5-3+squeeze1.diff.gz ejabberd_2.1.5-3+squeeze1_i386.changes ejabberd_2.1.5.orig.tar.gz
Wir sehen unsere versammelten deb Datei ejabberd_2.1.5-3+squeeze1_i386.debDas werden wir installieren.
Vor der Installation ist es notwendig, den Domainnamen zu bestimmen, an dem unser Unternehmen arbeiten wird. ejabberd Server, Datei /etc/hosts Wir fügen eine Zeile hinzu:
192.168.0.1 jabber.local.ua jabber
wobei 192.168.0.1 IP-Adresse unseres Servers im lokalen Netzwerk
local.ua Zum Beispiel haben wir einen Domainnamen in unserem Netzwerk.
jabber.local.ua - der Domainname unseres Jabber-Servers, über den sich die Benutzer mit dem Server verbinden.
Ändern Sie den Servernamen in der Datei /etc/hostname am jabber.local.ua
Beginnen Sie mit dem Namen des Teams:
/etc/init.d/hostname.sh
Sehen Sie sich an, welchen Namen die Teams verwenden:
hostname hostname -f
Muss jedem Team gegeben werden:
jabber.local.ua
Es ist auch ratsam, einen DNS-Server im lokalen Netzwerk zu installieren und zu konfigurieren, so dass Benutzer keinen IP-Server im Client vorschreiben, sondern den Domainnamen des Netzwerks verwenden.
Kommen wir zur Serverinstallation.
Die Installation des gepatchten und zusammengebauten ejabberd-Servers erfolgt über den Befehl:
dpkg -i /usr/src/ejabberd/ejabberd_2.1.5-3+squeeze1_i386.deb
Prüfen Sie, ob das mod_logdb-Modul ein Befehl ist:
ls /usr/lib/ejabberd/ebin/*logdb*
Schlussfolgerung des Teams:
/usr/lib/ejabberd/ebin/gen_logdb.beam /usr/lib/ejabberd/ebin/mod_logdb_mysql5.beam /usr/lib/ejabberd/ebin/mod_logdb.beam /usr/lib/ejabberd/ebin/mod_logdb_mysql.beam /usr/lib/ejabberd/ebin/mod_logdb_mnesia.beam /usr/lib/ejabberd/ebin/mod_logdb_pgsql.beam /usr/lib/ejabberd/ebin/mod_logdb_mnesia_old.beam
Treiber für mod_logdb c mysql installieren
Laden Sie die Treiber von der offiziellen Website herunter:
wget http://www.dp.uz.gov.ua/o.palij/mod_logdb/erlang-mysql-850-with-userflags.tar.bz2
Treiber von meiner Website herunterladen:
wget http://softnastroy.com/downloads/ejabberd/erlang-mysql-850-with-userflags.tar.bz2
Wir packen das Archiv aus mit einem Befehl:
tar xvjf erlang-mysql-850-with-userflags.tar.bz2
Gehen wir in die Datei. erlang-mysql
cd erlang-mysql
Und wir sammeln die Fahrer mit dem Befehl:
sh build.sh
Kopieren Sie den Treiber nach der Montage in den Ordner /usr/lib/ejabberd/ebin/ Team:
cp ebin/* /usr/lib/ejabberd/ebin/
Die Installation unseres ejabberd Servers ist abgeschlossen und geht dann direkt zur Konfiguration des neu installierten ejabberd Servers über.
Ich war bei dir. Sergej Lazarenko.
Fortsetzung des Unterrichts: Ejabberd und mod_logdb in Debian konfigurieren
Sehen Sie sich das Video über WIFI for Dummies an:



Kommentar