Einführung von GROWI in Raspberry Pi 4 Model B (Ubuntu)

Einführung

Dieser Artikel fasst die Arbeitsweise zusammen, als GROWI zuvor als privates Wiki auf Raspberry Pi 4 Model B (im Folgenden: RP4B) erstellt wurde. Die Einführung mit dem offiziellen Docker-Image hat nicht funktioniert, daher habe ich es manuell versucht.

Die Ersteinrichtung von RP4B selbst wird in diesem Artikel nicht behandelt, da davon ausgegangen wird, dass sie im Voraus abgeschlossen wurde.

Umgebung

In diesem Artikel wird für verschiedene Netzwerkadressen Folgendes angenommen.

Referenzseite

nodejs

(Obwohl ich hier ein vages Gedächtnis habe) Grundsätzlich, wenn Sie das Verfahren von [Offizielles Dokument] befolgen (https://docs.growi.org/ja/admin-guide/getting-started/ubuntu-server.html) Es hätte gut sein sollen. Seit GROWI 3.6 oder höher muss die Version von nodejs jedoch 10.x oder 12.x sein. Lesen Sie also nur das.

$ cd ~
$ curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
$ sudo bash nodesource_setup.sh
$ sudo apt install nodejs
$ sudo npm install -g yarn #Globale Installation

Wenn die Einrichtung von nodejs erfolgreich ist, werden die folgenden Dateien erstellt und das Repository hinzugefügt.

:/etc/apt/sources.list.d/nodesource.list


deb https://deb.nodesource.com/node_12.x eoan main
deb-src https://deb.nodesource.com/node_12.x eoan main

Elasticsearch

Ich habe es mit Bezug auf [hier] gemacht (https://tech.taiko19xx.net/entry/2018/01/14/210400).

Führen Sie zunächst Java ein.

$ sudo apt install openjdk-8-jre

Wenn Sie mehrere Java-Versionen installiert haben, wechseln Sie mit dem folgenden Befehl (möglicherweise nicht erforderlich). (Referenzseite: http://note.kurodigi.com/post-0-2/)

$ sudo update-alternatives -config java
#Die installierten Versionen werden aufgelistet.
#Geben Sie die Nummer der Version ein, die Sie verwenden möchten, und drücken Sie die Eingabetaste.

DL die Elasticsearch-Archivdatei und extrahiere sie. Auf der offiziellen Website finden Sie die zu installierende Version, um sie zur neuesten Version der 6.x-Serie zu machen. Güte.

Elasticsearch [Trap, der vom Root-Benutzer nicht gestartet werden kann](https://confluence.atlassian.com/bitbucketserverkb/when-using-the-root-user-elasticsearch-cannot-be-started-due-to-don-t- Es gibt run-elasticsearch-as-root-847751401.html). Daher scheint es besser, es unter dem Home-Verzeichnis eines anderen Benutzers als dem entsprechenden Stamm zu extrahieren. Dieses Mal wurde es als /home/{username}/.local/elasticsearch-6.8.8/ erweitert.

$ cd ~
$ mkdir .local
$ chmod 755 .local
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.8.tar.gz
$ tar zxvf elasticsearch-6.8.8.tar.gz -C .local
$ cd .local
$ ln -s elasticsearch-6.8.8 elasticsearch #Erstellen Sie einen symbolischen Link
$ echo "xpack.ml.enabled: false" >> elasticsearch/config/elasticsearch.yml # X-Deaktivieren Sie Pack Machine Learning, da es in der ARM-Umgebung nicht funktioniert.

Testen Sie den Betrieb.

$ cd ~
$ cd .local/elasticsearch
$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64
$ ./bin/elasticsearch & #Beginnen Sie als Hintergrundprozess
$ curl http://localhost:9200

Bedienung

Registrieren Sie sich als Service unter hier. Erstellen Sie zunächst eine elasticsearch.service-Datei mit su-Berechtigungen.

/etc/systemd/system/elasticsearch.service


[Unit]
After=syslog.target network.target

[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64"
ExecStart=/home/{username}/.local/elasticsearch/bin/elasticsearch
WorkingDirectory=/home/{username}/.local/elasticsearch
User={username}
Group={groupname}
Nice=10
SyslogIdentifier=Elasticsearch
StandardOutput=syslog
Restart=on-failure
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target

Nachdem Sie bestätigt haben, dass es gestartet werden kann, stellen Sie den automatischen Start ein.

$ sudo systemctl start elasticsearch  #Manueller Start
$ sudo systemctl status elasticsearch #Überprüfen Sie, ob es richtig funktioniert
$ sudo systemctl enable elasticsearch #Automatische Starteinstellung

Plug-In-Einführung

$ cd ~
$ cd .local/elasticsearch
$ bin/elasticsearch-plugin install analysis-kuromoji
$ bin/elasticsearch-plugin install analysis-icu
$ ls -la plugin #Überprüfen Sie das DL-Plug-In
$ sudo systemctl restart elasticsearch #Starten Sie neu

MongoDB

$ sudo apt install mongodb-server
$ sudo systemctl start mongodb
$ sudo systemctl status mongodb
$ sudo systemctl enable mongodb

GROWI

Befolgen Sie die Schritte in Offizielle Dokumente. Beachten Sie, dass das Erstellen einige Zeit in Anspruch nehmen wird.

$ cd /opt
$ sudo git clone https://github.com/weseek/growi /opt/growi
$ cd /opt/growi
$ sudo git tag -l #Überprüfen Sie die neueste Version ohne RC
$ sudo git checkout -b v3.7.5 refs/tags/v3.7.5 #Überprüfen Sie dies, indem Sie einen Zweig vom Tag abschneiden
$ sudo yarn #Es dauerte ungefähr 12 Minuten

Testen Sie den Betrieb. Verwenden Sie nach dem Start Strg + Z, um einen Hintergrundprozess zu erstellen und zu überprüfen.

$ sudo ufw allow from 192.168.1.0/24 to any port 3000 #Öffnen Sie Port 3000 im lokalen Netzwerk
$ sudo \
  MONGO_URI=mongodb://localhost:27017/growi \
  ELASTICSEARCH_URI=http://localhost:9200/growi \
  npm start
#Warten Sie, bis die folgende Meldung angezeigt wird (es dauert einige Zeit).
> [email protected] server:prod /opt/growi
> env-cmd -f config/env.prod.js node src/server/app.js

Versuchen Sie, auf http://192.168.1.10:3000/ zuzugreifen, und überprüfen Sie, ob der Bildschirm für die Ersteinrichtung angezeigt wird.

Bedienung

Bitte lesen Sie Offizielles Dokument und lesen Sie es gegebenenfalls. Erstellen Sie zunächst eine growi.service-Datei mit su-Berechtigungen. Das Hochladen der Datei sollte MongoDB GridFS sein.

/etc/systemd/system/growi.service


[Unit]
Description=Growi
After=network.target mongodb.service elasticsearch.service

[Service]
WorkingDirectory=/opt/growi
Environment=PORT=3000 \
            MONGO_URI=mongodb://localhost:27017/growi \
            ELASTICSEARCH_URI=http://localhost:9200/growi \
            FILE_UPLOAD=mongodb \
            MATHJAX=1
ExecStart=/usr/bin/npm start

[Install]
WantedBy=multi-user.target

Nachdem Sie bestätigt haben, dass es gestartet werden kann, stellen Sie den automatischen Start ein.

$ sudo systemctl start growi
$ sudo systemctl status growi
$ sudo systemctl enable growi

Plug-In-Einführung

[Offizielles Dokument](https://docs.growi.org/ja/admin-guide/management-cookbook/app-settings.html#%E3%83%97%E3%83%A9%E3%82%B0% E3% 82% A4% E3% 83% B3% E8% A8% AD% E5% AE% 9A) und das Plug-in GitHub. Es dauert eine ganze Weile.

$ sudo npm install --save growi-plugin-lsx
$ sudo npm install --save growi-plugin-pukiwiki-like-linker
$ cd /opt/growi
$ sudo systemctl stop growi
$ sudo yarn
$ sudo systemctl start growi

Recommended Posts

Einführung von GROWI in Raspberry Pi 4 Model B (Ubuntu)
Installieren Sie CentOS 7 auf Raspberry pi 4 Model B.
Stellen Sie auf Raspberry Pi eine serielle Verbindung zu Ubuntu her
Setzen Sie Ubuntu 20.04.1 in Raspberry 4 ein
Headless Installation von Ubuntu 20.10 auf Raspberry Pi
Ich konnte Docker nicht mit Himbeer pi2 b + installieren.
Erstellen Sie eine Ubuntu 20.04 LTS-Desktopumgebung auf Raspberry Pi 4 (+ japanische Lokalisierung)
Wie man javafx mit Raspeye ausführt veröffentlicht am 12.07.2020