This short howto will document the Hubzilla installation dialogues. It assumes you already have got a running web server and cli access. You will need a LAMP or similar and a domain set up properly including a working certificate, for example issued by letsencrypt.
View article
View summary
Install Hubzilla on an existing web server
This short howto will document the Hubzilla installation dialogues. It assumes you already have got a running web server and cli access. You will need a LAMP or similar and a domain set up properly including a working certificate, for example issued by letsencrypt.
For a more detailed documentation, please refer to the installation readme
install/INSTALL.txt.
-
Create database
You need to manually create the database. For that you can use any tool you like, be it PHPMyAdmin or similar. Or just good old CLI.
Please substitute <myhub> for your own data, and especially the password <myhubpw> must be changed.
create database myhub ; CREATE USER 'myhub'@'localhost' IDENTIFIED BY 'myhub'; GRANT ALL PRIVILEGES ON test.* to 'myhub'@'localhost' IDENTIFIED BY 'myhubpw'; GRANT ALL PRIVILEGES ON myhub.* to 'myhub'@'localhost';
Note: Postgres is also supported if you prefer that one, though the initial development happened for MySQL / MariaDB. -
Git clone the repository
Git cloning the software onto your server is the recommended way to put the Hubzilla software on your server, as this is required for the recommended way to update and maintain your hub.
Just go into your web root and issue
git clone https://framagit.org/hubzilla/core.git myhub
-
Browser based installatiaon
Now you are ready to call your Hubzilla domain from the browser. It will also launch into the installation process.
Hubzilla Server Setup: System Check
You will be greeted by a system check that will tell you if there are any packages left you will need to install. As is to be expected, you will not be able to proceed before you resolve all possible issues.
Please note: The upload file size information is just that, an information. You will be able to proceed no matter how small or huge that value is.

Hubzilla Server Setup: Database Connection
As mentioned, you can also opt for using Postgres. This is to be selected below.

Hubzilla Server Setup - Site Settings
The basic site settings include just three values:
- Your designated admin account email-address:
You are surely going to create an account once you finish your installation. It is recommended to set up the first account using exactly this address as using this address will make the corresponding account an admin account. - The website URL:
The URL should be https://... if it is not, please stop and install a certificate, for example let's encrypt. The easiest way is just to install certbot and then to call certbot and follow the on-screen help. It's pretty good. Or ask your admin / your service provider. - Your time zone:
To select your time zone you can also start typing the one you are looking for, for example the city "Berlin" if you are living in Germany and therefore want your hub to run on a German time zone.
,

Hubzilla Server Setup: Installation Succeeded
Now you should get the final success message which includes a link to the registration page and the information that you will need to set up a cronjob for Hubzilla. Read on.

Create your admin account and channel
As mentioned above, follow the given link to the registration page. This article explains the process of account registration and channel creation in more detail. Please go there for more information.
Cronjob
As you can see in the screenshot above, you are being referred to the file install/INSTALL.txt for further information. You can read the extended information in section 8. This is just a short version: Add something like the below line to your /etc/crontab
, though you will certainly adapt this to your own needs, this is only a hint and cannot be used literally.
- Certainly you can chose other values than every ten minutes.
- You will supposedly substitute www-data with your web server's system account for any non-Debian based systems.
- Check that your php executable is really at
/usr/bin/php
, if not please change appropriately. - Check your document root and change the example
/var/www/myhub
to your path. - The rest should remain as is,
Zotlabs/Daemon/Master.php Cron > /dev/null 2>&1
*/10 * * * * www-data cd /var/www/myhub; /usr/bin/php Zotlabs/Daemon/Master.php Cron > /dev/null 2>&1