How To Install Websitebaker CMS On Ubuntu 18.04 LTS
WebsiteBaker is a free, open source, easy and secure, flexible and extensible open source content management system written in PHP. It is specially designed to enable its users to produce websites with ease. It is simple and easy to install so it is the best choice for designers, developers and users. WebsiteBaker comes with lots of features such as, Easy to use interface, Multi-language support, WYSIWYG editors, Group based Acl, Management of files and media and much more.
In this tutorial, we will learn how to install WebsiteBaker on Ubuntu 18.04 LTS server.
Requirements
- A server running Ubuntu 18.04.
- A non-root user with sudo privileges.
Install LAMP Server
Before starting, you will need to install Apache, MariaDB, and PHP to your system. First, install Apache and MariaDB server with the following command:
sudo apt-get install apache2 mariadb-server -y
Install PHP along with required libraries by running the following command:
sudo apt-get install php7.2 libapache2-mod-php7.2 php7.2-intl php7.2-mysql php7.2-cli php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-zip php7.2-curl unzip wget -y
Once all the packages are installed, you will need to modify php.ini file:
nano /etc/php/7.0/apache2/php.ini
Make the following changes:
session.use_cookies = 1 session.save_path = "/var/lib/php/sessions" session.cookie_path = /
Save and close the file. Then, start Apache and MariaDB service and enable them to start on boot time with the following command:
sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb
Configure MariaDB
Next, you will need to secure MariaDB installation. You can secure it by running the mysql_secure_installation script:
sudo mysql_secure_installation
Answer all the questions as below:
Enter current password for root (enter for none): ENTER Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Once the MariaDB is secured, log in to MariaDB shell:
mysql -u root -p
Enter your root password when prompt, then create a database for WebsiteBaker:
MariaDB [(none)]> CREATE DATABASE websitebkdb;
Next, create a user for WebsiteBaker and grant privileges:
MariaDB [(none)]> CREATE USER 'websitebk'@'localhost' IDENTIFIED BY 'mypassword';
MariaDB [(none)]> GRANT ALL ON websitebkdb.* TO 'websitebk'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
Replace the word 'mypassword' in the above SQL commands with a secure password of your choice. Next, flush the privileges with the following command:
MariaDB [(none)]> FLUSH PRIVILEGES;
Finally, exit from the MariaDB shell:
MariaDB [(none)]> exit;
Install WebsiteBaker
First, download the latest version of WebsiteBaker with the following command:
cd /tmp
wget https://addon.websitebaker.org/media/wbaddons/3c4e79979d0cc1ea7c6774f00bc2293e/WebsiteBaker-2_12_1.zip
Next, create a directory for WebsiteBaker and unzip downloaded file inside it:
sudo mkdir /var/www/html/websitebaker
unzip WebsiteBaker-2_12_1.zip -d /var/www/html/websitebaker
Next, change the directory to /var/www/html/websitebaker and rename config.php.new file:
cd /var/www/html/websitebaker
sudo mv config.php.new config.php
Next, give proper permissions to the websitebaker directory:
sudo chown -R www-data:www-data /var/www/html/websitebaker
sudo chmod -R 755 /var/www/html/websitebaker
Next, create an Apache virtual host file for WebsiteBaker with the following command:
sudo nano /etc/apache2/conf.d/website.conf
add the following lines:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/websitebaker ServerName example.com ServerAlias www.example.com <Directory /var/www/html/websitebaker/> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Save and close the file. Then, enable the virtual host file with the following command:
sudo a2ensite websitebaker
Finally, enable Apache rewrite module and restart Apache service with the following command:
sudo a2enmod rewrite
sudo systemctl restart apache2
Access WebsiteBaker
Now, open your web browser and type the URL http://example.com. You will be redirected to the following page:
Here, provide your database details, website name, admin user name and password. Then, click on the Install WebsiteBaker button. Once the Installation has been finished. You will be redirected to the following page:
Now, provide your admin username and password. then, click on the Login button. You should see the WebsiteBaker dashboard in the following image: