How To Install Attendize on Ubuntu 16.04 LTS

Install Attendize on Ubuntu 16

Attendize is an open-source event ticketing and event management application built using the Laravel PHP framework. Attendize was created to offer event organizers a easy solution to managing general admission occasions, without paying exorbitant support charges.

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 Attendize open source ticket selling and event management platform on an Ubuntu 16.04 Xenial Xerus server.

Install Attendize on Ubuntu 16.04 LTS

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 php7.0-mcrypt php7.0-xmlrpc php7.0-gd

Step 3. Configuring MariaDB.

By default, MariaDB is not hardened. You can secure MySQL 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

Next we will need to log in to the MariaDB console and create a database for the Attendize. 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 Attendize installation:

MariaDB [(none)]> CREATE DATABASE attendize;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON attendize.* TO 'attendize'@'localhost' IDENTIFIED BY 'strongpassword';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Step 4. Installing Composer.

Composer will pull in all the required libraries and dependencies you need for your project:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Step 5. Installing Attendize.

First, clone the Attendize repository from Github:

git clone https://github.com/attendize/attendize /var/www/myAttendize.com

Switch to the /var/www/myAttendize.com directory and set the .env variables:

cd /var/www/myAttendize.com
cp .env.example .env
nano .env
DB_TYPE=mysql
DB_HOST=localhost
DB_DATABASE=attendize
DB_USERNAME=attendize
DB_PASSWORD=strongpassword

Next, Install all of the application dependencies:

composer install

Step 6. Configure database.

Once Composer has downloaded the components run the install command to migrate the database and create an admin user:

php artisan attendize:install
 
--------------------
Attempting to install Attendize v1.0.0
--------------------
Generating app key
Migrating database.
Database successfully migrated.
Seeding DB data
Data successfully seeded
--------------------
Please create an admin user.
--------------------

 Enter first name::
 > Rezkia

 Enter last name::
 > Ulva
 Enter your email::
 > [email protected]

 Enter a password::
 >

Admin User Successfully Created

          _   _                 _ _
     /\  | | | |               | (_)
    /  \ | |_| |_ ___ _ __   __| |_ _______
   / /\ \| __| __/ _ \ '_ \ / _` | |_  / _ \
  / ____ \ |_| ||  __/ | | | (_| | |/ /  __/
 /_/    \_\__|\__\___|_| |_|\__,_|_/___\___|

Success! You can now run Attendize

We will need to change some folders permissions:

chown -R www-data: /var/www/myAttendize.com

Step 7. Configuring Apache web server for attendize.

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

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

Add the following lines:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/myAttendize.com
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory /var/www/myAttendize.com/>
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 Attendize.

Attendize content management system 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 Attendize. Thanks for using this tutorial for installing Attendize open source ticket selling and event management platform on your Ubuntu 16.04 system. For additional help or useful information, we recommend you to check the official Attendize web site.

How To Install Orangescrum on Ubuntu 18.04 LTS

Install Orangescrum on Ubuntu 18

Orangescrum is a free, open source, flexible project management web application written using CakePHP. It helps you to manage projects, teams, documents, and tasks, all in one place. Orangescrum provides various features like agile project management, collaboration, issue tracking, notifications, reporting, task management, and traditional project management functionality for small/medium businesses. Continue reading “How To Install Orangescrum on Ubuntu 18.04 LTS”

How To Install Icinga 2 on Ubuntu 18.04 LTS

Install Icinga 2 on Ubuntu 18

Icinga 2 is an open source network monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. Its Scalable and extensible, Icinga2 can monitor large, complex environments across multiple locations.

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 Icinga 2 on an Ubuntu 18.04 Bionic Beaver server.

Install Icinga 2 on Ubuntu 18.04 LTS Bionic Beaver

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 and PHP) server.

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

apt-get install php7.1-cli php7.1-mbstring php7.1-gd php7.1-opcache php7.1-mysql php7.1-json php7.1-mcrypt php7.1-xml php7.1-curl

Step 3. Installing Icinga 2 on Ubuntu 18.04.

First, enable the add-repository feature and add the repository for Icinga with the below commands:
curl -sSL https://packages.icinga.com/icinga.key | sudo apt-key add -
echo "deb https://packages.icinga.com/ubuntu icinga-bionic main" | sudo tee /etc/apt/sources.list.d/icinga.list

Run update of package list and install Icinga2 packages:

sudo apt-get install icinga2 icingaweb2 icinga2-ido-mysql

Once the installation is complete. Make sure the service is up and running fine:

systemctl status icinga2.service
systemctl enable icinga2.service
systemctl start icinga2.service

Step 4. Installing Nagios Plugins.

Icinga2 will collect the service information based on the monitoring plugins. So, we need to install nagios plugin using below command:

apt-get install monitoring-plugins

