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 leute,
versuche gerade zum ersten mal Kivitendo zu installieren.
Benutze dazu das Kivitendo docker image von raphaelnoailles

In dem Verzeichnis habe ich zwei files erstellt docker-compose.yml und kivitendo.conf

docker-compose.yml:

version: "3.1"

services:
  web:
    restart: always
    image: raphaelnoailles/kivitendo:latest
    ports:
      - "3000:80"
    volumes:
      - ./kivitendo.conf:/var/www/kivitendo-erp/config/kivitendo.conf
      - ./data/kivitendo/templates:/var/www/kivitendo/templates
    links:
      - db:postgres

  db:
    restart: always
    image: postgres:latest
    environment:
      LC_ALL: C.UTF-8
      POSTGRES_DB: kivitendo_auth
      POSTGRES_USER: kivitendo
      POSTGRES_PASSWORD: password
    volumes:
        - ./data/db:/var/lib/postgresql/data

kivitendo.conf:

[authentication]
admin_password = kivitendo

[authentication/database]
host     = postgres
port     = 5432
db       = kivitendo_auth
user     = kivitendo
password = password

[system]
language = de

Nach docker-compose up ist Kivitendo unter http://localhost:3000 zu erreichen, der Zugang zu Admin-Bereich funktioniert initial und die Tabelle kann angelegt werden.
Bei einem klick auf Weiter wird die admin session leider beendet, der admin-login view begrüsst mich mit Ungültiges Passwort.
Weiterer admin login versuch führt zu:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Server error log:

root@9999fb6fe33f:/# cat /var/log/apache2/error.log
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.21.0.3. Set the 'ServerName' directive globally to suppress this message
[Wed Nov 11 10:36:52.714972 2020] [mpm_event:notice] [pid 38:tid 139730369398656] AH00489: Apache/2.4.10 (Debian) mod_fcgid/2.3.9 OpenSSL/1.0.1t configured -- resuming normal operations
[Wed Nov 11 10:36:52.715038 2020] [core:notice] [pid 38:tid 139730369398656] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
WARNING: HOME is not set, using root: /

Exception! ERROR:  column d.adsrc does not exist
LINE 1: ...mat_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a...
                                                             ^       SELECT a.attname, format_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a.attnotnull
      FROM pg_attribute a
      LEFT JOIN pg_attrdef d ON (a.attrelid = d.adrelid) AND (a.attnum = d.adnum)
      WHERE (a.attrelid = 'auth.session'::regclass)
        AND (a.attnum > 0)
        AND NOT a.attisdropped
      ORDER BY a.attnum


   thrown  at  file SL/Form.pm, line 351 in Form::dberror, pid=97
   reached via file SL/DBUtils.pm, line 150 in SL::DBUtils::prepare_execute_query
   reached via file SL/DBUtils.pm, line 224 in SL::DBUtils::selectall_as_map
   reached via file SL/Auth/ColumnInformation.pm, line 39 in SL::Auth::ColumnInformation::_fetch
   reached via file SL/Auth.pm, line 70 in SL::Auth::reset
   reached via file SL/Dispatcher.pm, line 343 in SL::Dispatcher::handle_request
   reached via file SL/Dispatcher.pm, line 226 in SL::Dispatcher::handle_all_requests
   reached via file /var/www/kivitendo-erp/dispatcher.fpl, line 21 in <package: main>
WARNING: HOME is not set, using root: /

