# apache2 und lx-office läuft nicht

## uhai

Bei Aufruf von http://localhost/erp/ erhalte ich:

```
Internal Server Error

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

Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

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

Apache Server at localhost Port 80
```

Das steht in /var/log/apache2/error_log:

```
[Sun Jun 29 06:54:25 2008] [notice] Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.8g PHP/5.2.6RC4-pl0-gentoo configured -- resuming normal operations

[Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] Can't locate HTML/Template.pm in @INC (@INC contains: modules/YAML /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl . modules) at SL/Form.pm line 42.

[Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] BEGIN failed--compilation aborted at SL/Form.pm line 42.

[Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] Compilation failed in require at bin/mozilla/login.pl line 32.

[Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] BEGIN failed--compilation aborted at bin/mozilla/login.pl line 32.

[Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] Compilation failed in require at /var/www/localhost/htdocs/erp/login.pl line 89.

[Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] Premature end of script headers: login.pl

[Sun Jun 29 08:32:14 2008] [error] [client 127.0.0.1] File does not exist: /var/www/localhost/htdocs/favicon.ico

[Sun Jun 29 09:01:47 2008] [error] [client 127.0.0.1] File does not exist: /var/www/localhost/htdocs/favicon.ico

```

So sieht die login.pl aus:

```
#!/usr/bin/perl

#

######################################################################

# SQL-Ledger Accounting

# Copyright (C) 2001

#

#  Author: Dieter Simader

#   Email: dsimader@sql-ledger.org

#     Web: http://www.sql-ledger.org

#

#  Contributors:

#

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation; either version 2 of the License, or

# (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

#######################################################################

#

# this script sets up the terminal and runs the scripts

# in bin/$terminal directory

# admin.pl is linked to this script

#

#######################################################################

BEGIN {

  unshift @INC, "modules/YAML"; # Use our own version of YAML.

  push @INC, "modules";         # Only use our own versions of modules if there's no system version.

}

# setup defaults, DO NOT CHANGE

$userspath  = "users";

$templates  = "templates";

$memberfile = "users/members";

$sendmail   = "| /usr/sbin/sendmail -t";

########## end ###########################################

$| = 1;

use SL::LXDebug;

$lxdebug = LXDebug->new();

eval { require "lx-erp.conf"; };

eval { require "lx-erp-local.conf"; } if -f "lx-erp-local.conf";

if ($ENV{CONTENT_LENGTH}) {

  read(STDIN, $_, $ENV{CONTENT_LENGTH});

}

if ($ENV{QUERY_STRING}) {

  $_ = $ENV{QUERY_STRING};

}

if ($ARGV[0]) {

  $_ = $ARGV[0];

}

%form = split /[&=]/;

# fix for apache 2.0 bug

map { $form{$_} =~ s/\\$// } keys %form;

# name of this script

$0 =~ tr/\\/\//;

$pos = rindex $0, '/';

$script = substr($0, $pos + 1);

$form->{login} =~ s|.*/||;

if (-e "$userspath/nologin" && $script ne 'admin.pl') {

  print "content-type: text/plain

Login disabled!\n";

  exit;

}

require "bin/mozilla/installationcheck.pl";

verify_installation();

$ARGV[0] = "$_&script=$script";

require "bin/mozilla/$script";

# end of main

```

Das sagt /var/log/access_log:

```
127.0.0.1 - - [29/Jun/2008:08:32:05 +0200] "GET /erp/ HTTP/1.1" 500 593

127.0.0.1 - - [29/Jun/2008:08:32:14 +0200] "GET /favicon.ico HTTP/1.1" 404 268

127.0.0.1 - - [29/Jun/2008:08:32:49 +0200] "GET /crm/install.txt HTTP/1.1" 200 2517

127.0.0.1 - - [29/Jun/2008:08:33:01 +0200] "GET /erp/doc/INSTALL HTTP/1.1" 200 8914

127.0.0.1 - - [29/Jun/2008:09:01:47 +0200] "GET /favicon.ico HTTP/1.1" 404 268

127.0.0.1 - - [29/Jun/2008:11:18:56 +0200] "GET /favicon.ico HTTP/1.1" 404 268

127.0.0.1 - - [29/Jun/2008:11:20:17 +0200] "GET /favicon.ico HTTP/1.1" 404 268

/var/log/apache2/access_log lines 447-467/467 (END) 

```

Im INSTALL von lxoffice stand:

 *Quote:*   

> Apache Konfiguration
> 
> ====================
> 
> Der Zugriff auf das Programmverzeichnis muß in der Apache Webserver-
> ...

 

Da könnte etwas schiefgegangen sein, da ich beim ersten Versuch eine Fehlermeldung erhalten habe. Beim zweiten mal hat es geklappt, so dass ich den Fehler nicht notiert habe.

Zur Ergänzung noch emerge --info:

