Parakushtet
Instaloni Nginx
Instaloni PHP 7.1
Instaloni MariaDB
Instaloni Hubzilla
Krijoni një host virtual
Përfundimi
Hubzilla është një platformë e bazuar në ueb me burim të hapur për të krijuar faqe interneti të lidhura brenda. Në ekosistemin e Hubzilla-s, një server që drejton Hubzilla quhet "hub" dhe një grup shpërndarësish të shumëfishtë quhet "grid". Qendrat brenda një rrjeti komunikojnë me njëri-tjetrin për të ndarë informacione të tilla si identitetet. Çdokush mund të publikojë përmbajtje publikisht ose privatisht duke përdorur një "kanal", i cili mund të jetë një person, një blog ose një forum. Ai përdor një kornizë Zot të bazuar në JSON për të zbatuar komunikime dhe shërbime të sigurta të decentralizuara. Hubzilla është e mbushur me veçori të tilla si temat e diskutimit në rrjetet sociale, ruajtja e skedarëve cloud, kalendarët dhe kontaktet, hostimi i faqeve në internet me një sistem të menaxhimit të përmbajtjes, wiki dhe shumë më tepër.
Parakushtet
- Një shembull i serverit Vultr Ubuntu 16.04.
- Një përdorues sudo .
- Një emër domaini i drejtuar drejt shembullit.
Për këtë tutorial, ne do të përdorim hubzilla.example.com si emër domaini të drejtuar drejt shembullit Vultr. Ju lutemi sigurohuni që të zëvendësoni të gjitha dukuritë e emrit të domenit shembull me atë aktual.
Përditësoni sistemin tuaj bazë duke përdorur udhëzuesin Si të përditësoni Ubuntu 16.04 . Pasi sistemi juaj të jetë përditësuar, vazhdoni të instaloni varësitë.
Instaloni Nginx
Nginx është një server në internet prodhimi për të ekzekutuar aplikacione në internet.
Instaloni Nginx.
sudo apt -y install nginx
Nisni Nginx dhe aktivizoni që të funksionojë automatikisht në kohën e nisjes.
sudo systemctl start nginx
sudo systemctl enable nginx
Instaloni PHP 7.1
Hubzilla mbështet versionet PHP mbi 5.6. Ne do të instalojmë PHP 7.1 për të siguruar shpejtësinë, sigurinë dhe pajtueshmërinë maksimale. Shtoni depon e Ubuntu për PHP 7.1.
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update
Instaloni versionin 7.1 të PHP së bashku me modulet e kërkuara nga 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
Redaktoni skedarin e konfigurimit PHP.
sudo nano /etc/php/7.1/fpm/php.ini
Gjeni rreshtin e mëposhtëm. Hiqni komentin dhe caktoni zonën e duhur kohore.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone
Vendosni një kufi të përshtatshëm të memories në konfigurimin e ardhshëm. Vendosja në -1 do t'i japë një skripti memorie të pakufizuar të disponueshme. Gjithashtu, rrisni kufijtë maksimalë të ngarkimit të skedarëve.
memory_limit = -1
upload_max_filesize = 100M
post_max_size = 100M
Më pas, gjeni rreshtin e mëposhtëm dhe vendosni vlerën e tij 0 pasi ta hiqni komentin.
cgi.fix_pathinfo=0
Niseni php7.1-fpm dhe aktivizoni që të fillojë automatikisht në kohën e nisjes.
sudo systemctl restart php7.1-fpm
sudo systemctl enable php7.1-fpm
Krijoni një drejtori sesionesh dhe jepni leje shkrimi.
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session
Tani, vazhdoni me instalimin e MariaDB.
Instaloni MariaDB
MariaDB është një fork i MySQL. Shtoni depon e MariaDB në sistemin tuaj, pasi depoja e paracaktuar e Ubuntu përmban një version më të vjetër të 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
Instaloni MariaDB.
sudo apt -y install mariadb-server
Jepni një fjalëkalim të fortë për përdoruesin rrënjë MariaDB kur ju kërkohet. Nisni MariaDB dhe aktivizoni që të fillojë automatikisht në kohën e nisjes.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Para se të konfiguroni bazën e të dhënave, do t'ju duhet të siguroni MariaDB. Mund ta siguroni duke ekzekutuar mysql_secure_installation skriptin.
sudo mysql_secure_installation
Do t'ju kërkohet fjalëkalimi aktual rrënjësor i MariaDB. Jepni fjalëkalimin që keni vendosur gjatë instalimit. Ju do të pyeteni nëse dëshironi të ndryshoni fjalëkalimin ekzistues të përdoruesit rrënjë të serverit tuaj MariaDB. Mund të anashkaloni vendosjen e një fjalëkalimi të ri, pasi tashmë keni dhënë një fjalëkalim të fortë gjatë instalimit. Përgjigjuni " Y" për të gjitha pyetjet e tjera që bëhen.
Hyni në guaskën MySQL si rrënjë.
mysql -u root -p
Jepni fjalëkalimin që përdoruesi rrënjë MariaDB të identifikohet.
Drejtoni pyetjet e mëposhtme për të krijuar një bazë të dhënash dhe një përdorues të bazës së të dhënave për instalimin e 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;
Ju mund të zëvendësoni emrin e bazës së të dhënave hubzilla_data dhe emrin e përdoruesit hubzilla_user sipas zgjedhjes suaj. Ju lutemi sigurohuni që të ndryshoni StrongPassword në një fjalëkalim shumë të fortë.
Instaloni Hubzilla
Instaloni Git. Git kërkohet për të klonuar depon e Hubzilla nga Github.
sudo apt -y install git
Kaloni në direktoriumin rrënjësor të uebit dhe klononi depon e Hubzilla.
cd /var/www
sudo git clone https://github.com/redmatrix/hubzilla.git hubzilla
Krijo një direktori të re për të ruajtur të dhënat e Hubzilla.
cd hubzilla
sudo mkdir -p "store/[data]/smarty3"
sudo chmod -R 777 store
Klononi dhe instaloni shtesat Hubzilla.
sudo util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
sudo util/update_addon_repo hzaddons
Jepni pronësinë e drejtorisë dhe skedarëve përdoruesit Nginx.
sudo chown -R www-data:www-data /var/www/hubzilla
Krijoni një host virtual
Është e rëndësishme të keni të instaluar SSL në një sajt Hubzilla, pasi hyrjet dhe të dhënat e tjera mund të rrezikohen nëse nuk janë të koduara. Në këtë tutorial, ne do të përdorim certifikatat SSL të marra nga autoriteti i certifikatës Let's Encrypt.
Shtoni depon e Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instaloni Certbot, i cili është aplikacioni i klientit për Let's Encrypt CA.
sudo apt -y install certbot
Shënim: Për të marrë certifikata nga Let's Encrypt CA, domeni për të cilin do të krijohen certifikatat duhet të drejtohet drejt serverit. Nëse jo, bëni ndryshimet e nevojshme në të dhënat DNS të domenit dhe prisni që DNS të përhapet përpara se të bëni përsëri kërkesën për certifikatë. Certbot kontrollon autoritetin e domenit përpara se të japë certifikatat.
Gjeneroni certifikatat SSL.
sudo certbot certonly --webroot -w /var/www/html -d hubzilla.example.com
Certifikatat e krijuara ka të ngjarë të ruhen në /etc/letsencrypt/live/hubzilla.example.com/. Certifikata SSL do të ruhet si fullchain.pem dhe çelësi privat do të ruhet si privkey.pem.
Le të Enkriptojmë certifikatat skadojnë për 90 ditë, prandaj rekomandohet të konfiguroni rinovimin automatik të certifikatave duke përdorur Cron jobs.
Hapni skedarin e punës cron.
sudo crontab -e
Shtoni rreshtin e mëposhtëm në fund të skedarit.
30 5 * * * /usr/bin/certbot renew --quiet
Puna e mësipërme e cron do të funksionojë çdo ditë në orën 5:30 të mëngjesit. Nëse certifikata duhet të skadojë, ajo do të rinovohet automatikisht.
Krijo një skedar të ri konfigurimi për serverin Hubzilla.
sudo nano /etc/nginx/sites-available/hubzilla
Plotësoni skedarin.
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;
}
}
Aktivizoni konfigurimin.
sudo ln -s /etc/nginx/sites-available/hubzilla /etc/nginx/sites-enabled/hubzilla
Testoni konfigurimin e serverit të internetit Nginx.
sudo nginx -t
Do të shihni daljen e mëposhtme.
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
Nëse nuk shihni gabime në konfigurim, rinisni Nginx në mënyrë që konfigurimi i ri të mund të hyjë në fuqi.
sudo systemctl restart nginx
Përfundimi
Shkoni te https://hubzilla.example.compërdorimi i shfletuesit tuaj të preferuar dhe do të shihni faqen e internetit që tregon ndërfaqen "kontrolli i sistemit". Do të shihni që çdo kërkesë kalon në kontrollin e sistemit. Në ndërfaqen tjetër, jepni detajet e bazës së të dhënave që keni krijuar më parë. Më pas, jepni emailin e administratorit, URL-në e faqes në internet dhe zonën kohore. Hubzilla tani është instaluar në serverin tuaj, mund të vazhdoni të krijoni përdoruesin e administratorit me emailin e administratorit që keni përdorur gjatë instalimit.
Më në fund, do t'ju duhet të konfiguroni cron për të ekzekutuar detyrat e planifikuara çdo dhjetë minuta.
Krijo një skedar të ri për punën e cron.
sudo nano /etc/cron.d/hubzilla
Plotësoni skedarin me sa vijon.
*/10 * * * * www-data cd /var/www/hubzilla; /usr/bin/php Zotlabs/Daemon/Master.php Cron
Rinis shërbimin cron.
sudo systemctl restart cron
Nëse dëshironi të krijoni një grup dokumentacioni lokal, ekzekutoni komandat e mëposhtme.
cd /var/www/hubzilla
util/importdoc
sudo chown www-data:www-data -R /var/www/hubzilla
Hubzilla tani është instaluar dhe konfiguruar, ju mund të ftoni miqtë tuaj dhe të përdorni platformën sipas dëshirës.