Ako nainštalovať Hubzillu na Ubuntu 16.04

Hubzilla je webová platforma s otvoreným zdrojom na vytváranie interne prepojených webových stránok. V ekosystéme Hubzilly sa server so systémom Hubzilla nazýva „rozbočovač“ a skupina viacerých rozbočovačov sa nazýva „mriežka“. Huby v rámci mriežky medzi sebou komunikujú a zdieľajú informácie, ako sú identity. Ktokoľvek môže publikovať obsah verejne alebo súkromne pomocou „kanálu“, ktorým môže byť osoba, blog alebo fórum. Používa rámec Zot založený na JSON na implementáciu zabezpečenej decentralizovanej komunikácie a služieb. Hubzilla je nabitá funkciami, ako sú diskusné vlákna sociálnych sietí, cloudové úložisko súborov, kalendár a kontakty, hosting webových stránok so systémom na správu obsahu, wiki a oveľa viac.

Predpoklady

  • Inštancia servera Vultr Ubuntu 16.04.
  • Sudo používateľ .
  • Názov domény smerujúci k inštancii.

V tomto návode použijeme hubzilla.example.com názov domény smerujúci k inštancii Vultr. Uistite sa, že ste nahradili všetky výskyty vzorového názvu domény skutočným.

Aktualizujte svoj základný systém pomocou príručky Ako aktualizovať Ubuntu 16.04 . Po aktualizácii systému pokračujte v inštalácii závislostí.

Nainštalujte Nginx

Nginx je produkčný webový server na spúšťanie webových aplikácií.

Nainštalujte Nginx.

sudo apt -y install nginx

Spustite Nginx a povoľte jeho automatické spustenie pri štarte.

sudo systemctl start nginx
sudo systemctl enable nginx

Nainštalujte PHP 7.1

Hubzilla podporuje verzie PHP vyššie ako 5.6. Nainštalujeme PHP 7.1, aby sme zaistili maximálnu rýchlosť, bezpečnosť a kompatibilitu. Pridajte úložisko Ubuntu pre PHP 7.1.

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

Nainštalujte PHP verziu 7.1 spolu s modulmi požadovanými Hubzillou.

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

Upravte konfiguračný súbor PHP.

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

Nájdite nasledujúci riadok. Odkomentujte ho a nastavte príslušné časové pásmo.

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

Nastavte vhodný limit pamäte pri ďalšej konfigurácii. Nastavenie na -1 poskytne skriptu neobmedzenú dostupnú pamäť. Zvýšte tiež maximálne limity nahrávania súborov.

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

Ďalej nájdite nasledujúci riadok a nastavte jeho hodnotu na 0 po odkomentovaní.

cgi.fix_pathinfo=0

Spustite php7.1-fpm a povoľte automatické spustenie pri štarte.

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

Vytvorte adresár relácie a poskytnite povolenia na písanie.

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

Teraz pokračujte v inštalácii MariaDB.

Nainštalujte MariaDB

MariaDB je fork MySQL. Pridajte úložisko MariaDB do svojho systému, pretože predvolené úložisko Ubuntu obsahuje staršiu verziu 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

Nainštalujte MariaDB.

sudo apt -y install mariadb-server

Keď sa zobrazí výzva, zadajte silné heslo pre používateľa root MariaDB. Spustite MariaDB a povoľte jej automatické spustenie pri štarte.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Pred konfiguráciou databázy budete musieť zabezpečiť MariaDB. Môžete to zabezpečiť spustením mysql_secure_installation skriptu.

sudo mysql_secure_installation

Budete vyzvaní na zadanie aktuálneho root hesla MariaDB. Zadajte heslo, ktoré ste nastavili počas inštalácie. Zobrazí sa otázka, či chcete zmeniť existujúce heslo používateľa root vášho servera MariaDB. Nastavenie nového hesla môžete preskočiť, pretože silné heslo ste zadali už počas inštalácie. Odpovedzte „ Y“ na všetky ostatné otázky.

Prihláste sa do shellu MySQL ako root.

mysql -u root -p

Zadajte heslo pre používateľa root MariaDB na prihlásenie.

Spustite nasledujúce dotazy na vytvorenie databázy a používateľa databázy pre inštaláciu Hubzilla.

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;

Názov databázy hubzilla_data a používateľské meno môžete nahradiť hubzilla_user podľa vlastného výberu. Uistite sa, že StrongPassword ste heslo zmenili na veľmi silné.

Nainštalujte Hubzillu

Nainštalujte Git. Git je potrebný na klonovanie úložiska Hubzilla z Github.

sudo apt -y install git

Prepnite sa do webového koreňového adresára a naklonujte úložisko Hubzilla.

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

Vytvorte nový adresár na ukladanie údajov Hubzilla.

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

Naklonujte a nainštalujte doplnky Hubzilla.

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

Poskytnite vlastníctvo adresára a súborov používateľovi Nginx.

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

Vytvorte virtuálneho hostiteľa

Je dôležité mať nainštalované SSL na stránke Hubzilla, pretože prihlasovacie údaje a iné údaje môžu byť ohrozené, ak nie sú šifrované. V tomto návode použijeme SSL certifikáty získané certifikačnou autoritou Let's Encrypt.

