Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan und neuem Layout

Unterstützt kivitendo mit der Basis-Subskription!

0 Punkte

Hi,

Kivitendo 3.1.0 bringt seit nunmehr über einem Monat die nicht erreichbar Meldung (504).

Habe soweit alles nach Anleitung (beiliegender Dokumentation, die über localhos/kivitendo/doc/html/ch02s06.html erreichbar ist) installiert und einige male verglichen. Leider finde ich den Fehler nicht und bräuchte Abhilfe.

Gruß

von (2.7k Punkte)

Was steht in apache2.conf und .htaccess?

Sofern apache2 dein Webserver ist.

Und wieder ein Stück weiter, allerdings mit folgen.

also Datenbanken (old) wiederhergestellt, apache und postgres restart.

UND SIEHE DA --> DIE KIVITENDO SEITE nicht DARSTELLBAR

Irgendwie haben wir das alles schon einmal gehabt, Danke

Respektive: Die 3.1.0 Version zerstört Datenbank psql.

2 Antworten

0 Punkte

Access Control Apache2

Setz dich einmal auseinander mit diesen geänderten Regelungen.Mir hats geholfen.

von

Danke dir, anbei meine apache2.conf

Based upon the NCSA server configuration files originally by Rob McCool.

This is the main Apache server configuration file. It contains the

configuration directives that give the server its instructions.

See http://httpd.apache.org/docs/2.2/ for detailed information about

the directives.

Do NOT simply read the instructions in here without understanding

what they do. They're here only as hints or reminders. If you are unsure

consult the online docs. You have been warned.

The configuration directives are grouped into three basic sections:

1. Directives that control the operation of the Apache server process as a

whole (the 'global environment').

2. Directives that define the parameters of the 'main' or 'default' server,

which responds to requests that aren't handled by a virtual host.

These directives also provide default values for the settings

of all virtual hosts.

3. Settings for virtual hosts, which allow Web requests to be sent to

different IP addresses or hostnames and have them handled by the

same Apache server process.

Configuration and logfile names: If the filenames you specify for many

of the server's control files begin with "/" (or "drive:/" for Win32), the

server will use that explicit path. If the filenames do not begin

with "/", the value of ServerRoot is prepended -- so "foo.log"

with ServerRoot set to "/etc/apache2" will be interpreted by the

server as "/etc/apache2/foo.log".

Section 1: Global Environment

The directives in this section affect the overall operation of Apache,

such as the number of concurrent requests it can handle or where it

can find its configuration files.

ServerRoot: The top of the directory tree under which the server's

configuration, error, and log files are kept.

NOTE! If you intend to place this on an NFS (or otherwise network)

mounted filesystem then please read the LockFile documentation (available

at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>);

you will save yourself a lot of trouble.

Do NOT add a slash at the end of the directory path.

ServerRoot "/etc/apache2"

The accept serialization lock file MUST BE STORED ON A LOCAL DISK.

LockFile ${APACHE_LOCK_DIR}/accept.lock

PidFile: The file in which the server should record its process

identification number when it starts.

This needs to be set in /etc/apache2/envvars

PidFile ${APACHE_PID_FILE}

Timeout: The number of seconds before receives and sends time out.

Timeout 300

KeepAlive: Whether or not to allow persistent connections (more than

one request per connection). Set to "Off" to deactivate.

KeepAlive On

MaxKeepAliveRequests: The maximum number of requests to allow

during a persistent connection. Set to 0 to allow an unlimited amount.

We recommend you leave this number high, for maximum performance.

MaxKeepAliveRequests 100

KeepAliveTimeout: Number of seconds to wait for the next request from the

same client on the same connection.

KeepAliveTimeout 15

Server-Pool Size Regulation (MPM specific)

prefork MPM

StartServers: number of server processes to start

MinSpareServers: minimum number of server processes which are kept spare

MaxSpareServers: maximum number of server processes which are kept spare

MaxClients: maximum number of server processes allowed to start

MaxRequestsPerChild: maximum number of requests a server process serves

StartServers          5
MinSpareServers       5
MaxSpareServers      10
MaxClients          150
MaxRequestsPerChild   0 </IfModule>

worker MPM

StartServers: initial number of server processes to start

MaxClients: maximum number of simultaneous client connections

MinSpareThreads: minimum number of worker threads which are kept spare

MaxSpareThreads: maximum number of worker threads which are kept spare

ThreadLimit: ThreadsPerChild can be changed to this maximum value during a