Next, you need to install the IDO module which is crucial for the Icinga 2 web interface. It will export all configuration and status information into its database. Execute the following command:

apt install icinga2-ido-mysql

Then restart Icinga 2 for the changes to take effect:

systemctl restart icinga2.service

Once you have enabled the IDO modules, Icinga 2 places the new configuration file at /etc/icinga2/features-enabled/ido-mysql.conf in which we need to update the database credentials manually:

cat /etc/icinga2/features-enabled/ido-mysql.conf

Update the above file shown like below:

[email protected]:~# nano /etc/icinga2/features-enabled/ido-mysql.conf
/**
* The db_ido_mysql library implements IDO functionality
* for MySQL.
*/
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga2",
password = "icinga123",
host = "localhost",
database = "icinga2"
}

Step 4. Configuring MariaDB for Icinga 2.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each step carefully which will set the 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 Icinga 2. 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 Icinga 2 installation:

MariaDB [(none)]> create database icinga2;
MariaDB [(none)]> grant all privileges on icingaweb.* to icinga2@localhost identified by 'icinga123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> \q

Step 5. Installing Icinga 2 Web.

After creating the database, we can install the Web interface plugin and configure it one by one:

apt-get install icingaweb2

Both Icinga Web 2 and CLI must have access to logs and configurations. Add web server user (www-data) to the system group (icingaweb2):

addgroup --system icingaweb2
usermod -a -G icingaweb2 www-data

Icinga2 will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://yourdomain.com/icingaweb2/setup or http://server-ip/icingaweb2/setup 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.
icingaweb2

Congratulation’s! You have successfully installed Icinga. Thanks for using this tutorial for installing Icinga 2 on your Ubuntu 18.04 LTS system. For additional help or useful information, we recommend you to check the official Icinga web site.

How To Install Observium on Ubuntu 16.04 LTS

Install Observium on Ubuntu 16

Observium is a Network Management and Monitoring System that collects data from using SNMP and allows you to monitor all of the networks devices via an easy to use interface. It is PHP-based and uses a MySQL database to store data.

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 Conky system on a Ubuntu 16.04 (Xenial Xerus) server.

Install Observium on Ubuntu 16.04 LTS

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 php7.0-mcrypt php7.0-xmlrpc php7.0-gd

Step 3. Installing Observium.

First, Go to Observium’s download page and download the latest stable version of Observium:

cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz

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

tar zxvf observium-community-latest.tar.gz

Step 4. Configuring MariaDB for Observium.

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 Observium. 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 Observium installation:

CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'dbpassword';
flush privileges;
exit

Next, Copy the default configuration file ‘config.php.default‘ to ‘config.php‘ and fill out the database config options:

cd observium
cp config.php.default config.php

Changes the database configuration parameters with the ones created previously:

nano config.php

After you edit the file and modify the database parameters, the section should look like this:

// Database config --- This MUST be configured
$config['db_extension'] = 'mysqli';
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'dbpassword';
$config['db_name'] = 'observium';

Give Apache user www-data ownership of the Observium web files:

chown -R www-data:www-data /opt/observium/html/

Run this script to Setup the MySQL database and insert the default schema:

./discovery.php -u

Create the directory to store RRDs in and set the proper ownership:

mkdir rrd
chown www-data:www-data rrd

Step 5. Configuring Apache web server for Observium.

Now we have to create the virtual host configuration for Observium. You can either add a new virtual host or alter the default one:

nano /etc/apache2/sites-available/000-default.conf

Add the following lines:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /opt/observium/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /opt/observium/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog  ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog  ${APACHE_LOG_DIR}/access.log combined
ServerSignature On
</VirtualHost>

Next, you need to enable rewrite functionality for your Apache server:

a2enmod rewrite

Enable the PHP mcrypt module:

phpenmod mcrypt

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

systemctl restart apache2.service

Next, enter the observium directory:

cd /opt/observium

Add a first user with the use level of 10 for admin. The command sintax is below:

./adduser.php <username> <password> <level>

We are using the following:

./adduser.php wpcademy random_password 10

Step 6. Accessing Observium.

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

Observium-login-page

Congratulation’s! You have successfully installed Observium. Thanks for using this tutorial for installing latest stable version of Observium on Ubuntu 16.04 LTS (Xenial Xerus) system. For additional help or useful information, we recommend you to check the official Observium web site.

How To Install Rocket.Chat on Ubuntu 16.04 LTS

Install Rocket.Chat on Ubuntu 16

Rocket.Chat is one of the most popular open source chat software. A fantastic alternate to both Slack and compensated live chat software. It’s free, what is unlimited and it’s a bunch of cool features like Video chat, Screen sharing, Mobile apps and more.

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 Rocket.Chat on an Ubuntu 16.04 Xenial Xerus server.

