So installieren Sie Hubzilla unter Ubuntu 16.04

Hubzilla ist eine webbasierte Open Source-Plattform zum Erstellen intern verbundener Websites. In Hubzillas Ökosystem wird ein Server, auf dem Hubzilla ausgeführt wird, als "Hub" und eine Gruppe mehrerer Hubs als "Grid" bezeichnet. Hubs innerhalb eines Grids kommunizieren miteinander, um Informationen wie Identitäten auszutauschen. Jeder kann Inhalte öffentlich oder privat über einen "Kanal" veröffentlichen, der eine Person, ein Blog oder ein Forum sein kann. Es verwendet ein JSON-basiertes Zot-Framework, um sichere dezentrale Kommunikation und Dienste zu implementieren. Hubzilla bietet zahlreiche Funktionen wie Diskussionsthreads für soziale Netzwerke, Speicherung von Cloud-Dateien, Kalender und Kontakte, Hosting von Webseiten mit einem Content-Management-System, Wiki und vieles mehr.

Voraussetzungen

  • Eine Vultr Ubuntu 16.04-Serverinstanz.
  • Ein Sudo-Benutzer .
  • Ein Domainname zeigte auf die Instanz.

In diesem Lernprogramm wird hubzilla.example.com der Domainname verwendet, der auf die Vultr-Instanz verweist. Stellen Sie sicher, dass alle Vorkommen des Beispieldomänennamens durch den tatsächlichen ersetzt werden.

Aktualisieren Sie Ihr Basissystem mithilfe der Anleitung zum Aktualisieren von Ubuntu 16.04 . Fahren Sie nach der Aktualisierung Ihres Systems mit der Installation der Abhängigkeiten fort.

Installieren Sie Nginx

Nginx ist ein Produktionswebserver zum Ausführen von Webanwendungen.

Installieren Sie Nginx.

sudo apt -y install nginx

Starten Sie Nginx und aktivieren Sie es, damit es beim Booten automatisch ausgeführt wird.

sudo systemctl start nginx
sudo systemctl enable nginx

Installieren Sie PHP 7.1

Hubzilla unterstützt PHP-Versionen über 5.6. Wir werden PHP 7.1 installieren, um maximale Geschwindigkeit, Sicherheit und Kompatibilität zu gewährleisten. Fügen Sie das Ubuntu-Repository für PHP 7.1 hinzu.

sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update

Installieren Sie PHP Version 7.1 zusammen mit den von Hubzilla benötigten Modulen.

sudo apt -y install php7.1 php7.1-mysql php7.1-curl php7.1-json php7.1-cli php7.1-gd php7.1-xml php7.1-mbstring php7.1-fpm imagemagick php7.1-zip

Bearbeiten Sie die PHP-Konfigurationsdatei.

sudo nano /etc/php/7.1/fpm/php.ini

Suchen Sie die folgende Zeile. Kommentieren Sie es aus und stellen Sie die entsprechende Zeitzone ein.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone

Legen Sie bei der nächsten Konfiguration ein geeignetes Speicherlimit fest. Wenn Sie -1 diese Option festlegen, wird einem Skript unbegrenzt Speicherplatz zur Verfügung gestellt. Erhöhen Sie außerdem die maximalen Limits für das Hochladen von Dateien.

memory_limit = -1
upload_max_filesize = 100M
post_max_size = 100M

Suchen Sie als Nächstes die folgende Zeile und setzen Sie den Wert auf, 0 nachdem Sie sie auskommentiert haben.

cgi.fix_pathinfo=0

Starten Sie php7.1-fpm und aktivieren Sie es, um beim Booten automatisch zu starten.

sudo systemctl restart php7.1-fpm
sudo systemctl enable php7.1-fpm

Erstellen Sie ein Sitzungsverzeichnis und geben Sie Schreibberechtigungen an.

sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session

Fahren Sie nun mit der Installation von MariaDB fort.

Installieren Sie MariaDB

MariaDB ist eine Abzweigung von MySQL. Fügen Sie das MariaDB-Repository zu Ihrem System hinzu, da das Standard-Ubuntu-Repository eine ältere Version von MariaDB enthält.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
sudo apt update