graceful restart. ThreadLimit can only be changed by stopping

and starting Apache.

ThreadsPerChild: constant number of worker threads in each server process

MaxRequestsPerChild: maximum number of requests a server process serves

StartServers          2
MinSpareThreads      25
MaxSpareThreads      75 
ThreadLimit          64
ThreadsPerChild      25
MaxClients          150
MaxRequestsPerChild   0 </IfModule>

event MPM

StartServers: initial number of server processes to start

MaxClients: maximum number of simultaneous client connections

MinSpareThreads: minimum number of worker threads which are kept spare

MaxSpareThreads: maximum number of worker threads which are kept spare

ThreadsPerChild: constant number of worker threads in each server process

MaxRequestsPerChild: maximum number of requests a server process serves

StartServers          2
MaxClients          150
MinSpareThreads      25
MaxSpareThreads      75 
ThreadLimit          64
ThreadsPerChild      25
MaxRequestsPerChild   0 </IfModule>

These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP}

AccessFileName: The name of the file to look for in each directory

for additional configuration directives. See also the AllowOverride

directive.

AccessFileName .htaccess

The following lines prevent .htaccess and .htpasswd files from being

viewed by Web clients.

Order allow,deny
Deny from all
Satisfy all </Files>

DefaultType is the default MIME type the server will use for a document

if it cannot otherwise determine one, such as from filename extensions.

If your server contains mostly text or HTML documents, "text/plain" is

a good value. If most of your content is binary, such as applications

or images, you may want to use "application/octet-stream" instead to

keep browsers from trying to display binary files as though they are

text.

DefaultType text/plain

HostnameLookups: Log the names of clients or just their IP addresses

e.g., www.apache.org (on) or 204.62.129.132 (off).

The default is off because it'd be overall better for the net if people

had to knowingly turn this feature on, since enabling it means that

each client request will result in AT LEAST one lookup request to the

nameserver.

HostnameLookups Off

ErrorLog: The location of the error log file.

If you do not specify an ErrorLog directive within a

container, error messages relating to that virtual host will be

logged here. If you do define an error logfile for a

container, that host's errors will be logged there and not here.

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel: Control the number of messages logged to the error_log.

Possible values include: debug, info, notice, warn, error, crit,

alert, emerg.

LogLevel warn

Include module configuration: Include mods-enabled/.load Include mods-enabled/.conf

Include all the user configurations: Include httpd.conf

Include ports listing Include ports.conf

The following directives define some format nicknames for use with

a CustomLog directive (see below).

If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s

%O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t
\"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat
"%{User-agent}i" agent

Include of directories ignores editors' and dpkg's backup files,

see README.Debian for details.

Include generic snippets of statements Include conf.d/

Include the virtual host configurations: Include sites-enabled/

Meine .htaccess Datei im kivitendo-erp Ordner

Choose a character set (just in case you like to change it here)

uncommit the line you wish to activate

AddDefaultCharset ISO-8859-15

AddDefaultCharset UTF-8

simple access control by client ip

uncomment the lines starting with Order ..., Deny ... and Allow ...

examples: "Allow from 192.168" or "Allow from 192.168.1" or "Allow from 192.168.178" or "

Allow from 217.84.201.2"

Order deny,allow

Deny from all

Allow from 192.168

Meine .htaccess Datei im kivitendo-crm Ordner

php_value include_path
".:/usr/share/php:/usr/share/php/fpdf:/usr/share/php/fpdi:/usr/share/jpgraph"

Habe keine Möglichkeit gefunden diese Dateien anders abzusenden, wenn ich die Funktion CODE benutze werden meistens die Zeilen einfach abgeschnitten, eine wirkliche sauber Darstellung ist das Zitat auch nicht, wenn du willst kann ich dir gerne die config's per Mail senden? Den Tipp (Apache2) werde ich mir anschauen zwar ist mein Englisch nicht so gut aber es gibt ja Translater.

. ursprünglicher Text gelöscht da nicht relevant ......

. ursprünglicher Text gelöscht da nicht relevant ......

Hallo,

gebe dir vollkommen recht in der Darstellung "CODE" und "ZITAT" ist es fast unmöglich die Files zu lesen.

Überlege mir, wie ich die Files sauber darstellen kann, just moment please. Hast du evtl. eine Idee?

Habe ein Paar Zeilen umbenannt (apache.conf und kivitendo.conf, letztes liegt bei mir im Ordner conf.d):

