How to Install Siberian CMS with LAMP on Ubuntu 18.04 on Google Cloud with PHP 7.2 and secure it with Let’s Encrypt SSL and connect with Cloud SQL.
Siberian CMS is an open-source application for creating Android, iOS and web applications. You can create amazing applications using the inbuilt app builders, fully customizable, unlinited push notifications and many more.
In this guide we are going to install the Siberian CMS Single App Edition which is free on Google Cloud Platform. There are also two other premium versions with enhanced features.
Premium Editions of Siberian CMS
Setup Free Siberian CMS
- Your Compute Engine Instance running.
- For setting up Compute Engine, see the Setting up Compute Engine Instance.
- Install LAMP stack on Google Compute Engine.
- Set up Cloud DNS, see the Setting up Google Cloud DNS for your domain.
- Google Cloud SQL Setup, see Setup Cloud SQL and connect with Compute Engine.
Setup your website
Once you have created a VM instance and installed LAMP on your Compute Engine you can proceed to setup your directories.
Your website will be located in the public directory and have the following structure.
yourdomainname with your original domain name.
var/www/html -- yourdomainname ---- logs ---- public
public directory is your website’s root directory and
logs directory for your error logs
Now we create these directories and set correct permissions
You need to SSH into your VM Instance and run these commands
mkdir -p /var/www/html/yourdomainname/logs /var/www/html/yourdomainname/public sudo chmod -R 755 /var/www/html/yourdomainname
Now create a new V host configuration for your website in the
sudo nano /etc/apache2/sites-available/yourdomainname.conf
Copy and paste the following configuration, ensure that you change the server_name, error_log and root directives to match your domain name. Hit
CTRL+X followed by
Y to save the changes.
<VirtualHost *:80> ServerAdmin email@example.com ServerName www.yourdomainname.com ServerAlias yourdomainname.com DocumentRoot /var/www/html/yourdomainname/public/siberian <Directory /var/www/html/yourdomainname/public/siberian> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /var/www/html/yourdomainname/logs/yourdomainname.com_error.log CustomLog /var/www/html/yourdomainname/logs/yourdomainname.com_access.log combined </VirtualHost>
To enable this newly created website configuration, symlink the file that you just created into the
sudo a2ensite yourdomainname.conf
Check your configuration and restart Apache for the changes to take effect
sudo systemctl restart apache2
Install SSL certificate
HTTPS is a protocol for secure communication between a server (instance) and a client (web browser). Due to the introduction of Let’s Encrypt, which provides free SSL certificates, HTTPS are adopted by everyone and also provides trust to your audiences.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install python-certbot-apache
Now we have installed Cert bot by Let’s Encrypt for Ubuntu 18.04, run this command to receive your certificates.
sudo certbot --apache -m firstname.lastname@example.org -d yourdomainname.com -d www.yourdomainname.com
Select all the domains you need to receive the certificate and hit
The Cert bot client will automatically generate the new certificate for your domain.
Now you will be asked to create a redirection to
Select the appropriate option and hit
Renewing SSL Certificate
Certificates provided by Let’s Encrypt are valid for 90 days only, so you need to renew them often. Now you set up a cronjob to check for the certificate which is due to expire in next 30 days and renew it automatically.
sudo crontab -e
Add this line at the end of the file
0 0,12 * * * certbot renew >/dev/null 2>&1
CTRL+X followed by
Y to save the changes.
This cronjob will attempt to check for renewing the certificate twice daily.
Download Siberian CMS
Now that our server software is configured, we can download and set up Siberian CMS.
It is always recommended to get the latest version of CMS from their git repository.
cd /var/www/html/yourdomainname/public sudo git clone https://github.com/Xtraball/Siberian.git
Now, you can move the entire contents of the directory into our document root.
sudo mv /var/www/html/yourdomainname/public/Siberian/* /var/www/html/yourdomainname/public
Next cleanup your root directory by deleting the
Siberian folder and the downloaded
sudo rm -rf /var/www/html/yourdomainname/public/Siberian
Set correct permissions for the root folder. Don’t forget to replace the
yourdomainname.com with your domain name
sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
Replace the .htaccess
Sometimes you will get a database connection error while installing Siberian CMS, so it is better to replace the
.htaccess file with the default
sudo rm -rf /var/www/html/yourdomainname/public/Siberian/.htaccess
sudo cp /var/www/html/yourdomainname/public/Siberian/htaccess.txt /var/www/html/yourdomainname/public/Siberian/.htaccess
Install Siberian CMS
Now visit your website in the browser and follow the on screen details to install Siberian CMS.
At the database setup you can use your Cloud SQL credentials that you have created before.
Once the installation step is complete, you can configure your admin login credentials.
Now Siberian CMS is installed and ready to use.