Hoe Hubzilla op Ubuntu 16.04 te installeren

Hubzilla is een open source webgebaseerd platform om intern verbonden websites te creëren. In het ecosysteem van Hubzilla wordt een server met Hubzilla een "hub" genoemd en een groep van meerdere hubs wordt een "grid" genoemd. Hubs binnen een grid communiceren met elkaar om informatie zoals identiteiten te delen. Iedereen kan inhoud openbaar of privé publiceren via een "kanaal", dat kan een persoon, een blog of een forum zijn. Het maakt gebruik van een op JSON gebaseerd Zot-raamwerk om veilige gedecentraliseerde communicatie en diensten te implementeren. Hubzilla zit boordevol functies zoals discussiethreads voor sociale netwerken, opslag van cloudbestanden, agenda en contacten, webpagina-hosting met een contentbeheersysteem, wiki en nog veel meer.

Vereisten

  • Een Vultr Ubuntu 16.04-serverinstantie.
  • Een sudo-gebruiker .
  • Een domeinnaam wees naar de instantie.

Voor deze zelfstudie gebruiken we hubzilla.example.com de domeinnaam die naar de Vultr-instantie verwijst. Zorg ervoor dat u alle exemplaren van de voorbeelddomeinnaam vervangt door de werkelijke.

Update uw basissysteem met behulp van de handleiding Ubuntu 16.04 bijwerken . Zodra uw systeem is bijgewerkt, gaat u verder met het installeren van de afhankelijkheden.

Installeer Nginx

Nginx is een productiewebserver om webapplicaties uit te voeren.

Installeer Nginx.

sudo apt -y install nginx

Start Nginx en schakel het automatisch in tijdens het opstarten.

sudo systemctl start nginx
sudo systemctl enable nginx

Installeer PHP 7.1

Hubzilla ondersteunt PHP-versies boven 5.6. We zullen PHP 7.1 installeren om maximale snelheid, beveiliging en compatibiliteit te garanderen. Voeg de Ubuntu-repository toe voor PHP 7.1.

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

Installeer PHP versie 7.1 samen met de modules die Hubzilla nodig heeft.

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

Bewerk het PHP-configuratiebestand.

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

Zoek de volgende regel. Maak een commentaar en stel de juiste tijdzone in.

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

Stel een geschikte geheugenlimiet in voor de volgende configuratie. Als -1 u dit instelt, krijgt een script onbeperkt beschikbaar geheugen. Verhoog ook de maximale limieten voor het uploaden van bestanden.

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

Zoek vervolgens de volgende regel en stel de waarde in op 0 nadat u deze hebt verwijderd.

cgi.fix_pathinfo=0

Start php7.1-fpm en schakel het automatisch in tijdens het opstarten.

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

Maak een sessiemap en geef schrijfrechten.

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

Ga nu verder met de installatie van MariaDB.

Installeer MariaDB

MariaDB is een vork van MySQL. Voeg de MariaDB-repository toe aan uw systeem, aangezien de standaard Ubuntu-repository een oudere versie van MariaDB bevat.

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

Installeer MariaDB.

sudo apt -y install mariadb-server

Geef een sterk wachtwoord op voor de MariaDB-rootgebruiker wanneer daarom wordt gevraagd. Start MariaDB en schakel het automatisch in bij het opstarten.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Voordat u de database configureert, moet u MariaDB beveiligen. Je kunt het beveiligen door het mysql_secure_installation script uit te voeren.

sudo mysql_secure_installation

U wordt gevraagd om het huidige MariaDB-rootwachtwoord. Geef het wachtwoord op dat u tijdens de installatie heeft ingesteld. U wordt gevraagd of u het bestaande wachtwoord van de rootgebruiker van uw MariaDB-server wilt wijzigen. U kunt het instellen van een nieuw wachtwoord overslaan, omdat u tijdens de installatie al een sterk wachtwoord hebt opgegeven. Antwoord " Y" op alle andere vragen die worden gesteld.

Log als root in op de MySQL-shell.

mysql -u root -p

Geef het wachtwoord voor de MariaDB-rootgebruiker om in te loggen.

Voer de volgende query's uit om een ​​database en een databasegebruiker te maken voor de Hubzilla-installatie.

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;

U kunt de databasenaam hubzilla_data en gebruikersnaam vervangen hubzilla_user naar keuze. Zorg ervoor dat u verandert StrongPassword in een zeer sterk wachtwoord.

Installeer Hubzilla

Installeer Git. Git is vereist om de Hubzilla-repository van Github te klonen.

sudo apt -y install git

Schakel over naar de webrootdirectory en kloon de Hubzilla-repository.

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

Maak een nieuwe map om Hubzilla-gegevens op te slaan.

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

Kloon en installeer Hubzilla-add-ons.

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