Order allow,deny
Allow from all

apache und postgresql restarted, brachte jedoch keine Verbesserung. Uprade to apache2.4, gibt's da evtl. eine *.deb?

Hoffe es klappt nun, genauso mit copy und paste wie hier im Forum zuvor eingefügt, nun als Externer-Download-Link, allerdings wie lange es Downloadbar ist, kann ich nicht sagen.

apache2.conf
kivitendo-crm_.htaccess
kivitendo-erp_.htaccess

uncomment the lines starting with Order ..., Deny ... and Allow ...

das musst du noch machen
weg mit den betreffenden #
also in kivitendo-erp_.htaccess machen

dann aus apache2.conf habe ich die Rauten unten (#) mal durch ---> Backslash(/)ersetzt, dann ist es hier auch einigermaßen lesbar.
Alles was include ist Bspw.Include httpd.conf
dann ist httpd.conf interessant.
etc etc

ErrorLog ${APACHE_LOG_DIR}/error.log

/
/ LogLevel: Control the number of messages logged to the error_log.
/ Possible values include: debug, info, notice, warn, error, crit,
/ alert, emerg.
/
LogLevel warn

/ Include module configuration:
Include mods-enabled/.load
Include mods-enabled/
.conf

/ Include all the user configurations:
Include httpd.conf

/ Include ports listing
Include ports.conf
/
/ The following directives define some format nicknames for use with
/ a CustomLog directive (see below).
/ If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
/
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

/ Include of directories ignores editors' and dpkg's backup files,
/ see README.Debian for details.

/ Include generic snippets of statements
Include conf.d/

/ Include the virtual host configurations:
Include sites-enabled/


sowie sagen wir mal die letzten 10 Zeilen aus ErrorLog ${APACHE_LOG_DIR}/error.log

bei mir ist das bspw /var/log/apache2/error.log

auch könnte bei der postgressql datenbank der fehler liegen.falsches Passwort oder fehlende Rechte u.ä.
sofern du die nur für das kivitendo nutzt könnteste die neu installieren und lernen wie man sie mit irgendeinem tool einsehen kann.
pgAdmin bspw.

anbei meine komplette /var/log/apache2/error.log:

PHP Warning: Module 'gd' already loaded in Unknown on line 0
[Sun Jun 01 08:02:01 2014] [error] python_init: Python version mismatch, expected '2.6.5+', found '2.6.6'.
[Sun Jun 01 08:02:01 2014] [error] python_init: Python executable found '/usr/bin/python'.
[Sun Jun 01 08:02:01 2014] [error] python_init: Python path being used '/usr/lib/python2.6/:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/lib-old:/usr/lib/python2.6/lib-dynload'.
[Sun Jun 01 08:02:01 2014] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Sun Jun 01 08:02:01 2014] [notice] mod_python: using mutex_directory /tmp
[Sun Jun 01 08:02:02 2014] [notice] Apache/2.2.16 (Debian) mod_fcgid/2.3.6 PHP/5.3.3-7+squeeze19 with Suhosin-Patch mod_python/3.3.1 Python/2.6.6 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Sun Jun 01 13:57:24 2014] [error] [client 192.168.2.1] File does not exist: /var/www/favicon.ico
[Sun Jun 01 14:00:43 2014] [warn] [client 192.168.2.1] mod_fcgid: read data timeout in 200 seconds
[Sun Jun 01 14:00:43 2014] [error] [client 192.168.2.1] Premature end of script headers: dispatcher.fpl
[Sun Jun 01 14:02:45 2014] [warn] [client 192.168.2.1] mod_fcgid: read data timeout in 200 seconds
[Sun Jun 01 14:02:45 2014] [error] [client 192.168.2.1] Premature end of script headers: dispatcher.fpl
[Sun Jun 01 18:35:52 2014] [error] [client 192.168.2.1] File does not exist: /var/www/favicon.ico
[Sun Jun 01 18:35:52 2014] [error] [client 192.168.2.1] File does not exist: /var/www/favicon.ico
[Sun Jun 01 18:35:52 2014] [error] [client 192.168.2.1] File does not exist: /var/www/favicon.ico

Auf die postgressql datenbank kann ich zugreifen zumindest via phpPgAdmin und webmin.
Jetzt muss ich aber noch deine vorhergehende Antwort bearbeiten.

Wie sieht deine kivi.conf oder so ähnlich aus die irgendwo bei den apache2-Skripten sein sollte.

