Sinnvolle Ergänzungen: Unterschied zwischen den Versionen
Hedele (Diskussion | Beiträge) (→Anpassungen) |
(→PDFsam) |
||
(72 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|> cd bin <br> wget https://github.com/torakiki/pdfsam/releases/download/v4.3.4/pdfsam-4.3.4-linux.tar.gz<br> tar xzf pdfsam*.tar.gz && rm pdfsam*.tar.gz<br> rename pdfsam* pdfsam pdfsam*<br> cd pdfsam<br> 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 | + | ''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=3000/tcp<br> firewall-cmd --zone internal --permanent --add-port=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|> 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 perl-FCGI poppler-tools}} | + | {{Shell|> 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 | Noch nicht bekannte Module werden im Apache-Server nachgetragen, insbesondere | ||
{{Shell|> sudo a2enmod fcgid}} | {{Shell|> sudo a2enmod fcgid}} | ||
Zeile 54: | 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 | + | 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 === | ||
− | Folgende Perl- | + | Folgende Perl-Module müssen bei beiden Formen der Installation nachgeladen werden: |
− | {{Shell|> su<br># perl -e shell -MCPAN<br>cpan[1]>install Rose::DB<br>cpan[2]>install Rose::DB::Object<br>cpan[3]>install YAML}} | + | {{Shell|> 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}} |
− | Anschließend muss das Unterverzeichnis <tt>webdav</tt> von Hand angelegt werden: | + | Prüfen Sie, ob noch weitere Module fehlen, anhand des mitgelieferten Hilfskripts |
+ | {{Shell|> perl ~/kivitendo*/scripts/installation_check.pl }} | ||
+ | |||
+ | Anschließend muss noch das Unterverzeichnis <tt>webdav</tt> von Hand angelegt werden: | ||
{{Shell|> cd ~/kivitendo*<br>> mkdir webdav}} | {{Shell|> cd ~/kivitendo*<br>> 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|> sudo chown -R wwwrun:www users spool webdav templates}} | + | {{Shell|> 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|> path=~/<br>> cd $path/kivitendo-erp<br>> wget http://iustus.eu/download/kivitendo-httpd.template}} | + | {{Shell|> path=~/<br>> cd $path/kivitendo-erp/config<br>> 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|> pfad=`echo $path | sed "s/\/$//g" | sed 's/\//\\\\\//g'`<br>> sed "s/meinpfad/$pfad/g" kivitendo-httpd.template > kivitendo-httpd.conf<br>> sudo cp kivitendo-httpd.conf /etc/apache2/vhosts.d/}} | {{Shell|> pfad=`echo $path | sed "s/\/$//g" | sed 's/\//\\\\\//g'`<br>> sed "s/meinpfad/$pfad/g" kivitendo-httpd.template > kivitendo-httpd.conf<br>> 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|> wget http://iustus.eu/download/kivitendo-task-server.template}} | ||
+ | Ändern Sie in der Datei den Eintrag "<tt>user=www-data</tt>" wie folgt: | ||
+ | user=<b>wwwrun</b> | ||
+ | und passen Sie die Pfade an: | ||
+ | {{Shell|> sed "s/meinpfad/$pfad/g" kivitendo-task-server.template > kivitendo-task-server.service<br>> sudo cp kivitendo-task-server.service /usr/lib/systemd/user/ <br>> 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|> sudo systemctl daemon-reload<br>> 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 85: | Zeile 148: | ||
https://www.kivitendo.de/doc/html/ch02s05.html | https://www.kivitendo.de/doc/html/ch02s05.html | ||
Entfernen Sie insbesondere in der Datei <tt>/var/lib/pgsql/data/postgresql.conf</tt> | Entfernen Sie insbesondere in der Datei <tt>/var/lib/pgsql/data/postgresql.conf</tt> | ||
− | die Kommentierung | + | die Kommentierung zu den Zeilen |
listen_addresses = 'localhost' # what IP address(es) to listen on; | 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 | und ändern Sie die Eintragungen in <tt>/var/lib/pgsql/data/pg_hba.conf</tt> wie folgt | ||
# TYPE DATABASE USER ADDRESS METHOD | # TYPE DATABASE USER ADDRESS METHOD | ||
Zeile 92: | Zeile 156: | ||
# "local" is for Unix domain socket connections only | # "local" is for Unix domain socket connections only | ||
local all <b>kivitendo</b> <b>password</b> | local all <b>kivitendo</b> <b>password</b> | ||
+ | local all <b>postgres</b> <b>md5</b> | ||
# IPv4 local connections: | # IPv4 local connections: | ||
host all <b>kivitendo</b> 127.0.0.1/32 <b>password</b> | 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|> su postgres<br> | + | {{Shell|> 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. | ||
− | Abschließend starten Sie den Apache-Server erneut: | + | 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|> su postgres<br>> createuser -drP kivitendo}} | ||
+ | |||
+ | Starten Sie Postgresql neu und sorgen Sie für die Aktivierung beim Systemstart: | ||
+ | {{Shell|> su<br># systemctl restart postgresql<br># chkconfig -a postgresql}} | ||
+ | |||
+ | Abschließend starten Sie auch den Apache-Server erneut: | ||
{{Shell|> sudo service apache2 restart}} | {{Shell|> 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|> su postgres<br>> psql -d template1 -U postgres<br>=# SELECT pg_terminate_backend(pg_stat_activity.pid)<br>-# FROM pg_stat_activity<br>-# WHERE pg_stat_activity.datname='kivitendo_auth';<br>=# DROP DATABASE kivitendo_auth;<br>=# \q}} | ||
==Externe Links== | ==Externe Links== |
Aktuelle Version vom 27. Oktober 2022, 17:14 Uhr
Inhaltsverzeichnis
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
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.
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:
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:
Für das HBCI-Banking muss der Port 3000 geöffnet werden:
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:
> 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
Noch nicht bekannte Module werden im Apache-Server nachgetragen, insbesondere
Anschließend kann das aktuelle Programmrelease von
https://github.com/kivitendo/kivitendo-erp/releases
per
> cd kivitendo-erp/
> git checkout `git tag -l | egrep -ve "(alpha |beta |rc)" | tail -1`
automatisch als Tarball geladen und installiert werden.
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
Anpassungen[Bearbeiten]
Folgende Perl-Module müssen bei beiden Formen der Installation nachgeladen werden:
# 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
Anschließend muss noch das Unterverzeichnis webdav von Hand angelegt werden:
> 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:
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:
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:
> 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:
Ändern Sie in der Datei den Eintrag "user=www-data" wie folgt:
user=wwwrun
und passen Sie die Pfade an:
> 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 enable kivitendo-task-server.service
Abschluss[Bearbeiten]
kivitendo bringt noch eine eigene Konfigarationsdatei mit, die bei der Erstinstallation entpackt werden muss:
Ä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:
Starten Sie den Postgres-Datenbankserver mit
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:
# 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
> createuser -drP kivitendo
Starten Sie Postgresql neu und sorgen Sie für die Aktivierung beim Systemstart:
# systemctl restart postgresql
# chkconfig -a postgresql
Abschließend starten Sie auch den Apache-Server erneut:
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:
> 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