Geef eigendom van de map en bestanden aan de Nginx-gebruiker.

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

Maak een virtuele host

Het is belangrijk om SSL te hebben geïnstalleerd op een Hubzilla-site, omdat logins en andere gegevens kunnen worden aangetast als ze niet versleuteld zijn. In deze zelfstudie gebruiken we SSL-certificaten die zijn verkregen door Let's Encrypt-certificeringsinstantie.

Voeg de Certbot-repository toe.

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

Installeer Certbot, de clienttoepassing voor Let's Encrypt CA.

sudo apt -y install certbot

Opmerking: om certificaten van Let's Encrypt CA te verkrijgen, moet het domein waarvoor de certificaten moeten worden gegenereerd, naar de server worden gericht. Zo niet, breng dan de nodige wijzigingen aan in de DNS-records van het domein en wacht tot de DNS is gepropageerd voordat u opnieuw een certificaataanvraag indient. Certbot controleert de domeinautoriteit voordat de certificaten worden verstrekt.

Genereer de SSL-certificaten.

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

De gegenereerde certificaten worden waarschijnlijk opgeslagen in /etc/letsencrypt/live/hubzilla.example.com/. Het SSL-certificaat wordt opgeslagen als fullchain.pem en de privésleutel wordt opgeslagen als privkey.pem.

Let's Encrypt-certificaten verlopen over 90 dagen, daarom wordt aanbevolen om de automatische verlenging van de certificaten in te stellen met Cron-taken.

Open het cron-taakbestand.

sudo crontab -e

Voeg de volgende regel toe aan het einde van het bestand.

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

De bovenstaande cron-taak wordt elke dag om 05.30 uur uitgevoerd. Als het certificaat vervalt, wordt het automatisch verlengd.

Maak een nieuw configuratiebestand voor Hubzilla Server.

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

Vul het bestand in.

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

Activeer de configuratie.

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

Test de Nginx-webserverconfiguratie.

sudo nginx -t

Je ziet de volgende output.

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

Als u geen fouten in de configuratie ziet, start u Nginx opnieuw op, zodat de nieuwe configuratie van kracht kan worden.

sudo systemctl restart nginx

Afsluiten

Navigeer naar het https://hubzilla.example.comgebruik van uw favoriete browser en u zult de webpagina zien met de "systeemcontrole" -interface. U zult zien dat elke vereiste slaagt in de systeemcontrole. Geef in de volgende interface de databasegegevens op die u eerder hebt gemaakt. Geef vervolgens het e-mailadres van de beheerder, de website-URL en de tijdzone op. Hubzilla is nu op uw server geïnstalleerd, u kunt doorgaan met het aanmaken van de administrator-gebruiker met het administrator-email dat u tijdens de installatie heeft gebruikt.

Ten slotte moet u cron instellen om de geplande taken elke tien minuten uit te voeren.

Maak een nieuw bestand voor de cron-taak.

sudo nano /etc/cron.d/hubzilla

Vul het bestand in met het volgende.

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

Start de cron-service opnieuw.

sudo systemctl restart cron

Voer de volgende opdrachten uit als u een lokale set documentatie wilt maken.

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

Hubzilla is nu geïnstalleerd en geconfigureerd, u kunt uw vrienden uitnodigen en het platform naar wens gebruiken.



Leave a Comment

Hoe LiteCart Shopping Cart Platform op Ubuntu 16.04 te installeren

Hoe LiteCart Shopping Cart Platform op Ubuntu 16.04 te installeren

LiteCart is een gratis en open source winkelwagenplatform geschreven in PHP, jQuery en HTML 5. Het is een eenvoudige, lichtgewicht en gebruiksvriendelijke e-commerce software

Stel NFS Share op Debian in

Stel NFS Share op Debian in

NFS is een netwerkgebaseerd bestandssysteem waarmee computers toegang hebben tot bestanden via een computernetwerk. Deze gids legt uit hoe u mappen via NF kunt weergeven

Hoe Matomo Analytics op Fedora te installeren 28

Hoe Matomo Analytics op Fedora te installeren 28

Gebruikt u een ander systeem? Matomo (voorheen Piwik) is een open source analyseplatform, een open alternatief voor Google Analytics. Matomo source wordt gehost o

Initiële veilige serverconfiguratie van Ubuntu 18.04

Initiële veilige serverconfiguratie van Ubuntu 18.04

Inleiding In deze tutorial leert u hoe u een basisbeveiligingsniveau configureert op een gloednieuwe Vultr VC2 virtuele machine met Ubunt

McMyAdmin installeren op Ubuntu 14.10

McMyAdmin installeren op Ubuntu 14.10

McMyAdmin is een Minecraft-serverbedieningspaneel dat wordt gebruikt om uw server te beheren. Hoewel McMyAdmin gratis is, zijn er meerdere edities, waarvan sommige pai zijn

