4.2 KiB
Hubzilla Hub for YunoHost
Hubzilla
Hubzilla is a powerful platform for creating interconnected websites featuring a decentralized identity, commuhubzilla_test1nications, and permissions framework built using common webserver technology.
Current snapshot in sources:
- https://github.com/redmatrix/hubzilla: 2.6 (commit 4a7384bc0ce1893a432bf4b7d67bca23796fe9db)
- https://github.com/redmatrix/hubzilla-addons: 2.6 (commit cb2a04e6482d94cfe4c9251e5c4e048951e2e17b)
To-Do's
- Installation and remove script.
- Ldap integration.
- Upgrade script.
- Backup and restore script(Need to be tested,but hopefully will work).
- Remove the admin email,path and is_public form installation form.
- Stop modification of php.ini : exec().
- Make changes to nginx configuration accouding to Hubzilla official guide.
- Force redirection to https by default.
Important Notes
Before installing, read the Hubzilla installation instructions for important information about
- SSL certificate validation requirement (now with support for Let's Encrypt!). See Installation section below.
- Dedicated domain (must install under web root like https://hub.example.com/ not https://example.com/hub/ )
- Required packages (all of these are not yet installed by this YunoHost installer package). This YunoHost package installs the following additional packages:
- php5-cli
- php5-imagick
- php5-gd
- php5-mcrypt
- This package requires a system-wide change to php.ini that enables the
exec()
perimission. See the PHP manual for more information.
Installation
Register a new domain and add it to YunoHost
Hubzilla requires a dedicated domain, so obtain one and add it using the YunoHost admin panel. Domains -> Add domain. As Hubzilla uses the full domain and is installed on the root, you can create a subdomain such as hubzilla.domain.tld. Don't forget to update your DNS if you manage them manually.
Hubzilla requires browser-approved SSL certificates. If you have certificates not issued by Let's Encrypt, install them manually as usual.
YunoHost >= 2.5 :
Once the dedicated domain has been added to YunoHost, go again to the admin panel, go to domains then select your domain and click on "Install Let's Encrypt certificate".
Yunohost < 2.5 :
For older versions of YunoHost, once you have added the new domain, SSH into your YunoHost server and perform the following steps:
-
Install certbot to make installing free SSL certificates from Let's Encrypt simple.
-
Stop nginx
service nginx stop
-
Run the certbot utility with the certonly option
certbot certonly
-
Copy the generated certificate and key into the appropriate location for YunoHost to use
cp /etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem /etc/yunohost/certs/YOUR_DOMAIN/crt.pem cp /etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem /etc/yunohost/certs/YOUR_DOMAIN/key.pem
-
Restart nginx
service nginx start
Install the Hubzilla application
Use the YunoHost admin panel to install Hubzilla by entering the GitHub repo address in the custom app URL
https://github.com/YunoHost-Apps/hubzilla_ynh
Make sure to select your domain from the previous section as the application domain. Also set the application to Public.
When installation is complete, you will need to visit your new hub and login with the admin account you specified in the app installation form. You should then be able create your first channel and have the admin rights to the hub. For normal YunoHost users:You can login through Ldap authentication and create the channel accourding to the hub settings. For admin:If you don't see the admin rights in your nav bar drop down menu or want to grant admin rights for any other user on the hub then you have to manually add 4096 to the account_roles for that account in the database through phpMYAdmin.