How To Install Joomla on Ubuntu 16.04

Install Joomla on Ubuntu 16

Joomla is a free and open source popular content management that uses a PHP and a backend database, such as MySQL. It offers a wide variety of features that make it an incredibly flexible content management system right out of the box. Furthermore, there are hundreds of free extensions written for that allows users to extend its functionality and customize it to their own objectives. A major advantage of using a content management system (CMS) is that it requires almost no technical skill or knowledge to manage. if you are planning to publish content on your website frequently, then maybe using WordPress will be a better option for you.

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. I will show you through the step by step installation Joomla in Ubuntu 16.04 server.

Install Joomla on Ubuntu 16.04

Step 1. First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.

sudo apt-get update
sudo apt-get upgrade

Step 2. Install LAMP (Linux, Apache, MariaDB, PHP) server.

A Ubuntu 16.04 LAMP server is required. If you do not have LAMP installed, you can follow our guide here. Also install all required PHP modules:

apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0 <code>php7.0-mcrypt
</code>

Step 3. Installing Joomla.

First thing to do is to go to Joomla’s download page and download the latest stable version of Joomla, At the moment of writing this article it is version 3.5.1:

wget https://github.com/joomla/joomla-cms/releases/download/3.5.1/Joomla_3.5.1-Stable-Full_Package.zip
mkdir /var/www/html/joomla
unzip Joomla_3.5.1-Stable-Full_Package.zip -d /var/www/html/

We will need to change some folders permissions:

chown -R www-data.www-data /var/www/html
chmod -R 755 /var/www/html

By default, Apache2, installed a test html page in the /var/www/html directory called index.html. Remove that page if you want to. Now, we can restart Apache web server so that the changes take place:

systemctl restart apache2.service

Step 4. Configuring MariaDB for Joomla.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB.

mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- 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

Next we will need to log in to the MariaDB console and create a database for the Joomla. Run the following command:

mysql -u root -p

This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for Joomla installation:

CREATE DATABASE joomladb;
CREATE USER joomlauser@localhost;
SET PASSWORD FOR 'joomlauser'@'localhost' = PASSWORD("your-password");
GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'your-password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

Step 5. Configuring Apache web server for Joomla.

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘joomla.conf’ on your virtual server:

sudo a2enmod rewrite
touch /etc/apache2/sites-available/joomla.conf
ln -s /etc/apache2/sites-available/joomla.conf /etc/apache2/sites-enabled/joomla.conf
nano /etc/apache2/sites-available/joomla.conf

Add the following lines:

ServerAdmin [email protected]
DocumentRoot /var/www/html/
ServerName your-domain.com
ServerAlias www.your-domain.com

Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all

ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common

Now, we can restart Apache web server so that the changes take place:

systemctl restart apache2.service

Step 6. Accessing Joomla.

Joomla will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://yourdomain.com/ or http://server-ip and complete the required the steps to finish the installation. If you are using a firewall, please open port 80 to enable access to the control panel.

joomla-web-interface
Congratulation’s! You have successfully installed Joomla. Thanks for using this tutorial for installing Joomla CMS (content management system) on Ubuntu 16.04 systems. For additional help or useful information, we recommend you to check the official Joomla web site.

You Might Also Like: How To Install WordPress with Docker on Ubuntu 16.04

How To Install Textpattern on Ubuntu 16.04

Install Textpattern on Ubuntu 16

Textpattern is an elegant CMS. It is a free open source software that allows web developers, designers, and bloggers to publish their content within a clean and easy interface. Texpattern comes with full range of features and it allows you to easily create, edit and publish content on your website.

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Textpattern on a Ubuntu 16.04 LTS (Xenial Xerus) server.

Install Textpattern on Ubuntu 16.04

Step 1. First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.

sudo apt-get update
sudo apt-get upgrade

Step 2. Install LAMP (Linux, Apache, MariaDB, PHP) server.

A Ubuntu 16.04 LAMP server is required. If you do not have LAMP installed, you can follow our guide here. Also install all required PHP modules:

apt-get install php5 php5-mysql php5-gd php5-curl libssh2-php

Step 3. Installing Textpattern.

First thing to do is to go to Textpattern’s download page and download the latest stable version of Textpattern, At the moment of writing this article it is version 4.5.7:

wget https://textpattern.com/file_download/75/textpattern-4.6.2.zip
unzip Textpattern-4.6.2.zip -d /var/www/html
cd textpattern-4.6.2
cp -a * ..

We will need to change some folders permissions:

chown -R www-data:www-data /var/www/html/
[/hp]


<strong>Step 4. Configuring MariaDB for Textpattern.</strong>

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB.
[php]
mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- 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

Next we will need to log in to the MariaDB console and create a database for the Textpattern. Run the following command:

mysql -u root -p

This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for Textpattern installation:

