Server-Schulung-Teil10-Abschluss Installation Kivitendo: Unterschied zwischen den Versionen

Aus revampedia
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
 
== Preface ==
 
== Preface ==
  
This training session took place on  
+
This training session took place on 06-08-17. We finally finished the installation of Kivitendo. What would remain is to enter the necessary data into the program, but that doesn't belong into a server training in my opinion.
 
<br />
 
<br />
  
Zeile 11: Zeile 11:
 
</pre>
 
</pre>
  
 +
== Setup an administrator in Kivitendo ==
 +
 +
We open Kivitendo in the browser. In my case it was the address 192.168.10.91:81. We get a login mask and we log in at administration.
 +
<br />
 +
- Next we go to "Users, Mandator, User groups" (Benutzer, Mandanten, Benutzergruppen) and select there "New User group" (Neue Benutzergruppe). Since this administrator should have full access, we put everywhere a check mark.<br>
 +
- Our next step is to create a "new user" (Neuer Benutzer). For this training enviroment I selected the username "Admin" with the password "admin".<br>
 +
- Now the select the group "Full Access" (Vollzugriff) for our newly created user.<br>
 +
- we selected the menu variant "top with CSS" (oben mit CSS)<br>
 +
<br />
 +
It's useful to create departments if you have various cost centers. You have to select Yes/No (Ja/Nein) (default=No/Nein)
 +
<br />
 +
== Create a database in Kivitendo ==
 +
 +
To be able to do that we go to our administrator part and there to "database administrator" (Datenbankadministration) and select "new database" (Neue Datenbank). The fields will already be filled out. We only have select the name of the new databse and press the button "Create new database" (Neue Datenbank anlegen:). In our case we selected "kivitendotest". Additionally we have to select the "chart of accounts to be used" (Zu verwendender Kontenplan:). As German speaking Swiss we selected "Switzerland-deutsch_MWST-2014".<br />
 +
 +
 +
== Create mandator in Kivitendo ==
 +
 +
To create a mandator we select "New Mandator"(Neuer Mandant). There we will out the "mandator name" (Mandantenname:) and "database name" (Datenbankname:). In our test case it was "kivitendotest" for both fields. We also select the "user and group allocations" (Benutzer und Gruppenzuordnung). In our case we selected everything, as we didn't have any additional entries.<br />
 +
<br />
 +
For the moment we can "log out" (Abmelden) of the browser.
 +
<br />
 +
== Repetition: Update Kivitendo ==
 +
 +
On our virtual machine where Kivitendo is installed we go to the CLI. As I saw with "git status" that I'm currently in the "master branch" can I simply enter the following command to update the packages through git:
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo git pull
 +
 +
As we had to have root privileges to execute the "git pull" command, we need to change the ownership of some files back to www-data. For that we use the next command:
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo chown -R www-data:www-data .
 +
<br />
 +
As we've updated the program we need to restart the web server:
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl restart apache2
 +
 +
We should also refresh the browser content. We need to back to the admin section (Adminbereich). I received the following message:
 +
<pre>
 +
    Führe all_drafts_edit.pl aus: Zugriffsrecht auf alle Entwürfe
 +
 +
...fertig
 +
</pre>
 +
 +
When we login afterwards with the username I got the next message:
 +
 +
<pre>
 +
kivitendo wird gleich die Datenbank [ kivitendotest ] aktualisieren.
 +
 +
Sie sollten eine Sicherungskopie der Datenbank erstellen, bevor Sie fortfahren, da die Aktualisierung unter Umständen nicht umkehrbar ist.
 +
 +
 +
    Führe filemanagement_filesystem.pl aus: add directory for filemanagment
 +
 +
...fertig
 +
</pre>
 +
 +
== Bonus assignment setup taskserver ==
 +
 +
To setup a taskserver for Kivitendo, you go in the browser to the admin section of the program and create a new user. The username was "taskserver" and we chose a difficult password that we're allowed to forget, once it's been configured.<br />
 +
 +
