Zuvor habe ich die Version auf Misskey v10 geschrieben, aber das Installationsverfahren hat sich aufgrund der Verwendung von Postgresql ab v11 oder höher geändert. In diesem Abschnitt wird beschrieben, wie Sie Version 11 oder höher installieren.
Klicken Sie hier für Version 10 und früher: https://qiita.com/YuzuRyo61/items/7105d16ac75c78899f1c
Dieser Artikel basiert auf den Serien Ubuntu und Debian.
Dies ist eine Routineprozedur.
sudo apt update
sudo apt upgrade -y
Es wird empfohlen, nach dem Upgrade neu zu starten.
Für Misskey sind Node.js (Version 11.10.1 oder höher), PostgreSQL (Version 10 oder höher) und Redis erforderlich. Optional ist auch eine elastische Suche verfügbar, diesmal wird sie jedoch weggelassen. Da Garn empfohlen wird, werden wir auch Garn einführen.
Verwenden Sie dann nginx als Reverse-Proxy.
Node.js
Installieren Sie Node.js über Nodesource. Klicken Sie unter Linux auf einem anderen Paketverwaltungssystem wie CentOS auf Siehe README-Datei in diesem Repository.
# Using Ubuntu curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs
https://github.com/nodesource/distributions#installation-instructions
yarn
Eingeführt aus dem offiziellen Garnlager.
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt-get update && sudo apt-get install yarn
https://classic.yarnpkg.com/ja/docs/install#debian-stable
PostgreSQL
Aus dem Standard-Repository.
sudo apt install postgresql-10 postgresql-server-dev-10
Redis
Dies wird auch so wie es ist aus dem Standard-Repository abgerufen.
sudo apt install redis-server
nginx
Aus dem offiziellen Nginx-Repository. Ich bin nicht besonders darüber, also werde ich eine stabile Version einfügen.
sudo apt install curl gnupg2 ca-certificates lsb-release echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add - sudo apt-key fingerprint ABF5BD827BD9BF62 #Dies dient zur Bestätigung. sudo apt update sudo apt install nginx
http://nginx.org/en/linux_packages.html#Ubuntu
Build-Essential einführen.
sudo apt install build-essential
Starten Sie den Dienst.
sudo systemctl start nginx postgresql redis-server
sudo systemctl enable nginx postgresql redis-server
Geben Sie den Benutzer an, der gestartet werden soll. Der Benutzername ist beliebig.
sudo adduser --disabled-password --disabled-login misskey
sudo su - misskey
Klonen Sie das Repository und suchen Sie nach der neuesten Version.
git clone -b master https://github.com/syuilo/misskey.git
cd misskey
#Die Version ist https://github.com/syuilo/misskey/releases/Siehe neueste
git checkout <12.x.x>
Installieren Sie die Packung mit Garn. Stellen Sie sicher, dass das Garnschloss nicht ersetzt wird.
yarn install --pure-lockfile
Erstellen Sie die Datei default.yml, indem Sie example.yml kopieren.
cp .config/example.yml .config/default.yml
Stellen Sie default.yml gemäß den darin enthaltenen Kommentaren ein.
Baue Misskey. Dies kann einige Zeit dauern.
NODE_ENV=production yarn build
Initialisieren Sie die Datenbank, damit sie verwendet werden kann.
yarn run init
Sie können den Start mit dem folgenden Befehl überprüfen. Wenn Sie dies bestätigen können, stoppen Sie den Server mit Strg-C.
NODE_ENV=production yarn start
/etc/systemd/system/misskey.service
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey #Wenn der Benutzername anders ist, ändern Sie ihn bitte
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey #Bitte ändern Sie je nach Umgebung
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
Führen Sie nach dem Einstellen systemctl daemon -reload
aus, um die Serviceliste zu aktualisieren.
Mit systemctl enable misskey
wird misskey beim Start ausgeführt.
Starten Sie es mit systemctl start miss key
.
Richten Sie abschließend den Reverse-Proxy für Nginx ein.
Der Dateiname ist beliebig. Wenn es Änderungen gibt, ändern Sie diese bitte entsprechend.
nginx:/etc/nginx/conf.d/misskey.conf
# Sample nginx configuration for Misskey
#
# 1. Replace example.tld to your domain
# 2. Copy to /etc/nginx/sites-available/ and then symlink from /etc/nginx/sites-enabled/
# or copy to /etc/nginx/conf.d/
# For WebSocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_temp_path=off;
server {
listen 80;
listen [::]:80;
server_name example.tld;
# For SSL domain validation
root /var/www/html;
location /.well-known/acme-challenge/ { allow all; }
location /.well-known/pki-validation/ { allow all; }
location / { return 301 https://$server_name$request_uri; }
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.tld;
ssl_session_cache shared:ssl_session_cache:10m;
# To use Let's Encrypt certificate
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
# To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate)
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
# SSL protocol settings
ssl_protocols TLSv1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA;
ssl_prefer_server_ciphers on;
# Change to your upload limit
client_max_body_size 80m;
# Proxy to Node
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_http_version 1.1;
proxy_redirect off;
# For WebSocket
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# Cache settings
proxy_cache cache1;
proxy_cache_lock on;
proxy_cache_use_stale updating;
add_header X-Cache $upstream_cache_status;
}
}
https://github.com/syuilo/misskey/blob/develop/docs/examples/misskey.nginx
Übernehmen Sie die Änderungen nach dem Festlegen mit systemctl restart nginx
.
Damit sind die Einstellungen abgeschlossen: tada:
Wenn es ein Update gibt, wechseln Sie zuerst in das Verzeichnis, in dem Misskey installiert ist. Geben Sie dann die folgenden Befehle in der Reihenfolge von oben ein.
git fetch
git checkout <12.x.x> #Geben Sie die neueste Version des Tags ein
yarn install --pure-lockfile
NODE_ENV=production yarn build
yarn migrate
Geben Sie den obigen Befehl ein und starten Sie den Misskey-Dienst neu, wenn keine Fehler vorliegen. Damit ist das Update abgeschlossen.
Recommended Posts