Diaspora ist ein Open-Source-, datenschutzbewusstes und verteiltes soziales Netzwerk. Es besteht aus einer Gruppe von unabhängig bereitgestellten und eigenen Knoten, die zusammenarbeiten, um das Netzwerk zu erstellen. Diaspora ist ein soziales Netzwerk, das sich auf drei Philosophien konzentriert:Dezentralisierung, Freiheit und Privatsphäre.
In diesem Tutorial zeigen wir Ihnen, wie Sie das verteilte soziale Netzwerk Diaspora auf dem Debian Buster 10 installieren. Wir werden Diaspora mit dem Nginx-Webserver und dem PostgreSQL-Datenbankserver installieren. Darüber hinaus sichern wir die Diaspora-Installation mit SSL Letsencrypt.
Voraussetzungen
- Debian Buster 10
- Mindestens 2 GB RAM
- Root-Rechte
Was werden wir tun?
- Paketabhängigkeiten installieren
- Neuen PostgreSQL-Benutzer für die Diaspora erstellen
- Neuen Benutzer erstellen
- Installieren Sie Ruby mit RVM (Ruby Version Manager)
- Installieren und konfigurieren Sie das dezentrale soziale Netzwerk Diaspora
- Diaspora als Systemdienst einrichten
- Nginx als Reverse-Proxy für die Diaspora einrichten
- Testen
Schritt 1 – Paketabhängigkeiten installieren
Zuerst werden wir einige Paketabhängigkeiten für unsere Diaspora-Installation installieren, einschließlich des PostgreSQL-, Redis- und Nginx-Webservers.
Installieren Sie Paketabhängigkeiten mit dem folgenden apt-Befehl.
sudo apt-get install build-essential cmake gnupg2 libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript curl libmagickwand-dev git libpq-dev redis-server nodejs postgresql
Sobald die gesamte Installation abgeschlossen ist, starten Sie die PostgreSQL-, Nginx- und Redis-Dienste und fügen Sie dann alles zum Systemstart hinzu.
systemctl start redis-server
systemctl enable redis-server
systemctl start postgresql
systemctl enable postgresql
Als Ergebnis wurden einige Paketabhängigkeiten für die Diaspora-Installation auf Debian Buster 10 installiert.
Schritt 2 – Neuen PostgreSQL-Benutzer für die Diaspora erstellen
In diesem Schritt ändern wir das Passwort für den Standardbenutzer „postgres“ und erstellen einen neuen PostgreSQL-Benutzer für Diaspora.
Melden Sie sich mit dem untenstehenden Befehl „psql“ bei der PostgreSQL-Shell an.
sudo -i -u postgres psql
Ändern Sie das Passwort für den Standardbenutzer „postgres“ mit der folgenden Abfrage.
\password postgres
Geben Sie nun Ihr neues Passwort ein und wiederholen Sie es, und das Passwort für den Standardbenutzer 'postgres ' wurde konfiguriert.
Erstellen Sie als Nächstes einen neuen Benutzer „diaspora“ mit der Berechtigung „CREATEDB ' zum Erstellen einer Datenbank mit der PostgreSQL-Abfrage unten.
CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';
Geben Sie 'BEENDEN ein ', um sich von der PostgreSQL-Shell abzumelden.
Als Ergebnis wurde der neue PostgreSQL-Benutzer für Diaspora erstellt.
Schritt 3 – Erstellen Sie einen neuen Benutzer
Nachdem wir den PostgreSQL-Datenbankbenutzer erstellt haben, erstellen wir einen neuen Systembenutzer namens „diaspora“ und fügen ihn der sudo-Gruppe hinzu.
Erstellen Sie einen neuen Benutzer namens „Diaspora“ und richten Sie das Passwort dafür mit dem folgenden Befehl ein.
adduser --disabled-login Diaspora
passwd diaspora
Fügen Sie nun den Benutzer „diaspora“ zur Gruppe „sudo“ hinzu.
usermod -a -G sudo diaspora
Infolgedessen kann der „Diaspora“-Benutzer den Befehl „sudo“ ausführen, um die Root-Rechte zu erhalten.
Schritt 4 - RVM und Ruby installieren
Bevor Sie fortfahren, melden Sie sich mit dem folgenden Befehl beim Benutzer „diaspora“ an.
su - diaspora
Als nächstes werden wir RVM (Ruby Version Manager) installieren und Ruby 2.6 für den Benutzer „Diaspora“ installieren.
Fügen Sie den GPGP-Schlüssel für RVM-Pakete mit dem folgenden Befehl hinzu.
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Installieren Sie nun den RVM (Ruby Version Manager) mit dem folgenden Befehl.
curl -sSL https://get.rvm.io | bash -s stable
Geben Sie Ihr Passwort für den Benutzer „diaspora“ ein und drücken Sie die Eingabetaste.
Sobald die gesamte Installation abgeschlossen ist, laden Sie das rvm-Skript auf Ihren Server.
source /home/diaspora/.rvm/scripts/rvm
Als Ergebnis können Sie den rvm-Befehl zur Installation von Ruby ausführen.
Installieren Sie Ruby 2.6 mit dem folgenden rvm-Befehl.
rvm install 2.6
Sobald die gesamte Installation abgeschlossen ist, überprüfen Sie Ihre Ruby-Version.
ruby -v
Unten sehen Sie das Ergebnis, das Sie erhalten.
Als Ergebnis wurde die RVM- und Ruby-Installation unter dem Benutzer „diaspora“ abgeschlossen.
Schritt 5 – Diaspora herunterladen und konfigurieren
Bevor Sie fortfahren, vergewissern Sie sich, dass Sie mit dem Benutzer „diaspora“ angemeldet sind.
Laden Sie den Diaspora-Quellcode mit dem Befehl git herunter und gehen Sie hinein.
git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora
Kopieren Sie nun das Beispiel der Datenbankkonfiguration 'database.yml' und die Diaspora-Konfiguration 'diaspora.yml'.
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
Bearbeiten Sie als Nächstes die Datenbankkonfiguration „database.yml“ mit dem vim-Editor.
vim config/database.yml
Ändern Sie im Abschnitt „PostgreSQL“-Datenbank den detaillierten Benutzernamen und das Passwort mit Ihren Daten.
postgresql: &postgresql
adapter: postgresql
host: "localhost"
port: 5432
username: "diaspora"
password: "yourpassword"
encoding: unicode
Speichern und schließen.
Bearbeiten Sie als Nächstes die Diaspora-Konfiguration „diaspora.yml“.
vim config/diaspora.yml
Ändern Sie die Konfiguration wie unten und vergewissern Sie sich, dass der Domainname Ihren eigenen hat.
configuration: ## Section
...
environment: ## Section
...
url: "https://pod.hakase-labs.to/"
certificate_authorities: '/etc/ssl/certs/ca-certificates.crt'
require_ssl: true
...
server: ## Section
rails_environment: 'production'
...
Speichern und schließen.
Als nächstes installieren Sie die für Diaspora benötigten Gem- und Ruby-Bibliotheken mit den folgenden Befehlen.
gem install bundler
script/configure_bundler
bin/bundle install --full-index
Führen Sie danach die Datenbankmigration für Diaspora aus.
RAILS_ENV=production bundle exec rake db:create db:migrate
Wenn alles fertig ist, kompilieren Sie die gesamte Rails-Asset-Pipeline mit dem folgenden Befehl.
RAILS_ENV=production bin/rake assets:precompile
Und die Installation von Diaspora ist abgeschlossen.
Schritt 6 – Diaspora as a Service einrichten
Nach der Installation von Diaspora konfigurieren wir Diaspora als Systemdienst.
Gehen Sie nun in das Verzeichnis ‚/etc/systemd/system‘ und erstellen Sie mit dem vim-Editor eine neue Dienstdatei ‚diaspora.target‘ für Gruppierungseinheiten.
cd /etc/systemd/system/
vim diaspora.target
Fügen Sie die folgende Konfiguration ein.
[Unit]
Description=Diaspora social network
Wants=postgresql.service
Wants=redis-server.service
After=redis-server.service
After=postgresql.service
[Install]
WantedBy=multi-user.target
Speichern und schließen.
Erstellen Sie als Nächstes eine neue Dienstdatei für die Diaspora mit dem Namen „diaspora-web.service“ mit dem vim-Editor.
vim diaspora-web.service
Fügen Sie die folgende Konfiguration ein.
[Unit]
Description=Diaspora social network (unicorn)
PartOf=diaspora.target
StopWhenUnneeded=true
[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec unicorn -c config/unicorn.rb -E production"
Restart=always
[Install]
WantedBy=diaspora.target
Speichern und schließen.
Erstellen Sie als Nächstes eine neue Dienstdatei „diaspora-sidekiq.service“ für den Überwachungsdienst mit dem folgenden vim-Befehl.
vim diaspora-sidekiq.service
Fügen Sie die folgende Konfiguration ein.
[Unit]
Description=Diaspora social network (sidekiq)
PartOf=diaspora.target
StopWhenUnneeded=true
[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec sidekiq"
Restart=always
[Install]
WantedBy=diaspora.target
Speichern und schließen.
Laden Sie nun den systemd-Manager neu und fügen Sie alle Diaspora-Dienste zum Systemstart hinzu.
sudo systemctl daemon-reload
sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service
Starten Sie dann den Diaspora-Dienst mit dem folgenden Befehl.
systemctl start diaspora.target
Das 'diaspora.target' startet automatisch andere Dienste, den 'diaspora-web.service' und den 'diaspora-sidekiq.service'.
Überprüfen Sie die Diaspora-Dienste mit dem folgenden Befehl.
systemctl status diaspora-web
systemctl status diaspora-sidekiq
Unten sehen Sie das Ergebnis, das Sie erhalten.
Infolgedessen ist die Diaspora jetzt als systemd-Dienst betriebsbereit. Und schließlich ist die Konfiguration der Diaspora abgeschlossen.
Schritt 7 - Generieren Sie SSL Letsencrypt
Für dieses Tutorial sichern wir unsere Diaspora-Installation mit SSL Letsencrypt. In diesem Schritt installieren wir das certbot-Tool und generieren SSL Letsencrypt für unsere Diaspora-Domain-Installation.
Installieren Sie Certbot mit dem folgenden apt-Befehl.
sudo apt install certbot
Sobald die gesamte Installation abgeschlossen ist, generieren Sie das SSL Letsencrypt für Ihren Diaspora-Domainnamen mit dem Befehl certbot unten.
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d pod.hakase-labs.to
Jetzt ist Ihr Zertifikat im Verzeichnis „/etc/letsencrypt/live/yourdomain.com/“ verfügbar.
Schritt 8 – Neuen Benutzer erstellen und Diaspora herunterladen
In diesem Schritt installieren und konfigurieren wir den Nginx-Webserver als Reverse-Proxy für Diaspora.
Installieren Sie Nginx mit dem folgenden apt-Befehl.
sudo apt install nginx
Sobald die gesamte Installation abgeschlossen ist, gehen Sie in das Verzeichnis „/etc/nginx/sites-available“ und erstellen Sie eine neue virtuelle Hostkonfiguration „diaspora“ mit dem vim-Editor.
cd /etc/nginx/sites-available/
vim diaspora
Ändern Sie den Domänennamen und den Pfad von SSL Letsencrypt durch Ihren eigenen und fügen Sie ihn dann ein.
upstream diaspora_server {
server unix:/home/diaspora/diaspora/tmp/diaspora.sock;
}
server {
listen 80;
listen [::]:80;
server_name pod.hakase-labs.to;
return 301 https://pod.hakase-labs.to$request_uri;
access_log /dev/null;
error_log /dev/null;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name pod.hakase-labs.to;
access_log /var/log/nginx/dspr-access.log;
error_log /var/log/nginx/dspr-error.log;
ssl_certificate /etc/letsencrypt/live/pod.hakase-labs.to/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/pod.hakase-labs.to/privkey.pem;
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES;
ssl_ecdh_curve X25519:P-521:P-384:P-256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
root /home/diaspora/diaspora/public;
client_max_body_size 5M;
client_body_buffer_size 256K;
try_files $uri @diaspora;
location /assets/ {
expires max;
add_header Cache-Control public;
}
location @diaspora {
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_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://diaspora_server;
}
}
Speichern und schließen.
Aktivieren Sie nun die Diaspora-Konfiguration und testen Sie die Nginx-Konfiguration.
ln -s /etc/nginx/sites-available/diaspora /etc/nginx/sites-enabled/
nginx -t
Stellen Sie sicher, dass kein Fehler vorliegt, starten Sie dann den Nginx-Dienst neu und fügen Sie ihn zum Systemstart hinzu.
systemctl restart nginx
systemctl enable nginx
Als Ergebnis wurde die Konfiguration des Nginx-Webservers als Reverse-Proxy für die Diaspora abgeschlossen.
Schritt 9 – Testen
Öffnen Sie Ihren Webbrowser und geben Sie Ihren Diaspora-Domainnamen in die Adressleiste ein.
http://pod.hakase-labs.to/
Und Sie erhalten die Standard-Diaspora-Startseite wie unten.
Klicken Sie auf den Link "Konto erstellen". ' Abschnitt.
Geben Sie nun Ihre E-Mail-Adresse, Ihren Benutzernamen und Ihr Passwort für das erste Diaspora-Konto ein und klicken Sie dann auf „Konto erstellen '.
Laden Sie Ihr Profilbild usw. hoch und klicken Sie dann auf „Super! Bring mich in die Diaspora ' Schaltfläche.
Und Sie erhalten das Diaspora-Dashboard wie folgt.
Wie zu sehen ist, wurde die Installation von Diaspora mit Nginx Reverse Proxy auf Debian Buster 10 erfolgreich abgeschlossen.