Und dann scheint das doch der Fehler zu sein:

[Sun Jun 01 14:00:43 2014] [warn] [client 192.168.2.1] modfcgid: read data timeout in 200 seconds

Gibbest du das Ende bei google ein findest du einige Lösungsansätze
z.b Den hier
"The fix is to change the MaxRequestLen setting for mod_fcgid to a higher value."
bzw. andere
"If you can access Linux server please edit /etc/httpd/conf.d/fcgid.conf file with vim.
Change FcgidIOTimeout 45 to FcgidIOTimeout 600.
Restart Apache.
Then Fast CGI timeout will be solved."

dann wäre es gelöst

wenn es dort nicht drin steht suche nach FcgidIOTimeout und ändere dein individuelles Konfigurationsscript dafür-

ok fange mit der geänderten kivitendo-erp_.htaccess an:

### Choose a character set (just in case you like to change it here)
### uncommit the line you wish to activate
#AddDefaultCharset ISO-8859-15
#AddDefaultCharset UTF-8

### simple access control by client ip
### uncomment the lines starting with Order ..., Deny ... and Allow ...
### examples: "Allow from 192.168" or "Allow from 192.168.1" or "Allow from 192.168.178" or "Allow from 217.84.201.2"
Order deny,allow
#Deny from all
Allow from 192.168

Den, die \ in der apache2.conf sind nur für die Darstellung hier, ich belasse im File die #. Include httpd.conf ist leer, habe bei mir unter Include conf.d/ kivitendo.conf liegen anbei:

AddHandler fcgid-script .fpl
AliasMatch ^/kivitendo/[^/]+\.pl                /srv/www/kivitendo-erp/dispatcher.fpl
Alias       /kivitendo/                         /srv/www/kivitendo-erp/
FcgidMaxRequestLen 10485760

# Zugriff über CGI
AddHandler cgi-script .pl
Alias       /kivitendo-cgi/                     /srv/www/kivitendo-erp/

# Zugriff mit mod_fcgid:
AliasMatch ^/kivitendo-fcgid/[^/]+\.pl          /srv/www/kivitendo-erp/dispatcher.fpl
Alias       /kivitendo-fcgid/                   /srv/www/kivitendo-erp/

<Directory /srv/www/kivitendo-erp>
  AllowOverride All
  Options ExecCGI Includes FollowSymlinks
  DirectoryIndex login.pl
  AddDefaultCharset UTF-8
  Order Allow,Deny
  Allow from All
</Directory>

<DirectoryMatch /srv/www/kivitendo-erp/users>
  Order Deny,Allow
  #Deny from All
  Allow from All
</DirectoryMatch>

Darüber hinaus gibt es in der apace2.conf noch folgende Include
Include mods-enabled/.load
Include mods-enabled/
.conf
Include ports.conf
Include sites-enabled/

Anbei die fcgid.conf unter /etc/apache2/mods-enabled/fcgid.conf

#<IfModule mod_fcgid.c>
#  AddHandler   fcgid-script .fcgi
#  IPCConnectTimeout 20
#</IfModule>

<IfModule mod_fcgid.c>
  # Wenn dieser Befehl fehlt, werden offene PHP CGI Prozesse nicht richtig beendet
  # Siehe auch: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=398759
  DefaultMinClassProcessCount 0
  # Nach Ablauf von n (hier 300) Sekunden wird ein unbeschäftigter PHP CGI Prozess beendet
  IdleTimeout 300
  # Alle n Sekunden prüft fcgid auf unbeschäftigte Prozesse
  IdleScanInterval 30
  # Legt ein maximal Limit für fcgid Prozesse fest, wird dieses erreicht, wird kein weiterer PHP CGI Prozess gestartet.
  # ACHTUNG: Dies kann bedeuten, dass einzelne VirtualHosts nicht mehr erreichbar werden, wenn der Wert überschritten ist.
  MaxProcessCount 15
  # Dies muss laut fcgid Dokumentation gesetzt werden, um Fehler in Zusammenarbeit mit PHP zu umgehen
  MaxRequestsPerProcess 500
  PHP_Fix_Pathinfo_Enable 1
</IfModule>

Das einzige was ich hier erhöhen könnte ist der kommentierte Wert IPCConnectTimeout, so weit ich das verstanden habe. Aber ich suche bei Tante google derzeit weiter.

