Benutzung von Feng Office (Community Edition) mit Nginx (LEMP) unter Debian Squeeze/Ubuntu 11.10

Version 1.0
Author: Falko Timme , Christian Schmalfeld <c [dot] schmalfeld [at] projektfarm [dot] de>
Follow me on Twitter

Dieses Tutorial zeigt Ihnen wie Sie Feng Office (Community Edition) auf einem Debian Squeeze oder Ubuntu 11.10 System mit anstatt von Apache installiertem Nginx (LEMP = Linux + nginx (ausgesprochen "engine x") + MySQL + PHP) installieren und benutzen. Feng Office ist eine Web-basierte Software für Projektmanagement, Client-Relationship Management, Zahlung, Finanzen und anderen Features die Ihnen helfen, Ihr professionelles Geschäft effizient zu verwalten. nginx ist ein HTTP Server, welcher weitaus weniger Resourcen verbraucht als Apache und Seiten viel schneller liefert, gerade wenn es um statische Dateien geht.

Für die Richtigkeit der Inhalte gebe ich keinerlei Garantie!

1 Vorbemerkung

Die Feng Office Version, die ich im Tutorial benutze, ist 2.0.0beta4. Da diese noch in der Betaphase ist, könnte sie einige Bugs enthalten.

Ich will Feng Office in einem vhost namens www.example.com/example.com mit dem Stammverzeichnis /var/www/www.example.com/web installieren.

Sie sollten bereits eine funktionierende LEMP Installation haben, so wie Sie in diesen Tutorials aufgesetzt wird:
Ein Hinweis für Ubuntu Benutzer:
Da Sie alle Befehle des Tutorials mit Administratorrechten ausführen müssen, können Sie entweder allen Befehlen die Zeichenkette sudo voranstellen, oder melden sich gleich als root an indem Sie folgendes in die Konsole eingeben

sudo su


2 Konfiguration von PHP

APC ist ein kostenloser und offener PHP opcode Cacher zum cachen und optimieren von PHP Zwischencode. Es ist anderen PHP opcode Cachern wie eAccelerator und XCache ähnlich. Es wird dringend empfohlen einen dieser Cacher zu installieren um Ihre PHP Seite zu beschleunigen.

APC kann wie folgt installiert werden:

apt-get install php-apc

Wenn Sie PHP-FPM als Ihren FastCGI Daemon benutzen (wie in Installation von Nginx mit PHP5 (und PHP-FPM) mit MySQL Unterstützung unter Ubuntu 11.10), starten Sie ihn wie folgt neu:

/etc/init.d/php5-fpm restart

Benutzen Sie lighttpds spawn-fcgi Programm als Ihren FastCGI Daemon (wie in Installation von Nginx mit PHP5 und MySQL Unterstützung unter Debian Squeeze), müssen Sie den bestehenden spawn-fcgi Prozess beenden (dieser läuft auf Port 9000) und einen neuen erstellen. Benutzen Sie dazu

netstat -tap

um die PID des bestehenden spawn-fcgi Prozesses herauszufinden:

root@server1:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:sunrpc                *:*                     LISTEN      734/portmap
tcp        0      0 *:www                   *:*                     LISTEN      2987/nginx
tcp        0      0 *:ssh                   *:*                     LISTEN      1531/sshd
tcp        0      0 *:57174                 *:*                     LISTEN      748/rpc.statd
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      1507/exim4
tcp        0      0 localhost.localdom:9000 *:*                     LISTEN      1542/php5-cgi tcp        0      0 localhost.localdo:mysql *:*                     LISTEN      1168/mysqld
tcp        0     52 server1.example.com:ssh 192.168.0.198:2462      ESTABLISHED 1557/0
tcp6       0      0 [::]:www                [::]:*                  LISTEN      2987/nginx
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1531/sshd
tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN      1507/exim4
root@server1:~#

In der oberen Ausgabe ist die PID 1542, der Prozess lässt sich in diesem Fall also wie folgt beenden:

kill -9 1542

Erstellen Sie danach einen neuen spawn-fcgi Prozess:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid


