Dies ist eine Doku für Entwickler von Gemeinschaft. Wenn Sie kein Entwickler sind sollten Sie Gemeinschaft normalerweise mit dem Installations-CD-ISO-Image installieren. Fragen zu dieser Anleitung werden nicht beantwortet.
Nochmal: Benutzen Sie Gemeinschaft von der Amooma GmbH!
Hier beschreiben wir wie man die aktuelle Entwicklerversion (den „trunk“ aus dem SVN) von Gemeinschaft als Einzel-Server-System installiert, d.h. MySQL, Asterisk, Apache und Gemeinschaft laufen auf einem einzigen Rechner.
Natürlich lassen sich die einzelnen Teile auch auf mehrere Rechner aufteilen.
Als Beispiel-System nehmen wir ein Debian 4 („Etch“) oder 5 („Lenny“) in Minimal-Installation, also ohne die „Desktop“-Paketauswahl.
Gemeinschaft läßt sich auch auf anderen Systemen (RedHat, CentOS, ...) installieren, aber es ist fast unmöglich für alle Versionen von Gemeinschaft für alle Systeme stets aktuelle Installationsanleitungen bereitzustellen, daher muß man sich für ein System entscheiden.
Zuerst muß natürlich die Software installiert werden die zum Betrieb von Gemeinschaft vorausgesetzt wird bzw. auch eine Build-Umgebung damit man z.B. Asterisk kompilieren kann.
Wie diese Software installiert wird hat genaugenommen nichts mit der Installation von Gemeinschaft zu tun. Wir wollen es hier aber trotzdem kurz beschreiben. (Für ausführliche Anleitungen kann man andere, externe Quellen zu Rate ziehen.)
Die Installationsschritte werden als Benutzer
root
durchgeführt.
Gerade wenn man ein Kernel-Modul wie Zaptel einsetzt, das ja gegen
die Kernel-Header kompiliert wird, sollte man darauf achten, daß man
sich in seiner /etc/apt/sources.list
explizit für eine stabile Version entscheidet (z.B.
etch
oder lenny
) und nicht einfach
stable
da stehen hat.
Beispiel Etch:
deb http://ftp.de.debian.org/debian/ etch main deb-src http://ftp.de.debian.org/debian/ etch main deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib
Beispiel Lenny:
deb http://ftp.de.debian.org/debian/ lenny main deb-src http://ftp.de.debian.org/debian/ lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main
Sonst könnte man irgendwann versehentlich mal den Kernel upgraden - Zaptel wäre dann gegen die falschen Kernel-Header verlinkt und müßte (nach Installation der neuen Header) erneut kompiliert werden.
Es versteht sich eigentlich fast von selbst daß man auf einer frischen Installation erst mal alle Pakete aktualisiert:
gemeinschaft:~#
aptitude update
gemeinschaft:~#
aptitude upgrade
Falls von dem Upgrade auch der Kernel betroffen ist muß das System vor dem Ausführen weiterer Schritte neugestartet werden:
gemeinschaft:~#
reboot
gemeinschaft:~#
aptitude install coreutils lsb-base grep findutils sudo wget curl crongemeinschaft:~#
aptitude install expect logrotate hostname netcat net-toolsgemeinschaft:~#
aptitude install ifupdown iputils-ping openssh-client openssh-server
gemeinschaft:~#
aptitude install psmisc dnsutils iputils-arping pciutils bzip2
Wer zum Arbeiten gerne einen kompletten vim benutzt kann ihn so installieren:
gemeinschaft:~#
aptitude install vim
Für einige Funktionen im Web-Interface von Gemeinschaft ist es schöner die der Sprache entsprechende Locale installiert zu haben. Dieser Schritt ist aber optional.
gemeinschaft:~#
aptitude install localesgemeinschaft:~#
dpkg-reconfigure locales
Im
Dialog „Locales to be generated“ von
dpkg-reconfigure
die gewünschten Locales auswählen
(momentan sind nur de_
und
*
en_
sinnvoll), also z.B.
*
de_DE.UTF-8
und/oder
en_US.UTF-8
:
┌-----------┤ Configuring locales ├-----------┐ │ Locales to be generated: │ │ │ │ [ ] de_CH.UTF-8 UTF-8 │ │ [ ] de_DE@euro ISO-8859-15 │ │ [ ] de_DE ISO-8859-1 │ │ [*] de_DE.UTF-8 UTF-8 │ │ │ │ <Ok> <Cancel> │ │ │ └---------------------------------------------┘
Was man
im Dialog „Default locale for the system environment“
auswählt spielt für Gemeinschaft keine Rolle. Damit legt man die
Default-Sprache des Betriebssystems fest. Es ist kein Problem einfach
„None
“ (was quasi
gleichbedeutend ist mit Englisch) auszuwählen:
┌-----------┤ Configuring locales ├-----------┐
│ Default locale for the system environment: │
│ │
│ None │
│ de_DE.UTF-8 │
│ en_US.UTF-8 │
│ │
│ <Ok> <Cancel> │
│ │
└---------------------------------------------┘
Generating locales (this might take a while)... de_DE.UTF-8... done en_US.UTF-8... done Generation complete.
(Es sei nur am Rande erwähnt daß man alternativ
zu dpkg-reconfigure locales
die
Datei /etc/locale.gen
direkt editieren und danach
locale-gen
ausführen könnte.)
Selbst wenn Asterisk offenbar keine DNS-Lookups machen müßte, da man überall IP-Adressen verwendet hat, so wird es mit einem langsamen DNS-Server doch fast unbenutzbar langsam. Um das Problem zu umgehen, sollte man unbedingt einen lokalen Caching Nameserver installieren. Auf einem VoIP-System ist ein Caching Nameserver eigentlich ein Muß!
gemeinschaft:~#
aptitude install bind9
Den lokalen Nameserver in der /etc/resolv.conf
vor den vorhandenen Eintrag schreiben (neuer Eintrag hier fett):
nameserver 127.0.0.1
nameserver 192.168.2.1
In der /etc/bind/named.conf.local
muß man jetzt
noch die Zeile
include "/etc/bind/zones.rfc1918";
hinzufügen (auf einem Debian steht die Zeile schon drin, man muß nur die Kommentarzeichen davor entfernen), danach:
gemeinschaft:~#
/etc/init.d/bind9 restart
Testen:
gemeinschaft:~#
nslookup www.amooma.de
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: www.amooma.de
Address: 212.227.96.103
Hier sollte jetzt (spätestens beim 2. Aufruf)
als Adresse des DNS-Servers 127.0.0.1
stehen.
Es ist extrem wichtig, daß das System die korrekte Uhrzeit hat! An
ntp
führt eigentlich kein Weg vorbei:
gemeinschaft:~#
aptitude install ntp ntp-simple ntpdate
gemeinschaft:~#
aptitude install ntp ntpdate
gemeinschaft:~#
/etc/init.d/ntp stop
Stopping NTP server: ntpd.
Falls man in seinem internen Firmennetz eigene NTP-Server betreibt
sollte man die jetzt zur /etc/ntp.conf
hinzufügen.
Initial die Zeit setzen:
gemeinschaft:~#
ntpdate 0.debian.pool.ntp.org
26 Oct 20:37:41 ntpdate[5122]: adjust time server 195.238.144.37 offset 0.154922 sec
NTP starten:
gemeinschaft:~#
/etc/init.d/ntp start
Starting NTP server: ntpd.
Von welchen NTP-Server gerade die Zeit bezogen wird läßt sich jederzeit überprüfen:
gemeinschaft:~#
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+195.238.144.37 217.91.44.17 2 u 39 64 377 20.861 113.205 73.724
-84-16-235-166.i 88.198.34.47 3 u 42 64 377 50.396 17.538 112.912
+crux.pmsf.net 131.188.3.221 2 u 10 64 377 52.257 56.817 86.465
*zit-net2.uni-pa .DCF. 1 u 43 64 377 64.569 136.264 72.789
gemeinschaft:~#
aptitude install gcc g++ binutils libtool make
gemeinschaft:~#
aptitude install perl perl-modulesgemeinschaft:~#
aptitude install libio-interface-perl libio-socket-multicast-perlgemeinschaft:~#
aptitude install libnet-netmask-perl libnet-daemon-perl
gemeinschaft:~#
aptitude install sipsak
gemeinschaft:~#
aptitude install mysql-client
gemeinschaft:~#
aptitude install libmysqlclient-dev
gemeinschaft:~#
aptitude install mysql-server
Für ein Mehr-Server-System müßte an dieser Stelle ggf. ein MySQL-Cluster oder Replikation eingerichtet werden.
gemeinschaft:~#
aptitude install apache2
gemeinschaft:~#
aptitude install php5-cli libapache2-mod-php5 php5-mysql php5-ldap
gemeinschaft:~#
aptitude install sox
gemeinschaft:~#
aptitude install mpg123
gemeinschaft:~#
cd /usr/src/gemeinschaft:/usr/src#
wget 'http://dfn.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz'[...]
gemeinschaft:/usr/src#
tar -xzf lame-398-2.tar.gzgemeinschaft:/usr/src#
cd lame-398-2gemeinschaft:/usr/src/lame-398-2#
./configure && make clean && make && make installgemeinschaft:/usr/src/lame-398-2#
cdgemeinschaft:~#
Die Kernel-Header werden installiert, da sie für die Übersetzung von
Zaptel (ztdummy
für die
MeetMe()
-Konferenzen) benötigt werden:
gemeinschaft:~#
aptitude install linux-headers-`uname -r` linux-kernel-headers
Weitere benötigte Entwicklungs-Pakte etc.:
gemeinschaft:~#
aptitude install bison byacc flexgemeinschaft:~#
aptitude install libnewt0.52 libnewt-devgemeinschaft:~#
aptitude install ncurses-base ncurses-bin ncurses-dev ncurses-term libncurses4 libncurses5 libncurses-devgemeinschaft:~#
aptitude install openssl zlib1g zlib1g-dev
gemeinschaft:~#
cd /usr/src/gemeinschaft:/usr/src#
wget 'http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.12.1.tar.gz'[...]
gemeinschaft:/usr/src#
tar -xzf zaptel-1.4.12.1.tar.gzgemeinschaft:/usr/src#
cd zaptel-1.4.12.1gemeinschaft:/usr/src/zaptel-1.4.12.1#
./configure && make clean && make && make install && make config[...]
gemeinschaft:/usr/src/zaptel-1.4.12.1#
rm -rf firmware/zaptel-fw-*gemeinschaft:/usr/src/zaptel-1.4.12.1#
cdgemeinschaft:~#
Ggf. paßt man jetzt die /etc/default/zaptel
an,
so daß nur die Treiber geladen werden die man benötigt. Ohne ISDN-Karten
kann man dann einfach
gemeinschaft:~#
modprobe ztdummy
ausführen. Theoretisch könnten wir direkt fortfahren, aber nach der Installation von Kernel-Modulen ist es sicherer das System neuzustarten um zu prüfen daß die Module automatisch korrekt geladen werden.
gemeinschaft:~#
reboot && exit
gemeinschaft:~#
dmesg | grep -iE 'zap|zt'
[ 20.891315] Zapata Telephony Interface Registered on major 196
[ 20.891356] Zaptel Version: 1.4.12.1
[ 20.891368] Zaptel Echo Canceller: MG2
[ 21.956022] ztdummy: Trying to load High Resolution Timer
[ 21.956022] ztdummy: Initialized High Resolution Timer
[ 21.956022] ztdummy: Starting High Resolution Timer
[ 21.956022] ztdummy: High Resolution Timer started, good to go
Falls es sich um ein Upgrade handelt, müssen die Asterisk-Module gelöscht werden:
gemeinschaft:~#
rm -rf /usr/lib/asterisk/modules/*
Asterisk installieren:
gemeinschaft:~#
cd /usr/src/gemeinschaft:/usr/src#
wget 'http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.21.2.tar.gz'[...]
gemeinschaft:/usr/src#
tar -xzf asterisk-1.4.21.2.tar.gzgemeinschaft:/usr/src#
cd asterisk-1.4.21.2gemeinschaft:/usr/src/asterisk-1.4.21.2#
./configure && make clean && make && make install && make config[...]
gemeinschaft:/usr/src/asterisk-1.4.21.2#
make samplesgemeinschaft:/usr/src/asterisk-1.4.21.2#
cdgemeinschaft:~#
Asterisk installiert (mit make config
) die
Start-/Stop-Skripte auf Debian für falsche Runlevel, so daß Asterisk beim
Runterfahren des Systems nicht sauber gestoppt wird. Das sollte man
beheben:
gemeinschaft:~#
update-rc.d -f asterisk remove[...]
gemeinschaft:~#
update-rc.d asterisk defaults 50 15[...]
Verzeichnis für Call-Files anlegen und freigeben (damit z.B. vom Web-Server geschrieben werden kann):
gemeinschaft:~#
mkdir -p /var/spool/asterisk/outgoinggemeinschaft:~#
chmod a+rwx /var/spool/asterisk/outgoing/gemeinschaft:~#
chmod a+rwx /var/spool/asterisk/tmp/
Asterisk-Addons installieren:
gemeinschaft:~#
cd /usr/src/gemeinschaft:/usr/src#
wget 'http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.7.tar.gz'gemeinschaft:/usr/src#
tar -xzf asterisk-addons-1.4.7.tar.gzgemeinschaft:/usr/src#
cd asterisk-addons-1.4.7gemeinschaft:/usr/src/asterisk-addons-1.4.7#
./configure
Jetzt
können wir in menuselect
die Module rauswerfen die wir
nicht benötigen (chan_ooh323
,
format_mp3
). Wir brauchen lediglich
app_addon_sql_mysql
,
cdr_addon_mysql
,
res_config_mysql
:
gemeinschaft:/usr/src/asterisk-addons-1.4.7#
make menuselect[interaktiver Dialog]
menuselect changes saved!gemeinschaft:/usr/src/asterisk-addons-1.4.7#
make clean && make && make install && make samples[...]
gemeinschaft:/usr/src/asterisk-addons-1.4.7#
cdgemeinschaft:~#
Dabei muß die Datei
/usr/lib/asterisk/modules/res_config_mysql.so
erzeugt
worden sein:
gemeinschaft:~#
ls /usr/lib/asterisk/modules/res_config_mysql.so
/usr/lib/asterisk/modules/res_config_mysql.so
Dieser Schritt ist keineswegs notwendig, schafft aber locker 150 MB Platz.
gemeinschaft:~#
cd /usr/src/gemeinschaft:/usr/src#
rm -rf asterisk-1.4.21.2*gemeinschaft:/usr/src#
rm -rf asterisk-addons-1.4.7*gemeinschaft:/usr/src#
rm -rf lame-398-2*gemeinschaft:/usr/src#
rm -rf zaptel-1.4.12.1*
Kommen Sie bitte nicht auf die Idee einfach rm
-rf /usr/src/*
auszuführen! In dem Verzeichnis
befinden sich nämlich auch z.B. die Kernel-Header-Dateien, und die
müssen da bleiben!
Jetzt kommen wir zur eigentlichen Installation von Gemeinschaft selbst. Um die aktuelle Entwickler-Version von Gemeinschaft aus dem SVN auszuchecken benötigt man natürlich einen SVN-Client:
gemeinschaft:~#
aptitude install subversion
Im folgenden werden wir mit ln
-s
eine Reihe von sogenannten symbolischen Links
(Symlinks) anlegen. Dabei ist es bei Verzeichnisse von entscheidender
Bedeutung daß man sich nicht von der Auto-Vervollständigung der Shell
fehlleiten läßt sondern die Verzeichnisnamen exakt wie hier beschrieben
ohne abschließenden
„/
“ (Slash) eingibt!
gemeinschaft:~#
cd /usr/src/gemeinschaft:/usr/src#
svn checkout 'https://svn.amooma.com/asterisk-sounds-de/trunk' asterisk-sounds-de-trunk[...]
gemeinschaft:/usr/src#
cd /var/lib/asterisk/sounds/gemeinschaft:/var/lib/asterisk/sounds#
ln -s /usr/src/asterisk-sounds-de-trunk degemeinschaft:/var/lib/asterisk/sounds#
ls -ld de lrwxrwxrwx 1 root root 33 2008-10-27 19:17 de -> /usr/src/asterisk-sounds-de-trunk
Auschecken:
gemeinschaft:~#
cd /usr/src/gemeinschaft:/usr/src#
svn checkout 'https://www.kempgen.net/svn/gemeinschaft/trunk' gemeinschaft-trunk
Einen Symlink anlegen (das hat den Vorteil daß man später ggf. leichter zwischen verschiedenen Versionen von Gemeinschaft wechseln kann):
gemeinschaft:/usr/src#
ln -s gemeinschaft-trunk gemeinschaftgemeinschaft:/usr/src#
ls -ld gemeinschaft lrwxrwxrwx 1 root src 18 2008-10-27 19:26 gemeinschaft -> gemeinschaft-trunk
In MySQL mit folgenden Befehlen einen Benutzer
„gemeinschaft
“ anlegen, der auf die
Datenbank „asterisk
“ (die wir gleich
einspielen werden) zugreifen darf (bitte statt
„geheim
“ ein besseres Paßwort
wählen!):
gemeinschaft:~#
mysql[...]
mysql> GRANT ALL ON `asterisk`.* TO 'gemeinschaft'@'localhost' IDENTIFIED BY 'geheim
'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL ON `asterisk`.* TO 'gemeinschaft'@'%' IDENTIFIED BY 'geheim
'; Query OK, 0 rows affected (0.00 sec) mysql> SHOW GRANTS FOR 'gemeinschaft'@'localhost'; +---------------------------------------------------------------------------------------------------------------------+ | Grants for gemeinschaft@localhost | +---------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'gemeinschaft'@'localhost' IDENTIFIED BY PASSWORD '*462366917EEDD1970A48E87D8EF59EB67D2CA26F' | | GRANT ALL PRIVILEGES ON `asterisk`.* TO 'gemeinschaft'@'localhost' | +---------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> SHOW GRANTS FOR 'gemeinschaft'@'%'; +-------------------------------------------------------------------------------------------------------------+ | Grants for gemeinschaft@% | +-------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'gemeinschaft'@'%' IDENTIFIED BY PASSWORD '*462366917EEDD1970A48E87D8EF59EB67D2CA26F' | | GRANT ALL PRIVILEGES ON `asterisk`.* TO 'gemeinschaft'@'%' | +-------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> exit Bye
Testen:
gemeinschaft:/usr/src#
mysql -u gemeinschaft -p -e 'SELECT "ok"'
Enter password:
+----+
| ok |
+----+
| ok |
+----+
Das ist erfreulich. (Eine schlechte Meldung wäre z.B.
„ERROR 1045 (28000): Access denied for user
'gemeinschaft'@'localhost' (using password:
YES)
“.)
Datenbank einspielen:
gemeinschaft:/usr/src#
cd /usr/src/gemeinschaft/usr/share/doc/gemeinschaft/gemeinschaft:/usr/src/gemeinschaft/usr/share/doc/gemeinschaft#
mysql -u gemeinschaft -p < asterisk.sql Enter password:
Gemeinschaft mittels Symlinks „installieren“:
Apache-Konfiguration für Gemeinschaft:
gemeinschaft:~#
cd /etc/apache2/conf.d/gemeinschaft:/etc/apache2/conf.d#
ln -s /usr/src/gemeinschaft/etc/apache2/conf.d/gemeinschaft.conf
gemeinschaft:~#
cd /etc/apache2/sites-available/gemeinschaft:/etc/apache2/sites-available#
ln -s /usr/src/gemeinschaft/etc/apache2/sites-available/gemeinschaftgemeinschaft:/etc/apache2/sites-available#
a2dissite defaultgemeinschaft:/etc/apache2/sites-available#
a2ensite gemeinschaft
mod_rewrite
und mod_alias
aktivieren:
gemeinschaft:~#
a2enmod rewritegemeinschaft:~#
a2enmod alias
Apache neu starten:
gemeinschaft:~#
/etc/init.d/apache2 restart
Der Web-Server muß mit sudo
ohne Paßwort als root
Befehle ausführen können. Das
erreicht man, indem man visudo
aufruft und in die Datei folgende Zeile einträgt[5]:
www-data ALL=(ALL) NOPASSWD: ALL
Asterisk-Konfiguration:
gemeinschaft:~#
cd /etc/gemeinschaft:/etc#
rm -rf asterisk/gemeinschaft:/etc#
ln -s /usr/src/gemeinschaft/etc/asterisk
Gemeinschaft-Konfiguration:
gemeinschaft:~#
cd /etc/gemeinschaft:/etc#
ln -s /usr/src/gemeinschaft/etc/gemeinschaft
Jetzt kann man die
/etc/gemeinschaft/gemeinschaft.php
editieren, also
Datenbank-Benutzer und -Paßwort usw. eintragen. Für die Betriebsart als
Einzel-Server-System stellt man
$INSTALLATION_TYPE = 'single';
ein.
Haupt-Verzeichnis von Gemeinschaft:
gemeinschaft:~#
cd /opt/gemeinschaft:/opt#
ln -s /usr/src/gemeinschaft/opt/gemeinschaft
IP-Adresse des Rechners in
/opt/gemeinschaft/etc/listen-to-ip
eintragen.
IP-Adresse in Datenbank eintragen:
gemeinschaft:~#
mysql[...]
mysql> USE asterisk;[...]
mysql> UPDATE hosts SET host='192.168.1.130
' WHERE id=1;[...]
mysql> SELECT * FROM hosts; +----+---------------+----------------+------------+----------+ | id | host | comment | is_foreign | group_id | +----+---------------+----------------+------------+----------+ | 1 | 192.168.1.130 | Gemeinschaft 1 | 0 | 0 | +----+---------------+----------------+------------+----------+ 1 row in set (0.00 sec)
Doku:
gemeinschaft:~#
cd /usr/share/docgemeinschaft:/usr/share/doc#
ln -s /usr/src/gemeinschaft/usr/share/doc/gemeinschaft
Log-Verzeichnis (ein Symlink wäre hier kontraproduktiv):
gemeinschaft:~#
mkdir -p /var/log/gemeinschaftgemeinschaft:~#
chmod a+rwx /var/log/gemeinschaft/
Web-Verzeichnis:
gemeinschaft:~#
cd /var/www/gemeinschaft:/var/www#
ln -s /usr/src/gemeinschaft/var/www/gemeinschaftgemeinschaft:/var/www#
ln -s /usr/src/gemeinschaft/var/www/.htaccess
Weitere Dateien:
gemeinschaft:~#
cd /var/lib/gemeinschaft:/var/lib#
ln -s /usr/src/gemeinschaft/var/lib/gemeinschaft
Sprach-Prompts von .wav
nach
.alaw
konvertieren:
gemeinschaft:~#
cd /var/lib/asterisk/sounds/degemeinschaft:/var/lib/asterisk/sounds/de#
/opt/gemeinschaft/sbin/sounds-wav-to-alaw.shgemeinschaft:/var/lib/asterisk/sounds/de#
cdgemeinschaft:~#
chown -R root:root /var/lib/asterisk/sounds
Asterisk-Dialplan für Gemeinschaft initialisieren:
gemeinschaft:~#
/etc/init.d/asterisk stopgemeinschaft:~#
/opt/gemeinschaft/sbin/gs-ast-dialplan-gen Generating extensions.ael ... extensions.ael written.gemeinschaft:~#
/etc/init.d/asterisk start
Logrotate-Regeln:
gemeinschaft:~#
cd /etc/logrotate.d/gemeinschaft:/etc/logrotate.d#
ln -s /usr/src/gemeinschaft/etc/logrotate.d/asteriskgemeinschaft:/etc/logrotate.d#
ln -s /usr/src/gemeinschaft/etc/logrotate.d/gemeinschaft
Cron-Skripte:
gemeinschaft:~#
cd /etc/cron.dgemeinschaft:/etc/cron.d#
ln -s /usr/src/gemeinschaft/etc/cron.d/gs-cc-guardiangemeinschaft:/etc/cron.d#
ln -s /usr/src/gemeinschaft/etc/cron.d/gs-queuelog-to-dbgemeinschaft:/etc/cron.d#
ln -s /usr/src/gemeinschaft/etc/cron.d/gs-queues-refresh
gemeinschaft:~#
aptitude install dhcp3-servergemeinschaft:~#
cd /etc/dhcp3/gemeinschaft:/etc/dhcp3#
rm dhcpd.confgemeinschaft:/etc/dhcp3#
ln -s /usr/src/gemeinschaft/usr/share/doc/gemeinschaft/misc/dhcpd-3-example.conf dhcpd.conf
/etc/dhcp3/dhcpd.conf
anpassen, dann
gemeinschaft:/etc/dhcp3#
/etc/init.d/dhcp3-server restart
Nachdem man wie oben beschrieben in der /etc/gemeinschaft/gemeinschaft.php
grundlegende Einstellungen wie Datenbank-Benutzer und -Paßwort eingetragen hat kommt man jetzt mit einem Web-Browser unter der URL http://rechner/gemeinschaft/
auf die grafische Oberfläche, wobei man in der Adresse natürlich rechner
durch die IP-Adresse ersetzen muß, also z.B. http://192.168.1.130/gemeinschaft/
.
Hat man gerade Gemeinschaft frisch installiert so ist dieser Abschnitt natürlich nicht interessant. Will man aber später mal den Trunk von Gemeinschaft auf die aktuelle Revision (also den aktuellen Entwicklungsstand) aktualisieren, so geht das ganz einfach so:
gemeinschaft:~#
cd /usr/src/gemeinschaft-trunk/
Die momentan installierte Revision herausfinden:
gemeinschaft:/usr/src/gemeinschaft-trunk#
svnversion
5340
Updaten:
gemeinschaft:/usr/src/gemeinschaft-trunk#
svn update[...]
Updated to revision 5342.
Die alte und die neue Revision sind wichtig, denn da wir hier ja mit
der aktuellen Entwicklungsversion arbeiten müssen wir uns um eventuelle
Änderungen an der Datenbank-Struktur manuell kümmern. Dazu liest man in
der Datei
usr/share/doc/gemeinschaft/UPGRADE-DB.sql.txt
nach,
ob es seit der alten Revision irgendwelche Änderungen gab und führt ggf.
die angegebenen SQL-Befehle in MySQL
(mysql
) aus.
[1] zum Kompilieren von Asterisk
[2] wird momentan nur vom Cluster-Watchdog benötigt, nicht auf einem Einzel-Server
[3] zum Kompilieren des MySQL-Add-Ons von Asterisk
[4] Wegen seiner Fähigkeit MPEG 1 Layer 3 („MP3“) zu kodieren ist LAME aus patentrechtlichen Gründen und aufgrund der Debian-Richtlinien auf Debian nicht direkt als Paket verfügbar.
[5] Unter Debian läuft der Apache per Default als User
www-data
. Das müssen Sie natürlich ggf. anpassen.
Als welcher User der Apache läuft, steht in der
apache2.conf
:
gemeinschaft:~#
cat /etc/apache2/apache2.conf /etc/apache2/envvars 2>>/dev/null | grep -E '^User |APACHE_RUN_USER'
User ${APACHE_RUN_USER}
export APACHE_RUN_USER=www-data