Cloudlog
Cloudlog is an open source amateur radio logbook tool written in PHP and distributed under the MIT License. It is developed by Peter Goodhall 2M0SQL.
Prerequisites
We’re using PHP in the stable version 8.2:
[isabell@stardust ~]$ uberspace tools version use php 8.2
Selected PHP version 8.2
[isabell@stardust ~]$
Your log domain needs to be setup:
[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$
Installation
First, remove the default nocontent.html from your document root and delete the now empty html folder:
[isabell@stardust ~]$ rm /var/www/virtual/$USER/html/nocontent.html
[isabell@stardust ~]$ rmdir /var/www/virtual/$USER/html
[isabell@stardust ~]$
Now use git to clone the Cloudlog repo into a new html folder:
[isabell@stardust ~]$ git clone https://github.com/magicbug/Cloudlog.git /var/www/virtual/$USER/html/
Cloning into '/var/www/virtual/$USER/html'...
remote: Enumerating objects: 24402, done.
remote: Counting objects: 100% (370/370), done.
remote: Compressing objects: 100% (149/149), done.
remote: Total 24402 (delta 247), reused 320 (delta 219), pack-reused 24032
Receiving objects: 100% (24402/24402), 16.23 MiB | 23.31 MiB/s, done.
Resolving deltas: 100% (15879/15879), done.
[isabell@stardust ~]$
Set up a MySQL database for your Cloudlog installation:
[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_cloudlog;"
[isabell@stardust ~]$
Configuration
Point your browser to Cloudlog’s setup wizard at https://<yourusername>.uber.space/install (in our example, this would be https://isabell.uber.space/install).
You’ll need your MySQL credentials. Get them with my_print_defaults:
[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$
Fill out the web form:
Leave the
Directoryfield blank.The
Website URLfield should already be pre-filled with your site’s URL, leave it as it is.Optional: Change the
Default Gridsquareif you like.
For the Database settings, use
The hostname
localhost,Your Uberspace user name as
Username,Your MySQL password as
password.Enter the
Database nameyou created in the previous step (in our example this would beisabell_cloudlog).
Once all the required information has been entered, click install. You should now be redirected to your Cloudlog’s home page. Log in with the default username m0abc and default password demo.
Now, you need to set up your own admin user and delete the default user:
Open Admin -> User Accounts
Create a new user.
In order to delete the default user, log out and then log in again with your newly created Cloudlog user. Then
Open Admin -> User Accounts
delete
m0abc.
For security reasons, you should block web access to the .git directory. You can do so by setting an intentionally broken web backend:
[isabell@stardust ~]$ uberspace web backend set /.git --http --port 4711
Set backend for /.git to port 4711; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$
Prettier URLs
In order to hide index.php from your Cloudlog URLs, rename the provided .htaccess.sample to .htaccess:
[isabell@stardust ~]$ mv /var/www/virtual/$USER/html/.htaccess.sample /var/www/virtual/$USER/html/.htaccess
[isabell@stardust ~]$
Then open Cloudlog’s application/config/config.php in your favourite editor and find the line
$config['index_page'] = 'index.php';
and change it to
$config['index_page'] = '';
Updates
The Cloudlog documentation suggests a daily Cronjob to perform the git pull command to update the code. Run crontab -e to edit your Crontab and add the following line:
@daily cd /var/www/virtual/$USER/html && git pull
Tested with Cloudlog 2.5.2, Uberspace 7.15.6, and PHP 8.2
Written by: Nico Graf DO2NG <hallo@uberspace.de>