In the next step we go to the CLI of our virtual machine with the Kivitendo application and open the following file with the preferred editor:
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo nano config/kivitendo.conf
 +
 +
<pre>
 +
[task_server]
 +
debug = 1
 +
run_as =  www-data
 +
 +
[task_server/notify_on_failure]
 +
send_email_to  = juerg.ruettimann@revamp-it.ch
 +
email_subject  = kivitendo vm1 Task-Server: Hintergrundjob fehlgeschlagen
 +
email_from    = kivitendo vm1 Daemon <www-data@vm2>
 +
 +
[periodic_invoices]
 +
send_email_to  = admin
 +
email_from    = kivitendo vm1 Daemon <www-data@vm2>
 +
</pre>
 +
 +
If you wish to have the log files somewhere else and not in /tmp/, you can modify the path in the same file:
 +
<pre>
 +
# location of a separate log file for the console. everything normally written
 +
# to the kivitendo log will be put here if triggered from the console
 +
log_file = /tmp/kivitendo_console_debug.log
 +
</pre>
 +
 +
That the changes become active we need to restart the web server:
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl restart apache2
 +
 +
We go back to the browser and login as our user. There we select "System\Background-Jobs and Taskserver\Taskserver control" (System\Hintergrund-Jobs und Taskserver\Taskserversteuerung).
 +
 +
== Assignment for next session ==
 +
 +
In the documentation of Kivitendo we find at the point 2.7.3.3 how to automatically start the taskserver when the machine boots. This is our assignement for the next time and so I got to do it three times for me and the remaining participants.
 +
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
'''In case you wish to get to the solution on your own, I'll post the steps I took to make it work, but it will be hidden inicially.'''<br />
 +
<div class="mw-collapsible-content">
 +
'''To the solution:'''<br />
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo cp scripts/boot/systemd/kivitendo-task-server.service /etc/systemd/system/<br />
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo nano /etc/systemd/system/kivitendo-task-server.service<br />
 +
      ExecStart=/var/www/git/kivitendo-erp/scripts/task_server.pl start
 +
      ExecStop=/var/www/git/kivitendo-erp/scripts/task_server.pl stop
 +
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl start kivitendo-task-server.service<br />
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl enable kivitendo-task-server.service<br />
 +
</div>
 +
</div>
  
 
|#default=
 
|#default=
Zeile 40: Zeile 144:
 
== Mandanten in Kivitendo erstellen ==
 
== Mandanten in Kivitendo erstellen ==
  
Um den Mandanten zu erstellen wählen wir "Neuer Mandant". Dort füllen wir den "Mandantenname:" und "Datenbankname:" aus. In unserem Testfall war es beide Male "kivitendotest". Wir machen ebenfalls noch die "Benutzer und Gruppenzuordung". In unserem Fall konnten wir alles anwählen, da noch nicht mehr vorhanden war.<br />
+
Um den Mandanten zu erstellen wählen wir "Neuer Mandant". Dort füllen wir den "Mandantenname:" und "Datenbankname:" aus. In unserem Testfall war es beide Male "kivitendotest". Wir machen ebenfalls noch die "Benutzer und Gruppenzuordnung". In unserem Fall konnten wir alles anwählen, da noch nicht mehr vorhanden war.<br />
 
<br />
 
<br />
 
Für den Moment dürfen wir uns im Browser "Abmelden".
 
Für den Moment dürfen wir uns im Browser "Abmelden".
Zeile 75: Zeile 179:
 
</pre>
 
</pre>
  
== Wiederholung: Kivitendo auf den neusten Stand bringen ==
+
== Zusatzaufgabe Taskserver einrichten ==
  
bonus zu task-server
+
Um einen Taskserver für Kivitendo einzurichten geht man im Browser zum Admin-Bereich des Programmes und erstellt einen neuen Benutzer. Dem Benutzer gibt man den Namen taskserver und wählt ein komplexes Password, welches man nach einmal eingeben wieder vergessen darf.<br />
browser zu admin-bereich
 
neuen benutzer erstellen
 
taskserver
 
komplexes pw, das man vergessen darf
 
  
auf server
+
Als nächstes gehen wir in die Befehlszeile auf dem Server und öffnen die folgende Datei mit dem bevorzugten Editor:
 
  user1@vm1:/var/www/git/kivitendo-erp$ sudo nano config/kivitendo.conf
 
  user1@vm1:/var/www/git/kivitendo-erp$ sudo nano config/kivitendo.conf
 +
 
<pre>
 
<pre>
 
[task_server]
 
[task_server]
Zeile 90: Zeile 191:
 
run_as =  www-data
 
run_as =  www-data
  
sk_server/notify_on_failure]
+
[task_server/notify_on_failure]
 
send_email_to  = juerg.ruettimann@revamp-it.ch
 
send_email_to  = juerg.ruettimann@revamp-it.ch
email_subject  = kivitendo vm2 Task-Server: Hintergrundjob fehlgeschlagen
+
email_subject  = kivitendo vm1 Task-Server: Hintergrundjob fehlgeschlagen
 
email_from    = kivitendo vm1 Daemon <www-data@vm2>
 
email_from    = kivitendo vm1 Daemon <www-data@vm2>
  
Zeile 98: Zeile 199:
 
send_email_to  = admin
 
send_email_to  = admin
 
email_from    = kivitendo vm1 Daemon <www-data@vm2>
 
email_from    = kivitendo vm1 Daemon <www-data@vm2>
 +
</pre>
  
 
+
Falls man die Logdateien woanders haben will und nicht in /tmp/ kann man auch noch den Pfad anpassen gehen in der gleichen Datei:
 
+
<pre>
falls man logfiles woanders will und nicht in /tmp/
 
 
 
 
# location of a separate log file for the console. everything normally written
 
# location of a separate log file for the console. everything normally written
 
# to the kivitendo log will be put here if triggered from the console
 
# to the kivitendo log will be put here if triggered from the console
 
log_file = /tmp/kivitendo_console_debug.log
 
log_file = /tmp/kivitendo_console_debug.log
 
</pre>
 
</pre>
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl restart apache2
 
  
browser
+
Dass diese Änderung aktiv wird muss man den Webserver noch neu starten:
Benutzeranmeldung
+
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl restart apache2
System\Hintergrrund-Jobs und Taskserver\Taskserversteuerung
 
-> unter Dokumentation 2.7.3.3 wie man Taskserver automatisch startet beim start vom server
 
-> = Hausaufgabe
 
 
 
Lösung:
 
user1@vm1:/var/www/git/kivitendo-erp$ sudo cp scripts/boot/systemd/kivitendo-task-server.service /etc/systemd/system
 
 
 
user1@vm1:/var/www/git/kivitendo-erp$ sudo nano /etc/systemd/system/kivitendo-task-server.service
 
 
 
ExecStart=/var/www/git/kivitendo-erp/scripts/task_server.pl start
 
ExecStop=/var/www/git/kivitendo-erp/scripts/task_server.pl stop
 
  
 +
Wir wechseln wieder zum Browser und melden und als Benutzer an. Dort wählen wir "System\Hintergrund-Jobs und Taskserver\Taskserversteuerung.
  
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl start kivitendo-task-server.service
+
== Hausaufgabe ==
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl enable kivitendo-task-server.service
 
  
 +
In der Dokumentation von Kivitendo findet man unter dem Punkt 2.7.3.3 wie man den Taskserver automatisch startet beim aufstarten der Maschine wo Kivitendo installiert ist. Dies ist unsere Hausaufgabe fürs nächste Mal und somit durfte ich die Hausaufgabe 3x machen für mich und die restlichen Teilnehmer
  
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
'''Für den Fall, dass man die Lösung selber erarbeiten will, poste ich die Lösung zwar, doch man muss den Text ausklappen um ihn zu sehen.'''<br />
 +
