ubuntuusers.de

ubuntuusers.deWikiBaustelleOpenERP

OpenERP

Den Wikiartikel kennst Du, oder ? http://wiki.ubuntuusers.de/ERP Gruss

Artikel in Arbeit

Dieser Artikel wird momentan von orgel erstellt. Als Fertigstellungsdatum wurde der 31.12.2011 angegeben.


Achtung: Insbesondere heißt das, dass dieser Artikel noch nicht fertig ist und dass wichtige Teile fehlen oder sogar falsch sein können. Bitte diesen Artikel nicht als Anleitung für Problemlösungen benutzen!

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

./openerp.png OpenERP {de} ist ein modular aufgebautes Framework, ursprünglich hieß es TinyERP, es wurde komplett überarbeitet und unter der AGPL Lizenz veröffentlicht. Mit Hilfe von über 900 Modulen werden unter anderem im Unternehmensumfeld die Aufgaben der Bereiche Warenwirtschaft, Finanzbuchhaltung, Lagerhaltung, Produktion, Projektverwaltung und Customer-Relationship-Management (CRM) abgedeckt.

OpenERP ist eine Client Server Lösung welch in Python geschrieben ist und PostgreSQL als Datenbank nutzt. Dokumente können mit LibreOffice für Vorlagen erstellt oder unter WebDAV als normales Dokument abgelegt werden.

Module:

  • Basismodul: Kunden-, Lieferanten und Mandantenstammdaten.

  • Produkte: Preislisten, Artikelstammdaten und Einheitenverwaltung für Einkauf und Verkauf

  • Verkauf: Angebotsverfolgung und Auftragsverwaltung.

  • Einkauf: Beschaffung organisieren.

  • Finanzen: Rechnungen sowie Gutschriften, Kontenrahmenverwaltung, SKR03, Kostenstellen, Voranmeldungen, Berichte und Zahlungsabgleich

  • Kundenmanagement: Umfangreiche Helpdesk-Funktion mit E-Mail-Empfang, Kontakthistorie, Verkaufschancen, Serien-E-Mails, SMS-Versand und Anschreiben

  • Helpdesk Ticket-System: Automatischer E-Mail-Eingang, Regel-Definitionen, Terminierung und E-Mail-Antworten

  • Projektverwaltung: Stundenerfassung für jedes Projekt, Rechnungserstellung für die Projektstunden, Gantt-Diagramm, Projekte mit sehr vielen Unterprojekten und Aufgaben

  • Lagerverwaltung: Firmen Lager, Kundenlager, Buchung aller Materialbewegungen

  • Produktion: Produktionsstätten festlegen, Rüstzeiten, Arbeitspläne, Auslastung, Kosten und Beschaffungen planen

  • Shop-Software: osCommerce, Joomla!VirtueMart (Joomla!-Erweiterung), eZ Publish, Magento

  • sowie 900 weitere Module, Kontenrahmen und Länderspezifische Installationen

Installation

Aus den Ubuntu-Quellen

  • openerp-server (universe [2])

  • openerp-web (universe [2])

  • openerp-client (universe [2])

Wiki/Vorlagen/Installbutton/button.png

Hinweis:

Die OpenERP-Version, die sich in den Ubuntu-Quellen befindet, ist nicht (immer) aktuell. Wer auf neue Funktionen angewiesen ist, sollte eine manuelle Installation in Betracht ziehen.

Manuelle Installation

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

OpenERP Server, Web- und GTK Klient

Erstellen des OpenERP Benutzers

Zuerst muss ein Systembenutzer eingerichtet werden. Dieser Benutzter hat nur zugriff auf das Verzeichnis /opt/openerp und gehört der Gruppe openerp an. Dieser Benutzer kann sich nicht auf dem Rechner einloggen und hat keinen Shell zugriff außer auf /bin/false.

sudo adduser --system --home=/opt/openerp --group openerp 

Installieren und Konfigurieren des Datenbank-Servers PostgreSQL

PostgreSQL wird mit folgendem Befehl installiert.

sudo apt-get install postgresql 

Zunächst muss man zum postgres Benutzer wechseln, damit man die notwendigen Rechte hat um die Datenbank zu konfigurieren.

sudo su - postgres 

Als nächstes legt man einen neuen Datenbankbenutzer an, dieser Benutzer ermöglicht OpenERP den zugriff auf PostgreSQL um Datenbanken zu erstellen und zu löschen. Das Passwort für den Benutzer wird später noch für die Konfiguration des OpenERP Servers benötigt.

createuser --createdb --username postgres --no-createrole --pwprompt openerp 

Enter password for new role: ********
Enter it again: ********
Shall the new role be a superuser? (y/n) y

Danach gibt man exit ein um PostgreSQL zu verlassen.

exit 