Exception! ERROR:  column d.adsrc does not exist
LINE 1: ...mat_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a...
                                                             ^       SELECT a.attname, format_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a.attnotnull
      FROM pg_attribute a
      LEFT JOIN pg_attrdef d ON (a.attrelid = d.adrelid) AND (a.attnum = d.adnum)
      WHERE (a.attrelid = 'auth.session'::regclass)
        AND (a.attnum > 0)
        AND NOT a.attisdropped
      ORDER BY a.attnum


   thrown  at  file SL/Form.pm, line 351 in Form::dberror, pid=98
   reached via file SL/DBUtils.pm, line 150 in SL::DBUtils::prepare_execute_query
   reached via file SL/DBUtils.pm, line 224 in SL::DBUtils::selectall_as_map
   reached via file SL/Auth/ColumnInformation.pm, line 39 in SL::Auth::ColumnInformation::_fetch
   reached via file SL/Auth.pm, line 70 in SL::Auth::reset
   reached via file SL/Dispatcher.pm, line 343 in SL::Dispatcher::handle_request
   reached via file SL/Dispatcher.pm, line 226 in SL::Dispatcher::handle_all_requests
   reached via file /var/www/kivitendo-erp/dispatcher.fpl, line 21 in <package: main>
[Wed Nov 11 10:37:09.179555 2020] [fcgid:warn] [pid 40:tid 139730369398656] mod_fcgid: cleanup zombie process 98
WARNING: HOME is not set, using root: /

Exception! ERROR:  column d.adsrc does not exist
LINE 1: ...mat_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a...
                                                             ^       SELECT a.attname, format_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a.attnotnull
      FROM pg_attribute a
      LEFT JOIN pg_attrdef d ON (a.attrelid = d.adrelid) AND (a.attnum = d.adnum)
      WHERE (a.attrelid = 'auth.session'::regclass)
        AND (a.attnum > 0)
        AND NOT a.attisdropped
      ORDER BY a.attnum


   thrown  at  file SL/Form.pm, line 351 in Form::dberror, pid=99
   reached via file SL/DBUtils.pm, line 150 in SL::DBUtils::prepare_execute_query
   reached via file SL/DBUtils.pm, line 224 in SL::DBUtils::selectall_as_map
   reached via file SL/Auth/ColumnInformation.pm, line 39 in SL::Auth::ColumnInformation::_fetch
   reached via file SL/Auth.pm, line 70 in SL::Auth::reset
   reached via file SL/Dispatcher.pm, line 343 in SL::Dispatcher::handle_request
   reached via file SL/Dispatcher.pm, line 226 in SL::Dispatcher::handle_all_requests
   reached via file /var/www/kivitendo-erp/dispatcher.fpl, line 21 in <package: main>
WARNING: HOME is not set, using root: /

Exception! ERROR:  column d.adsrc does not exist
LINE 1: ...mat_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a...
                                                             ^       SELECT a.attname, format_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a.attnotnull
      FROM pg_attribute a
      LEFT JOIN pg_attrdef d ON (a.attrelid = d.adrelid) AND (a.attnum = d.adnum)
      WHERE (a.attrelid = 'auth.session'::regclass)
        AND (a.attnum > 0)
        AND NOT a.attisdropped
      ORDER BY a.attnum


   thrown  at  file SL/Form.pm, line 351 in Form::dberror, pid=100
   reached via file SL/DBUtils.pm, line 150 in SL::DBUtils::prepare_execute_query
   reached via file SL/DBUtils.pm, line 224 in SL::DBUtils::selectall_as_map
   reached via file SL/Auth/ColumnInformation.pm, line 39 in SL::Auth::ColumnInformation::_fetch
   reached via file SL/Auth/ColumnInformation.pm, line 47 in SL::Auth::ColumnInformation::info
   reached via file SL/Auth/ColumnInformation.pm, line 52 in SL::Auth::ColumnInformation::has
   reached via file SL/Auth.pm, line 764 in SL::Auth::save_session
   reached via file SL/Dispatcher.pm, line 341 in SL::Dispatcher::handle_request
   reached via file SL/Dispatcher.pm, line 226 in SL::Dispatcher::handle_all_requests
   reached via file /var/www/kivitendo-erp/dispatcher.fpl, line 21 in <package: main>
WARNING: HOME is not set, using root: /