```
DeskTux uhai # emerge --info

Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r8 i686)

=================================================================

System uname: 2.6.24-gentoo-r8 i686 AMD Athlon(tm)

Timestamp of tree: Sun, 29 Jun 2008 06:15:02 +0000

ccache version 2.4 [enabled]

app-shells/bash:     3.2_p33

dev-java/java-config: 1.3.7, 2.1.6

dev-lang/python:     2.4.4-r13

dev-python/pycrypto: 2.0.1-r6

dev-util/ccache:     2.4-r7

sys-apps/baselayout: 1.12.11.1

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.13, 2.61-r2

sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1

sys-devel/binutils:  2.18-r1

sys-devel/gcc-config: 1.4.0-r4

sys-devel/libtool:   1.5.26

virtual/os-headers:  2.6.23-r3

ACCEPT_KEYWORDS="x86"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=athlon -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT=""

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"

CXXFLAGS="-O2 -march=athlon -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ ftp://pandemonium.tiscali.de/pub/gentoo/ http://gentoo.mneisen.org/ ftp://ftp.mneisen.org/gentoo http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ ftp://ftp.solnet.ch/mirror/Gentoo http://gentoo.mirror.solnet.ch "

LANG="de_DE.UTF-8"

LC_ALL="de_DE.UTF-8"

LINGUAS="de"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/home/uhai/Fotos"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X a52 acl acpi alsa apache2 berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dga doc dri dvd dvdr dvdread eds emboss encode esd evo fam firefox fortran gdbm gif glitz gpm gps gstreamer gtk hal iconv ipv6 isdnlog java jpeg kerberos ldap mad midi mikmod mp3 mpeg mudflap mysql ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pda pdf perl png pppd print python qt3support quicktime readline reflection sdl session spell spl ssl startup-notification svg symlink tcpd tiff truetype truetype-fonts type1-fonts unicode v4l v4l2 vorbis win32codecs x86 xine xml xml2 xorg xscreensaver xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nvidia vga v4l vesa"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

```

Da ich weder von apache noch perl derzeit etwas verstehe, bitte ich Euch um eine Erklärung zur Fehlermeldung des Apachen und einen Stups in die Richtung zur Lösung.

uhai

----------

## gimpel

 *Quote:*   

> [Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] Can't locate HTML/Template.pm in @INC

 

Dann sucht man das mal in portage..

```
eix -s html-template

...

* dev-perl/HTML-Template

     Available versions:  2.8 2.9

     Homepage:            http://search.cpan.org/~samtregar/

     Description:         A Perl module to use HTML Templates
```

Ah, na dann

```
emerge dev-perl/HTML-Template
```

Und so gehts dahin bis du alle nötigen Perl module installiert hast.

app-portage/g-cpan ist da sehr hilfreich:

```
g-cpan -ip HTML-Template
```

Das kuckt ob ein ebuild bereits existiert und installiert das, wenn nicht erstellt es eines und emerged dir das. $PORTDIR_OVERLAY muss halt existieren dafür.

----------

## jkoerner

 *uhai wrote:*   

> 
> 
> ```
> 
> [Sun Jun 29 08:32:07 2008] [error] [client 127.0.0.1] Premature end of script headers: login.pl
> ...

 

Diese Zeile deutet immer auf eine nicht installierte Abhängigkeit hin. Dazu siehe den Vorpost.

<OT>

BTW kann ich nur von der Benutzung dieser Anwendung abraten. Ich hatte mich dort engagiert und 'reingekniet(das ursprüngliche Debianpaket stammt von mir), leider durfte ich dann 2 Jahre Buchungen aus LX in ein funktionierendes Programm eingeben…. Meine Erfahrung in Bezug auf die Korrektheit der Buchungen ist negativ.   :Sad: 

Auch sind einige der Entwickler abgesprungen und so fehlt einiges an „manpower“ um gravierende Unzulänglickkeiten auszubügeln</OT>

----------

## uhai

@gimpel:

Herzlichen Dank, jetzt weiß ich, wie ich weiterkomme.

@jkoerner:

Was benutzt Du denn jetzt? Für mich hat sich das gut angehört....

uhai

----------

## jkoerner

Ich benutze seit längerem  tudo , ein in C++/Qt geschriebenes Programm, in DE entwickelt. Kostet zwar Geld, aber da es GPL ist wird der Quellcode mitgeliefert. So ist es mir mit meinen Grundkenntnissen in C++ und der Tatsache, daß man das Programm zur Laufzeit in der (postgresql-)Datenbank - mit einfachen Änderungen - gelungen es an meine Bedürfnisse anzupassen. Und, was mir am wichtigsten ist, es rechnet korrekt…

Ein weiteres Programm, das auf Basis eines ausländischen Produkts für Verhältnisse in DE angepasst wurde und korrekt läuft, ist das ehemalige facturaLUX, jetzt  AbanQ . Auch hier kann man entweder selbst Hand anlegen oder notwendige Erweiterungen erwerben. C++/Qt mit QtScript, mysql/postgresql/sqlite.

Ein Programm aus französischer Herkunft bei dem sich ehemalige LX-Entwickler zusammengeschlossen haben um etwas für DE auf die Beine zu stellen, ist tinyERP. Ich habe leider keine URL dazu, das Projekt scheint aber noch nicht für den praktischen Einsatz in DE bereit zu sein. Außerdem verwendet es eine der von mir nicht beliebten Script-Sprachen. War es python?

Und dann war da noch  Kraft . Ganz einfach um Angebote, Rechnungen  und weitere Dokumente leicht zu erstellen. Das Programm steht aber noch am Anfang. KDE, C++/Qt und mysql.

Leider kann man keines der (quelloffenen) Programme „out of the box” benutzen, jeder Betrieb hat seine ganz speziellen Anforderungen an die eingesetzte Software. Ein leicht anzupassender modularer Aufbau scheint mir hierbei das geeignete Mittel zu sein. Nur korrektes Rechnen ist für mich, den Steuerberater und auch das Finanzamt eine Grundvoraussetzung.   :Wink: 

Jens

PS kleiner Tipp: Stöbere nur mal ein wenig im  LX-Forum  herum und guck' wo es klemmt. Vollmundige Ankündigungen und nicht benutzbare Eigenschaften hören sicht zwar gut an, aber…

----------

## uhai

Danke jkoerner,

Kraft gefällt mir gut, aber auch tinyerp. Das heißt jetzt übrigens openerp.

Da ich xfce4 benutze teste ich erst mal openerp.

uhai

----------

