Sådan installeres Hubzilla på Ubuntu 16.04

Hubzilla er en open source webbaseret platform til at skabe internt forbundne websteder. I Hubzillas økosystem kaldes en server, der kører Hubzilla en "hub", og en gruppe af flere hubs kaldes et "grid". Hubs i et net kommunikerer med hinanden for at dele information såsom identiteter. Alle kan udgive indhold offentligt eller privat ved hjælp af en "kanal", som kan være en person, en blog eller et forum. Den bruger en JSON-baseret Zot-ramme til at implementere sikker decentral kommunikation og tjenester. Hubzilla er spækket med funktioner såsom diskussionstråde til sociale netværk, fillagring i skyen, kalender og kontakter, hosting af websider med et indholdsstyringssystem, wiki og meget mere.

Forudsætninger

  • En Vultr Ubuntu 16.04-serverinstans.
  • En sudo-bruger .
  • Et domænenavn pegede mod forekomsten.

Til denne vejledning vil vi bruge hubzilla.example.com som domænenavnet pegede mod Vultr-forekomsten. Sørg for at erstatte alle forekomster af eksempeldomænenavnet med det faktiske.

Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du Ubuntu 16.04 . Når dit system er blevet opdateret, skal du fortsætte med at installere afhængighederne.

Installer Nginx

Nginx er en produktionswebserver til at køre webapplikationer.

Installer Nginx.

sudo apt -y install nginx

Start Nginx og aktiver den til automatisk at køre ved opstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Installer PHP 7.1

Hubzilla understøtter PHP-versioner over 5.6. Vi vil installere PHP 7.1 for at sikre maksimal hastighed, sikkerhed og kompatibilitet. Tilføj Ubuntu-depotet til PHP 7.1.

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

Installer PHP version 7.1 sammen med de moduler, der kræves af Hubzilla.

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

Rediger PHP-konfigurationsfilen.

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

Find følgende linje. Fjern kommentarer og indstil den passende tidszone.

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

Indstil en passende hukommelsesgrænse ved næste konfiguration. Indstilling til -1 vil give ubegrænset tilgængelig hukommelse til et script. Forøg også de maksimale filuploadgrænser.

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

Find derefter følgende linje og sæt dens værdi til 0 efter at have fjernet den.

cgi.fix_pathinfo=0

Start php7.1-fpm og aktiver den til automatisk at starte ved opstart.

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

Opret en sessionsmappe og giv skrivetilladelser.

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

Fortsæt nu til installationen af ​​MariaDB.

Installer MariaDB

MariaDB er en forgrening af MySQL. Tilføj MariaDB-depotet til dit system, da standard Ubuntu-depotet indeholder en ældre version af MariaDB.

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

Installer MariaDB.

sudo apt -y install mariadb-server

Angiv en stærk adgangskode til MariaDB root-brugeren, når du bliver bedt om det. Start MariaDB og aktiver den til automatisk at starte ved opstart.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Før du konfigurerer databasen, skal du sikre MariaDB. Du kan sikre det ved at køre mysql_secure_installation scriptet.

sudo mysql_secure_installation

Du bliver bedt om den aktuelle MariaDB root-adgangskode. Angiv den adgangskode, du har angivet under installationen. Du bliver spurgt, om du ønsker at ændre den eksisterende adgangskode for root-brugeren på din MariaDB-server. Du kan springe over at angive en ny adgangskode, da du allerede har angivet en stærk adgangskode under installationen. Besvar " Y" på alle de andre spørgsmål, der stilles.

Log ind på MySQL-skallen som root.

mysql -u root -p

Angiv adgangskoden til MariaDB root-brugeren for at logge ind.

Kør følgende forespørgsler for at oprette en database og en databasebruger til Hubzilla-installationen.

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;

Du kan erstatte databasenavnet hubzilla_data og brugernavnet hubzilla_user efter dit valg. Sørg for at skifte StrongPassword til en meget stærk adgangskode.

Installer Hubzilla

Installer Git. Git er påkrævet for at klone Hubzilla-depotet fra Github.

sudo apt -y install git

Skift til web-rodmappen og klon Hubzilla-depotet.

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

Opret en ny mappe til at gemme Hubzilla-data.

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

Klon og installer Hubzilla-tilføjelser.

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

Giv ejerskab af mappen og filerne til Nginx-brugeren.

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

Opret en virtuel vært

Det er vigtigt at have SSL installeret på et Hubzilla-websted, da logins og andre data kan blive kompromitteret, hvis de ikke krypteres. I denne vejledning vil vi bruge SSL-certifikater opnået af Let's Encrypt-certifikatmyndigheden.

Tilføj Certbot-depotet.

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

Installer Certbot, som er klientapplikationen til Let's Encrypt CA.

sudo apt -y install certbot

Bemærk: For at få certifikater fra Let's Encrypt CA, skal det domæne, som certifikaterne skal genereres for, pege mod serveren. Hvis ikke, skal du foretage de nødvendige ændringer i domænets DNS-poster og vente på, at DNS'en udbreder sig, før du foretager certifikatanmodningen igen. Certbot kontrollerer domæneautoriteten, før certifikaterne leveres.

Generer SSL-certifikaterne.

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

De genererede certifikater vil sandsynligvis blive gemt i /etc/letsencrypt/live/hubzilla.example.com/. SSL-certifikatet vil blive gemt som fullchain.pem og privat nøgle vil blive gemt som privkey.pem.