Exception! ERROR:  column d.adsrc does not exist
LINE 1: ...mat_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a...
                                                             ^       SELECT a.attname, format_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a.attnotnull
      FROM pg_attribute a
      LEFT JOIN pg_attrdef d ON (a.attrelid = d.adrelid) AND (a.attnum = d.adnum)
      WHERE (a.attrelid = 'auth.session'::regclass)
        AND (a.attnum > 0)
        AND NOT a.attisdropped
      ORDER BY a.attnum


   thrown  at  file SL/Form.pm, line 351 in Form::dberror, pid=101
   reached via file SL/DBUtils.pm, line 150 in SL::DBUtils::prepare_execute_query
   reached via file SL/DBUtils.pm, line 224 in SL::DBUtils::selectall_as_map
   reached via file SL/Auth/ColumnInformation.pm, line 39 in SL::Auth::ColumnInformation::_fetch
   reached via file SL/Auth/ColumnInformation.pm, line 47 in SL::Auth::ColumnInformation::info
   reached via file SL/Auth/ColumnInformation.pm, line 52 in SL::Auth::ColumnInformation::has
   reached via file SL/Auth.pm, line 764 in SL::Auth::save_session
   reached via file SL/Dispatcher.pm, line 341 in SL::Dispatcher::handle_request
   reached via file SL/Dispatcher.pm, line 226 in SL::Dispatcher::handle_all_requests
   reached via file /var/www/kivitendo-erp/dispatcher.fpl, line 21 in <package: main>
[Wed Nov 11 10:37:32.118716 2020] [fcgid:warn] [pid 40:tid 139730369398656] mod_fcgid: cleanup zombie process 101
WARNING: HOME is not set, using root: /

Exception! ERROR:  column d.adsrc does not exist
LINE 1: ...mat_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a...
                                                             ^       SELECT a.attname, format_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a.attnotnull
      FROM pg_attribute a
      LEFT JOIN pg_attrdef d ON (a.attrelid = d.adrelid) AND (a.attnum = d.adnum)
      WHERE (a.attrelid = 'auth.session'::regclass)
        AND (a.attnum > 0)
        AND NOT a.attisdropped
      ORDER BY a.attnum


   thrown  at  file SL/Form.pm, line 351 in Form::dberror, pid=107
   reached via file SL/DBUtils.pm, line 150 in SL::DBUtils::prepare_execute_query
   reached via file SL/DBUtils.pm, line 224 in SL::DBUtils::selectall_as_map
   reached via file SL/Auth/ColumnInformation.pm, line 39 in SL::Auth::ColumnInformation::_fetch
   reached via file SL/Auth/ColumnInformation.pm, line 47 in SL::Auth::ColumnInformation::info
   reached via file SL/Auth/ColumnInformation.pm, line 52 in SL::Auth::ColumnInformation::has
   reached via file SL/Auth.pm, line 764 in SL::Auth::save_session
   reached via file SL/Dispatcher.pm, line 341 in SL::Dispatcher::handle_request
   reached via file SL/Dispatcher.pm, line 226 in SL::Dispatcher::handle_all_requests
   reached via file /var/www/kivitendo-erp/dispatcher.fpl, line 21 in <package: main>
[Wed Nov 11 10:37:39.787646 2020] [fcgid:warn] [pid 42:tid 139730175911680] (104)Connection reset by peer: [client 172.21.0.1:36566] mod_fcgid: error reading data from FastCGI server, referer: http://localhost:3000/controller.pl?action=Admin%2Fapply_dbupgrade_scripts
[Wed Nov 11 10:37:39.787686 2020] [core:error] [pid 42:tid 139730175911680] [client 172.21.0.1:36566] End of script output before headers: dispatcher.fpl, referer: http://localhost:3000/controller.pl?action=Admin%2Fapply_dbupgrade_scripts
root@9999fb6fe33f:/# 

Und jetzt zu den Fragen
- Wird jemand aus den logs schlau und weiss was zu tun ist? um kivitendo zum laufen zu bekommen?
- Kennt ihr weitere Docker images?

Vielen Dank!!!!!

von (20 Punkte)

2 Antworten

0 Punkte

