Kako namestiti Hubzilla na Ubuntu 16.04

Hubzilla je odprtokodna spletna platforma za ustvarjanje interno povezanih spletnih mest. V Hubzilinem ekosistemu se strežnik, v katerem se izvaja Hubzilla, imenuje "hub", skupina več vozlišč pa se imenuje "mreža". Vozlišča znotraj omrežja komunicirajo med seboj za izmenjavo informacij, kot so identitete. Vsakdo lahko javno ali zasebno objavi vsebine s pomočjo "kanala", ki je lahko oseba, blog ali forum. Za izvajanje varnih decentraliziranih komunikacij in storitev uporablja okvir Zot, ki temelji na JSON. Hubzilla je polna funkcij, kot so teme za razprave o družabnih omrežjih, shranjevanje datotek v oblaku, koledar in stiki, gostovanje spletnih strani s sistemom za upravljanje vsebine, wiki in še veliko več.

Predpogoji

  • Primerek strežnika Vultr Ubuntu 16.04.
  • Uporabnik sudo .
  • Ime domene, usmerjeno proti primerku.

Za to vadnico bomo uporabili hubzilla.example.com kot ime domene, usmerjeno proti primerku Vultr. Prosimo, da zamenjate vse pojavitve vzorčnega imena domene z dejanskim.

Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti Ubuntu 16.04 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo odvisnosti.

Namestite Nginx

Nginx je produkcijski spletni strežnik za izvajanje spletnih aplikacij.

Namestite Nginx.

sudo apt -y install nginx

Zaženite Nginx in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start nginx
sudo systemctl enable nginx

Namestite PHP 7.1

Hubzilla podpira različice PHP nad 5.6. Namestili bomo PHP 7.1, da zagotovimo največjo hitrost, varnost in združljivost. Dodajte repozitorij Ubuntu za PHP 7.1.

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

Namestite PHP različico 7.1 skupaj z moduli, ki jih zahteva 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

Uredite konfiguracijsko datoteko PHP.

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

Poiščite naslednjo vrstico. Odkomentirajte ga in nastavite ustrezen časovni pas.

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

Nastavite ustrezno omejitev pomnilnika za naslednjo konfiguracijo. Če ga nastavite na, -1 bo skriptu dal neomejen razpoložljiv pomnilnik. Prav tako povečajte največje omejitve za nalaganje datotek.

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

Nato poiščite naslednjo vrstico in nastavite njeno vrednost na, 0 potem ko jo odstranite iz komentarja.

cgi.fix_pathinfo=0

Zaženite php7.1-fpm in omogočite, da se samodejno zažene ob zagonu.

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

Ustvarite imenik seje in zagotovite dovoljenja za pisanje.

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

Zdaj nadaljujte z namestitvijo MariaDB.

Namestite MariaDB

MariaDB je razcep MySQL. Dodajte repozitorij MariaDB v svoj sistem, saj privzeto skladišče Ubuntu vsebuje starejšo različico 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

Namestite MariaDB.

sudo apt -y install mariadb-server

Zagotovite močno geslo za korenskega uporabnika MariaDB, ko ga vprašate. Zaženite MariaDB in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Pred konfiguracijo baze podatkov boste morali zavarovati MariaDB. Zavarujete ga lahko tako, da zaženete mysql_secure_installation skript.

sudo mysql_secure_installation

Zahtevali boste trenutno korensko geslo MariaDB. Vnesite geslo, ki ste ga nastavili med namestitvijo. Vprašani boste, ali želite spremeniti obstoječe geslo korenskega uporabnika vašega strežnika MariaDB. Nastavitev novega gesla lahko preskočite, saj ste že med namestitvijo navedli močno geslo. Odgovorite z » Y« na vsa druga zastavljena vprašanja.

Prijavite se v lupino MySQL kot root.

mysql -u root -p

Navedite geslo za root uporabnika MariaDB za prijavo.

