seminar-wir-bauen-uns-einen.../11_4_optimierung-der-virtue...

168 lines
4.1 KiB
Markdown

# 11.4 Optimierung der virtuellen Maschine
Sie sind jetzt im Bonuslevel angekommen, herzlichen Glückwunsch!
Wenn Sie die virtuelle Maschine noch weiter verwenden möchten, dann empfiehlt es sich noch ein paar Anpassungen an der Installation vorzunehmen.
## Automatischer Start der Docker-Container
### solr.service
```sudo nano /etc/systemd/system/solr.service```
Im Editor folgenden Text eingeben und Datei speichern:
```
[Unit]
Description=Solr fuer Katalog
Requires=docker.service
After=docker.service
[Service]
ExecStart=/usr/bin/docker start -a my_solr
ExecStop=/usr/bin/docker stop my_solr
[Install]
WantedBy=default.target
```
### typo3-db.service
```sudo nano /etc/systemd/system/typo3-db.service```
Im Editor folgenden Text eingeben und Datei speichern:
```
[Unit]
Description=Maria-DB für Katalog
Requires=docker.service
After=docker.service
[Service]
ExecStart=/usr/bin/docker start -a typo3-db
ExecStop=/usr/bin/docker stop typo3-db
[Install]
WantedBy=default.target
```
### katalog.service
```sudo nano /etc/systemd/system/katalog.service```
Im Editor folgenden Text eingeben und Datei speichern:
```
[Unit]
Description=TYPO3 für Katalog
Requires=docker.service solr.service typo3-db.service
After=docker.service solr.service typo3-db.service
[Service]
ExecStart=/usr/bin/docker start -a typo3-web
ExecStop=/usr/bin/docker stop typo3-web
ExecStopPost=/usr/bin/docker stop -t 5 typo3-db
ExecStopPost=/usr/bin/docker stop -t 5 my_solr
[Install]
WantedBy=default.target
```
### openrefine.service
```sudo nano /etc/systemd/system/openrefine.service```
Im Editor folgenden Text eingeben und Datei speichern:
```
[Unit]
Description=OpenRefine
Requires=docker.service
After=docker.service
[Service]
ExecStart=/usr/bin/docker run --name=refine-server -p 8888:3333 -v /home/stud/refine:/data felixlohmeier/openrefine:dev -i 0.0.0.0 -m 1G -d /data"
ExecStop=/usr/bin/docker stop -t 50 refine-server
ExecStopPost=/usr/bin/docker rm -f refine-server
[Install]
WantedBy=default.target
```
### Services aktivieren
```
sudo systemctl daemon-reload
sudo systemctl enable solr.service
sudo systemctl enable typo3-db.service
sudo systemctl enable katalog.service
sudo systemctl enable openrefine.service
```
## Anpassung Willkommensbildschirm von Turnkey
### confconsole.conf
```sudo nano /etc/confconsole/confconsole.conf```
Im Editor das Zeichen ```#``` vor ```default_nic``` in Zeile 2 entfernen und Datei speichern.
### services.txt
```sudo nano /etc/confconsole/services.txt```
Im Editor folgenden Text ergänzen und Datei speichern:
```
Katalog: http://$ipaddr
TYPO3: http://$ipaddr/typo3
Solr: http://$ipaddr:8983
OpenRefine: http://$ipaddr:8888
```
## Anpassung Willkommensnachricht beim Login
```sudo nano /etc/update-motd.d/90-footer```
Im Editor folgenden Text eingeben und Datei speichern:
```
#!/bin/sh
echo "*** Status der Docker-Container ***"
docker ps -a
echo ""
echo "*** Befehl für stop/start des Katalogs (docker typo3-web, typo3-db und my_solr) ***"
echo "sudo systemctl stop katalog"
echo "sudo systemctl start katalog"
echo ""
echo "*** Befehl für stop/start von OpenRefine (docker refine-server) ***"
echo "sudo systemctl stop openrefine"
echo "sudo systemctl start openrefine"
echo ""
phymem=$(free -m|awk '/^Mem:/{print $2}')
if [ $phymem -lt 2000 ]; then
echo "Achtung: Für die Arbeit mit OpenRefine werden 2000MB Arbeitsspeicher benötigt. Es stehen aber nur ${phymem}MB zur Verfügung. Bitte weisen Sie der virtuellen Maschine mehr Arbeitsspeicher zu, wenn Sie OpenRefine verwenden wollen."
echo ""
fi
```
Anschließend folgenden Befehl ausführen:
```sudo chmod +x /etc/update-motd.d/90-footer```
## Achtung: Arbeitsspeicher und OpenRefine
Wenn Sie der virtuellen Maschine mehr als 2GB Arbeitsspeicher zuweisen können, dann können Sie den Speicher für OpenRefine erhöhen.
Beispiel für 4GB Arbeitsspeicher der VM:
* ```sudo nano /etc/systemd/system/openrefine.service```
* Im Editor in der Zeile ```ExecStart=``` das ```-m 1G``` durch ```-m 3G``` ersetzen
## Neustart
Die Änderungen werden bei einem Neustart der virtuellen Maschine wirksam
```sudo shutdown -r now```