Mir ist folgendes Docker-Image bekannt.

https://github.com/drnoa/kivitendo_docker

Gruß Alois

von (510 Punkte)

danke schön

Hast du das Image schon mal versucht?

habe eine docker-compose.yml angelegt:

version:

"3.1"

services:
  web:
    restart: always
    image: drnoa/kivitendo-docker:latest
    ports:
      - "3000:80"
    volumes:
      - ./postgresql/data:/var/lib/postgresql

und gestartet docker-compose up.

Die kividento.conf wird automatisch erstellt und liegt im container unter /var/www/kivitendo-erp/config/kivitendo.conf,
gleiche hier im repo https://github.com/drnoa/kivitendo_docker/blob/2e88100ca09e31b1df21d2b61ea74c7ae1aa9241/kivitendo.conf

Kivitendo ist unter http://localhost:3000 zu erreichen

Beim Erstellen der Datenbank für die Benutzeranmeldung bekomme ich folgenden Fehler:

Die Verbindung zur Vorlagendatenbank schlug fehl:
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?

Schade.

der log von docker-compose up

Creating network "kiviculi

narislocal_default" with the default driver
Creating kiviculinarislocal_web_1 ... 
Creating kiviculinarislocal_web_1 ... done
Attaching to kiviculinarislocal_web_1
web_1  | /usr/lib/python2.7/dist-packages/supervisor/options.py:298: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
web_1  |   'Supervisord is running as root and it is searching '
web_1  | 2020-11-11 09:54:20,077 CRIT Supervisor running as root (no user in config file)
web_1  | 2020-11-11 09:54:20,077 INFO Included extra file "/etc/supervisor/conf.d/supervisord-apache2.conf" during parsing
web_1  | 2020-11-11 09:54:20,077 INFO Included extra file "/etc/supervisor/conf.d/supervisord-postgresql.conf" during parsing
web_1  | 2020-11-11 09:54:20,082 INFO RPC interface 'supervisor' initialized
web_1  | 2020-11-11 09:54:20,082 INFO supervisord started with pid 1
web_1  | 2020-11-11 09:54:21,085 INFO spawned: 'postgres' with pid 8
web_1  | 2020-11-11 09:54:21,088 INFO spawned: 'apache2' with pid 9
web_1  | 2020-11-11 09:54:21,106 INFO exited: postgres (exit status 1; not expected)
web_1  | 2020-11-11 09:54:22,166 INFO spawned: 'postgres' with pid 34
web_1  | 2020-11-11 09:54:22,167 INFO success: apache2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
web_1  | 2020-11-11 09:54:22,187 INFO exited: postgres (exit status 1; not expected)
web_1  | 2020-11-11 09:54:24,193 INFO spawned: 'postgres' with pid 37
web_1  | 2020-11-11 09:54:24,250 INFO exited: postgres (exit status 1; not expected)
web_1  | 2020-11-11 09:54:27,257 INFO spawned: 'postgres' with pid 40
web_1  | 2020-11-11 09:54:27,327 INFO exited: postgres (exit status 1; not expected)
web_1  | 2020-11-11 09:54:28,329 INFO gave up: postgres entered FATAL state, too many start retries too quickly

scheint das postgres nicht starten will

die im log genannte /etc/supervisor/conf.d/supervisord-postgresql.conf:

[program:postgres]
command=/usr/local/bin/supervisord-postgresql.sh
numprocs=1
autostart=true
autorestart=true
priority=1

und die /usr/local/bin/supervisord-postgresql.sh

#!/bin/bash

# Exit immediately if a simple command exits with a non-zero status
set -e

POSTGRESQL_BIN=/usr/lib/postgresql/10/bin/postgres
POSTGRESQL_CONFIG_FILE=/etc/postgresql/10/main/postgresql.conf
POSTGRESQL_DATA=/var/lib/postgresql/10/main
POSTGRESQL_SINGLE="sudo -u postgres $POSTGRESQL_BIN --single --config-file=$POSTGRESQL_CONFIG_FILE"

