Hogyan telepítsük a Hubzillát az Ubuntu 16.04-re

A Hubzilla egy nyílt forráskódú web-alapú platform belsőleg összekapcsolt webhelyek létrehozására. A Hubzilla ökoszisztémájában a Hubzillát futtató kiszolgálót "hubnak", a több hubból álló csoportot pedig "rácsnak" nevezik. A rácson belüli hubok kommunikálnak egymással, hogy megosszák az információkat, például az identitásokat. Bárki közzétehet tartalmat nyilvánosan vagy privát módon egy "csatorna" segítségével, amely lehet egy személy, egy blog vagy egy fórum. JSON-alapú Zot-keretrendszert használ a biztonságos decentralizált kommunikáció és szolgáltatások megvalósításához. A Hubzilla tele van olyan funkciókkal, mint a közösségi hálózati vitaszálak, a felhőalapú fájltárolás, a naptár és a névjegyek, a weblapok tárolása tartalomkezelő rendszerrel, a wiki és még sok más.

Előfeltételek

  • Egy Vultr Ubuntu 16.04 szerverpéldány.
  • Egy sudo felhasználó .
  • Egy domain név mutatott a példányra.

Ebben az oktatóanyagban hubzilla.example.com a Vultr példányra mutató tartománynévként fogjuk használni . Kérjük, ügyeljen arra, hogy a példa domain név minden előfordulását lecserélje a tényleges névre.

Frissítse alaprendszerét az Ubuntu 16.04 frissítése útmutató segítségével . A rendszer frissítése után folytassa a függőségek telepítésével.

Telepítse az Nginx-et

Az Nginx egy éles webszerver webalkalmazások futtatására.

Telepítse az Nginx-et.

sudo apt -y install nginx

Indítsa el az Nginx-et, és engedélyezze, hogy rendszerindításkor automatikusan fusson.

sudo systemctl start nginx
sudo systemctl enable nginx

Telepítse a PHP 7.1-et

A Hubzilla támogatja az 5.6 feletti PHP verziókat. A maximális sebesség, biztonság és kompatibilitás érdekében a PHP 7.1-et telepítjük. Adja hozzá az Ubuntu lerakat a PHP 7.1-hez.

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

Telepítse a PHP 7.1-es verzióját a Hubzilla által igényelt modulokkal együtt.

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

Szerkessze a PHP konfigurációs fájlt.

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

Keresse meg a következő sort. Törölje a megjegyzést, és állítsa be a megfelelő időzónát.

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

A következő konfigurációnál állítson be megfelelő memóriakorlátot. Ha ezt -1 állítja, korlátlanul szabad memóriát kap a szkript. Emellett növelje meg a maximális fájlfeltöltési korlátot.

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

Ezután keresse meg a következő sort, és állítsa be az értékét a 0 megjegyzés törlése után.

cgi.fix_pathinfo=0

Indítsa el, php7.1-fpm és engedélyezze, hogy rendszerindításkor automatikusan elinduljon.

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

Hozzon létre egy munkamenet-könyvtárat, és adjon írási engedélyeket.

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

Most folytassa a MariaDB telepítésével.

Telepítse a MariaDB-t

A MariaDB a MySQL elágazása. Adja hozzá a MariaDB-tárat a rendszeréhez, mivel az alapértelmezett Ubuntu-lerakat a MariaDB régebbi verzióját tartalmazza.

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

Telepítse a MariaDB-t.

sudo apt -y install mariadb-server

Ha kérik, adjon meg erős jelszót a MariaDB root felhasználó számára. Indítsa el a MariaDB-t, és engedélyezze az automatikus indulást a rendszerindításkor.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Az adatbázis konfigurálása előtt biztonságossá kell tennie a MariaDB-t. A mysql_secure_installation szkript futtatásával biztosíthatja .

sudo mysql_secure_installation

Meg kell adnia a jelenlegi MariaDB root jelszót. Adja meg a telepítés során beállított jelszót. A rendszer megkérdezi, hogy módosítani szeretné-e a MariaDB szerver root felhasználójának meglévő jelszavát. Az új jelszó beállítását kihagyhatja, mivel a telepítés során már megadott egy erős jelszót. Válaszoljon " Y" az összes többi feltett kérdésre.

Jelentkezzen be a MySQL shellbe root felhasználóként.

mysql -u root -p