CREATE DATABASE textpattern;
CREATE USER 'Ttextpatternuser'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON `textpattern`.* TO 'textpatternuser'@'localhost';
FLUSH PRIVILEGES;

Step 5. Configuring Apache web server for Textpattern.

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘textpattern.conf’ on your virtual server:

sudo a2enmod rewrite
touch /etc/apache2/sites-available/textpattern.conf
ln -s /etc/apache2/sites-available/textpattern.conf /etc/apache2/sites-enabled/textpattern.conf
nano /etc/apache2/sites-available/textpattern.conf

Add the following lines:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/"
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory "/var/www/html/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

Now, we can restart Apache web server so that the changes take place:

systemctl restart apache2.service

Step 6. Accessing Textpattern.

Textpattern will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://yourdomain.com/setup/index.php or http://server-ip/setup/index.php and complete the required the steps to finish the installation. If you are using a firewall, please open port 80 to enable access to the control panel.

Congratulation’s! You have successfully installed Textpattern. Thanks for using this tutorial for installing Textpattern content management system (CMS) on yourUbuntu 16.04 LTS (Xenial Xerus) system. For additional help or useful information, we recommend you to check the official Textpattern web site.

How To Install Shopware on Ubuntu 16.04

Install Shopware on Ubuntu 16

Shopware is the next generation of open source e-commerce software made in Germany. Based on bleeding edge technologies like Symfony 2, Doctrine 2 and Zend Framework Shopware comes as the perfect platform for your next e-commerce project. Furthermore Shopware provides an event-driven plugin system and an advanced hook system, giving you the ability to customize every part of the platform.

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Shopware on a Ubuntu 16.04 LTS (Xenial Xerus) server.

Install Shopware on Ubuntu 16.04

Step 1. First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.

sudo apt-get update
sudo apt-get upgrade

Step 2. Install LAMP (Linux, Apache, MariaDB, PHP) server.

A Ubuntu 16.04 LAMP server is required. If you do not have LAMP installed, you can follow our guide here. Also install all required PHP modules:

apt-get install php5 php5-mysql php5-gd php5-curl libssh2-php

Step 3. Installing Shopware.

First thing to do is to go to Shopware’s download page and download the latest stable version of Shopware, At the moment of writing this article it is version 5:

wget https://github.com/shopware/shopware/archive/v5.1.6.zip
unzip v5.1.6.zip -d /var/www/html
cd /var/www/html/shopware-5.1.6
cp -a * ..

We will need to change some folders permissions:

chown -R www-data:www-data /var/www/html/

Step 4. Configuring MariaDB for Shopware.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB.

mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- 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

Next we will need to log in to the MariaDB console and create a database for the Shopware. Run the following command:

mysql -u root -p

This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for Shopware installation:

CREATE DATABASE shopware;
GRANT ALL PRIVILEGES ON shopware.* TO 'shopware'@'localhost' IDENTIFIED BY 'strong_password';
FLUSH PRIVILEGES;
\q

Step 5. Configuring Apache web server for Shopware.

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘shopware.conf’ on your virtual server:

sudo a2enmod rewrite
touch /etc/apache2/sites-available/shopware.conf
ln -s /etc/apache2/sites-available/shopware.conf /etc/apache2/sites-enabled/shopware.conf
nano /etc/apache2/sites-available/shopware.conf

Add the following lines:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/"
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory "/var/www/html/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

Now, we can restart Apache web server so that the changes take place:

systemctl restart apache2.service

Step 6. Accessing Shopware.

Shopware will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://yourdomain.com or http://server-ip and complete the required the steps to finish the installation. If you are using a firewall, please open port 80 to enable access to the control panel.

Congratulation’s! You have successfully installed Shopware. Thanks for using this tutorial for installing Shopware open source e-commerce on your Ubuntu 16.04 LTS (Xenial Xerus) system. For additional help or useful information, we recommend you to check the official Shopware web site.

How To Install Let’s Encrypt SSL on Ubuntu With Apache

Install Let’s Encrypt SSL on Ubuntu With Apache

LetsEncrypt is a free open certificate authority (CA) that provides free certificates for websites and other services. The service, which is backed by the Electronic Frontier Foundation, Mozilla, Cisco Systems, and Akamai. Unfortunately, LetsEncrypt.org certificates currently have a 3 month lifetime. This means you’ll need to renew your certificate quarterly for now.

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Let’s Encrypt SSL on a Ubuntu 16.04 LTS (Xenial Xerus) server.

Install Let’s Encrypt SSL on Ubuntu With Apache

Step 1. First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.

apt-get update
apt-get upgrade
apt-get install git

Step 2. Install LAMP (Linux, Apache, MariaDB, PHP) server.

A Ubuntu 16.04 LAMP server is required. If you do not have LAMP installed, you can follow our guide here.

Step 3. Installing Let’s Encrypt SSL.