Installieren Sie MariaDB.

sudo apt -y install mariadb-server

Geben Sie ein sicheres Kennwort für den MariaDB-Root-Benutzer ein, wenn Sie dazu aufgefordert werden. Starten Sie MariaDB und aktivieren Sie es, damit es beim Booten automatisch gestartet wird.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Bevor Sie die Datenbank konfigurieren, müssen Sie MariaDB sichern. Sie können es sichern, indem Sie das mysql_secure_installation Skript ausführen.

sudo mysql_secure_installation

Sie werden nach dem aktuellen MariaDB-Root-Passwort gefragt. Geben Sie das Kennwort ein, das Sie während der Installation festgelegt haben. Sie werden gefragt, ob Sie das vorhandene Kennwort des Root-Benutzers Ihres MariaDB-Servers ändern möchten. Sie können das Festlegen eines neuen Kennworts überspringen, da Sie bereits während der Installation ein sicheres Kennwort angegeben haben. YBeantworten Sie alle anderen gestellten Fragen mit " ".

Melden Sie sich als root bei der MySQL-Shell an.

mysql -u root -p

Geben Sie das Kennwort für den MariaDB-Root-Benutzer ein, um sich anzumelden.

Führen Sie die folgenden Abfragen aus, um eine Datenbank und einen Datenbankbenutzer für die Hubzilla-Installation zu erstellen.

CREATE DATABASE hubzilla_data;
CREATE USER 'hubzilla_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON hubzilla_data.* TO 'hubzilla_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Sie können den Datenbanknamen hubzilla_data und den Benutzernamen hubzilla_user nach Ihrer Wahl ersetzen . Bitte stellen Sie sicher, dass Sie StrongPassword ein sehr sicheres Passwort verwenden.

Installieren Sie Hubzilla

Installieren Sie Git. Git ist erforderlich, um das Hubzilla-Repository von Github zu klonen.

sudo apt -y install git

Wechseln Sie in das Webstammverzeichnis und klonen Sie das Hubzilla-Repository.

cd /var/www
sudo git clone https://github.com/redmatrix/hubzilla.git hubzilla

Erstellen Sie ein neues Verzeichnis zum Speichern von Hubzilla-Daten.

cd hubzilla
sudo mkdir -p "store/[data]/smarty3"
sudo chmod -R 777 store

Klonen und installieren Sie Hubzilla-Addons.

sudo util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
sudo util/update_addon_repo hzaddons

Stellen Sie dem Nginx-Benutzer den Besitz des Verzeichnisses und der Dateien zur Verfügung.

sudo chown -R www-data:www-data /var/www/hubzilla

Erstellen Sie einen virtuellen Host

Es ist wichtig, dass SSL auf einer Hubzilla-Site installiert ist, da Anmeldungen und andere Daten gefährdet sein können, wenn sie nicht verschlüsselt werden. In diesem Lernprogramm werden SSL-Zertifikate verwendet, die von Let's Encrypt Certificate Authority erhalten wurden.

Fügen Sie das Certbot-Repository hinzu.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Installieren Sie Certbot, die Clientanwendung für Let's Encrypt CA.

sudo apt -y install certbot

Hinweis: Um Zertifikate von Let's Encrypt CA zu erhalten, muss die Domäne, für die die Zertifikate generiert werden sollen, auf den Server gerichtet sein. Wenn nicht, nehmen Sie die erforderlichen Änderungen an den DNS-Einträgen der Domäne vor und warten Sie, bis sich der DNS verbreitet hat, bevor Sie die Zertifikatanforderung erneut stellen. Certbot überprüft die Domänenautorität, bevor die Zertifikate bereitgestellt werden.

Generieren Sie die SSL-Zertifikate.

sudo certbot certonly --webroot -w /var/www/html -d hubzilla.example.com

Die generierten Zertifikate werden wahrscheinlich in gespeichert /etc/letsencrypt/live/hubzilla.example.com/. Das SSL-Zertifikat wird als fullchain.pem und der private Schlüssel als gespeichert privkey.pem.