Zaženite naslednje poizvedbe, da ustvarite bazo podatkov in uporabnika baze podatkov za namestitev 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;

Ime baze podatkov hubzilla_data in uporabniško ime lahko zamenjate hubzilla_user po svoji izbiri. Prosimo, spremenite StrongPassword v zelo močno geslo.

Namestite Hubzillo

Namesti Git. Git je potreben za kloniranje skladišča Hubzilla iz Githuba.

sudo apt -y install git

Preklopite na spletni korenski imenik in klonirajte skladišče Hubzilla.

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

Ustvarite nov imenik za shranjevanje podatkov Hubzilla.

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

Klonirajte in namestite dodatke Hubzilla.

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

Uporabniku Nginx zagotovite lastništvo imenika in datotek.

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

Ustvarite virtualnega gostitelja

Pomembno je, da je SSL nameščen na spletnem mestu Hubzilla, saj so prijave in drugi podatki lahko ogroženi, če niso šifrirani. V tej vadnici bomo uporabili potrdila SSL, ki jih je pridobil overitelj certifikatov Let's Encrypt.

Dodajte repozitorij Certbot.

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

Namestite Certbot, ki je odjemalska aplikacija za Let's Encrypt CA.

sudo apt -y install certbot

Opomba: Če želite pridobiti potrdila od Let's Encrypt CA, mora biti domena, za katero naj bi bila generirana potrdila, usmerjena proti strežniku. Če ne, naredite potrebne spremembe v zapisih DNS domene in počakajte, da se DNS razširi, preden znova pošljete zahtevo za potrdilo. Certbot preveri avtoriteto domene, preden zagotovi potrdila.

Ustvarite SSL potrdila.

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

Ustvarjena potrdila bodo verjetno shranjena v /etc/letsencrypt/live/hubzilla.example.com/. Potrdilo SSL bo shranjeno kot fullchain.pem in zasebni ključ bo shranjen kot privkey.pem.

Potrdila Let's Encrypt potečejo v 90 dneh, zato je priporočljivo, da nastavite samodejno obnavljanje potrdil s pomočjo opravil Cron.

Odprite datoteko opravila cron.

sudo crontab -e

Dodajte naslednjo vrstico na konec datoteke.

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

Zgornje opravilo cron se bo izvajalo vsak dan ob 5.30. Če potrdilo poteče, se bo samodejno podaljšalo.

Ustvarite novo konfiguracijsko datoteko za strežnik Hubzilla.

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

Izpolnite datoteko.

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

Aktivirajte konfiguracijo.

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

Preizkusite konfiguracijo spletnega strežnika Nginx.

sudo nginx -t

Videli boste naslednji izhod.

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

Če v konfiguraciji ne vidite nobenih napak, znova zaženite Nginx, da bo lahko nova konfiguracija začela veljati.

sudo systemctl restart nginx

Zavijanje

Pomaknite se do https://hubzilla.example.comuporabe svojega najljubšega brskalnika in videli boste spletno stran, ki prikazuje vmesnik "preverjanje sistema". Videli boste, da vsaka zahteva preide pri preverjanju sistema. Na naslednjem vmesniku navedite podrobnosti baze podatkov, ki ste jih ustvarili prej. Nato navedite e-poštni naslov skrbnika, URL spletnega mesta in časovni pas. Hubzilla je zdaj nameščena na vašem strežniku, lahko nadaljujete z ustvarjanjem skrbniškega uporabnika s skrbniškim e-poštnim naslovom, ki ste ga uporabili med namestitvijo.

Končno boste morali nastaviti cron za izvajanje načrtovanih opravil vsakih deset minut.

Ustvarite novo datoteko za opravilo cron.

sudo nano /etc/cron.d/hubzilla

Napolnite datoteko z naslednjim.

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

Znova zaženite storitev cron.

sudo systemctl restart cron

Če želite ustvariti lokalni nabor dokumentacije, zaženite naslednje ukaze.

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