<div class="mw-collapsible-content">
 +
'''Also zur Lösung:'''<br />
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo cp scripts/boot/systemd/kivitendo-task-server.service /etc/systemd/system/<br />
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo nano /etc/systemd/system/kivitendo-task-server.service<br />
 +
      ExecStart=/var/www/git/kivitendo-erp/scripts/task_server.pl start
 +
      ExecStop=/var/www/git/kivitendo-erp/scripts/task_server.pl stop
  
== blubb ==
+
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl start kivitendo-task-server.service<br />
 +
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl enable kivitendo-task-server.service<br />
 +
</div>
 +
</div>
  
 
}}
 
}}
 
[[Kategorie:Schulungen_/_Workshops]],[[Kategorie:Server-Schulung]]
 
[[Kategorie:Schulungen_/_Workshops]],[[Kategorie:Server-Schulung]]

Aktuelle Version vom 23. Juni 2017, 12:28 Uhr

Vorwort

Diese Schulung hat am 08.06.17 stattgefunden. Wir haben die Installation von Kivitendo endlich abschliessen können. Was bleiben würde wäre all die notwendigen Daten in dem Programm eingeben, doch das gehört aus meiner Sicht nicht zu einer Server-Schulung.

Falls noch Fragen offen sind nach dieser Anleitung bitte oben bei "Ansichten" auf "Diskussion" gehen und Feedback hinterlassen, dass ich noch weitere Details hinzufügen kann. jr

Administrator in Kivitendo einrichten

Wir rufen unser Kivitendo im Browser auf. In meinem Fall war es 192.168.10.91:81. Wir erhalten die Grundmaske und loggen uns bei Administration ein.
- Anschliessend gehen wir zu "Benutzer, Mandanten, Benutzergruppen" und wählen dort eine "Neue Benutzergruppe". Da dieser Administrator Vollzugriff haben soll setzen wir überall die Hacken.
- Als nächstes erstellen wir einen "Neuer Benutzer". Ich habe für dieses Übungsumfeld den Benutzernamen "Admin" gewählt mit dem Passwort "admin".
- Nun wählen wir die Gruppe "Vollzugriff" für unseren neu erstellten Benutzer aus.
- Menüvariante wurde von uns "oben mit CSS" gewählt

Es ist sinnvoll Abteilungen zu erstellen, wenn man diverse Kostenstellen hat. Man muss dort Ja/Nein wählen (default=Nein)

Datenbank in Kivitendo erstellen

Dazu gehen wir in unserem Administratorbereich zu "Datenbankadministration" und wählen "Neue Datenbank". Die Angaben sind bereits ausgefüllt. Wir müssen noch bei "Neue Datenbank anlegen:" den Namen für diese neue Datenbank angeben. In unserem Fall wurde "kivitendotest" gewählt. Ebenfalls wird der "Zu verwendender Kontenplan:" benötigt. Als Deutsch sprechende Schweizer haben wir "Switzerland-deutsch_MWST-2014" gewählt.


Mandanten in Kivitendo erstellen

Um den Mandanten zu erstellen wählen wir "Neuer Mandant". Dort füllen wir den "Mandantenname:" und "Datenbankname:" aus. In unserem Testfall war es beide Male "kivitendotest". Wir machen ebenfalls noch die "Benutzer und Gruppenzuordnung". In unserem Fall konnten wir alles anwählen, da noch nicht mehr vorhanden war.

Für den Moment dürfen wir uns im Browser "Abmelden".

Wiederholung: Kivitendo auf den neusten Stand bringen

Auf unserer virtuellen Maschine wo wir Kivitendo installiert haben gehen wir mal wieder auf die Konsole. Da ich über "git status" gesehen habe, dass ich mich bereits im "master branch" befinde kann ich einfach über den folgenden Befehl die Packete über git aktualisieren.

user1@vm1:/var/www/git/kivitendo-erp$ sudo git pull

