Предуслови
Инсталирајте Нгинк
Инсталирајте ПХП 7.1
Инсталирајте МариаДБ
Инсталирајте Хубзиллу
Направите виртуелни хост
Окончање
Хубзилла је веб платформа отвореног кода за креирање интерно повезаних веб локација. У Хубзилла-ином екосистему, сервер на којем ради Хубзилла се назива „хуб“, а група од више чворишта се назива „мрежа“. Чворишта унутар мреже комуницирају једни са другима да би поделили информације као што су идентитети. Свако може јавно или приватно да објави садржај користећи „канал“, који може бити особа, блог или форум. Користи Зот оквир заснован на ЈСОН-у за имплементацију безбедних децентрализованих комуникација и услуга. Хубзилла је препуна функција као што су теме за дискусије о друштвеним мрежама, складиштење датотека у облаку, календар и контакти, хостовање веб страница са системом за управљање садржајем, вики и још много тога.
Предуслови
- Инстанца сервера Вултр Убунту 16.04.
- : Судо корисника .
- Име домена усмерено на инстанцу.
За овај водич користићемо hubzilla.example.com као име домена усмерено на Вултр инстанцу. Обавезно замените сва појављивања примера имена домена стварним.
Ажурирајте свој основни систем користећи водич Како ажурирати Убунту 16.04 . Када се ваш систем ажурира, наставите са инсталирањем зависности.
Инсталирајте Нгинк
Нгинк је производни веб сервер за покретање веб апликација.
Инсталирајте Нгинк.
sudo apt -y install nginx
Покрените Нгинк и омогућите му аутоматско покретање при покретању.
sudo systemctl start nginx
sudo systemctl enable nginx
Инсталирајте ПХП 7.1
Хубзилла подржава ПХП верзије изнад 5.6. Инсталираћемо ПХП 7.1 да бисмо обезбедили максималну брзину, безбедност и компатибилност. Додајте Убунту спремиште за ПХП 7.1.
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update
Инсталирајте ПХП верзију 7.1 заједно са модулима које захтева Хубзилла.
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
Уредите ПХП конфигурациону датотеку.
sudo nano /etc/php/7.1/fpm/php.ini
Пронађите следећи ред. Уклоните коментар и поставите одговарајућу временску зону.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone
Поставите одговарајуће ограничење меморије на следећој конфигурацији. Подешавање на -1 ће дати неограничену доступну меморију скрипти. Такође, повећајте максимална ограничења за отпремање датотека.
memory_limit = -1
upload_max_filesize = 100M
post_max_size = 100M
Затим пронађите следећу линију и поставите њену вредност на 0 након што је декоментирате.
cgi.fix_pathinfo=0
Покрените php7.1-fpm и омогућите да се аутоматски покрене у време покретања.
sudo systemctl restart php7.1-fpm
sudo systemctl enable php7.1-fpm
Креирајте директоријум сесије и обезбедите дозволе за писање.
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session
Сада пређите на инсталацију МариаДБ-а.
Инсталирајте МариаДБ
МариаДБ је форк МиСКЛ-а. Додајте МариаДБ спремиште у свој систем, пошто подразумевано Убунту спремиште садржи старију верзију МариаДБ-а.
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
Инсталирајте МариаДБ.
sudo apt -y install mariadb-server
Наведите јаку лозинку за МариаДБ роот корисника када се то од вас затражи. Покрените МариаДБ и омогућите му да се аутоматски покреће при покретању.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Пре конфигурисања базе података, мораћете да обезбедите МариаДБ. Можете га осигурати покретањем mysql_secure_installation скрипте.
sudo mysql_secure_installation
Биће вам затражена тренутна МариаДБ роот лозинка. Унесите лозинку коју сте поставили током инсталације. Бићете упитани да ли желите да промените постојећу лозинку роот корисника вашег МариаДБ сервера. Можете прескочити постављање нове лозинке, јер сте већ дали јаку лозинку током инсталације. Одговорите " Y" на сва друга питања која се постављају.
Пријавите се у МиСКЛ љуску као роот.
mysql -u root -p
Наведите лозинку за МариаДБ роот корисника за пријаву.
Покрените следеће упите да бисте креирали базу података и корисника базе података за Хубзилла инсталацију.
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;
Име базе података hubzilla_data и корисничко име можете заменити hubzilla_user по свом избору. Обавезно промените StrongPassword на веома јаку лозинку.
Инсталирајте Хубзиллу
Инсталирајте Гит. Гит је потребан за клонирање Хубзилла репозиторија са Гитхуб-а.
sudo apt -y install git
Пребаците се на главни веб директоријум и клонирајте Хубзилла складиште.
cd /var/www
sudo git clone https://github.com/redmatrix/hubzilla.git hubzilla
Направите нови директоријум за складиштење Хубзилла података.
cd hubzilla
sudo mkdir -p "store/[data]/smarty3"
sudo chmod -R 777 store
Клонирајте и инсталирајте Хубзилла додатке.
sudo util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
sudo util/update_addon_repo hzaddons
Обезбедите власништво над директоријумом и датотекама Нгинк кориснику.
sudo chown -R www-data:www-data /var/www/hubzilla
Направите виртуелни хост
Важно је имати ССЛ инсталиран на Хубзилла сајту, јер пријаве и други подаци могу бити угрожени ако нису шифровани. У овом туторијалу користићемо ССЛ сертификате добијене од Лет'с Енцрипт ауторитета сертификата.
Додајте Цертбот спремиште.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Инсталирајте Цертбот, који је клијентска апликација за Лет'с Енцрипт ЦА.
sudo apt -y install certbot
Напомена: Да бисте добили сертификате од Лет'с Енцрипт ЦА, домен за који треба да се генеришу сертификати мора бити усмерен ка серверу. Ако није, извршите неопходне промене у ДНС записима домена и сачекајте да се ДНС пропагира пре него што поново поднесете захтев за сертификат. Цертбот проверава ауторитет домена пре пружања сертификата.
Генеришите ССЛ сертификате.
sudo certbot certonly --webroot -w /var/www/html -d hubzilla.example.com
Генерисани сертификати ће вероватно бити ускладиштени у /etc/letsencrypt/live/hubzilla.example.com/. ССЛ сертификат ће бити сачуван као, fullchain.pem а приватни кључ ће бити сачуван као privkey.pem.
Лет'с Енцрипт сертификати истичу за 90 дана, па се препоручује да подесите аутоматско обнављање сертификата помоћу Црон послова.
Отворите црон датотеку посла.
sudo crontab -e
Додајте следећи ред на крај датотеке.
30 5 * * * /usr/bin/certbot renew --quiet
Горњи црон посао ће се покретати сваког дана у 5:30 ујутро. Ако сертификат истекне, биће аутоматски обновљен.
Креирајте нову конфигурациону датотеку за Хубзилла сервер.
sudo nano /etc/nginx/sites-available/hubzilla
Попуните датотеку.
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;
}
}
Активирајте конфигурацију.
sudo ln -s /etc/nginx/sites-available/hubzilla /etc/nginx/sites-enabled/hubzilla
Тестирајте конфигурацију Нгинк веб сервера.
sudo nginx -t
Видећете следећи излаз.
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
Ако не видите грешке у конфигурацији, поново покрените Нгинк да би нова конфигурација ступила на снагу.
sudo systemctl restart nginx
Окончање
Идите на https://hubzilla.example.comкоришћење свог омиљеног претраживача и видећете веб страницу која приказује интерфејс „провере система“. Видећете да сваки захтев пролази кроз проверу система. На следећем интерфејсу наведите детаље базе података које сте раније креирали. Затим наведите адресу е-поште администратора, УРЛ веб локације и временску зону. Хубзилла је сада инсталирана на вашем серверу, можете наставити са креирањем администраторског корисника са администраторском е-поштом коју сте користили током инсталације.
Коначно, мораћете да подесите црон да покреће заказане задатке сваких десет минута.
Креирајте нову датотеку за црон посао.
sudo nano /etc/cron.d/hubzilla
Попуните датотеку следећим.
*/10 * * * * www-data cd /var/www/hubzilla; /usr/bin/php Zotlabs/Daemon/Master.php Cron
Поново покрените црон услугу.
sudo systemctl restart cron
Ако желите да креирате локални скуп документације, покрените следеће команде.
cd /var/www/hubzilla
util/importdoc
sudo chown www-data:www-data -R /var/www/hubzilla
Хубзилла је сада инсталирана и конфигурисана, можете позвати своје пријатеље и користити платформу по жељи.