Pridajte úložisko Certbot.

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

Nainštalujte Certbot, čo je klientska aplikácia pre Let's Encrypt CA.

sudo apt -y install certbot

Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.

Generate the SSL certificates.

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

The generated certificates are likely to be stored in /etc/letsencrypt/live/hubzilla.example.com/. The SSL certificate will be stored as fullchain.pem and private key will be stored as privkey.pem.

Let's Encrypt certificates expire in 90 days, hence it is recommended to set up auto-renewal of the certificates using Cron jobs.

Open the cron job file.

sudo crontab -e

Add the following line at the end of the file.

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

Vyššie uvedená úloha cron sa spustí každý deň o 5:30. Ak platnosť certifikátu vyprší, automaticky sa obnoví.

Vytvorte nový konfiguračný súbor pre Hubzilla Server.

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

Vyplňte súbor.

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

Aktivujte konfiguráciu.

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

Otestujte konfiguráciu webového servera Nginx.

sudo nginx -t

Uvidíte nasledujúci výstup.

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

Ak v konfigurácii nevidíte žiadne chyby, reštartujte Nginx, aby sa nová konfigurácia prejavila.

sudo systemctl restart nginx

Zabaliť sa

Prejdite do https://hubzilla.example.comsvojho obľúbeného prehliadača a uvidíte webovú stránku s rozhraním kontroly systému. Uvidíte, že každá požiadavka prejde kontrolou systému. V ďalšom rozhraní zadajte podrobnosti o databáze, ktoré ste vytvorili predtým. Ďalej zadajte e-mail správcu, webovú adresu a časové pásmo. Hubzilla je teraz nainštalovaná na vašom serveri, môžete pristúpiť k vytvoreniu používateľa správcu s e-mailom správcu, ktorý ste použili pri inštalácii.

Nakoniec budete musieť nastaviť cron na spúšťanie naplánovaných úloh každých desať minút.

Vytvorte nový súbor pre úlohu cron.

sudo nano /etc/cron.d/hubzilla

Naplňte súbor nasledujúcim.

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

Reštartujte službu cron.

sudo systemctl restart cron

Ak chcete vytvoriť lokálnu sadu dokumentácie, spustite nasledujúce príkazy.

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

Hubzilla je teraz nainštalovaná a nakonfigurovaná, môžete pozývať svojich priateľov a používať platformu podľa potreby.


Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Install Lets Encrypt SSL on One-Click WordPress App

Install Lets Encrypt SSL on One-Click WordPress App

Introduction Lets Encrypt is a certificate authority service that offers free TLS/SSL certificates. The process of installation is simplified by Certbot,

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Používate iný systém? Čo je Tekkit Classic? Tekkit Classic je modpack pre hru, ktorú každý pozná a miluje; Minecraft. Obsahuje niektoré z ver

Creating a Jekyll Blog on Ubuntu 16.04

Creating a Jekyll Blog on Ubuntu 16.04

Using a Different System? Jekyll is a great alternative to WordPress for blogging or sharing content. It doesnt require any databases and it is very easy i

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

PHP a súvisiace balíky sú najčastejšie používané komponenty pri nasadzovaní webového servera. V tomto článku sa naučíme, ako nastaviť PHP 7.0 alebo PHP 7.1 o

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

1. Virtualmin/Webmin Virtualmin je výkonný a flexibilný ovládací panel webhostingu pre systémy Linux a UNIX založený na známej webovej základni Open Source

Nastavenie aplikácie Yii na Ubuntu 14.04

Nastavenie aplikácie Yii na Ubuntu 14.04

Yii je rámec PHP, ktorý vám umožňuje rýchlejšie a jednoduchšie vyvíjať aplikácie. Inštalácia Yii na Ubuntu je jednoduchá, ako sa presne dozviete

Používanie obrazovky na Ubuntu 14.04

Používanie obrazovky na Ubuntu 14.04

Screen je aplikácia, ktorá umožňuje viacnásobné použitie terminálových relácií v rámci jedného okna. To vám umožňuje simulovať viacero okien terminálu, kde je to možné

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th

Používanie Logrotate na správu protokolových súborov

Používanie Logrotate na správu protokolových súborov

Úvod Logrotate je nástroj pre Linux, ktorý zjednodušuje správu protokolových súborov. Zvyčajne beží raz denne prostredníctvom úlohy cron a spravuje základňu protokolov

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Nastavte Red5 Media Server na Ubuntu 16.04

Nastavte Red5 Media Server na Ubuntu 16.04

Používate iný systém? Red5 je mediálny server s otvoreným zdrojom implementovaný v jazyku Java, ktorý vám umožňuje spúšťať aplikácie Flash pre viacerých používateľov, ako napríklad živé vysielanie

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Používate iný systém? Vanilla forum je open source aplikácia fóra napísaná v PHP. Je plne prispôsobiteľný, ľahko použiteľný a podporuje externé

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

Ako nainštalovať Kanboard na Debian 9

Ako nainštalovať Kanboard na Debian 9

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac