Mix Installation (Sourcen für Linux)

From JonDonym Wiki
(Difference between revisions)
Jump to: navigation, search
(Update der Mix-Software mit den rc-Scripten)
(Auschecken des Quellcodes vom Repository)
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:MixBetreiberLinux]]
 
[[Category:MixBetreiberLinux]]
<iimg>[[Mix Installation (Source for Linux)]]![[Image:en.png]]</iimg><iimg>[[Mix Installation (Sourcen für Linux)]]![[Image:de.png]]</iimg>&nbsp;[[Hauptseite|Hauptseite (de)]]
+
<iimg>[[Mix Installation for other Linux based systems]]![[Image:en2.png]]</iimg><iimg>[[Mix Installation (Sourcen für Linux)]]![[Image:de2.png]]</iimg>&nbsp;&nbsp;[[Linux Server Setup|<- zurück]] | [[MixBetreiber|Übersicht]] | [[Mix Installation (Debian und Ubuntu)|weiter ->]]
 
== HowTo zur Installation der Mix-Server Software ==
 
== HowTo zur Installation der Mix-Server Software ==
 
Diese Anleitung beschreibt die Installation des Mixes und nötiger zusätzlicher Software für RedHat Linux. Für Debian and Ubuntu Server stellt die JonDos GmbH Pakete in ihrem Repository zur Verfügung, um die Installation zu vereinfachen. Siehe: [[Mix Installation (Debian und Ubuntu)]].
 
Diese Anleitung beschreibt die Installation des Mixes und nötiger zusätzlicher Software für RedHat Linux. Für Debian and Ubuntu Server stellt die JonDos GmbH Pakete in ihrem Repository zur Verfügung, um die Installation zu vereinfachen. Siehe: [[Mix Installation (Debian und Ubuntu)]].
Line 7: Line 7:
  
 
==== Voraussetzungen ====
 