Install Rocket.Chat on Ubuntu 16.04 LTS

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. Installing MongoDB.

Rocket.Chat requires MongoDB for the installation. In this step, we will install MongoDB from the MongoDB repository:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Then add the MongoDB repository with the command below:

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Update the repository and install MongoDB with the apt command:

apt-get update
apt-get install mongodb-org

Open MongoDB and set it to run automatically at boot time:

systemctl enable mongod
systemctl start mongod

Step 3. Configure a MongoDB ReplicaSet.

This is an optional step, but those who want performance improvements should follow it. Rocket.Chat Server uses a MongoDB replica set:

nano /etc/mongod.conf

There, add this section:
replication:

 replSetName: "001-rs"

Save, exit and restart MongoDB:

systemctl restart mongod

Next, run its shell and initiate the replica set:

# mongo
> rs.initiate()

After you run rs.initiate(), you should get the following results:

{
 "info2" : "no configuration specified. Using a default configuration for the set",
 "me" : "wpcademy.com:27017",
 "ok" : 1
}

If the value of “ok” is not 1, then something’s wrong. Please go back and follow the steps exactly as shown in this tutorial.

Step 4. Installing Node.js and npm.

Node.js and npm are required by Rocket.Chat and are both available on Ubuntu repositories:

apt-get install nodejs npm

First, install the ‘n’ package globally on the whole system:

npm install -g n

The messaging system requires Node.js 4.5+, so ensure that you choose 4.5:

n 4.5

Check if you have the right node.js version:

node --version

Step 5. Installing Rocket.Chat.

First, download the latest version of Rocket.Chat:

cd /var/www
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz

And extract it:

tar xzf rocket.chat.tgz

Rename the extracted folder:

mv bundle Rocket.Chat

Run the following commands to add some environment variables:

cd Rocket.Chat/programs/server
npm install
cd ../..
export ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
export PORT=3000
node main.js

Step 6. Install LEMP (Linux, Nginx, MariaDB and PHP) server.

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

Create a new SSL directory, in which certificates will be stored:

mkdir -p /etc/nginx/ssl/

In this directory, generate a new SSL certificate file:

cd /etc/nginx/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocketchat.crt -keyout /etc/nginx/ssl/rocketchat.key
chmod 400 rocketchat.key

Next, create a Virtual Host configuration:

nano /etc/nginx/sites-available/rocketchat

There, paste the following configuration:

# Upstreams
upstream backend {
 server 127.0.0.1:3000;
}
 
# Redirect Options
server {
 listen 80;
 server_name chat.mydomain.com;
 # enforce https
 return 301 https://$server_name$request_uri;
}
 
# HTTPS Server
server {
 listen 443;
 server_name chat.mydomain.com;
 
 error_log /var/log/nginx/rocketchat.access.log;
 
 ssl on;
 ssl_certificate /etc/nginx/ssl/rocketchat.crt;
 ssl_certificate_key /etc/nginx/ssl/rocketchat.key;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # dont use SSLv3 ref: POODLE
 
 location / {
 proxy_pass http://192.168.1.110:3000/;
 proxy_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";
 proxy_set_header Host $http_host;
 
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forward-Proto http;
 proxy_set_header X-Nginx-Proxy true;
 
 proxy_redirect off;
 }
}

Save, exit and activate this configuration:

ln -s /etc/nginx/sites-available/rocketchat /etc/nginx/sites-enabled/rocketchat

Run:

nginx -t

And make sure there are no errors. If everything’s ok, restart Nginx:

systemctl restart nginx

Update the environment variables and run Rocket.Chat:

cd /var/www/Rocket.Chat/
export ROOT_URL=https://chat.mydomain.com
export MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=001-rs
export PORT=3000
node main.js

Step 7. Accessing Rocket.Chat.

Rocket.Chat will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://chat.mydomain.com 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 Rocket.Chat with Docker. Thanks for using this tutorial for installing Rocket.Chat open source chat software on your Ubuntu 16.04. For additional help or useful information, we recommend you to check the official Rocket.Chat web site.

How To Install RainLoop Webmail on Ubuntu 18.04 LTS

Install RainLoop Webmail on Ubuntu 18

RainLoop is a fast and lightweight e-mail client software which supports protocols such as IMAP, SSL, SMTP, etc. RainLoop allows the user to login with multiple e-mail accounts even with different browser tabs. It can also be integrated with Google, Facebook, Twitter, Dropbox, etc.

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 RainLoop Webmail on an Ubuntu 18.04 bionic beaver.

Install RainLoop Webmail on Ubuntu 18.04 Bionic Beaver

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 update
sudo apt upgrade

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

An Ubuntu 18.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.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-zip php7.2-curl

Step 3. Installing RainLoop Webmail on Ubuntu.

