HumHub Install with Turnkey LAMP on Proxmox
HumHub is a free and open-source social network software written on top of the Yii PHP framework that provides an easy to use toolkit for creating and launching your own social network.
Install the Turnkey LAMP in a new LXC:
- Click on your preferred storage on the left side of Proxmox
- Click on CT Templates then Templates
- Search for Turnkey LAMP and download
Launch a new CT with the Turnkey LAMP template and install. Once finished, log in as root and password.
Run apt update
Download HumHub
Extract the files
Use WinSCP (from Windows remotely) or terminal locally to access the directory var/www with the root LXC credentials.
Drop the HumHub files into the www directory
When files are done uploading give write access to the assets folder using CHMOD.
Run the following command in the terminal of the LXC to update PHP and install plugins. I tried running HumHub on php 7.3 and ran into a slew of issues when trying to run the cronjobs. PHP version 8 seems to do the job.
apt update
apt install -y php8.0-{mysql,cli,common,snmp,ldap,curl,mbstring,zip} -y
- Adminer; login as MySQL username adminer: password: your LXC root pass
https://12.34.56.789:12322 - Adminer database management web app
- Create the HumHub database and a new user with full privileges
File permissions
At least following directories and files needs to be writable by the PHP process:
/assets
/protected/config/
/protected/modules
/protected/runtime
/uploads/*
chown -R www-data:www-data /var/www/humhub
If you want to use the HumHub automatic updater, all files must be writable.
If you see any missing PHP plugins, just google for them and it's pretty basic. Just tedious and takes time but you should be good to go other than a couple image plugins that you most likely wont need.
Enter your database connection info using localhost as the db host. I had to create a new user and give it privileges in Adminer to get it to work but it only takes a few seconds.
Be sure to make a snapshot or backup in Proxmox right after the initial setup and admin account is created. This way if you break something, you can just roll back to a fresh start.
Extra:
You may want to up the max image/video size from 8M. You can do this by going to /etc/php/8.0 then edit the php.ini values. PHP version may be different when you install but that will be where the php.ini file is stored. Change the below values by using WinSCP (on a Windows machine), open the file and hit CTRL F to find them. You can use vim or nano in your terminal to edit the file just as easy. Whatever you prefer.
upload_max_filesize = 200M
post_max_size = 200M
Be sure to save the php.ini and exit. If you upload larger videos, be sure to make the sizes larger to accommodate that.
Cron Jobs
Asynchronous jobs in HumHub are used to run potentially heavy or scheduled tasks such as sending out summary mails, notifications or search index optimization. If not setup, you will see a warning message on your site. It won't effect your posting but without setting them up, your posts will not be indexed and searchable.
php /var/www/protected/yii cron/run
php /var/www/protected/yii queue/run
Add the above commands to crontab.
You can run the commands manually once to clear the warning message off your site.
crontab -e
Scroll to the bottom and add the following commands.
0 * * * * php /var/www/protected/yii cron/run
*/10 * * * * php /var/www/protected/yii queue/run
This means if you add something to your site right after the cronjobs run, you will have to wait 10 minutes before they will show up in search results.
Save and exit.
Did you find this helpful? Subscribe to me on Youtube for more content!
No Comments