==== Voraussetzungen ====
Um die Mix-Sourcen zu kompilieren, werden die Bibliotheken [http://www.openssl.org OpenSSL] (mindestens v.0.9.7) und [http://xml.apache.org/xerces-c/index.html Xerces-C++] benötigt. Außerdem braucht man einen ''C++ compiler'', ''make'' und ''subversion''. Alles Nötige kann mit dem Paket-Management der Distribution installiert werden.
+
Um die Mix-Sourcen zu kompilieren, werden die Bibliotheken [http://www.openssl.org OpenSSL] (mindestens v.0.9.7) und [http://xml.apache.org/xerces-c/index.html Xerces-C++] benötigt. Außerdem braucht man einen ''C++ compiler'', ''make'', ''auotmake'', ''autoconf'' und ''subversion''. Alles Nötige kann mit dem Paket-Management der Distribution installiert werden.
  
  <code>yum install g++ make libssl-devel libxerces-c2-devel subversion</code>
+
  <code>apt-get install postgresql postgresql-client libpq-devel subversion</code>
  
 
Für Premium-Mixe werden zusätzlich ein PostgreSQL-Datenbank-Server, der passende Client und die C-Bibliotheken für PostgreSQL Clients benötigt.
 
Für Premium-Mixe werden zusätzlich ein PostgreSQL-Datenbank-Server, der passende Client und die C-Bibliotheken für PostgreSQL Clients benötigt.
  
  <code>yum install postgresql postgresql-client libpq-devel</code>
+
  <code>apt-get install postgresql postgresql-client libpq-dev</code>
 
+
  
 
==== Auschecken des Quellcodes vom Repository ====
 
==== Auschecken des Quellcodes vom Repository ====
Als erstes ist die aktuelle Stable-Version vom Repository auszuchecken. Wir empfehlen, das Verzeichnis ''/home/mix'' zu nutzen.
+
Als erstes ist folgende Version vom Repository auszuchecken. Wir empfehlen, das Verzeichnis ''/home/mix'' zu nutzen.
  
 
  <code>mkdir /home/mix
 
  <code>mkdir /home/mix
 
  cd /home/mix
 
  cd /home/mix
svn checkout https://svn.jondos.de/svn/proxytest/proxytest/branches/stable</code>
+
</code>
  
 +
<code>
 +
svn checkout  https://anon.inf.tu-dresden.de/svn/proxytest/proxytest/branches/stable
 +
</code>
 +
 +
<strike>  svn checkout https://svn.jondos.de/svn/proxytest/proxytest/branches/stable
 +
 +
 +
Beachten Sie: Bitte verwenden Sie nun diesen Code hier in 6700 (version 00.11.22):
 +
<code>
 +
svn checkout https://anon.inf.tu-dresden.de/svn/proxytest/proxytest/trunk/
 +
svn up -r 6859
 +
</code>
 +
</strike>
  
 
==== Kompilieren/Installieren mit den rc-Scripten ====
 
==== Kompilieren/Installieren mit den rc-Scripten ====
Im Unterverzeichnis ''misc/Linux/rc-scripts'' der Sourcen sind Maintenace Scripte vorhanden, welche die Installation und Wartung der Software vereinfachen. Als erstes sind diese Scripte an die vorgesehenen Stellen zu kopieren.
+
Im Unterverzeichnis ''misc/Linux/rc-scripts'' der Sourcen sind Maintnenace Scripte vorhanden, welche die Installation und Wartung der Software vereinfachen. Als erstes sind diese Scripte an die vorgesehenen Stellen zu kopieren.
  
 
  <code>cd /home/mix/stable
 
  <code>cd /home/mix/stable
 
  cp misc/Linux/rc-scripts/etc_default_mix /etc/default/mix
 
  cp misc/Linux/rc-scripts/etc_default_mix /etc/default/mix
  cp misc/Linux/rc-scripts/etc_init.d_mix.redhat /etc/init.d/mix</code>
+
  cp misc/Linux/rc-scripts/etc_init.d_mix /etc/init.d/mix</code>
  
 
In der Parameter-Datei ''/etc/default/mix'' können einzelne Optionen an die lokale Installation angepasst werden. Wichtig ist die Anpassung der Compile-Optionen! Es sind zwei Varianten vorbereitet: für Premium-Mixe und für kostenfreie Mixe.
 
In der Parameter-Datei ''/etc/default/mix'' können einzelne Optionen an die lokale Installation angepasst werden. Wichtig ist die Anpassung der Compile-Optionen! Es sind zwei Varianten vorbereitet: für Premium-Mixe und für kostenfreie Mixe.
Line 36: Line 48:
  
 
  # compile optins for free mixes
 
  # compile optins for free mixes
  COMPILE_OPTIONS="--enable-new-flow-control --enable-new-channel-encryption --enable-server_monitoring"
+
  COMPILE_OPTIONS="--enable-server_monitoring --disable-bandwidth-limitation"
 +
# compile optins for payment mixes
 +
COMPILE_OPTIONS="--enable-server_monitoring --disable-bandwidth-limitation --enable-payment"
  
 
  MIXCONF="/etc/mix/config.xml"
 
  MIXCONF="/etc/mix/config.xml"
Line 47: Line 61:
  
 
==== Kompilieren/Installieren mit make ====
 
==== Kompilieren/Installieren mit make ====
Alternativ kann die Software des Mix auch mit dem üblichen Dreisatz installiert werden.
+
Alternativ kann die Software des Mix auch mit dem üblichen Dreisatz installiert werden. Aktivieren sie dabei die für ihren Mix nötigen Configure-Optionen:
  
 
  <code>cd /home/mix/stable
 
  <code>cd /home/mix/stable
  ./configure --enable-new-channel-encryption --enable-new-flow-control
+
  ./configure --enable-payment ...
 
  make
 
  make
 
  make install</code>
 
  make install</code>
Line 58: Line 72:
 
In Abhängigkeit von den benötigten Funktionen können oder müssen in den COMPILE_OPTIONS oder bei ''./configure'' einige zusätzliche Features aktiviert werden
 
In Abhängigkeit von den benötigten Funktionen können oder müssen in den COMPILE_OPTIONS oder bei ''./configure'' einige zusätzliche Features aktiviert werden
  
  <code> ./configure --enable-new-channel-encryption --enable-new-flow-control --enable-payment .... ....</code>
+
  <code> ./configure --enable-payment .... ....</code>
  
 
Für Premiumdienste ist folgendes Feature <u>unbedingt</u> nötig:
 
Für Premiumdienste ist folgendes Feature <u>unbedingt</u> nötig:
 
* '''--enable-payment''' Payment-Support aktivieren.  
 
* '''--enable-payment''' Payment-Support aktivieren.  
 +
 +
Für Free-Mixe ist folgendes Feature <u>unbedingt</u> nötig:
 +
* '''--enable-with-integrity-check''' Schaltet das neue Sicherheitsprotokoll zur Integritätssicherung ein.
 +
  
 
Monitoring des Mixes:
 
Monitoring des Mixes:
 
* '''--enable-server_monitoring''' Bei Aktivierung dieser Funktion stellt der Mix einen Monitoring Port bereit (üblicherweise Port 8080). Über diesen Port kann man XML-Daten abfragen, die Aukunft über den Status des Mixes und der Kaskade geben. Ein Plug-In zur Einbindung in Nagios findet man in den Sourcen im Verzeichnis ''misc/nagios''.
 
* '''--enable-server_monitoring''' Bei Aktivierung dieser Funktion stellt der Mix einen Monitoring Port bereit (üblicherweise Port 8080). Über diesen Port kann man XML-Daten abfragen, die Aukunft über den Status des Mixes und der Kaskade geben. Ein Plug-In zur Einbindung in Nagios findet man in den Sourcen im Verzeichnis ''misc/nagios''.
 +
 +
 +
Threads für Kommunikation mit Infoservices deaktivieren
 +
* '''--enable-infoservice-no-threads''' Wenn der Mix Probleme mit der Kommunikation zu den Infoservices hat, kann man die Threads deaktivieren.
 +
  
 
Logging Features für besondere Situationen:
 
Logging Features für besondere Situationen:
 
* '''--enable-crime-detection''' Lawful Inspection freischalten. Die Parameter, welche Daten protokolliert werden sollen, können in der Mix-Konfiguration angegeben werden. Aktivieren sie dieses Feature nur, wenn sie durch autorisierte Behörden dazu gezwungen sind. Nur alle Mixe einer Kaskade gemeinsam können den Zusammenhang von aufgerufenem Dienst und Nutzer herstellen.
 
* '''--enable-crime-detection''' Lawful Inspection freischalten. Die Parameter, welche Daten protokolliert werden sollen, können in der Mix-Konfiguration angegeben werden. Aktivieren sie dieses Feature nur, wenn sie durch autorisierte Behörden dazu gezwungen sind. Nur alle Mixe einer Kaskade gemeinsam können den Zusammenhang von aufgerufenem Dienst und Nutzer herstellen.
 
* '''--enable-dataretentionlog''' Vorratsdatenspeicherung aktivieren. Aktivieren sie dieses Feature nur, wenn sie wirklich der Meinung sind, im Rahmen der Vorratsdatenspeicherung (VDS) loggen zu müssen. Die JonDos GmbH rät allen Betreibern, keine Daten im Rahmen der VDS zu erheben.
 
* '''--enable-dataretentionlog''' Vorratsdatenspeicherung aktivieren. Aktivieren sie dieses Feature nur, wenn sie wirklich der Meinung sind, im Rahmen der Vorratsdatenspeicherung (VDS) loggen zu müssen. Die JonDos GmbH rät allen Betreibern, keine Daten im Rahmen der VDS zu erheben.
 
Weitere Features:
 
* '''--enable-bandwidth-limitation''' Begrenzung der Bandbreite einer Kaskade, kann nur durch den letzten Mix einer Kaksade realisiert werden.
 
 
  
 
==== System User Account für den Mix Server anlegen ====
 
==== System User Account für den Mix Server anlegen ====
Line 93: Line 112:
  
 
==== Start des Mix-Servers ====
 
==== Start des Mix-Servers ====
Es ist eine [[Mix-Server Konfiguration|Konfiguration für den Mix]] zu erstellen. Üblicherweise wird diese Konfiguration im Verzeichnis ''/etc/mix'' unter dem Namen ''config.xml'' gespeichert. Anschließend startet man den Mix-Server mit dem rc-Script. Wenn sie die Konfiguration in einem andren Verzeichnis abgelegt haben, passen sie bitte die Option MIXCONFIG in der Datei ''/etc/default/mix'' an.
+
Es ist eine [[Mix-Server Konfiguration|Konfiguration für den Mix]] zu erstellen. Üblicherweise wird diese Konfiguration im Verzeichnis ''/etc/mix'' unter dem Namen ''config.xml'' gespeichert. Anschließend startet man den Mix-Server mit dem rc-Script. Wenn sie die Konfiguration in einem anderen Verzeichnis abgelegt haben, passen sie bitte die Option MIXCONFIG in der Datei ''/etc/default/mix'' an.
  
  <code>/etc/init.d/mix start</code>
+
  <code>start:  /etc/init.d/mix start
 +
stop:  /etc/init.d/mix stop</code>
  
 
Alternativ kann der Mix-Server mit folgenden Kommandos gestartet werden:
 
Alternativ kann der Mix-Server mit folgenden Kommandos gestartet werden:
  
  <code>ulimit -SHn 32768
+
  <code>start:  ulimit -SHn 32768
mix -c /etc/mix/config.xml</code>
+
        mix -c /etc/mix/config.xml
 +
stop:  killall mix</code>
  
 
Nach dem Start wechselt der Mix zur UID, die in der Konfiguration angegeben wurde. In der Regel wird der Username ''mix'' verwendet.
 
Nach dem Start wechselt der Mix zur UID, die in der Konfiguration angegeben wurde. In der Regel wird der Username ''mix'' verwendet.
Line 122: Line 143:
 
  make distclean
 
  make distclean
 
  svn update
 
  svn update
  ./configure --enable-new-channel-encryption --enable-new-flow-control --enable-server_monitoring --enable-payment .... ....
+
  ./configure --enable-server_monitoring --enable-payment .... ....
 
  make
 
  make
 
  make install</code>
 
  make install</code>
  
 
Danach kann der Mix neu gestartet werden.
 
Danach kann der Mix neu gestartet werden.

Latest revision as of 21:55, 3 December 2018

En2.png De2.png   <- zurück | Übersicht | weiter ->

Contents

HowTo zur Installation der Mix-Server Software

Diese Anleitung beschreibt die Installation des Mixes und nötiger zusätzlicher Software für RedHat Linux. Für Debian and Ubuntu Server stellt die JonDos GmbH Pakete in ihrem Repository zur Verfügung, um die Installation zu vereinfachen. Siehe: Mix Installation (Debian und Ubuntu).

Die Software für den Mix-Server steht als Quellcode zur Verfügung.

Voraussetzungen

Um die Mix-Sourcen zu kompilieren, werden die Bibliotheken OpenSSL (mindestens v.0.9.7) und Xerces-C++ benötigt. Außerdem braucht man einen C++ compiler, make, auotmake, autoconf und subversion. Alles Nötige kann mit dem Paket-Management der Distribution installiert werden.

apt-get install postgresql postgresql-client libpq-devel subversion

Für Premium-Mixe werden zusätzlich ein PostgreSQL-Datenbank-Server, der passende Client und die C-Bibliotheken für PostgreSQL Clients benötigt.

apt-get install postgresql postgresql-client libpq-dev

Auschecken des Quellcodes vom Repository

Als erstes ist folgende Version vom Repository auszuchecken. Wir empfehlen, das Verzeichnis /home/mix zu nutzen.

mkdir /home/mix
cd /home/mix

svn checkout  https://anon.inf.tu-dresden.de/svn/proxytest/proxytest/branches/stable

svn checkout https://svn.jondos.de/svn/proxytest/proxytest/branches/stable


Beachten Sie: Bitte verwenden Sie nun diesen Code hier in 6700 (version 00.11.22):

svn checkout https://anon.inf.tu-dresden.de/svn/proxytest/proxytest/trunk/
svn up -r 6859

Kompilieren/Installieren mit den rc-Scripten

Im Unterverzeichnis misc/Linux/rc-scripts der Sourcen sind Maintnenace Scripte vorhanden, welche die Installation und Wartung der Software vereinfachen. Als erstes sind diese Scripte an die vorgesehenen Stellen zu kopieren.

cd /home/mix/stable
cp misc/Linux/rc-scripts/etc_default_mix /etc/default/mix
cp misc/Linux/rc-scripts/etc_init.d_mix /etc/init.d/mix

In der Parameter-Datei /etc/default/mix können einzelne Optionen an die lokale Installation angepasst werden. Wichtig ist die Anpassung der Compile-Optionen! Es sind zwei Varianten vorbereitet: für Premium-Mixe und für kostenfreie Mixe.

SOURCE_PATH="/home/mix/"
# compile optins for free mixes
COMPILE_OPTIONS="--enable-server_monitoring --disable-bandwidth-limitation"
# compile optins for payment mixes
COMPILE_OPTIONS="--enable-server_monitoring --disable-bandwidth-limitation --enable-payment"
MIXCONF="/etc/mix/config.xml"
MAXFILEDESCRIPTORS=32768

Danach ist die Software zu kompilieren und zu installieren:

/etc/init.d/mix compile
/etc/init.d/mix install

Kompilieren/Installieren mit make

Alternativ kann die Software des Mix auch mit dem üblichen Dreisatz installiert werden. Aktivieren sie dabei die für ihren Mix nötigen Configure-Optionen:

cd /home/mix/stable
./configure --enable-payment ...
make
make install


Zusätzliche Features freischalten

In Abhängigkeit von den benötigten Funktionen können oder müssen in den COMPILE_OPTIONS oder bei ./configure einige zusätzliche Features aktiviert werden

 ./configure --enable-payment .... ....

Für Premiumdienste ist folgendes Feature unbedingt nötig:

  • --enable-payment Payment-Support aktivieren.

Für Free-Mixe ist folgendes Feature unbedingt nötig:

  • --enable-with-integrity-check Schaltet das neue Sicherheitsprotokoll zur Integritätssicherung ein.


Monitoring des Mixes:

  • --enable-server_monitoring Bei Aktivierung dieser Funktion stellt der Mix einen Monitoring Port bereit (üblicherweise Port 8080). Über diesen Port kann man XML-Daten abfragen, die Aukunft über den Status des Mixes und der Kaskade geben. Ein Plug-In zur Einbindung in Nagios findet man in den Sourcen im Verzeichnis misc/nagios.


Threads für Kommunikation mit Infoservices deaktivieren

  • --enable-infoservice-no-threads Wenn der Mix Probleme mit der Kommunikation zu den Infoservices hat, kann man die Threads deaktivieren.


Logging Features für besondere Situationen:

  • --enable-crime-detection Lawful Inspection freischalten. Die Parameter, welche Daten protokolliert werden sollen, können in der Mix-Konfiguration angegeben werden. Aktivieren sie dieses Feature nur, wenn sie durch autorisierte Behörden dazu gezwungen sind. Nur alle Mixe einer Kaskade gemeinsam können den Zusammenhang von aufgerufenem Dienst und Nutzer herstellen.
  • --enable-dataretentionlog Vorratsdatenspeicherung aktivieren. Aktivieren sie dieses Feature nur, wenn sie wirklich der Meinung sind, im Rahmen der Vorratsdatenspeicherung (VDS) loggen zu müssen. Die JonDos GmbH rät allen Betreibern, keine Daten im Rahmen der VDS zu erheben.

System User Account für den Mix Server anlegen

Es ist keine gute Idee, den Mix mit root-Rechten laufen zu lassen. Legen sie einen System User an, wir empfahlen den Naman mix. Dieser Account ist in der Mix-Konfiguration anzugeben. Der Mix-Server wird nach dem Start zu dieser UID wechseln.

Anlegen eines System User Accounts mit useradd:

adduser --quiet --system --disabled-password --shell=/bin/false --group mix


Verzeichnis für Logdaten anlegen

Das Verzeichnis der Logdaten und der Name der Logdateien kann in der Mix-Konfiguration angegeben werden. Auch die maximale Größe der Logdateien kann in der Konfiguration angegeben werden. Es ist keine zusätzliche Rotation der Logdateien nötig. Der Mix kümmert sich selbst darum.

Anlegen des Logverzeichnisses:

mkdir /var/log/mix
chown mix:adm /var/log/mix
chmod 0750 /var/log/mix


Start des Mix-Servers

Es ist eine Konfiguration für den Mix zu erstellen. Üblicherweise wird diese Konfiguration im Verzeichnis /etc/mix unter dem Namen config.xml gespeichert. Anschließend startet man den Mix-Server mit dem rc-Script. Wenn sie die Konfiguration in einem anderen Verzeichnis abgelegt haben, passen sie bitte die Option MIXCONFIG in der Datei /etc/default/mix an.

start:  /etc/init.d/mix start
stop:   /etc/init.d/mix stop

Alternativ kann der Mix-Server mit folgenden Kommandos gestartet werden:

start:  ulimit -SHn 32768
        mix -c /etc/mix/config.xml
stop:   killall mix

Nach dem Start wechselt der Mix zur UID, die in der Konfiguration angegeben wurde. In der Regel wird der Username mix verwendet.


Update der Mix-Software mit den rc-Scripten

Wie andere Software auch wird der Mix gelegentlich aktualisiert. Neue Features kommen hinzu, Bugs werden beseitigt. Updates werden auf der JonDos Operator Mailingliste angekündigt. Um die Software zu aktualisieren, kann man das rc-Script nutzen:

/etc/init.d/mix upgrade
/etc/init.d/mix restart

Das upgrade legt eine Backup des alten Binary mix im Verzeichnis /home/mix/backup ab bzw. bei geänderten SOURCE_PATH im dortigen Unterverzeichnis backup. Sollte es Probleme mit der neuen Version geben, kann man mit folgendem Kommando zum letzten Backup zurück kehren:

/etc/init.d/mix restore
/etc/init.d/mix restart

Update der Mix-Software per Hand

Alternativ sind folgende Schritte nötig, um die Software zu aktualisieren

cd /home/mix/stable
make distclean
svn update
./configure --enable-server_monitoring --enable-payment .... ....
make
make install

Danach kann der Mix neu gestartet werden.

Personal tools