Adja meg a MariaDB root felhasználó jelszavát a bejelentkezéshez.

Futtassa a következő lekérdezéseket egy adatbázis és egy adatbázis-felhasználó létrehozásához a Hubzilla telepítéséhez.

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;

Az adatbázisnevet hubzilla_data és a felhasználónevet hubzilla_user tetszés szerint lecserélheti . Kérjük, győződjön meg róla, StrongPassword hogy nagyon erős jelszóra vált.

Telepítse a Hubzillát

Telepítse a Git-et. Git szükséges a Hubzilla adattár klónozásához a Githubból.

sudo apt -y install git

Váltson a web gyökérkönyvtárára, és klónozza a Hubzilla tárat.

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

Hozzon létre egy új könyvtárat a Hubzilla adatok tárolására.

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

A Hubzilla kiegészítők klónozása és telepítése.

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

Adja meg a könyvtár és a fájlok tulajdonjogát az Nginx felhasználónak.

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

Hozzon létre egy virtuális gazdagépet

Fontos, hogy a Hubzilla webhelyen telepítve legyen az SSL, mivel a bejelentkezési adatok és egyéb adatok sérülhetnek, ha nem titkosítják őket. Ebben az oktatóanyagban a Let's Encrypt tanúsító hatóság által szerzett SSL-tanúsítványokat fogjuk használni.

Adja hozzá a Certbot adattárat.

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

Telepítse a Certbotot, amely a Let's Encrypt CA ügyfélalkalmazása.

sudo apt -y install certbot

Megjegyzés: A Let's Encrypt CA-tól tanúsítványok beszerzéséhez a tartományt, amelyhez a tanúsítványokat elő kell állítani, a szerver felé kell mutatni. Ha nem, hajtsa végre a szükséges módosításokat a tartomány DNS-rekordjain, és várja meg, amíg a DNS továbbterjed, mielőtt ismét kérelmet küldene. A Certbot a tanúsítványok kiadása előtt ellenőrzi a tartományi hatóságot.

Hozza létre az SSL-tanúsítványokat.

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

A generált tanúsítványok valószínűleg a következő helyen lesznek tárolva /etc/letsencrypt/live/hubzilla.example.com/. Az SSL-tanúsítvány a következőként fullchain.pem , a magánkulcs pedig néven lesz tárolva privkey.pem.

A Titkosított tanúsítványok 90 napon belül lejárnak, ezért ajánlatos beállítani a tanúsítványok automatikus megújítását Cron jobokkal.

Nyissa meg a cron feladatfájlt.

sudo crontab -e

Adja hozzá a következő sort a fájl végéhez.

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

A fenti cron-feladat minden nap 5:30-kor fog futni. Ha a tanúsítvány lejárt, az automatikusan megújul.

Hozzon létre egy új konfigurációs fájlt a Hubzilla Server számára.

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

Töltse fel a fájlt.

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

Aktiválja a konfigurációt.

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

Tesztelje az Nginx webszerver konfigurációját.

sudo nginx -t

A következő kimenetet fogja látni.

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

Ha nem lát hibát a konfigurációban, indítsa újra az Nginxet, hogy az új konfiguráció érvénybe lépjen.

sudo systemctl restart nginx

Becsomagolás

Keresse https://hubzilla.example.commeg kedvenc böngészőjét, és megjelenik a „rendszerellenőrzés” felületet mutató weboldal. Látni fogja, hogy a rendszerellenőrzés során minden követelmény megfelel. A következő felületen adja meg a korábban létrehozott adatbázis-adatokat. Ezután adja meg a rendszergazda e-mail címét, a webhely URL-jét és az időzónát. A Hubzilla most telepítve van a kiszolgálón, folytathatja a rendszergazdai felhasználó létrehozását a telepítés során használt rendszergazdai e-mail-címmel.

Végül be kell állítania a cront az ütemezett feladatok tízpercenkénti futtatásához.

Hozzon létre egy új fájlt a cron feladathoz.

sudo nano /etc/cron.d/hubzilla

Töltse ki a fájlt a következővel.

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

Indítsa újra a cron szolgáltatást.

sudo systemctl restart cron

Ha helyi dokumentációt szeretne létrehozni, futtassa a következő parancsokat.

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

A Hubzilla már telepítve és konfigurálva van, meghívhatja barátait, és tetszés szerint használhatja a platformot.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.