3 Installation von Feng Office

Das Stammverzeichnis meiner www.example.com Webseite ist /var/www/www.example.com/web - existiert dieses nicht, erstellen Sie es wie folgt:

mkdir -p /var/www/www.example.com/web

Stellen Sie sicher, dass unzip installiert ist:

apt-get install unzip

Als nächstes laden Sie Feng Office von http://www.fengoffice.com/web/reference.php?dest=latest_version herunter und legen es in Ihrem Stammverzeichnis ab:

cd /tmp
wget http://downloads.sourceforge.net/project/opengoo/fengoffice/fengoffice_2.0.0beta4/fengoffice2_0_0beta4.zip
unzip fengoffice2_0_0beta4.zip
cd fengoffice/
mv * /var/www/www.example.com/web/

Es wird empfohlen, das Stammverzeichnis sowie die Feng Office Dateien darin vom nginx Daemon beschreibbar zu machen, welcher als Benutzer www-data und Gruppe www-data läuft:

chown -R www-data:www-data /var/www/www.example.com/web

Haben Sie noch keine MySQL Datenbank für Feng Office erstellt (inklusive MySQL Feng Office Benutzer), können Sie dies wie folgt tun (In diesem Beispiel nenne ich die Datenbank fengoffice, den Benutzer fengoffice_admin und dessen Passwort fengoffice_admin_password):

mysqladmin -u root -p create fengoffice

mysql -u root -p

GRANT ALL PRIVILEGES ON fengoffice.* TO
'fengoffice_admin'@'localhost' IDENTIFIED BY
'fengoffice_admin_password';
GRANT ALL PRIVILEGES ON fengoffice.* TO
'fengoffice_admin'@'localhost.localdomain' IDENTIFIED BY
'fengoffice_admin_password';

FLUSH PRIVILEGES;

quit;

Als nächstes erstellen Sie für Ihren www.example.com vhost eine Konfiguration im /etc/nginx/sites-available/ Verzeichnis:

vi /etc/nginx/sites-available/www.example.com.vhost

server {
listen 80; server_name www.example.com example.com; root /var/www/www.example.com/web; if ($http_host != "www.example.com") { rewrite ^ http://www.example.com$request_uri permanent; } index index.php index.html; location = /favicon.ico { log_not_found off; access_log off; expires max; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ /. { deny all; access_log off; log_not_found off; } client_max_body_size 8M; location ~ .php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; } }
Um den vhost zu aktivieren erstellen Sie einen Symlink im /etc/nginx/sites-enabled/ Verzeichnis der auf ihn zeigt:

cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

Laden Sie nginx neu um die Änderungen geltend zu machen:

/etc/init.d/nginx reload

Nun können Sie den Web-basierten Feng Office Installer starten indem Sie auf http://www.example.com/public/install/ gehen - klicken Sie auf Next:


Der Installer überprüft, ob Ihre Umgebung alle nötigen Voraussetzungen erfüllt. Wenn sie dies tut, klicken Sie auf Next:


Geben Sie in Schritt 3 Ihre MySQL Datenbank Details an (Benutzer: fengoffice_admin; Passwort: fengoffice_admin_password; Datenbank: fengoffice). Scrollen Sie dann zum Ende der Seite herunter...


... und klicken auf Next:


Um die Feng Office Installation abzuschließen, klicken Sie auf Finish:


Schließlich müssen Sie ein Administratorkonto anlegen:


Danach können Sie sich mit den gerade angelegten Benutzerdaten in Feng Office anmelden:


So sieht Feng Office aus:


Von jetzt an können Sie einfach die URL http://www.example.com/ benutzen, um auf Feng Office zuzugreifen.

Feng Office benutzt einen Cronjob um Wartungen durchzuführen. Fügen Sie diesen wie folgt hinzu:

crontab -e

* * * * * /usr/bin/wget -O - -q -t 1 http://www.example.com/cron.php
Das war es, Ihre Feng Office Installation ist nun fertig. Sehen Sie sich für weitere Setup Tweaks  http://fengoffice.com/web/wiki/doku.php/setup an.

4 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte