YetiForce is a free and open-source Customer Relationship Management system that helps to manage relations with customers, suppliers, partners and staff. YetiForce can be integrated with LDAP, PBX, DAV, Maps, Social portals, and other web services. YetiForce enables you to remotely control your business anywhere in the world. It comes with a rich set of features including, 70+ user modules and configuration panels, invoicing, Email automation and tracking, Email notification, large and active community, GDPR management and many more.
In this tutorial, we will show you how to install YetiForce on Debian 10 with Let's Encrypt free SSL.
Prerequisites
- A server running Debian 10 with minimum 2 GB of RAM.
- A valid domain name pointed with your server IP. We will use example.com domain for this article.
- A root password is configured on your server.
Getting Started
Before starting, it is recommended to update your server with the latest version. You can update it using the following command:
apt-get update -y
apt-get upgrade -y
Once your server is updated, restart it to implement the changes.
Install Apache, MariaDB and PHP
First, You will need to install Apache, MariaDB, PHP and other required libraries on your server. You can install them by running the following command:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-soap php-ldap php-imap php-xml php-cli php-zip git unzip wget -y
Once all the packages are installed, open php.ini file and tweak some required settings:
nano /etc/php/7.3/apache2/php.ini
Change the following lines:
display_errors = Off html_errors = Off display_startup_errors memory_limit = 256M post_max_size = 50M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Save and close the file when you are finished. Then, start Apache and MariaDB service and enable them to start on system reboot with the following command:
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb
Once you are finished, you can proceed to the next step.
Configure Database
By default, MariaDB is not secured so you will need to secure it. You can secure it by running the following command:
mysql_secure_installation
Answer all the questions as shown below:
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: 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 you are done, log in to the MariaDB shell with the following command:
mysql -u root -p
Provide your root password when prompt then create a database and user for YetiForce with the following command:
MariaDB [(none)]> CREATE DATABASE yetiforcedb;
MariaDB [(none)]> CREATE USER 'yetiforce'@'localhost' IDENTIFIED BY 'password';
Next, grant all the privileges to the yetiforcedb with the following command:
MariaDB [(none)]> GRANT ALL ON yetiforcedb.* TO 'yetiforce'@'localhost' WITH GRANT OPTION;
Next, flush the privileges and exit from the MariaDB shell with the following command:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
At this point, you have configured the MariaDB database for YetiForce. Next, you can proceed to download YetiForce.
Download YetiForce
First, you will need to download the YetiForce from the sourceforge website. You can download it with the following command:
wget https://excellmedia.dl.sourceforge.net/project/yetiforce/YetiForce%20CRM%205.x.x/5.1.0/YetiForceCRM-5.1.0-complete.zip
Once the download is completed, unzip the downloaded file to the Apache web root directory by running the following command:
mkdir /var/www/html/yetiforce
unzip YetiForceCRM-5.1.0-complete.zip -d /var/www/html/yetiforce
Next, give proper permissions to the yetiforce directory as shown below:
chown -R www-data:www-data /var/www/html/yetiforce
chmod -R 755 /var/www/html/yetiforce
Once you are finished, you can proceed to the next step.
Configure Apache for YetiForce
Next, you will need to create an Apache virtual host configuration file for the YetiForce. You can create it with the following command:
nano /etc/apache2/sites-available/yetiforce.conf
Add the following lines:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www/html/yetiforce ServerName example.com <Directory /var/www/html/yetiforce/> 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 when you are finished. Then, enable the Virtual host and rewrite module with the following command:
a2ensite yetiforce.conf
a2enmod rewrite
Finally, restart the Apache web service to implement the changes:
systemctl restart apache2
Once you are finished, you can proceed to the next step.
Secure YetiForce with Let's Encrypt Free SSL
YetiForce is now installed and configured. Next, it is a good idea to secure it with Let's Encrypt free SSL. To do so, you will need to install the Certbot client on your server.
By default, the Certbot client package is not available in the Debian 10 default repository. You can add it with the following command:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Next, update the repository and install the Certbot client with the following command:
apt-get update -y
apt-get install python-certbot-apache -t buster-backports
Once installed, run the following command to obtain and install the SSL certificate for your domain:
certbot --apache -d example.com
You will be asked to provide your email address and agree to the terms of service.
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): admin@example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A
Next, you will need to choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access as shown below:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Choose option 2 to download and install a free SSL certificate for your domain and hit Enter to finish the installation as shown below:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2020-03-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Access YetiForce
Now, open your web browser and type the URL https://example.com. You will be redirected to the YetiForce welcome page:
Click on the Install button. You should see the following page:
Next, click on the I agree button to accept the license agreement. You should see the following page:
Provide your database name, username, password, admin user details and click on the Next button. You should see the following page:
Now, click on the Next button to confirm the changes. You should see the following page:
Now, click on the Next button to verify the server configuration. You should see the following page:
Now, provide your company details and click on the Next button. You will be redirected to the YetiForce dashboard in the following page:
Conclusion
In the above article, you learned how to install YetiForce with Let's Encrypt free SSL on Debian 10 server. You can now proceed to configure additional settings as per your need. Feel free to ask me if you have any questions.