Installieren der notwendigen Python-Bibliotheken für den OpenERP Server und optional des Web-Clienten

Die folgenden Python Bibliotheken werden benötigt für den Serverbetrieb.

sudo apt-get install python python-psycopg2 python-reportlab \
python-egenix-mxdatetime python-tz python-pychart python-mako \
python-pydot python-lxml python-vobject python-yaml python-dateutil \
python-pychart python-pydot python-webdav 

Wenn man auch mit dem Web-Clienten arbeiten möchte, sollte man noch folgende Bibliotheken installieren.

sudo apt-get install python-cherrypy3 python-formencode python-pybabel \
python-simplejson python-pyparsing 

Installieren des OpenERP Servers und des Web Klienten

Man lädt mit wget den Code für den Server und den Web Client in das eigene Home Verzeichnis herunter. Man sollte sicher stellen das es sich um die neueste Version von OpenERP handelt welche zu diesem Zeitpunkt die Version 6.0.2 ist. Diesen kann man von der OpenERP Downloadseite {en} herunterladen.

wget http://www.openerp.com/download/stable/source/openerp-server-6.0.2.tar.gz 

wget http://www.openerp.com/download/stable/source/openerp-web-6.0.2.tar.gz 

Als nächstes wechselt man nach /opt/openerp und entpackt dort die beiden Archive.

cd /opt/openerp
sudo tar xvf ~/openerp-server-6.0.2.tar.gz
sudo tar xvf ~/openerp-web-6.0.2.tar.gz 

Danach werden die Verzeichnis und Datei Rechte an den Benutzer und die Gruppe openerp übergeben.

sudo chown -R openerp: * 

Der einfachheit halber kann man die beiden Verzeichnisse kopieren und umbenennen in server und web. Wenn später ein Update durchgeführt wird muss man dann nicht jedesmal die Konfigurations Dateien und Boot Skripte abändern, so bleiben auch die vom Benutzer installierten Module und Berichte erhalten.

sudo cp -a openerp-server-6.0.2 server
sudo cp -a openerp-web-6.0.2 web 

So kann man z.B. bei einem Update auf Version 6.0.3 die Tar Archive wieder nach /opt/openerp/ entpacken und in die Verzeichnisse server sowie web kopieren. So dass die modifizierten Dateien überschrieben werden und bei Bedarf benutzerdefinierte Module, Berichtsvorlagen beibehalten werden. Sobald feststeht das, dass Upgrade stabil läuft, kann man die ältere Version 6.0.2 Verzeichnisse entfernen, wenn man das möchte.

Konfigurieren des OpenERP Servers

Eine Vorlage für die Konfigurationsdatei findet man unter /opt/openerp/server/doc/openerp-server.conf allerdings sollte man diese an seine begebenheiten anpassen. Eine vorgefertigte Konfigurations Datei findet man hier: openerp-server.conf. Diese Datei kopiert man nach /etc/ und ändert die Zugriffs und Verzeichnisrechte mit folgenden Befehlen.

sudo chown openerp:root /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf 

Das einzige was man noch in einem Texteditor anpassen muss ist db_password = ******** dieses sollte mit dem Passwort vom openerp Benutzer der PostgreSQL Datenbank übereinstimmen. Danach kann man mit dem anschließenden Befehl den Server einmal zum Testen starten.

/opt/openerp/server/bin/openerp-server.py --config=/etc/openerp-server.conf 

Im Moment läuft es noch nicht richtig weil es unter dem normalen Benutzer gestartet wurde und nicht mit dem openerp Benutzer welcher zugriff auf den PostgreSQL Server hat. Danach drückt man einfach STRG + C zum Beenden des Servers.

Installieren der Boot-Skripte

Für den letzten Schritt muss man ein start-up und shut-down Skript für das automatisierte Starten und Stoppen des Servers mit dem richtigen Benutzer erstellen. Ein Beispiel Skript kann man hier openerp-server herunterladen. Diese Datei kopiert man dann nach /etc/init.d/openerp-server und ändert die Zugriffs und Verzeichnisrechte mit folgenden Befehlen.

sudo chmod 755 /etc/init.d/openerp-server
sudo chown root: /etc/init.d/openerp-server 

In der Konfigurationsdatei gibt es einen Eintrag für die Server-Log-Datei. Man muss erst das Verzeichnis erstellen, so dass der Server Protokollieren kann und es auch beschreibbar durch den openerp Benutzer machen:

sudo mkdir /var/log/openerp
sudo chown openerp:root /var/log/openerp 

Testen des Servers

Den OpenERP Server startet man nun mit folgendem Befehl:

sudo /etc/init.d/openerp-server start 