Lad os kryptere certifikater udløber om 90 dage, derfor anbefales det at konfigurere automatisk fornyelse af certifikaterne ved hjælp af Cron-job.

Åbn cron-jobfilen.

sudo crontab -e

Tilføj følgende linje i slutningen af ​​filen.

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

Ovenstående cron-job kører hver dag kl. 5:30. Hvis certifikatet udløber, vil det automatisk blive fornyet.

Opret en ny konfigurationsfil til Hubzilla Server.

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

Udfyld filen.

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;
    }
}

Aktiver konfigurationen.

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

Test Nginx-webserverkonfigurationen.

sudo nginx -t

Du vil se følgende output.

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

Hvis du ikke ser nogen fejl i konfigurationen, skal du genstarte Nginx, så den nye konfiguration kan træde i kraft.

sudo systemctl restart nginx

Afslutter

Naviger til at https://hubzilla.example.combruge din yndlingsbrowser, og du vil se websiden, der viser "systemcheck"-grænsefladen. Du vil se, at alle krav bestå i systemkontrollen. På den næste grænseflade skal du angive databasedetaljerne, som du har oprettet tidligere. Angiv derefter administratorens e-mail, webstedets URL og tidszone. Hubzilla er nu installeret på din server, du kan fortsætte med at oprette administratorbrugeren med den administrator-e-mail, du brugte under installationen.

Endelig skal du konfigurere cron til at køre de planlagte opgaver hvert tiende minut.

Opret en ny fil til cron-jobbet.

sudo nano /etc/cron.d/hubzilla

Udfyld filen med følgende.

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

Genstart cron-tjenesten.

sudo systemctl restart cron

Hvis du ønsker at oprette et lokalt sæt dokumentation, skal du køre følgende kommandoer.

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

Hubzilla er nu installeret og konfigureret, du kan invitere dine venner og bruge platformen som ønsket.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser

Sådan konfigureres uovervågede opgraderinger på Debian 9 (Stretch)

Sådan konfigureres uovervågede opgraderinger på Debian 9 (Stretch)

Bruger du et andet system? Hvis du køber en Debian-server, bør du altid have de nyeste sikkerhedsrettelser og opdateringer, uanset om du sover eller ej

Sådan installeres Squid Proxy på CentOS

Sådan installeres Squid Proxy på CentOS

Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig

Opsæt din egen DNS-server på Debian/Ubuntu

Opsæt din egen DNS-server på Debian/Ubuntu

Denne vejledning forklarer, hvordan man opsætter en DNS-server ved hjælp af Bind9 på Debian eller Ubuntu. Gennem hele artiklen skal du erstatte dit-domænenavn.com i overensstemmelse hermed. Ved th

Konfigurer Red5 Media Server på Ubuntu 16.04

Konfigurer Red5 Media Server på Ubuntu 16.04

Bruger du et andet system? Red5 er en open source medieserver implementeret i Java, der giver dig mulighed for at køre Flash multi-bruger applikationer såsom live streamin

Sådan installeres Vanilla Forum på Ubuntu 16.04

Sådan installeres Vanilla Forum på Ubuntu 16.04

Bruger du et andet system? Vanilla forum er en open source forumapplikation skrevet i PHP. Det er en fuldt tilpasselig, nem at bruge og understøtter ekstern

Installer Lynis på Debian 8

Installer Lynis på Debian 8

Introduktion Lynis er et gratis, open source-systemrevisionsværktøj, der bruges af mange systemadministratorer til at verificere integriteten og hærde deres systemer. jeg

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Installation af Microweber på Ubuntu 16.04

Installation af Microweber på Ubuntu 16.04

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Mattermost 4.1 på CentOS 7

Sådan installeres Mattermost 4.1 på CentOS 7

Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca

Sådan installeres dotCMS på Ubuntu 16.04

Sådan installeres dotCMS på Ubuntu 16.04

Bruger du et andet system? DotCMS er et open source, enterprise-grade content management system skrevet i Java. Den indeholder næsten alle nødvendige funktioner

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Bruger du et andet system? BigTree CMS 4.2 er et hurtigt og let, gratis og open source, enterprise-grade content management system (CMS) med omfattende

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først

Installation af Docker CE på Ubuntu 16.04

Installation af Docker CE på Ubuntu 16.04

Bruger du et andet system? Docker er et program, der gør det muligt at implementere programmer, der køres som containere. Det blev skrevet i det populære Go-programmin

Sådan installeres Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Sådan installeres Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Golang er et programmeringssprog udviklet af Google. Takket være sin alsidighed, enkelhed og pålidelighed er Golang blevet en af ​​de mest populære

Lad os kryptere på Plesk

Lad os kryptere på Plesk

Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af ​​de eneste SSL-udbydere, der udleverer certifikater komplet

Lader kryptere på cPanel

Lader kryptere på cPanel

Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient

Nulstil MySQL Root Password på Debian/Ubuntu

Nulstil MySQL Root Password på Debian/Ubuntu

Hvis du har glemt din MySQL root-adgangskode, kan du nulstille den ved at følge trinene i denne artikel. Processen er ret enkel og fungerer på disse

Sådan installeres GoAccess på Ubuntu 16.04

Sådan installeres GoAccess på Ubuntu 16.04

Bruger du et andet system? GoAccess er en open source weblog-analysator. Du kan bruge det til analyse af logs på realtidsbasis i enten terminalen eller

Sådan installeres YOURLS på CentOS 7

Sådan installeres YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere