Sinnvolle Ergänzungen: Unterschied zwischen den Versionen

Aus Lawsuit - Wiki
Wechseln zu: Navigation, Suche
(Abschluss)
(PDFsam)
 
(84 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 22: Zeile 22:
 
  https://software.opensuse.org/package/pdfsam?search_term=pdfsam
 
  https://software.opensuse.org/package/pdfsam?search_term=pdfsam
 
und kann per 1-Klick-Installation eingebunden werden.
 
und kann per 1-Klick-Installation eingebunden werden.
 +
Eine neuere Java-Version kann vom Anbieter mit folgendem Befehl heruntergeladen
 +
{{shell|&gt; cd bin <br>&nbsp;&nbsp;wget https://github.com/torakiki/pdfsam/releases/download/v4.3.4/pdfsam-4.3.4-linux.tar.gz<br>&nbsp;&nbsp;tar xzf pdfsam*.tar.gz && rm pdfsam*.tar.gz<br>&nbsp;&nbsp;rename pdfsam* pdfsam pdfsam*<br>&nbsp;&nbsp;cd pdfsam<br>&nbsp;&nbsp;wget https://upload.wikimedia.org/wikipedia/commons/a/a7/PDFsam_Basic_logo.svg}}
 +
und mit diesem Desktop-Eintrag ''pdfsam.desktop'' im Verzeichnis <tt>Schreibtisch</tt> nutzbar gemacht werden:
 +
[Desktop Entry]
 +
Categories=Utility;TextEditor;
 +
Comment[de_DE]=Open-Source-Anwendung zum Auftrennen und Verbinden von PDF-Dokumenten
 +
Comment=A free open source tool to split and merge pdf documents
 +
Encoding=UTF-8
 +
Exec=sh /home/BENUTZER/bin/pdfsam/bin/pdfsam.sh
 +
GenericName[de_DE]=pdfsam
 +
GenericName=pdfsam
 +
Icon=home/BENUTZER/bin/pdfsam/PDFsam_Basic_logo.svg
 +
MimeType=
 +
Name=PDFsam
 +
Path=
 +
StartupNotify=false
 +
Terminal=false
 +
TerminalOptions=
 +
Type=Application
 +
X-DBUS-ServiceName=
 +
X-DBUS-StartupType=
 +
X-KDE-SubstituteUID=false
 +
X-KDE-Username=
  
 
== Teamviewer ==
 
== Teamviewer ==
 
Mit dem vielseitigen Programm ''Teamviewer'' lassen sich u.a. Verwaltungsakten bequem auf dem Tablet betrachten und können neben die Anwaltsakte gelegt werden.
 
Mit dem vielseitigen Programm ''Teamviewer'' lassen sich u.a. Verwaltungsakten bequem auf dem Tablet betrachten und können neben die Anwaltsakte gelegt werden.
 
{{Shell|cd ~/bin<br>wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm<br>sudo zypper in teamviewer*}}
 
{{Shell|cd ~/bin<br>wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm<br>sudo zypper in teamviewer*}}
 +
 +
Um Updates vom Teamviewer-Server installieren zu können, obwohl Teamviewer seine Softwarepakete nicht signiert, geben sie anschließend folgende Ausnahmeregelung für ''zypper'' ein:
 +
{{Shell|sudo zypper modifyrepo --gpgcheck-allow-unsigned-package teamviewer}}
  
 
== moneyplex - Homebanking ==
 
== moneyplex - Homebanking ==
''Lawsuit'' kann aus der Buchführung zwar alle Überweisungen als QR-Code (z.B. für Handy-Bank-Apps), im gängigen SEPA-Format oder als CSV-Datei ausgeben. Bei größerem Anfall an täglichen Überweisungen in der Kanzlei lohnt sich jedoch die Anschaffung des kostenpflichtigen (einmalig etwa 50 EUR) Programms ''moneyplex'', das [https://www.matrica.de/produkte/mpfeatures.html#featurelist nur in der kostenpflichtigen Version] den Import der ''Lawsuit''-CSV ermöglicht, aber dann komfortabel mit dem bei Anwälten für das [http://de.opensuseorg.org/Bea beA]] ohnehin schon vorhandenen Kartenlesegerät bedient werden kann, so dass die ständige Eingabe von TANs entfällt.  
+
''Lawsuit'' kann aus der Buchführung zwar alle Überweisungen als QR-Code (z.B. für Handy-Bank-Apps), im gängigen SEPA-Format oder als CSV-Datei ausgeben. Bei größerem Anfall an täglichen Überweisungen in der Kanzlei lohnt sich jedoch die Anschaffung des kostenpflichtigen (einmalig etwa 100 EUR) Programms ''moneyplex'', das [https://www.matrica.de/produkte/mpfeatures.html#featurelist nur in der kostenpflichtigen Version] den Import der ''Lawsuit''-CSV ermöglicht, aber dann komfortabel mit dem bei Anwälten für das [http://de.opensuseorg.org/Bea beA]] ohnehin schon vorhandenen Kartenlesegerät bedient werden kann, so dass die ständige Eingabe von TANs entfällt.  
 
Ob das Programm überhaupt für die eigene Kanzlei infrage kommt, lässt sich an der im OpenSUSE-Paket bereits enthaltenen kostenlosen Testversion feststellen:
 
Ob das Programm überhaupt für die eigene Kanzlei infrage kommt, lässt sich an der im OpenSUSE-Paket bereits enthaltenen kostenlosen Testversion feststellen:
 
{{Shell|sudo zypper in moneyplex-suse moneyplex-daten}}
 
{{Shell|sudo zypper in moneyplex-suse moneyplex-daten}}
 +
Für das HBCI-Banking muss der Port 3000 geöffnet werden: 
 +
{{Shell|# firewall-cmd --zone internal --permanent --add-port&#61;3000/tcp<br>&nbsp;&nbsp;firewall-cmd --zone internal --permanent --add-port&#61;3000/udp}}
  
 
== kivitendo - Buchführung für Kapitalgesellschaften ==
 
== kivitendo - Buchführung für Kapitalgesellschaften ==
Zeile 45: Zeile 73:
 
* <b>Installation als Tarball:</b>
 
* <b>Installation als Tarball:</b>
 
Alternativ können die fehlenden Pakete auch per Hand nachgeladen werden
 
Alternativ können die fehlenden Pakete auch per Hand nachgeladen werden
{{Shell|&gt; sudo zypper in git apache2-mod_fcgid aqbanking-tools perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate  perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML perl-CPAN perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor postgresql-server perl-libwwww-perl poppler-tools}}
+
{{Shell|&gt; sudo zypper in git apache2-mod_fcgid postgresql-contrib aqbanking-tools perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate  perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML perl-CPAN perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor postgresql-server perl-libwwww-perl perl-FCGI poppler-tools}}
 +
Noch nicht bekannte Module werden im Apache-Server nachgetragen, insbesondere
 +
{{Shell|&gt; sudo a2enmod fcgid}}
 
Anschließend kann das aktuelle Programmrelease von
 
Anschließend kann das aktuelle Programmrelease von
 
  https://github.com/kivitendo/kivitendo-erp/releases
 
  https://github.com/kivitendo/kivitendo-erp/releases
Zeile 52: Zeile 82:
 
automatisch als Tarball geladen und installiert werden.  
 
automatisch als Tarball geladen und installiert werden.  
 
{{Info|Der Befehl wechselt zur letzten Stable-Version, ''git tag -l'' listet alle Tags auf, das ''egrep'' wirft alle Einträge mit "alpha", "beta" oder "rc" heraus und das ''tail'' gibt davon den obersten Treffer zurück.  
 
{{Info|Der Befehl wechselt zur letzten Stable-Version, ''git tag -l'' listet alle Tags auf, das ''egrep'' wirft alle Einträge mit "alpha", "beta" oder "rc" heraus und das ''tail'' gibt davon den obersten Treffer zurück.  
Sehr sinnvoll ist es, direkt im Anschluss einen eigenen Branch zu erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen damit zu verwalten. Hierfür reicht hier vorerst ein simples
+
Sehr sinnvoll ist es, direkt im Anschluss einen eigenen Branch zu erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen damit zu verwalten. Hierfür reicht ein simples
 
{{Shell|git checkout -b meine_eigenen_änderungen}}}}
 
{{Shell|git checkout -b meine_eigenen_änderungen}}}}
  
 
=== Anpassungen ===
 
=== Anpassungen ===
Es muss anschließend das Unterverzeichnis <tt>webdav</tt> von Hand angelegt werden:
+
Folgende Perl-Module müssen bei beiden Formen der Installation nachgeladen werden:
 +
{{Shell|&gt; su<br># perl -e shell -MCPAN<br>cpan[1]>install Rose::DB<br>cpan[2]>install Rose::DB::Object<br>cpan[3]>install File::MimeInfo<br>cpan[4]>install HTML::Restrict<br>cpan[5]>install Text::Unidecode<br>cpan[6]>install YAML<br>cpan[7]>quit}}
 +
 
 +
Prüfen Sie, ob noch weitere Module fehlen, anhand des mitgelieferten Hilfskripts
 +
{{Shell|&gt; perl ~/kivitendo*/scripts/installation_check.pl }}
 +
 
 +
Anschließend muss noch das Unterverzeichnis <tt>webdav</tt> von Hand angelegt werden:
 
{{Shell|&gt; cd ~/kivitendo*<br>&gt; mkdir webdav}}
 
{{Shell|&gt; cd ~/kivitendo*<br>&gt; mkdir webdav}}
 
Für einige Verzeichnisse müssen die Berechtigungen dem Browser eingeräumt werden, bei OpenSUSE ist dies der user <tt>wwwrun</tt> aus der Gruppe <tt>wwww</tt>:
 
Für einige Verzeichnisse müssen die Berechtigungen dem Browser eingeräumt werden, bei OpenSUSE ist dies der user <tt>wwwrun</tt> aus der Gruppe <tt>wwww</tt>:
{{Shell|&gt; sudo chown -R wwwrun:www users spool webdav templates}}
+
{{Shell|&gt; sudo chown -R wwwrun:www users spool webdav templates scripts}}
  
 
Folgen Sie der Anleitung für das [[Aufsetzen des Apache-Servers]], sofern dieser nicht bereits für ''lawsuit'' eingerichtet wurde.  
 
Folgen Sie der Anleitung für das [[Aufsetzen des Apache-Servers]], sofern dieser nicht bereits für ''lawsuit'' eingerichtet wurde.  
 
Wechseln Sie dann wie folgt in das <tt>kivitendo-erp</tt>-Verzeichnis und laden Sie sich ein Muster der Konfigurationsdatei <tt>kivitendo-httpd.conf</tt> herunter:
 
Wechseln Sie dann wie folgt in das <tt>kivitendo-erp</tt>-Verzeichnis und laden Sie sich ein Muster der Konfigurationsdatei <tt>kivitendo-httpd.conf</tt> herunter:
{{Shell|&gt; path&#61;~/<br>&gt; cd $path/kivitendo-erp<br>&gt; wget http://iustus.eu/download/kivitendo-httpd.template}}
+
{{Shell|&gt; path&#61;~/<br>&gt; cd $path/kivitendo-erp/config<br>&gt; wget http://iustus.eu/download/kivitendo-httpd.template}}
 
Anschließend passen Sie das Muster mit folgenden Befehlen automatisiert an Ihr Unterverzeichnis an und verschieben die so erstellte personalisierte Konfigurationsdatei in das Verzeichnis <tt>vhosts.d</tt> des Apache-Servers:
 
Anschließend passen Sie das Muster mit folgenden Befehlen automatisiert an Ihr Unterverzeichnis an und verschieben die so erstellte personalisierte Konfigurationsdatei in das Verzeichnis <tt>vhosts.d</tt> des Apache-Servers:
 
{{Shell|&gt; pfad&#61;&#96;echo $path &#124; sed &quot;s/\/$//g&quot; &#124; sed &apos;s/\//\\\\\//g&apos;&#96;<br>&gt; sed &quot;s/meinpfad/$pfad/g&quot; kivitendo-httpd.template > kivitendo-httpd.conf<br>&gt; sudo cp kivitendo-httpd.conf /etc/apache2/vhosts.d/}}
 
{{Shell|&gt; pfad&#61;&#96;echo $path &#124; sed &quot;s/\/$//g&quot; &#124; sed &apos;s/\//\\\\\//g&apos;&#96;<br>&gt; sed &quot;s/meinpfad/$pfad/g&quot; kivitendo-httpd.template > kivitendo-httpd.conf<br>&gt; sudo cp kivitendo-httpd.conf /etc/apache2/vhosts.d/}}
 +
Ebenso verfahren Sie mit dem Task-Server-Script, mit dem wiederkehrende Aufgaben für ''kivitendo'', wie z.B. Mahnungen, abgearbeitet werden:
 +
{{Shell|&gt; wget http://iustus.eu/download/kivitendo-task-server.template}}
 +
Ändern Sie in der Datei den Eintrag &quot;<tt>user=www-data</tt>&quot; wie folgt:
 +
user=<b>wwwrun</b>
 +
und passen Sie die Pfade an:
 +
{{Shell|&gt; sed &quot;s/meinpfad/$pfad/g&quot; kivitendo-task-server.template > kivitendo-task-server.service<br>&gt; sudo cp kivitendo-task-server.service /usr/lib/systemd/user/ <br>&gt; sudo ln -s /usr/lib/systemd/user/kivitendo-task-server.service /etc/systemd/system/}}
 +
Machen Sie anschließend das Script <tt>systemd</tt> bekannt, und binden Sie es in den Boot-Prozess ein:
 +
{{Shell|&gt; sudo systemctl daemon-reload<br>&gt; sudo systemctl enable kivitendo-task-server.service}}
  
 
=== Abschluss ===
 
=== Abschluss ===
 
''kivitendo'' bringt noch eine eigene Konfigarationsdatei mit, die bei der Erstinstallation entpackt werden muss:
 
''kivitendo'' bringt noch eine eigene Konfigarationsdatei mit, die bei der Erstinstallation entpackt werden muss:
 
{{Shell|cp config/kivitendo.conf.default config/kivitendo.conf}}
 
{{Shell|cp config/kivitendo.conf.default config/kivitendo.conf}}
 +
Ändern Sie die Einträge unter ''[authentication/database]'' wie folgt (Passwort bitte individuell anpassen):
 +
host    = localhost
 +
port    = 5432
 +
db      = kivitendo_auth
 +
user    = <b>kivitendo</b>
 +
password = <b>meinPasswortfuerkivitendo</b>
 +
 +
Sie können das Passwort statt als Plaintext auch in einer MD5-Verschlüsselung setzen. Kodieren Sie es dafür bitte mit der Seite
 +
https://hashgenerator.de/
 +
und ersetzen Sie unten in der <tt>/var/lib/pgsql/data/pg_hba.conf</tt> die Einträge "passwort" jeweils durch "md5".
 +
 +
Weiter unten in den Einstellungen für ''[task-server]'' ergänzen Sie den Eintrag:
 +
run_as = <b>wwwrun</b>
 +
Zu ''[testing/database]'' lauten die Einträge:
 +
host              = localhost
 +
port              = 5432
 +
db                = <b>test</b>
 +
user              = <b>kivitendo</b>
 +
password          = <b>meinPasswortfuerkivitendo</b>
 +
template          = template1
 +
superuser_user    = postgres
 +
superuser_password = <b>meinPasswortfuerpostgres</b>
 +
 +
 
Passen Sie unter ''YaST'' im Abschnitt
 
Passen Sie unter ''YaST'' im Abschnitt
 
  > Benutzer- und Gruppenverwaltung > Filter festlegen > Filter:Systembenuter
 
  > Benutzer- und Gruppenverwaltung > Filter festlegen > Filter:Systembenuter
Zeile 79: Zeile 147:
 
Folgen Sie nun den weiteren Installationsanleitungen unter  
 
Folgen Sie nun den weiteren Installationsanleitungen unter  
 
  https://www.kivitendo.de/doc/html/ch02s05.html
 
  https://www.kivitendo.de/doc/html/ch02s05.html
Abschließend starten Sie den Apache-Server erneut:
+
Entfernen Sie insbesondere in der Datei <tt>/var/lib/pgsql/data/postgresql.conf</tt>
 +
die Kommentierung zu den Zeilen
 +
listen_addresses = 'localhost' # what IP address(es) to listen on;
 +
port = 5432
 +
und ändern Sie die Eintragungen in <tt>/var/lib/pgsql/data/pg_hba.conf</tt> wie folgt
 +
# TYPE  DATABASE        USER          ADDRESS          METHOD
 +
 +
# "local" is for Unix domain socket connections only
 +
local  all            <b>kivitendo</b>                        <b>password</b>
 +
local  all            <b>postgres</b>                        <b>md5</b>
 +
# IPv4 local connections:
 +
host    all            <b>kivitendo</b>    127.0.0.1/32      <b>password</b>
 +
# IPv6 local connections:
 +
host    all            <b>kivitendo</b>    ::1/128            <b>password</b>
 +
 
 +
Achten Sie darauf, für beide Dateien die Berechtigungen nach jeder Änderung als Superuser wieder zurückzusetzen:
 +
{{Shell|&gt; su<br># chown postgres:postgres /var/lib/pgsql/data/postgresql.conf<br># chown postgres:postgres /var/lib/pgsql/data/pg_hba.conf}}
 +
Ansonsten lässt sich der Postgres-Server nicht mehr starten.
 +
 
 +
Loggen Sie sich dann als Postgres-Nutzer ein und erstellen Sie den User "kivitendo" unter Verwendung des Passworts aus der <tt>kivitendo.conf</tt>
 +
{{Shell|&gt; su postgres<br>&gt; createuser -drP kivitendo}}
 +
 
 +
Starten Sie Postgresql neu und sorgen Sie für die Aktivierung beim Systemstart:
 +
{{Shell|&gt; su<br># systemctl restart postgresql<br># chkconfig -a postgresql}}
 +
 
 +
Abschließend starten Sie auch den Apache-Server erneut:
 
{{Shell|&gt; sudo service apache2 restart}}
 
{{Shell|&gt; sudo service apache2 restart}}
 +
 +
Legen Sie nun mit diese Link automatisiert eine Authentifizierungsdatenbank an:
 +
http://localhost/kivitendo/controller.pl?action=Admin/login
 +
Hernach legen Sie den Benutzer, einen Mandanten und eine Gruppe entsprechend folgender Anleitung an:
 +
  https://www.kivitendo.de/doc/html/ch02s09.html
 +
Im Anschluss erzeugen Sie mit dem Reiter "Datenbankadministration"->"Neue Datenbank anlegen" eine gesonderte Datenbank nur für diesen Mandanten. Achten Sie dabei darauf, für Kapitalgesellschaften zwingen die "Soll-Versteuerung" und "Bilanzierung" auszuwählen!. Tragen sie anschließend die frisch angelegte Datenbank umgekehrt wieder in den Mandanteneinstellungen ein. Dort verknüpfen Sie auch den aktiven Benutzer direkt mit dem Mandanten.
 +
 +
''kivitendo'' kann nun regulär über
 +
http://localhost/kivitendo/
 +
aufgerufen werden.
 +
 +
=== Troubleshooting ===
 +
Wenn die Datenbank nicht mehr gelöscht werden kann, weil ein anderer Nutzer zugreift, loggen Sie sich als ''kivitendo'' in eine andere Datenbank ein und trennen Sie die Verbindung von außen:
 +
{{Shell|&gt; su postgres<br>&gt; psql -d template1 -U postgres<br>&#61;# SELECT pg_terminate_backend&#040;pg_stat_activity.pid&#041;<br>-# FROM pg_stat_activity<br>-# WHERE pg_stat_activity.datname&#61;&apos;kivitendo_auth&apos;;<br>&#61;# DROP DATABASE kivitendo_auth;<br>&#61;# &#092;q}}
  
 
==Externe Links==
 
==Externe Links==

Aktuelle Version vom 27. Oktober 2022, 17:14 Uhr

Kompatibilität mit openSUSE openSUSE-Themen Weiterführende Artikel Suse.png


Einführung[Bearbeiten]

Für den elektronischen Rechtsverkehr sind gem. § 5 Elektronischer-Rechtsverkehr-Bekanntmachung 2018 als Anlagen nurmehr die Formate PDF und TTIF erlaubt. Da zugleich ide Anlagengröße auf 60 MB begrenzt wurde, empfiehlt es sich, wirksame Instrumente zur Dokumenten-Nachbearbeitung vorzuhalten.



PDFsam[Bearbeiten]

PDFsam ist ein kostenloses und sehr nützliches Programm zur Aufspaltung, Zusammenstellung und Formatierung von PDFs. Es findet sich als rpm-Paket unter

https://software.opensuse.org/package/pdfsam?search_term=pdfsam

und kann per 1-Klick-Installation eingebunden werden. Eine neuere Java-Version kann vom Anbieter mit folgendem Befehl heruntergeladen

> cd bin
  wget https://github.com/torakiki/pdfsam/releases/download/v4.3.4/pdfsam-4.3.4-linux.tar.gz
  tar xzf pdfsam*.tar.gz && rm pdfsam*.tar.gz
  rename pdfsam* pdfsam pdfsam*
  cd pdfsam
  wget https://upload.wikimedia.org/wikipedia/commons/a/a7/PDFsam_Basic_logo.svg

und mit diesem Desktop-Eintrag pdfsam.desktop im Verzeichnis Schreibtisch nutzbar gemacht werden:

[Desktop Entry]
Categories=Utility;TextEditor;
Comment[de_DE]=Open-Source-Anwendung zum Auftrennen und Verbinden von PDF-Dokumenten
Comment=A free open source tool to split and merge pdf documents
Encoding=UTF-8
Exec=sh /home/BENUTZER/bin/pdfsam/bin/pdfsam.sh
GenericName[de_DE]=pdfsam
GenericName=pdfsam
Icon=home/BENUTZER/bin/pdfsam/PDFsam_Basic_logo.svg
MimeType=
Name=PDFsam
Path=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Teamviewer[Bearbeiten]

Mit dem vielseitigen Programm Teamviewer lassen sich u.a. Verwaltungsakten bequem auf dem Tablet betrachten und können neben die Anwaltsakte gelegt werden.

cd ~/bin
wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
sudo zypper in teamviewer*


Um Updates vom Teamviewer-Server installieren zu können, obwohl Teamviewer seine Softwarepakete nicht signiert, geben sie anschließend folgende Ausnahmeregelung für zypper ein:

sudo zypper modifyrepo --gpgcheck-allow-unsigned-package teamviewer


moneyplex - Homebanking[Bearbeiten]

Lawsuit kann aus der Buchführung zwar alle Überweisungen als QR-Code (z.B. für Handy-Bank-Apps), im gängigen SEPA-Format oder als CSV-Datei ausgeben. Bei größerem Anfall an täglichen Überweisungen in der Kanzlei lohnt sich jedoch die Anschaffung des kostenpflichtigen (einmalig etwa 100 EUR) Programms moneyplex, das nur in der kostenpflichtigen Version den Import der Lawsuit-CSV ermöglicht, aber dann komfortabel mit dem bei Anwälten für das beA] ohnehin schon vorhandenen Kartenlesegerät bedient werden kann, so dass die ständige Eingabe von TANs entfällt. Ob das Programm überhaupt für die eigene Kanzlei infrage kommt, lässt sich an der im OpenSUSE-Paket bereits enthaltenen kostenlosen Testversion feststellen:

sudo zypper in moneyplex-suse moneyplex-daten

Für das HBCI-Banking muss der Port 3000 geöffnet werden:

# firewall-cmd --zone internal --permanent --add-port=3000/tcp
  firewall-cmd --zone internal --permanent --add-port=3000/udp


kivitendo - Buchführung für Kapitalgesellschaften[Bearbeiten]

Einführung[Bearbeiten]

Lawsuit ist mit einer eigenen Buchführung für die Einnahmen-Überschuss-Rechnung ausgestattet, die für Anwälte als Freiberufler gem. § 4 Abs. 3 EStG ausreichend ist. Anders als für Einzelanwälte oder Partner in einer Partnerschaftsgesellschaft ist für Inhaber einer GmbH oder PartG GmbH jedoch demgegenüber die Buchführung nach § 4 Abs. 1 EStG iVm. §§ 6, 238 HGB HGB vorgeschrieben. Für sie empfiehlt sich unter Linux der gut gepflegte deutsche Ableger von sql-ledger, kivitendo ("einfach") aus Bonn:

Installation[Bearbeiten]

  • Installation als RPM-Paket
https://software.opensuse.org/download.html?project=spins%3Ainvis%3Astable&package=kivitendo-erp

Folgendes Perl-Modul muss für den E-Mail-Versand von Rechnungen zusätzlich nachgetragen werden:

https://software.opensuse.org/download.html?project=devel%3Alanguages%3Aperl&package=perl-Email-MIME-Attachment-Stripper

Verschieben Sie das Programm, um es bei künftigen Upgrades zu erhalten, in Ihr persönliches Hauptverzeichnis und passen Sie die Berechtigungen an:

> path=~/
> sudo mv /srv/www/htdocs/kivitendo* $path/kivitendo-erp
> user=`pwd | grep -Po '(?<=\/home\/)\w+'`
> sudo chown -cR $user:users $path/kivitendo*


  • Installation als Tarball:

Alternativ können die fehlenden Pakete auch per Hand nachgeladen werden

> sudo zypper in git apache2-mod_fcgid postgresql-contrib aqbanking-tools perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML perl-CPAN perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor postgresql-server perl-libwwww-perl perl-FCGI poppler-tools

Noch nicht bekannte Module werden im Apache-Server nachgetragen, insbesondere

> sudo a2enmod fcgid

Anschließend kann das aktuelle Programmrelease von

https://github.com/kivitendo/kivitendo-erp/releases

per

> git clone https://github.com/kivitendo/kivitendo-erp.git
> cd kivitendo-erp/
> git checkout `git tag -l | egrep -ve "(alpha |beta |rc)" | tail -1`

automatisch als Tarball geladen und installiert werden.

Hinweis
Der Befehl wechselt zur letzten Stable-Version, git tag -l listet alle Tags auf, das egrep wirft alle Einträge mit "alpha", "beta" oder "rc" heraus und das tail gibt davon den obersten Treffer zurück.

Sehr sinnvoll ist es, direkt im Anschluss einen eigenen Branch zu erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen damit zu verwalten. Hierfür reicht ein simples

git checkout -b meine_eigenen_änderungen


Anpassungen[Bearbeiten]

Folgende Perl-Module müssen bei beiden Formen der Installation nachgeladen werden:

> su
# perl -e shell -MCPAN
cpan[1]>install Rose::DB
cpan[2]>install Rose::DB::Object
cpan[3]>install File::MimeInfo
cpan[4]>install HTML::Restrict
cpan[5]>install Text::Unidecode
cpan[6]>install YAML
cpan[7]>quit


Prüfen Sie, ob noch weitere Module fehlen, anhand des mitgelieferten Hilfskripts

> perl ~/kivitendo*/scripts/installation_check.pl


Anschließend muss noch das Unterverzeichnis webdav von Hand angelegt werden:

> cd ~/kivitendo*
> mkdir webdav

Für einige Verzeichnisse müssen die Berechtigungen dem Browser eingeräumt werden, bei OpenSUSE ist dies der user wwwrun aus der Gruppe wwww:

> sudo chown -R wwwrun:www users spool webdav templates scripts


Folgen Sie der Anleitung für das Aufsetzen des Apache-Servers, sofern dieser nicht bereits für lawsuit eingerichtet wurde. Wechseln Sie dann wie folgt in das kivitendo-erp-Verzeichnis und laden Sie sich ein Muster der Konfigurationsdatei kivitendo-httpd.conf herunter:

> path=~/
> cd $path/kivitendo-erp/config
> wget http://iustus.eu/download/kivitendo-httpd.template

Anschließend passen Sie das Muster mit folgenden Befehlen automatisiert an Ihr Unterverzeichnis an und verschieben die so erstellte personalisierte Konfigurationsdatei in das Verzeichnis vhosts.d des Apache-Servers:

> pfad=`echo $path | sed "s/\/$//g" | sed 's/\//\\\\\//g'`
> sed "s/meinpfad/$pfad/g" kivitendo-httpd.template > kivitendo-httpd.conf
> sudo cp kivitendo-httpd.conf /etc/apache2/vhosts.d/

Ebenso verfahren Sie mit dem Task-Server-Script, mit dem wiederkehrende Aufgaben für kivitendo, wie z.B. Mahnungen, abgearbeitet werden:

> wget http://iustus.eu/download/kivitendo-task-server.template

Ändern Sie in der Datei den Eintrag "user=www-data" wie folgt:

user=wwwrun

und passen Sie die Pfade an:

> sed "s/meinpfad/$pfad/g" kivitendo-task-server.template > kivitendo-task-server.service
> sudo cp kivitendo-task-server.service /usr/lib/systemd/user/
> sudo ln -s /usr/lib/systemd/user/kivitendo-task-server.service /etc/systemd/system/

Machen Sie anschließend das Script systemd bekannt, und binden Sie es in den Boot-Prozess ein:

> sudo systemctl daemon-reload
> sudo systemctl enable kivitendo-task-server.service


Abschluss[Bearbeiten]

kivitendo bringt noch eine eigene Konfigarationsdatei mit, die bei der Erstinstallation entpackt werden muss:

cp config/kivitendo.conf.default config/kivitendo.conf

Ändern Sie die Einträge unter [authentication/database] wie folgt (Passwort bitte individuell anpassen):

host     = localhost
port     = 5432
db       = kivitendo_auth
user     = kivitendo
password = meinPasswortfuerkivitendo

Sie können das Passwort statt als Plaintext auch in einer MD5-Verschlüsselung setzen. Kodieren Sie es dafür bitte mit der Seite

https://hashgenerator.de/

und ersetzen Sie unten in der /var/lib/pgsql/data/pg_hba.conf die Einträge "passwort" jeweils durch "md5".

Weiter unten in den Einstellungen für [task-server] ergänzen Sie den Eintrag:

run_as = wwwrun 

Zu [testing/database] lauten die Einträge:

host               = localhost
port               = 5432
db                 = test
user               = kivitendo
password           = meinPasswortfuerkivitendo
template           = template1
superuser_user     = postgres
superuser_password = meinPasswortfuerpostgres


Passen Sie unter YaST im Abschnitt

> Benutzer- und Gruppenverwaltung > Filter festlegen > Filter:Systembenuter

den Nutzer "Postgres" an, indem Sie ein eigenes Passwort vergeben:

Postgres-Passwort setzen


Starten Sie den Postgres-Datenbankserver mit

> sudo systemctl start postgresql

Folgen Sie nun den weiteren Installationsanleitungen unter

https://www.kivitendo.de/doc/html/ch02s05.html

Entfernen Sie insbesondere in der Datei /var/lib/pgsql/data/postgresql.conf die Kommentierung zu den Zeilen

listen_addresses = 'localhost'		# what IP address(es) to listen on;
port = 5432

und ändern Sie die Eintragungen in /var/lib/pgsql/data/pg_hba.conf wie folgt

# TYPE  DATABASE        USER           ADDRESS           METHOD

# "local" is for Unix domain socket connections only
local   all             kivitendo                        password
local   all             postgres                         md5
# IPv4 local connections:
host    all             kivitendo     127.0.0.1/32       password
# IPv6 local connections:
host    all             kivitendo     ::1/128            password

Achten Sie darauf, für beide Dateien die Berechtigungen nach jeder Änderung als Superuser wieder zurückzusetzen:

> su
# chown postgres:postgres /var/lib/pgsql/data/postgresql.conf
# chown postgres:postgres /var/lib/pgsql/data/pg_hba.conf

Ansonsten lässt sich der Postgres-Server nicht mehr starten.

Loggen Sie sich dann als Postgres-Nutzer ein und erstellen Sie den User "kivitendo" unter Verwendung des Passworts aus der kivitendo.conf

> su postgres
> createuser -drP kivitendo


Starten Sie Postgresql neu und sorgen Sie für die Aktivierung beim Systemstart:

> su
# systemctl restart postgresql
# chkconfig -a postgresql


Abschließend starten Sie auch den Apache-Server erneut:

> sudo service apache2 restart


Legen Sie nun mit diese Link automatisiert eine Authentifizierungsdatenbank an:

http://localhost/kivitendo/controller.pl?action=Admin/login

Hernach legen Sie den Benutzer, einen Mandanten und eine Gruppe entsprechend folgender Anleitung an:

 https://www.kivitendo.de/doc/html/ch02s09.html

Im Anschluss erzeugen Sie mit dem Reiter "Datenbankadministration"->"Neue Datenbank anlegen" eine gesonderte Datenbank nur für diesen Mandanten. Achten Sie dabei darauf, für Kapitalgesellschaften zwingen die "Soll-Versteuerung" und "Bilanzierung" auszuwählen!. Tragen sie anschließend die frisch angelegte Datenbank umgekehrt wieder in den Mandanteneinstellungen ein. Dort verknüpfen Sie auch den aktiven Benutzer direkt mit dem Mandanten.

kivitendo kann nun regulär über

http://localhost/kivitendo/

aufgerufen werden.

Troubleshooting[Bearbeiten]

Wenn die Datenbank nicht mehr gelöscht werden kann, weil ein anderer Nutzer zugreift, loggen Sie sich als kivitendo in eine andere Datenbank ein und trennen Sie die Verbindung von außen:

> su postgres
> psql -d template1 -U postgres
=# SELECT pg_terminate_backend(pg_stat_activity.pid)
-# FROM pg_stat_activity
-# WHERE pg_stat_activity.datname='kivitendo_auth';
=# DROP DATABASE kivitendo_auth;
=# \q


Externe Links[Bearbeiten]