# If there is no postgresql data directory, create the directory and set config data path
if [ ! -d $POSTGRESQL_DATA ]; then
    mkdir -p $POSTGRESQL_DATA
    chown -R postgres:postgres $POSTGRESQL_DATA
    /usr/lib/postgresql/10/bin/initdb -D $POSTGRESQL_DATA
    ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem $POSTGRESQL_DATA/server.crt
    ln -s /etc/ssl/private/ssl-cert-snakeoil.key $POSTGRESQL_DATA/server.key
fi

# Setting the default password
$POSTGRESQL_SINGLE <<< "ALTER USER postgres WITH PASSWORD 'change@this*passw0rd';" > /dev/null

# Starting the postgresql server
exec sudo -u postgres $POSTGRESQL_BIN --config-file=$POSTGRESQL_CONFIG_FILE

ich habe leider keine Ahnung

ok klappt

docker-compose.yml:

version: "3.1"

services:

  web:
    restart: always
    image: drnoa/kivitendo-docker:latest
    ports:
      - "3000:80"
    # volumes:
    #   - ./postgresql/data:/var/lib/postgresql

Das problem ist das volume

in der image readme https://github.com/drnoa/kivitendo_docker#data-store steht:
> For data persistence a volume should be mounted at /var/lib/postgresql.
>
> The updated run command looks like this.
>
> docker run --name -d -v /opt/postgresql/data:/var/lib/postgresql drnoa/kivitendo-docker:latest

Egal was ich auf host seite für einen pfad wähle, postgres funktioniert nicht.

Naja, zumindest bekomme ich kivitendo schon mal überhaupt zum laufen

0 Punkte

Admin-Bereich funktioniert initial und die Tabelle kann angelegt werden.
Bei einem klick auf Weiter wird die admin session leider beendet, der admin-login view begrüsst mich mit Ungültiges Passwort.

Ich habe genau dasselbe Problem bei manueller Neuinstallation einer 3.5.5
Auch den Serverlog mit der Meldung

ERROR: column d.adsrc does not exist

ist das gleiche Phäneomen.
Ich vermutete einen Zusammenhang zur apache-Konfiguration, die laut Hilfe ein

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

Beinhalten soll. Aber außer, dass ich die Zeile drin hab und trotzdem das Problem komm ich hier nicht weiter.
Das Problem löst sich (bei mir), wenn ich eine 3.5.6.x installiere. Dort hab ich jedoch ein Problem mit dem DB-Update und stecke ebenfalls fest.
Weiß jemand einen Rat bzgl. der "Ungültiges Passwort"-Meldung?

von (100 Punkte)

Ich habe auf meine eigene Frage eine Antwort gefunden.
Möglicherweise auch bzgl. Docker-Image hilfreich.

Wenn man nach "column d.acsrc does not exist" sucht stößt man auf diese Seite:
https://stackoverflow.com/questions/58789024/postgres-error-column-d-adsrc-does-not-exist
Dort liest man, dass die entsprechende Spalte in postgres-Version 12 rausgeflogen ist.
Ersetzt man d.adsrc mit pg_get_expr(d.adbin, d.adrelid) in ColumnInformation.pm kann man sich wieder regulär im Adminbereich einloggen und das System erscheint lauffähig.

Ich lande damit dann zwar im nächsten ungeklärten Fehler (Can't call method "tax" on an undefined value at /var/www/kivitendo/SL/DB/Helper/PriceTaxCalculator.pm line 113. -> Siehe offene andere Frage von mir) beim Aufruf eines Angebots, aber ich kann mich freuen ein Schrittchen weiter zu sein.

Ähnliche Fragen

0 Punkte
1 Antwort
Gefragt 6, Okt 2022 von davidwuest (130 Punkte)
0 Punkte
3 Antworten
Gefragt 6, Mär 2015 von jbueren (17.8k Punkte)
0 Punkte
1 Antwort
0 Punkte
2 Antworten
...