Da wir den git pull als root ausgeführt haben müssen wir einige Dateien wieder www-data als Inhaber/Gruppe zuweisen. Dies machen wir mit dem nächsten Befehl:

user1@vm1:/var/www/git/kivitendo-erp$ sudo chown -R www-data:www-data .


Dass wir auch die aktualisierte Version vom Programm haben müssen wir den Webserver neu starten:

user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl restart apache2

Unseren Browserinhalt sollten wir ebenfalls neu laden. Wir müssen uns nochmals im Adminbereich einloggen. Bei mir gab es die folgende Meldung:

    Führe all_drafts_edit.pl aus: Zugriffsrecht auf alle Entwürfe

...fertig

Wenn wir uns anschliessend wieder als Benutzer anmelden kommt noch die folgende Meldung:

 kivitendo wird gleich die Datenbank [ kivitendotest ] aktualisieren.

Sie sollten eine Sicherungskopie der Datenbank erstellen, bevor Sie fortfahren, da die Aktualisierung unter Umständen nicht umkehrbar ist. 


    Führe filemanagement_filesystem.pl aus: add directory for filemanagment

...fertig

Zusatzaufgabe Taskserver einrichten

Um einen Taskserver für Kivitendo einzurichten geht man im Browser zum Admin-Bereich des Programmes und erstellt einen neuen Benutzer. Dem Benutzer gibt man den Namen taskserver und wählt ein komplexes Password, welches man nach einmal eingeben wieder vergessen darf.

Als nächstes gehen wir in die Befehlszeile auf dem Server und öffnen die folgende Datei mit dem bevorzugten Editor:

user1@vm1:/var/www/git/kivitendo-erp$ sudo nano config/kivitendo.conf
[task_server]
debug = 1
run_as =  www-data

[task_server/notify_on_failure]
send_email_to  = juerg.ruettimann@revamp-it.ch
email_subject  = kivitendo vm1 Task-Server: Hintergrundjob fehlgeschlagen
email_from     = kivitendo vm1 Daemon <www-data@vm2>

[periodic_invoices]
send_email_to  = admin
email_from     = kivitendo vm1 Daemon <www-data@vm2>

Falls man die Logdateien woanders haben will und nicht in /tmp/ kann man auch noch den Pfad anpassen gehen in der gleichen Datei:

# location of a separate log file for the console. everything normally written
# to the kivitendo log will be put here if triggered from the console
log_file = /tmp/kivitendo_console_debug.log

Dass diese Änderung aktiv wird muss man den Webserver noch neu starten:

user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl restart apache2

Wir wechseln wieder zum Browser und melden und als Benutzer an. Dort wählen wir "System\Hintergrund-Jobs und Taskserver\Taskserversteuerung.

Hausaufgabe

In der Dokumentation von Kivitendo findet man unter dem Punkt 2.7.3.3 wie man den Taskserver automatisch startet beim aufstarten der Maschine wo Kivitendo installiert ist. Dies ist unsere Hausaufgabe fürs nächste Mal und somit durfte ich die Hausaufgabe 3x machen für mich und die restlichen Teilnehmer

Für den Fall, dass man die Lösung selber erarbeiten will, poste ich die Lösung zwar, doch man muss den Text ausklappen um ihn zu sehen.

Also zur Lösung:
user1@vm1:/var/www/git/kivitendo-erp$ sudo cp scripts/boot/systemd/kivitendo-task-server.service /etc/systemd/system/
user1@vm1:/var/www/git/kivitendo-erp$ sudo nano /etc/systemd/system/kivitendo-task-server.service

      ExecStart=/var/www/git/kivitendo-erp/scripts/task_server.pl start
      ExecStop=/var/www/git/kivitendo-erp/scripts/task_server.pl stop

user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl start kivitendo-task-server.service
user1@vm1:/var/www/git/kivitendo-erp$ sudo systemctl enable kivitendo-task-server.service

,