Bei mir sieht das etwas anders aus, sonst wie bei dir aber
.AddHandler cgi-script .pl
.Alias /kivitendo-erp/ /var/www/kivitendo-erp/
habe ich aber woanders stehen
in 000-default.conf

Endungen lauten aber genauso wie meine
kivi.conf
.AddHandler fcgid-script .fpl
.AliasMatch ^/kivitendo-erp/[^/]+.pl /var/www/kivitendo-erp/dispatcher.fpl
.Alias /kivitendo-erp/ /var/www/kivitendo-erp/
.FcgidMaxRequestLen 10485760

.
. AllowOverride All
. Options ExecCGI Includes FollowSymlinks
. Order Allow,Deny
. Allow from All
.< /Directory>
< DirectoryMatch /var/www/kivitendo-erp/users>
. Order Deny,Allow
. Deny from All
.< /DirectoryMatch>

Gut meine Konfig läuft würde jetzt gerne mal das eine oder andere stilllegen zum Testen aber meine Frau hätte was dagegen, da sie gerade das System nutzt.

Sicher das deine Konfig vom Addhandler nicht auch so enden sollte ?

--->
.AddHandler cgi-script .pl
.Alias /kivitendo-erp/ /var/www/kivitendo-erp/

meine natürlich mit deinen Pfaden aber Endung auf kivitendo-erp

Anmerkung:Musste etwas die Ausrichtungen von einigen meiner Zeilen ändern, da sie ansonsten verschluckt? wurden

Frohe Pfingsten, melde mich wieder zurück.

du Glücklicher, es ist schön das Kivitendo 3.1.1 bei dir ohne Probleme funktioniert.

Bei mir funktioniert es weiterhin nicht. Ich Glaube ich mache, wegen der Übersicht, einen neuen Thread auf.

0 Punkte

Dein Problem Steckt hier:

[Sun Jun 01 14:00:43 2014] [warn] [client 192.168.2.1] modfcgid: read data timeout in 200 seconds
[Sun Jun 01 14:00:43 2014] [error] [client 192.168.2.1] Premature end of script headers: dispatcher.fpl

Dein System scheint sehr verfummelt zu sein. Lass da mal jemand mit viel Erfahrung rann, oder

  1. neue Kiivitendo Instanz aufsetzten (auch einen frische Apache Config und schoen schrit fuer Schritt nach Doku, nimm Dir Zeit dafuer, Du siehst ja so geht es auch nicht schneller)
  2. neuen Mandanten und neue User anlegen (achtung muessen andere Datenbanken sein als dein jetziges System)
  3. versuchen die alte Datenbank zu migrieren (also die neueangelegten Auth-Datenbank in der kivitendo.conf mit der aktuellen ersetzen.
  4. das alte Vorlagenverzeichnis in die neue Installation kopieren

Und ja, den naechsten Schritt immer erst gehen wenn der vorherige gelungen ist.
Und Ja, mach Dir Sicherheitsupdates

von (18.0k Punkte)

Danke dir, allerdings wäre mir viel lieber das Problem zu lösen statt neu aufzusetzen.

Mittlerweile habe ich statt der 504er, eine 500er Browser-Meldung,
rein Mathematisch wäre es schön wenn dies eine Verbesserung darstellt?

Vielleicht macht es ja auch Sinn Kivitendo per Mail zu Kontaktieren?

Entschuldigt meine verspätete Antwort.

Du brauchst eine aktuelle Installation und Deine alte DB. Deine alte Installation zu retten bringt Dir keinen Vorteil Eine Frische Installation dauert bei mir ca 40 min und dann noch mal 40 min fuer vergessenen Kleinkram. Halt Dich Schritt fuer Schritt an die Doku und das sollte was werden. Selbst wenn Du 5 mal so lange brauchst ist das ein bruchteil der Zeit die Du hier schon reingesteckt hast und wahrscheinlich noch reinstecken wirst.

Hallo,

es ist so weit, bin eingeloggt, jedoch nicht zu früh freuen, vor zwei Monaten war ich schon einmal so weit, denn quasi über Nacht ging der login nicht mehr.

Frage wie kann ich meine alten Datenbänke nun wieder einspielen?
Habe via cron Job ein Backup das via psql läuft, gefunden, aber lange ist es her.

Gruß
turtle

Ähnliche Fragen

0 Punkte
3 Antworten
Gefragt 3, Apr 2012 von turtle (2.7k Punkte)
0 Punkte
0 Antworten
...