For the purposes of this tutorial, we will install the free and open source community edition. Now Download a Rainloop Webmail package from the terminal using wget command:

wget http://www.rainloop.net/repository/webmail/rainloop-community-latest.zip

Next, let’s create a new directory for our RainLoop webmail installation:

sudo mkdir /var/www/rainloop

To extract the files into this new directory, run the following command:

unzip rainloop-community-latest.zip -d /var/www/rainloop

We will need to change some folders permissions:

cd /var/www/rainloop
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chown -R www-data:www-data .

Step 4. Configuring Apache web server for RainLoop Webmail.

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

touch /etc/apache2/sites-available/rainloop.conf
ln -s /etc/apache2/sites-available/rainloop.conf /etc/apache2/sites-enabled/rainloop.conf
nano /etc/apache2/sites-available/rainloop.conf

Add the following lines:

ServerName webmail.mydomain.com
DocumentRoot "/var/www/rainloop/"

ErrorLog "/var/log/apache2/rainloop_error_log"
TransferLog "/var/log/apache2/rainloop_access_log"

Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order deny,allow
Allow from all
Require all granted

Options -Indexes
Deny from all

Save and close the file. Restart the Apache service for the changes to take effect:

sudo a2ensite vtiger.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Step 5. Accessing RainLoop Webmail.

RainLoop Webmail will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://webmail.mydomain.com/?admin 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.

The default admin login credentials are:

Username: admin
Password: 12345

Congratulation’s! You have successfully installed RainLoop. Thanks for using this tutorial for installing RainLoop Webmail on your Ubuntu 18.04 system. For additional help or useful information, we recommend you to check the official RainLoop website.

How To Install Vtiger CRM on Ubuntu 18.04 LTS

Install Vtiger CRM on Ubuntu 18

Vtiger CRM is a cloud-based Customer Relationship Management (CRM) platform that aids interactions between the company and its customers. It provides an intuitive customer experience and delivers outstanding performance for marketing, sales, and support teams which in return provides better customer retention for the company.

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 Vtiger on an Ubuntu 18.04 bionic beaver.

Install Vtiger CRM on Ubuntu 18.04 LTS Bionic Beaver

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 update
sudo apt upgrade

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

An Ubuntu 18.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.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-zip php7.2-curl

Step 3. Installing vTiger CRM on Ubuntu.

Now download the latest stable version of Vtiger CRM, At the moment of writing this article it is version 7.1.0:

cd /var/www/
wget https://cfhcable.dl.sourceforge.net/project/vtigercrm/vtiger%20CRM%207.1.0/Core%20Product/vtigercrm7.1.0.tar.gz

After the download has been successfully completed, we can then extract the GZ file using the following command:

tar -xvzf vtigercrm7.1.0.tar.gz

We will need to change some folders permissions:

chown -R www-data:www-data /var/www/vtigercrm/
chmod 755 /var/www/vtigercrm/

Step 4. Configuring MariaDB.

By default, MariaDB is not hardened. You can secure MySQL 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

Next we will need to log in to the MariaDB console and create a database for the vTiger. 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 vTiger installation:

MariaDB > CREATE DATABASE vtiger;
MariaDB > CREATE USER 'vtiger_user'@'localhost' IDENTIFIED BY 'PaSsWoRd';
MariaDB > GRANT ALL PRIVILEGES ON `vtiger`.* TO 'vtiger_user'@'localhost';
MariaDB > FLUSH PRIVILEGES;
MariaDB > \q

Now, let’s tweak some of your PHP settings so you can later complete the VTiger installation:

nano /etc/php/7.2/apache2/php.ini

Modify the following lines:

max_execution_time = 120
max_input_vars = 2000
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 64M
file_uploads = On
allow_url_fopen = On
display_errors = On
short_open_tags = Off
log_errors = Off
error_reporting = E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT

Save and close the file. Restart the apache service for the changes to take effects:

systemctl restart apache2.service

Step 5. Configuring Apache web server for vTiger.

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

touch /etc/apache2/sites-available/vtiger.conf
ln -s /etc/apache2/sites-available/vtiger.conf /etc/apache2/sites-enabled/vtiger.conf
nano /etc/apache2/sites-available/vtiger.conf

Add the following lines:

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

Options FollowSymLinks
AllowOverride All

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

Save and close the file. Restart the Apache service for the changes to take effect:

sudo a2ensite vtiger.conf
sudo a2enmod rewrite
sudo phpenmod mbstring
sudo a2enmod headers
sudo systemctl restart apache2

Step 5. Accessing Vtiger CRM.

Vtiger CRM will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://yourdomain.com/vtigercrm or http://server-ip/vtigercrm 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 vTiger. Thanks for using this tutorial for installing vTiger Customer Relationship Management on your Ubuntu 18.04 system. For additional help or useful information, we recommend you to check the official vTiger website.