Next, run the commands below to clone Let’s Encrypt git project to your server and this will create a folder called letencrypt in the /opt directory:

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Generating Let’s Encrypt certificates:

cd /opt/letsencrypt

Run the commands below to generate a SSL certificate for your domain (example.com) or website:

./letsencrypt-auto --apache -d example.com

You can also use a single certificate on multiple domains and sub-domains, to do that, you’ll have to add them as additional perimeters to the command:

./letsencrypt-auto --apache -d example.com -d www.example.com

After the installation process finishes successfully a congratulation message is displayed on your console informing you about the expiration date and how you can test the configuration as illustrated on the below screenshots and you should be able to find the generated certificate files at /etc/letsencrypt/live.

letsencrypt-ssl-generate

Finally, now your domain should be accessible via HTTPS! Check it out at https://yourdomain.com.

Step 4. Set up auto renewal Let’s Encrypt.

Let’s Encrypt certificates are valid for 3 month, but it’s recommended that you renew the certificates every 2 month to allow a margin of error. To renew that certificate, you’ll have to come back into the /opt/letsencrypt directory and run the commands below:

./letsencrypt-auto renew

Or you can also setup a cron job to automatically renew your certificate before it expires by editing cron and specifying how often you want to check/renew:

sudo crontab -e

Add the line below and save:

0 0 * * 0 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log

Congratulation’s! You have successfully installed Let’s Encrypt SSL. Thanks for using this tutorial for installing Let’s Encrypt SSL with Apache on your Ubuntu 16.04 LTS (Xenial Xerus) system. For additional help or useful information, we recommend you to check the official LetsEncrypt SSL web site.

How To Install Mahara on Ubuntu 16.04

Install Mahara on Ubuntu 16

Mahara is a fully featured web application to build your electronic portfolio. You can upload files, create journals, embed social media resources from the web and collaborate with other users in groups.

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Mahara on a Ubuntu 16.04 LTS (Xenial Xerus) server.

Install Mahara on Ubuntu 16.04

Step 1. First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.

sudo apt-get update
sudo apt-get upgrade

Step 2. Install LAMP (Linux, Apache, MariaDB, PHP) server.

A Ubuntu 16.04 LAMP server is required. If you do not have LAMP installed, you can follow our guide here. Also install all required PHP modules:

apt-get install php5 php5-mysql php5-gd php5-curl libssh2-php

Step 3. Installing Mahara.

First thing to do is to go to Mahara’s download page and download the latest stable version of Mahara, At the moment of writing this article it is version 5:

wget https://launchpad.net/mahara/16.04/16.04.1/+download/mahara-16.04.1.zip

Unpack the Mahara archive to the document root directory on your server:

unzip mahara-16.04.1.zip
mv mahara-16.04.1 /var/www/html/mahara

Create Mahara’s upload directory:

mkdir /var/www/html/mahara/upload/

Next, create Mahara’s config.php. In the Mahara ‘htdocs’ directory there is config-dist.php file. Make a copy of this called config.php:

cd /var/www/html/mahara/htdocs/
cp config-dist.php config.php

Add the following lines:

### nano config.php

$cfg->dbtype = 'mysql';
$cfg->dbhost = 'localhost';
$cfg->dbport = null;
$cfg->dbname = 'mahara';
$cfg->dbuser = 'maharauser';
$cfg->dbpass = 'your-password';
$cfg->dataroot = '/var/www/html/mahara/upload/';

We will need to change some folders permissions:

chown -R www-data:www-data /var/www/html/mahara/

Step 4. Configuring MariaDB for Mahara.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB.

mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- 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

Next we will need to log in to the MariaDB console and create a database for the Mahara. Run the following command:

mysql -u root -p

This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for Mahara installation:

MariaDB [(none)]> CREATE DATABASE mahara character set UTF8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mahara.* TO 'maharauser'@'localhost' IDENTIFIED BY 'your-password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Step 5. Configuring Apache web server for Mahara.

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘mahara.conf’ on your virtual server:

sudo a2enmod rewrite
touch /etc/apache2/sites-available/mahara.conf
ln -s /etc/apache2/sites-available/mahara.conf /etc/apache2/sites-enabled/mahara.conf
nano /etc/apache2/sites-available/mahara.conf

Add the following lines:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/mahara/htdocs/"
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory "/var/www/html/mahara/htdocs/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

Now, we can restart Apache web server so that the changes take place:

systemctl restart apache2.service

Step 6. Accessing Mahara.

Mahara will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://yourdomain.com or http://server-ip and complete the required the steps to finish the installation. If you are using a firewall, please open port 80 to enable access to the control panel.

Congratulation’s! You have successfully installed Mahara. Thanks for using this tutorial for installing Mahara open source e-commerce on your Ubuntu 16.04 LTS (Xenial Xerus) system. For additional help or useful information, we recommend you to check the official Mahara web site.

[youtube https://www.youtube.com/watch?v=VeS1iqQ6VIc]