Stel een TeamTalk-server in op Linux

Stel een TeamTalk-server in op Linux

TeamTalk is een conferentiesysteem waarmee gebruikers hoogwaardige audio- / videogesprekken kunnen voeren, tekstchatten, bestanden kunnen overdragen en schermen kunnen delen. Het ik

CyberPanel installeren en configureren op uw CentOS 7-server

CyberPanel installeren en configureren op uw CentOS 7-server

Gebruikt u een ander systeem? Introductie CyberPanel is een van de eerste bedieningspanelen op de markt die zowel open source is als OpenLiteSpeed ​​gebruikt. Wat thi

Ruby installeren en configureren met Rbenv, Rails, MariaDB, Nginx, SSL en Passenger op Ubuntu 17.04

Ruby installeren en configureren met Rbenv, Rails, MariaDB, Nginx, SSL en Passenger op Ubuntu 17.04

Ruby on Rails is een populair webraamwerk voor Ruby dat is ontwikkeld om de productiviteit van programmeurs te verhogen. Het verkrijgen van verschillende edelstenen en afhankelijkheden t

Sensu Monitoring installeren en configureren op CentOS 7

Sensu Monitoring installeren en configureren op CentOS 7

Introductie Sensu is een gratis en open source monitoringoplossing die kan worden gebruikt om server, applicatie en verschillende systeemservices te monitoren. Sensu i

Installeer phpBB With Apache op Ubuntu 16.04

Installeer phpBB With Apache op Ubuntu 16.04

PhpBB is een open source prikbordprogramma. Dit artikel laat zien hoe je phpBB bovenop een Apache-webserver op Ubuntu 16.04 installeert. Het was geschreven

Stel een niet-rootgebruiker in met Sudo Access op Ubuntu

Stel een niet-rootgebruiker in met Sudo Access op Ubuntu

Slechts één gebruiker, root, kan gevaarlijk zijn. Dus laten we dat oplossen. Vultr geeft ons de vrijheid om te doen wat we willen met onze gebruikers en onze servers

Toegang krijgen tot uw Vultr VPS

Toegang krijgen tot uw Vultr VPS

Vultr biedt verschillende manieren om toegang te krijgen tot je VPS om te configureren, installeren en gebruiken. Toegangsgegevens De standaard toegangsgegevens voor uw VPS-ar

Fuel CMS installeren op Ubuntu 16.04 LTS

Fuel CMS installeren op Ubuntu 16.04 LTS

Gebruikt u een ander systeem? Fuel CMS is een op CodeIgniter gebaseerd contentmanagementsysteem. De broncode wordt gehost op GitHub. Deze gids laat zien hoe t

Remote Servers bewaken met Zabbix op Ubuntu 16.04

Remote Servers bewaken met Zabbix op Ubuntu 16.04

Gebruikt u een ander systeem? Zabbix is ​​een gratis en open source enterprise-ready software die wordt gebruikt om de beschikbaarheid van systemen en netwerkcomponenten te bewaken

Couch CMS 2.0 installeren op een Debian 9 LAMP VPS

Couch CMS 2.0 installeren op een Debian 9 LAMP VPS

Gebruikt u een ander systeem? Couch CMS is een eenvoudig en flexibel, gratis en open source Content Management Systeem (CMS) waarmee webdesigners kunnen ontwerpen

Golang 1.8.3 installeren op CentOS 7, Ubuntu 16.04 en Debian 9

Golang 1.8.3 installeren op CentOS 7, Ubuntu 16.04 en Debian 9

Golang is een door Google ontwikkelde programmeertaal. Dankzij zijn veelzijdigheid, eenvoud en betrouwbaarheid is Golang uitgegroeid tot een van de meest bevolkte

Quassel instellen op Debian 9

Quassel instellen op Debian 9

IRC is populair bij ontwikkelaars en gebruikers van open source software. Een van de nadelen van IRC is dat wanneer u niet online bent, u importan kunt missen

Sudo gebruiken op Debian, CentOS en FreeBSD

Sudo gebruiken op Debian, CentOS en FreeBSD

Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud

Hoe DokuWiki op Ubuntu 16.04 LTS te installeren

Hoe DokuWiki op Ubuntu 16.04 LTS te installeren

Gebruikt u een ander systeem? DokuWiki is een open source wiki-programma geschreven in PHP waarvoor geen database nodig is. Het slaat gegevens op in tekstbestanden. DokuWik

Een Chroot opzetten op Debian

Een Chroot opzetten op Debian

Dit artikel leert u hoe u een chroot-gevangenis op Debian instelt. Ik neem aan dat u Debian 7.x gebruikt. Als u Debian 6 of 8 gebruikt, kan dit werken, bu

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.