Lassen Sie uns Zertifikate verschlüsseln, die in 90 Tagen ablaufen. Daher wird empfohlen, die automatische Erneuerung der Zertifikate mithilfe von Cron-Jobs einzurichten.

Öffnen Sie die Cron-Jobdatei.

sudo crontab -e

Fügen Sie am Ende der Datei die folgende Zeile hinzu.

30 5 * * * /usr/bin/certbot renew --quiet

Der oben genannte Cron-Job wird jeden Tag um 5:30 Uhr ausgeführt. Wenn das Zertifikat abläuft, wird es automatisch erneuert.

Erstellen Sie eine neue Konfigurationsdatei für Hubzilla Server.

sudo nano /etc/nginx/sites-available/hubzilla

Füllen Sie die Datei.

server {
  listen 80;
  server_name hubzilla.example.com;

  index index.php;
  root /var/www/hubzilla;
  rewrite ^ https://hubzilla.example.com$request_uri? permanent;
}

server {
  listen 443 ssl;
  server_name hubzilla.example.com;

  ssl on;
  ssl_certificate /etc/letsencrypt/live/hubzilla.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/hubzilla.example.com/privkey.pem;
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;
  ssl_prefer_server_ciphers on;

  fastcgi_param HTTPS on;

  index index.php;
  charset utf-8;
  root /var/www/hubzilla;
  access_log /var/log/nginx/hubzilla.log;
  client_max_body_size 20m;
  client_body_buffer_size 128k;

  location / {
    if ($is_args != "") {
        rewrite ^/(.*) /index.php?q=$uri&$args last;
    }
    rewrite ^/(.*) /index.php?q=$uri last;
  }

  location ^~ /.well-known/ {
    allow all;
    rewrite ^/(.*) /index.php?q=$uri&$args last;
  }

  location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|map|ttf|woff|woff2|svg)$ {
    expires 30d;
    try_files $uri /index.php?q=$uri&$args;
  }

  location ~* \.(tpl|md|tgz|log|out)$ {
    deny all;
  }

  location ~* \.php$ {

    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;    
    fastcgi_pass unix:/run/php/php7.1-fpm.sock;    
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

  location ~ /\. {
    deny all;
  }

    location ~ /store {
        deny  all;
    }
}

Aktivieren Sie die Konfiguration.

sudo ln -s /etc/nginx/sites-available/hubzilla /etc/nginx/sites-enabled/hubzilla

Testen Sie die Nginx-Webserverkonfiguration.

sudo nginx -t

Sie sehen die folgende Ausgabe.

user@vultr:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Wenn Sie keine Fehler in der Konfiguration sehen, starten Sie Nginx neu, damit die neue Konfiguration wirksam wird.

sudo systemctl restart nginx

Einpacken

Navigieren Sie zu https://hubzilla.example.comIhrem bevorzugten Browser und Sie sehen die Webseite mit der Oberfläche "Systemprüfung". Sie werden sehen, dass jede Anforderung in der Systemprüfung bestanden wird. Geben Sie auf der nächsten Schnittstelle die zuvor erstellten Datenbankdetails an. Geben Sie als Nächstes die Administrator-E-Mail-Adresse, die Website-URL und die Zeitzone an. Hubzilla ist jetzt auf Ihrem Server installiert. Sie können den Administratorbenutzer mit der Administrator-E-Mail erstellen, die Sie während der Installation verwendet haben.

Schließlich müssen Sie cron einrichten, um die geplanten Aufgaben alle zehn Minuten auszuführen.

Erstellen Sie eine neue Datei für den Cron-Job.

sudo nano /etc/cron.d/hubzilla

Füllen Sie die Datei wie folgt aus.

*/10 * * * * www-data cd /var/www/hubzilla; /usr/bin/php Zotlabs/Daemon/Master.php Cron

Starten Sie den Cron-Service neu.

sudo systemctl restart cron

Wenn Sie eine lokale Dokumentation erstellen möchten, führen Sie die folgenden Befehle aus.

cd /var/www/hubzilla
util/importdoc
sudo chown www-data:www-data -R /var/www/hubzilla

Hubzilla ist jetzt installiert und konfiguriert. Sie können Ihre Freunde einladen und die Plattform wie gewünscht verwenden.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.