Nun sollte man mit in der Logdatei sehen können das der Server gestartet wurde. Wenn dabei ein Fehler ausgegeben wird sollte man die vorherigen schritte noch einmal überprüfen. Testweise kann man jetzt den OpenERP Klienten starten um zu sehen ob die Verbindung vom Klienten zu Server geht.

less /var/log/openerp/openerp-server.log 

Den Server stoppt man mit folgendem Befehl:

sudo /etc/init.d/openerp-server stop 

OpenERP-Server Starten und Herunterfahren automatisieren

Wenn bis hier her alles funktioniert ist der letzte schritt das Start- und Stoppskript mit dem Rechner automatisch zu starten. Damit das geschieht gibt man dann folgenden Befehl ein.

sudo update-rc.d openerp-server defaults 

Danach sollte man den Rechner neu starten um zu sehen das OpenERP läuft. In der Konsole kann man jetzt ps aux | grep openerp eingeben, dabei sollte folgende Zeile sthen:

openerp 708 3.8 5.8 181716 29668 ? Sl 21:05 0:00 python /opt/openerp/server/bin/openerp-server.py -c /etc/openerp-server.conf

Das zeigt, dass der Server läuft. Natürlich kann man die Log-Datei einsehen oder auch den GTK Klienten verwenden.

OpenERP-Web-Client Starten und Herunterfahren automatisieren

sudo chown openerp:root /etc/openerp-web.conf
sudo chmod 640 /etc/openerp-web.conf 

sudo chmod 755 /etc/init.d/openerp-web
sudo chown root: /etc/init.d/openerp-web 

sudo /etc/init.d/openerp-web start 

sudo /etc/init.d/openerp-web stop 

sudo update-rc.d openerp-web defaults 

OpenERP mit SSL absichern

Installation von Apache und seinen Modulen

sudo apt-get install apache2 

sudo a2enmod ssl proxy_http headers rewrite 

cd
mkdir temp
cd temp 

openssl genrsa -des3 -out server.pkey 1024 

openssl rsa -in server.pkey -out server.key 

openssl req -new -key server.key -out server.csr 

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:The Client’s Company

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

sudo chown openerp:root server.crt server.key
sudo chmod 640 server.crt server.key 

sudo mkdir /etc/ssl/openerp
sudo chown openerp:root /etc/ssl/openerp
sudo chmod 710 /etc/ssl/openerp
sudo mv server.crt server.key /etc/ssl/openerp/ 

Erstellen der Apache Seiten Konfigurationsdatei

In der Datei /etc/apache2/sites-available/openerp-ssl

    <VirtualHost *:443>

    SSLEngine on
    SSLCertificateFile /etc/ssl/openerp/server.crt
    SSLCertificateKeyFile /etc/ssl/openerp/server.key

    ProxyRequests Off

    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    ProxyVia On

    ProxyPass /webdav/ http://127.0.0.1:8069/webdav/
    <Location /webdav/ >
    ProxyPassReverse /webdav/
    <Limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT MOVE COPY DELETE LOCK UNLOCK>
    Order Deny,Allow
    Allow from all
    Satisfy Any
    </Limit>
    </Location>

    ProxyPass / http://127.0.0.1:8080/
    <location / >
    ProxyPassReverse /
    </location>

    RequestHeader set "X-Forwarded-Proto" "https"

    # Fix IE problem (httpapache proxy dav error 408/409)
    SetEnv proxy-nokeepalive 1

    </VirtualHost> 

sudo a2ensite openerp-ssl 

RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R] 

In der Datei /etc/openerp-server.conf

    xmlrpc = True
    xmlrpc_interface = 127.0.0.1
    xmlrpc_port = 8069

    netrpc = True
    netrpc_interface = 127.0.0.1
    netrpc_port = 8070

    xmlrpcs = True
    xmlrpcs_interface =
    xmlrpcs_port = 8071
    secure_pkey_file = /etc/ssl/openerp/server.key
    secure_cert_file = /etc/ssl/openerp/server.crt 

[webdav]
enable = True
vdir = webdav 

In der Datei /etc/openerp-web.conf

    # Some server parameters that you may want to tweak
    server.socket_host = “127.0.0.1″

    # Set to True if you are deploying your App behind a proxy
    # e.g. Apache using mod_proxy
    tools.proxy.on = True

    # If your proxy does not add the X-Forwarded-Host header, set
    # the following to the *public* host url.
    tools.proxy.base = ‘https://your-ip-or-domain’

    # Set to false to disable CSRF checks
    tools.csrf.on = False 

Starten der Server und des Web-Clienten

sudo service openerp-server restart
sudo service openerp-web restart
sudo service apache2 restart 

https://ip-oder-domain/webdav/DB_NAME/calendars/users/USERNAME/c/CALENDAR_NAME 

Diese Revision wurde am 5. September 2011 16:13 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Anwendungen, ERP, Python, Warenwirtschaft

Passwort vergessen?