Hubzilla je zdaj nameščena in konfigurirana, lahko povabite svoje prijatelje in uporabite platformo po želji.


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

Namestite Lets Encrypt SSL v aplikacijo WordPress z enim klikom

Namestite Lets Encrypt SSL v aplikacijo WordPress z enim klikom

Uvod Lets Encrypt je storitev overitelja potrdil, ki ponuja brezplačna potrdila TLS/SSL. Certbot poenostavlja postopek namestitve,

Ustvarjanje bloga Jekyll v Ubuntu 16.04

Ustvarjanje bloga Jekyll v Ubuntu 16.04

Uporaba drugega sistema? Jekyll je odlična alternativa WordPressu za bloganje ali deljenje vsebine. Ne zahteva nobenih baz podatkov in je zelo enostaven i

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Uporaba drugega sistema? Če kupite strežnik Debian, morate vedno imeti najnovejše varnostne popravke in posodobitve, ne glede na to, ali spite ali ne

Kako namestiti in konfigurirati PHP 7.0 ali PHP 7.1 na Ubuntu 16.04

Kako namestiti in konfigurirati PHP 7.0 ali PHP 7.1 na Ubuntu 16.04

PHP in sorodni paketi so najpogosteje uporabljene komponente pri uvajanju spletnega strežnika. V tem članku se bomo naučili, kako nastaviti PHP 7.0 ali PHP 7.1 o

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Tri brezplačne nadzorne plošče strežnika (hitra namestitev)

Tri brezplačne nadzorne plošče strežnika (hitra namestitev)

1. Virtualmin/Webmin Virtualmin je zmogljiva in prilagodljiva nadzorna plošča za spletno gostovanje za sisteme Linux in UNIX, ki temelji na dobro znani odprtokodni spletni bazi

Nastavitev aplikacije Yii na Ubuntu 14.04

Nastavitev aplikacije Yii na Ubuntu 14.04

Yii je okvir PHP, ki vam omogoča hitrejši in preprostejši razvoj aplikacij. Namestitev Yii na Ubuntu je enostavna, saj se boste naučili natančno

Uporaba zaslona v Ubuntu 14.04

Uporaba zaslona v Ubuntu 14.04

Screen je aplikacija, ki omogoča večkratno uporabo terminalskih sej v enem oknu. To vam omogoča simulacijo več terminalskih oken, kjer je ma

Nastavite svoj DNS strežnik na Debian/Ubuntu

Nastavite svoj DNS strežnik na Debian/Ubuntu

Ta vadnica pojasnjuje, kako nastaviti strežnik DNS z uporabo Bind9 v Debianu ali Ubuntuju. V celotnem članku ustrezno nadomestite your-domain-name.com. Ob th

Uporaba Logrotate za upravljanje dnevniških datotek

Uporaba Logrotate za upravljanje dnevniških datotek

Uvod Logrotate je pripomoček za Linux, ki poenostavlja upravljanje dnevniških datotek. Običajno se izvaja enkrat na dan prek opravila cron in upravlja bazo dnevnikov

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Nastavite Red5 Media Server na Ubuntu 16.04

Nastavite Red5 Media Server na Ubuntu 16.04

Uporaba drugega sistema? Red5 je odprtokodni medijski strežnik, implementiran v Javi, ki vam omogoča zagon večuporabniških aplikacij Flash, kot je prenos v živo

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

V tem članku bomo videli, kako prevesti in namestiti Nginx mainline iz uradnih virov Nginxa z modulom PageSpeed, ki vam omogoča

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Vanilla Forum na Ubuntu 16.04

Kako namestiti Vanilla Forum na Ubuntu 16.04

Uporaba drugega sistema? Vanilla forum je odprtokodna forumska aplikacija, napisana v PHP. Je popolnoma prilagodljiv, enostaven za uporabo in podpira zunanjost

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Uporaba drugega sistema? Uvod Kanboard je brezplačen in odprtokodni program za vodenje projektov, ki je zasnovan za olajšanje in vizualizacijo

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več