{"id":3252,"date":"2018-04-11T19:17:02","date_gmt":"2018-04-11T15:17:02","guid":{"rendered":"https:\/\/www.howtoforge.com\/tutorial\/debian-suitecrm-installation\/"},"modified":"2018-04-11T19:17:02","modified_gmt":"2018-04-11T15:17:02","slug":"how-to-install-suitecrm-on-debian-9","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/how-to-install-suitecrm-on-debian-9\/","title":{"rendered":"How to install SuiteCRM on Debian 9"},"content":{"rendered":"<p>SuiteCRM, a fork of SugarCRM, is an enterprise open source Customer Relationship\u00a0Management (CRM) platform written in PHP programming language that can be used for creating business strategies, actions, and decisions.<\/p>\n<p>This tutorial\u00a0describes all the steps that are required to install the latest version SuiteCRM platform on a Debian 9, in order to deploy a powerful online platform for your business. The CRM application will be deployed on Debian Linux under Apache HTTP server, PHP and MariaDB database engine.<\/p>\n<h2 id=\"requirements\">Requirements<\/h2>\n<ul>\n<li>A bare-metal server or a virtual private server with minimum 2Gb of RAM and the minimal installation of Debian 9 server.<\/li>\n<li>Access to the <em>root<\/em> account via machine console or remotely via SSH. Besides root account you can also use an account with root privileges via <em>sudo<\/em> command.<\/li>\n<li>The external network interface configured with a static IP address or the DHCP server configured to lease a static IP address for this interface.<\/li>\n<li>A public registered domain name in order to access the application from internet. If the application is deployed in intranets, you can perform the installation process and access the website via your server IP address.<\/li>\n<li>A mail server configured at your premises in order to use website registration or other application features. You can also use a public mail service, such as Gmail or Yahoo!, Microsoft Exchange or others in order to send and receive mails.<\/li>\n<\/ul>\n<h2 id=\"prepare-the-server\">Prepare the server<\/h2>\n<p><strong\/>In the first step, login to your server console with the root account or a user with root privileges gained via sudo and setup the name of your system with the below command. Make sure you replace the machine hostname used in this example accordingly.<\/p>\n<p class=\"command\">hostnamectl set-hostname www.mycrm.org<\/p>\n<p>After you\u2019ve changed the system hostname, issue the below command to verify if the machine name has been correctly applied.<\/p>\n<p class=\"command\">hostnamectl<\/p>\n<p class=\"command\">cat \/etc\/hostname<\/p>\n<p class=\"command\">hostname \u2013s<\/p>\n<p class=\"command\">hostname \u2013f<\/p>\n<p>Next, make sure you update your system repositories, software packages and the kernel, by issuing the below commands.<\/p>\n<p class=\"command\">apt update<\/p>\n<p class=\"command\">apt upgrade<\/p>\n<p>Finally, after the update process completed, reboot the machine in order to apply hostname changes and kernel updates, by executing the below command.<\/p>\n<p class=\"command\">systemctl reboot<\/p>\n<p>After machine reboot, log back in to server console and execute the below command in order to install some command line utilities, such as wget, curl and zip, that will be later used for downloading software over internet and extract zip archive files.<\/p>\n<p class=\"command\">apt install wget curl zip unzip<\/p>\n<h2 id=\"install-apachenbspand-php\">Install Apache\u00a0and PHP<\/h2>\n<p>SuiteCRM application will be deployed in Debian on top of a LAMP stack. The first components of the LAMP stack we\u2019ll install are Apache HTTP server and PHP dynamic programming language interpreter.\u00a0 Execute the below command to install Apache web server and all required PHP modules in your system.<\/p>\n<p class=\"command\">apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-mbstring php7.0-xml php7.0-json php7.0-zip php7.0-curl php7.0-imap<\/p>\n<h2 id=\"install-mariadb-database\">Install MariaDB database<\/h2>\n<p>The next component of LAMP software bundle we\u2019ll install in Debian server is MariaDB database engine. The RDBMS database is required by the application for storing different platform configurations, such as users, sessions, contacts, products, catalogs and other.\u00a0 To install MariaDB database engine and the PHP module needed to access the database, execute the below command in your machine console.<\/p>\n<p class=\"command\">apt install mariadb-server php7.0-mysql mariadb-client<\/p>\n<p>After all LAMP components had been installed, check if Apache web server and MariaDB daemon are up and running and listening for network connections on port 80 and 3306 TCP by issuing one of the following commands. \u00a0<\/p>\n<p class=\"command\">netstat \u2013tlpn<\/p>\n<p class=\"command\">ss- tulpn<\/p>\n<p>Netstat utility is not present by default in Debian 9 system. To install <strong>netstat<\/strong> utility in a Debian Stretch server, execute the below command.<\/p>\n<p class=\"command\">apt install net-tools<\/p>\n<p><strong>I<\/strong>n order to securely access the CRM website via HTTPS protocol that will secure the traffic between server and clients browsers, make sure you also enable Apache TLS module and SSL site configuration file, by issuing the below commands.<\/p>\n<p class=\"command\">a2enmod ssl<\/p>\n<p class=\"command\">a2ensite default-ssl.conf<\/p>\n<p><strong>\u00a0<\/strong>Next, enable Apache rewrite module by issuing the below command. The rewrite module is necessary if you want to modify web server configurations on-fly via <strong><em>.htaccess<\/em><\/strong> files placed in your domain webroot.<\/p>\n<p class=\"command\">a2enmod rewrite<\/p>\n<p class=\"command\">systemctl restart apache2<\/p>\n<p><strong>\u00a0<\/strong>Next, activate the rewrite module by placing the required rules in Apache configuration files. First, we\u2019ll apply the rewrite rules in Apache default configuration file. So, open <strong><em>\/etc\/apache2\/sites-enabled\/000-default.conf<\/em><\/strong> file for editing with a text editor and insert the below URL rewrite rules after the <strong><em>DocumentRoot<\/em><\/strong> statement, as shown in the following excerpt.<\/p>\n<p class=\"command\">nano \/etc\/apache2\/sites-enabled\/000-default.conf<\/p>\n<p>\u00a0000-default.conf file excerpt:<\/p>\n<pre>&lt;Directory \/var\/www\/html&gt;<br\/>\u00a0 Options +FollowSymlinks<br\/>\u00a0 AllowOverride All<br\/>\u00a0 Require all granted<br\/>&lt;\/Directory&gt;<\/pre>\n<p>\u00a0Close the <em>000-default.conf<\/em>\u00a0 with CTRL+o, then Ctrl+x and open Apache default SSL site configuration file and insert the URL rewrite rules by adding the following lines of code after DocumentRoot directive, as shown in the below sample:<\/p>\n<p class=\"command\">nano \/etc\/apache2\/sites-enabled\/default-ssl.conf<\/p>\n<p><strong>\u00a0<\/strong>SSL site configuration file excerpt:<\/p>\n<pre>&lt;Directory \/var\/www\/html&gt;<br\/>\u00a0 Options +FollowSymlinks<br\/>\u00a0 AllowOverride All<br\/>\u00a0 Require all granted<br\/>&lt;\/Directory&gt;<\/pre>\n<p>Finally, after you\u2019ve made all the above changes, restart Apache daemon to pick-up all new rules configured so far.<\/p>\n<p class=\"command\">systemctl restart apache2<\/p>\n<p>Now, you should visit your domain or the server IP address via HTTP protocol from a remote desktop machine. The default Debian web page should be displayed in your browser.<\/p>\n<p><em><strong>http:\/\/yourdomain.tld<\/strong><\/em><\/p>\n<h2 id=\"firewall-configuration\">Firewall Configuration<\/h2>\n<p>If you can\u2019t see the web page, verify if UFW firewall application is enabled in Debian server.\u00a0 If that\u2019s the case you should insert the below rules to allow HTTP and HTTPS traffic to pass through firewall.<\/p>\n<p class=\"command\">ufw allow &#8216;WWW Full&#8217;<\/p>\n<p>or<\/p>\n<p class=\"command\">ufw allow 80\/tcp<\/p>\n<p class=\"command\">ufw allow 443\/tcp<\/p>\n<p>\u00a0The <strong>iptables<\/strong> firewall raw rules to allow port 80 and 443 TCP inbound traffic to pass the firewall are described below.<\/p>\n<p class=\"command\">apt-get install -y iptables-persistent<\/p>\n<p class=\"command\">iptables -I INPUT -p tcp &#8211;destination-port 80 -j ACCEPT<\/p>\n<p class=\"command\">iptables -I INPUT -p tcp &#8211;destination-port 443 -j ACCEPT<\/p>\n<p class=\"command\">netfilter-persistent save<\/p>\n<p class=\"command\">systemctl restart netfilter-persistent<\/p>\n<p class=\"command\">systemctl status netfilter-persistent<\/p>\n<p class=\"command\">systemctl enable netfilter-persistent.service<\/p>\n<p>\u00a0Finally, after you\u2019ve added the required firewall rules, test if Apache web server default web page can be displayed in a remote browser by visiting your domain name or server IP address via HTTPS protocol. Execute ifconfig or ip a commands to display the IP address of your server.<\/p>\n<p><em><strong>http:\/\/yourdomain.tld<\/strong><\/em><\/p>\n<p>Because you\u2019re using the automatically Self-Signed certificate issued by Apache at installation, certificate that is untrusted by the browser, an warning saying that \u201cYour connection is not secure\u201d should be displayed in the browser. Accept the untrusted certificate in order to bypass the error and to be redirected to Apache default web page, as illustrated in the below image.<\/p>\n<p><a class=\"fancybox\" id=\"img-image001\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image001.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9.png\" alt=\"Apache web server on Debian\" width=\"550\" height=\"366\" title=\"\"><\/a><\/p>\n<h2 id=\"configure-mariadb-and-php\">Configure MariaDB and PHP<\/h2>\n<p>Now, set\u2019s start securing MariaDB root account. Log in to MySQL console execute the below commands to update <em><strong>root<\/strong><\/em> account plugin.<\/p>\n<p class=\"command\">mysql -h localhost<\/p>\n<pre readability=\"14\">Welcome to the MariaDB monitor.\u00a0 Commands end with ; or \\g.<p>Your MariaDB connection id is 2<\/p><p>Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1<\/p><p>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.<\/p><p>Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.<\/p><\/pre>\n<p class=\"system command\">MariaDB [(none)]&gt; use mysql;<\/p>\n<pre readability=\"5\">Reading table information for completion of table and column names<p>You can turn off this feature to get a quicker startup with -A<\/p><p>Database changed<\/p><\/pre>\n<p class=\"system command\">MariaDB [mysql]&gt; update user set plugin=&#8221; where user=&#8217;root&#8217;;<\/p>\n<pre readability=\"5\">Query OK, 1 row affected (0.00 sec)<p>Rows matched: 1\u00a0 Changed: 1\u00a0 Warnings: 0<\/p><\/pre>\n<p class=\"system command\">MariaDB [mysql]&gt; flush privileges;<\/p>\n<pre>Query OK, 0 rows affected (0.00 sec)<p>MariaDB [mysql]&gt; exit<\/p><p>Bye<\/p><\/pre>\n<p><strong>\u00a0<\/strong>Also, run the script <strong>mysql_secure_installation<\/strong> provided Debian stretch repositories to further to secure MariaDB database. The script will ask you the following questions: \u00a0change MySQL root password, remove anonymous users, disable remote root logins and delete the test database. Answer with yes to all questions, as illustrated in the below script output example.<\/p>\n<p class=\"command\">mysql_secure_installation<\/p>\n<pre readability=\"83\">NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB<p>\u00a0\u00a0\u00a0\u00a0\u00a0 SERVERS IN PRODUCTION USE!\u00a0 PLEASE READ EACH STEP CAREFULLY!<\/p><p>In order to log into MariaDB to secure it, we'll need the current<\/p><p>password for the root user.\u00a0 If you've just installed MariaDB, and<\/p><p>you haven't set the root password yet, the password will be blank,<\/p><p>so you should just press enter here.<\/p><p>Enter current password for root (enter for none):<\/p><p>OK, successfully used password, moving on...<\/p><p>Setting the root password ensures that nobody can log into the MariaDB<\/p><p>root user without the proper authorisation.<\/p><p>You already have a root password set, so you can safely answer 'n'.<\/p><p>Change the root password? [Y\/n] y<\/p><p>New password:<\/p><p>Re-enter new password:<\/p><p>Password updated successfully!<\/p><p>Reloading privilege tables..<\/p><p>\u00a0... Success!<\/p><p>By default, a MariaDB installation has an anonymous user, allowing anyone<\/p><p>to log into MariaDB without having to have a user account created for<\/p><p>them.\u00a0 This is intended only for testing, and to make the installation<\/p><p>go a bit smoother.\u00a0 You should remove them before moving into a<\/p><p>production environment.<\/p><p>Remove anonymous users? [Y\/n] y<\/p><p>\u00a0... Success!<\/p><p>Normally, root should only be allowed to connect from 'localhost'.\u00a0 This<\/p><p>ensures that someone cannot guess at the root password from the network.<\/p><p>Disallow root login remotely? [Y\/n] y<\/p><p>\u00a0... Success!<\/p><p>By default, MariaDB comes with a database named 'test' that anyone can<\/p><p>access.\u00a0 This is also intended only for testing, and should be removed<\/p><p>before moving into a production environment.<\/p><p>Remove test database and access to it? [Y\/n] y<\/p><p>\u00a0- Dropping test database...<\/p><p>\u00a0... Success!<\/p><p>\u00a0- Removing privileges on test database...<\/p><p>\u00a0... Success!<\/p><p>Reloading the privilege tables will ensure that all changes made so far<\/p><p>will take effect immediately.<\/p><p>Reload privilege tables now? [Y\/n] y<\/p><p>\u00a0... Success!<\/p><p>Cleaning up...<\/p><p>All done!\u00a0 If you've completed all of the above steps, your MariaDB<\/p><p>installation should now be secure.<\/p><p>Thanks for using MariaDB!<\/p><\/pre>\n<p>Test if all security measures had been applied by trying to login to MySQL console with root account and no password supplied. The access to the database should be denied if no password is provided for the root account, as illustrated in the below command excerpt:<\/p>\n<p class=\"command\">mysql -h localhost -u root<\/p>\n<pre class=\"system\">ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)<\/pre>\n<p><strong\/>Now, try to log in to MySQL console with root account and the password, as shown in below example. You should be able to log in to MySQL console. Type <em>exit<\/em> to leave MySQL database.<\/p>\n<p class=\"command\">mysql -h localhost -u root -p<\/p>\n<pre readability=\"16\">Enter password:<p>Welcome to the MariaDB monitor.\u00a0 Commands end with ; or \\g.<\/p><p>Your MariaDB connection id is 15<\/p><p>Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1<\/p><p>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.<\/p><p>Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.<\/p><p>MariaDB [(none)]&gt; exit<\/p><p>Bye<\/p><\/pre>\n<p><strong\/><strong\/>On the next step, change the following PHP variables in <strong>php.ini<\/strong> configuration file as described below. Open <strong>\/etc\/php\/7.0\/apache2\/php.ini<\/strong> file for editing and modify the following lines. First, make sure you backup the initial PHP configuration file.<\/p>\n<p class=\"command\">cp \/etc\/php\/7.0\/apache2\/php.ini{,.backup}<\/p>\n<p class=\"command\">nano \/etc\/php\/7.0\/apache2\/php.ini<\/p>\n<p><strong\/>Search, edit and change the following variables in <strong>php.ini<\/strong> configuration file:<\/p>\n<pre>file_uploads = On<br\/>default_charset = UTF-8<br\/>memory_limit = 128M<br\/>post_max_size = 60M<br\/>upload_max_filesize = 60M<br\/>memory_limit = 256M<br\/>max_input_time = 60<br\/>max_execution_time = 6000<br\/>date.timezone = Europe\/London<\/pre>\n<p>Replace the <strong><em>timezone<\/em><\/strong> variable in PHP configuration file according to your server geographical location.\u00a0 The PHP timezone list can be found at the following link <a href=\"http:\/\/php.net\/manual\/en\/timezones.php\" target=\"_blank\" rel=\"noopener\">http:\/\/php.net\/manual\/en\/timezones.php<\/a><\/p>\n<p>To increase the load speed of your website pages, enable \u00a0OPCache plugin available for PHP7. \u00a0Insert the following OPCache lines at the bottom of the PHP interpreter configuration file, after the <strong><em>[opcache]<\/em><\/strong> statement, as shown in the following excerpt:<\/p>\n<pre>[opcache]<br\/>opcache.enable=1 <br\/>opcache.enable_cli=1 <br\/>opcache.interned_strings_buffer=8 <br\/>opcache.max_accelerated_files=10000 <br\/>opcache.memory_consumption=128 <br\/>opcache.save_comments=1<br\/>opcache.revalidate_freq=1<\/pre>\n<p>Finally, close the <strong><em>php.ini<\/em><\/strong> configuration file and restart Apache daemon to apply changes by issuing the below command.<\/p>\n<p class=\"command\">systemctl restart apache2<\/p>\n<p>To display all PHP settings in a browser, create a PHP info file in your domain webroot path by executing the following command.<\/p>\n<p class=\"command\">echo &#8216;&lt;?php phpinfo(); ?&gt;&#8217;| tee \/var\/www\/html\/info.php<\/p>\n<p>Visit the PHP info script file from a remote browser at the following URL. Scroll down to <strong>date<\/strong> setting to verify if PHP time zone configuration and other settings had been successfully applied.<\/p>\n<p><em><strong>https:\/\/domain.tld\/info.php<\/strong><\/em><\/p>\n<h2 id=\"install-suitecrm\">Install SuiteCRM<\/h2>\n<p>After we\u2019ve configured all the required LAMP settings for installing SuiteCRM application, visit SuiteCRM official download page at <a href=\"https:\/\/suitecrm.com\/download\/\" target=\"_blank\" rel=\"noopener\">https:\/\/suitecrm.com\/download\/<\/a> and grab the latest zip file archive in your system by issuing the below command. On the time of writing this guide, the latest released version of SuiteCRM was SuiteCRM-7.9.9.zip file.<\/p>\n<p class=\"command\">wget https:\/\/suitecrm.com\/files\/158\/SuiteCRM-7.9\/178\/SuiteCRM-7.9.9.zip<\/p>\n<p class=\"command\">ls<\/p>\n<p>After SuiteCRM zip file archive download completes, extract the zip archive file to your current working directory and list the extracted files by issuing the below commands.<\/p>\n<p class=\"command\">unzip SuiteCRM-7.9.9.zip<\/p>\n<p class=\"command\">ls<\/p>\n<p class=\"command\">ls \u2013al SuiteCRM-7.9.9<\/p>\n<p>Before copying the installation files to your domain webroot, make sure you remove the default index.html file installed by Apache package to web server document root path and also delete the info.php file created earlier.<\/p>\n<p class=\"command\">rm \/var\/www\/html\/index.html<\/p>\n<p class=\"command\">rm \/var\/www\/html\/info.php<\/p>\n<p>The installation files of SuiteCRM application are located in your current working directory under <em>SuiteCRM-7.9.9\/<\/em> directory. Issue <strong>ls<\/strong> command to list this directory files. Copy all the content of the <em>SuiteCRM-7.9.9\/<\/em> directory to your web server document root path by issuing the following command.<\/p>\n<p class=\"command\">cp -rf SuiteCRM-7.9.9\/* \/var\/www\/html\/<\/p>\n<p>Next, grant Apache runtime user (www-data) with full write permissions to Apache document root path, by issuing the below command.\u00a0 Run <strong>ls<\/strong> command to list the permissions for the installed files located under \/var\/www\/html\/ directory.<\/p>\n<p class=\"command\">chown -R www-data:www-data \/var\/www\/html\/<\/p>\n<p class=\"command\">ls \u2013al \/var\/www\/html\/<\/p>\n<p>Next, log in to MariaDB database console, and create SuiteCRM database. Choose a name for this database and a user with a strong password to manage the application database, by issuing the following commands. Make sure you change the database name, user, and password used in this tutorial with your own settings.<\/p>\n<p class=\"command\">mysql \u2013u root -p<\/p>\n<pre readability=\"14\">Welcome to the MariaDB monitor.\u00a0 Commands end with ; or \\g.<p>Your MariaDB connection id is 2<\/p><p>Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1<\/p><p>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.<\/p><p>Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.<\/p><\/pre>\n<p class=\"system command\">MariaDB [(none)]&gt; create database mycrm_db;<\/p>\n<pre class=\"system\">Query OK, 1 row affected (0.00 sec)<\/pre>\n<p class=\"system command\">MariaDB [(none)]&gt; grant all privileges on mycrm_db.* to &#8216;crm_user&#8217;@&#8217;localhost&#8217; identified by &#8216;password1234&#8217;;<\/p>\n<pre class=\"system\">Query OK, 0 rows affected (0.00 sec) <\/pre>\n<p class=\"system command\">MariaDB [(none)]&gt; flush privileges;<\/p>\n<pre>Query OK, 0 rows affected (0.00 sec)<p>MariaDB [(none)]&gt; exit<\/p><p>Bye<strong> <br\/><\/strong><\/p><\/pre>\n<p>Now, let\u2019s start the installation process of SuiteCRM application. Open a browser and navigate your server\u2019s IP address or domain name via HTTPS protocol.<\/p>\n<p><em><strong>http:\/\/yourdomain.tld<\/strong><\/em><\/p>\n<p>On the first installation screen, SuiteCRM installer will display the license agreement. Check \u2018<em>I Accept<\/em>\u2019 checkbox in order to agree with license terms and conditions, choose the language for installing the application and hit on Next button in order to start the installation process, as illustrated in the below screenshot.<\/p>\n<p><a class=\"fancybox\" id=\"img-image003\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image003.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-1.png\" alt=\"SuiteCRM setup wizard\" width=\"550\" height=\"387\" title=\"\"><\/a><\/p>\n<p>In the next installation screen, SuiteCRM installer will check your system environment requirements and will display and OK message if all PHP and server configurations are passed. In order to continue the installation process, hit on Next button, as shown in the below screenshot.<\/p>\n<p><a class=\"fancybox\" id=\"img-image004\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image004.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-2.png\" alt=\"System environment\" width=\"550\" height=\"402\" title=\"\"><\/a><\/p>\n<p>Next, the installer will display the Database Connection settings and Site Configuration page. In the left pane, select MySQL with MySQLi Extension as database type and provide the MySQL database name created for installing SuiteCRM application, database server host address, database username and the password needed to access SuiteCRM database. Also, select \u201cSame as Admin user\u201d in \u201cSuiteCRM Database user \/\u201d. On the right plane, add an application administrator username and set a strong password for admin account. Check the URL address of SuiteCRM instance to match your domain name via HTTPS protocol, on port 443 and add the email address of the admin account. Use the following image as a guide to configure this step.<\/p>\n<p><a class=\"fancybox\" id=\"img-image005\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image005.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-3.png\" alt=\"Database and site configuration\" width=\"550\" height=\"388\" title=\"\"><\/a><\/p>\n<p>Next, in the same installation screen, hit on \u201cChoose Demo\u201d data from \u201cMore options\u201d menu, and choose to not populate the SuiteCRM database with demo data.\u00a0 Then, click on Scenario Selection menu and select to enable the following SuiteCRM modules: Sales, Marketing, Finance, Service and Project management. If you don\u2019t need a module while installing the application, you can leave it unchecked and enable it after the installation process completes using the application administration page.<\/p>\n<p><a class=\"fancybox\" id=\"img-image006\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image006.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-4.png\" alt=\"Choose demo data import\" width=\"550\" height=\"419\" title=\"\"><\/a><\/p>\n<p>Next, scroll down and hit on SMTP Server Specification menu to enable SuiteCRM emails option. Add the name and email address you want to appear in \u201c From\u201d email header. Then, choose your email service provider and specify the mail server settings. In this guide, we\u2019ll use Gmail service provider to send e-mail, and the mail server settings can be found illustrated in the below screenshot. After you\u2019ve completed the required settings for enabling your mail service provider, hit on Branding menu and add a name to be displayed in browser title bar for SuiteCRM application and upload your own website logo image.<\/p>\n<p><a class=\"fancybox\" id=\"img-image007\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image007.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-5.png\" alt=\"SMTP server settings\" width=\"550\" height=\"452\" title=\"\"><\/a><\/p>\n<p>Next, scroll down again and hit on System Locale Settings menu and specify how the time format, time zone and currency settings should be displayed in SuiteCRM application. Finally, leave the Site Security options unchecked for now and hit on Next button to complete the installation process. You can use the below image to complete this step.<\/p>\n<p><a class=\"fancybox\" id=\"img-image008\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image008.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-6.png\" alt=\"Locale settings and site security\" width=\"550\" height=\"455\" title=\"\"><\/a><\/p>\n<p>After the installation process finishes, you will be redirected to SuiteCRM login page. In order to access the application admin panel, log in to SuiteCRM with the admin account credentials configured during the installation process, as shown in the below image.<\/p>\n<p><a class=\"fancybox\" id=\"img-image0091\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image0091.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-7.png\" alt=\"SuiteCRM Login\" width=\"550\" height=\"443\" title=\"\"><\/a><\/p>\n<p>Before logging in to SuiteCRM admin panel, first, return to the server console and issue the following command in order to remove the install directory which is no longer needed and can represent a security breach.<\/p>\n<p class=\"command\">rm -rf \/var\/www\/html\/install\/<\/p>\n<p>You can also visit SuiteCRM dashboard by navigating to your server IP address or domain name via HTTPS protocol. A view of SuiteCRM admin dashboard is presented in below screenshot.<\/p>\n<p><em><strong>http:\/\/yourdomain.tld<\/strong><\/em><\/p>\n<p><a class=\"fancybox\" id=\"img-image010\" href=\"https:\/\/www.howtoforge.com\/images\/install_suitecrm_in_debian_9\/big\/image010.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-8.png\" alt=\"SuideCRM Dashboard\" width=\"550\" height=\"350\" title=\"\"><\/a><\/p>\n<p>Finally, in order to automatically redirect visitors to HTTPS, so that they can securely access SuiteCRM interface from their browsers, return to your server terminal and edit the autogenerated <em>.htaccess<\/em> file located in your domain document root path, by issuing the below command.<\/p>\n<p class=\"command\">nano \/var\/www\/html\/.htaccess<\/p>\n<p>In .htaccess file, search for <strong><em>&lt;IfModule mod_rewrite.c&gt;<\/em><\/strong> line and insert the below line rules after <strong><em>RewriteEngine On<\/em><\/strong> statement in order to automatically redirect domain traffic to HTTPS.<\/p>\n<p><strong>.htaccess<\/strong> file excerpt:<\/p>\n<pre># Redirect to HTTPS<br\/>&lt;IfModule mod_rewrite.c&gt;<br\/>RewriteEngine On<br\/>RewriteCond %{HTTPS} off<br\/>RewriteRule (.*) https:\/\/%{SERVER_NAME}\/$1 [R,L]<\/pre>\n<p>At the bottom of the file, you can modify web server native PHP server settings by adding other lines with the settings to reflect your own server resources and configurations.<\/p>\n<pre># Modify PHP settings<br\/><em>php_value session.use_trans_sid 0<br\/>php_value register_globals 1<br\/>php_value upload_max_filesize 100M<br\/>php_value post_max_size 100M<\/em><\/pre>\n<p>In order to execute SuiteCRM Schedulers, edit your web server runtime account crontab file with the below command and add the following cron task to run each minute.<\/p>\n<p class=\"command\">crontab -e -u www-data<\/p>\n<p>crontab file example:<\/p>\n<pre><strong><em>*\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0 *\u00a0\u00a0 \/usr\/bin\/php7.0 \u00a0-f \u00a0\/var\/www\/html\/cron.php &gt; \/dev\/null 2&gt;&amp;1<\/em><\/strong><\/pre>\n<p>If you want to circumvent browser warnings that are generated each time a client visits your application, you should consider buying a certificate issued by a trusted Certificate Authority or issue a free certificate from Let\u2019s Encrypt CA.<\/p>\n<p>That\u2019s all! SuiteCRM web application has been successfully installed and configured in a Debian 9 server on top of a LAMP stack.<\/p>\n<p>In order to further customize SuiteCRM platform, make sure you visit the application wiki page at the following address: <a href=\"https:\/\/suitecrm.com\/wiki\/index.php\/Main_Page\" target=\"_blank\" rel=\"noopener\">https:\/\/suitecrm.com\/wiki\/index.php\/Main_Page<\/a><\/p>\n<div>\n<p><b>Share this page:<\/b><\/p>\n<p>\n<a href=\"https:\/\/www.facebook.com\/sharer.php?u=https%3A%2F%2Fwww.howtoforge.com%2Ftutorial%2Fdebian-suitecrm-installation%2F\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-9.png\" height=\"20\" alt=\"\" title=\"\"><\/a><br \/>\n<a href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fwww.howtoforge.com%2Ftutorial%2Fdebian-suitecrm-installation%2F&amp;text=How+to+install+SuiteCRM+on+Debian+9&amp;via=howtoforgecom&amp;related=howtoforgecom\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-10.png\" height=\"20\" alt=\"\" title=\"\"><\/a><br \/>\n<a href=\"https:\/\/twitter.com\/howtoforgecom\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-11.png\" height=\"20\" alt=\"\" title=\"\"><\/a><br \/>\n<a href=\"https:\/\/plus.google.com\/share?url=https%3A%2F%2Fwww.howtoforge.com%2Ftutorial%2Fdebian-suitecrm-installation%2F\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/04\/how-to-install-suitecrm-on-debian-9-12.png\" height=\"20\" alt=\"\" title=\"\"><\/a>\n<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SuiteCRM, a fork of SugarCRM, is an enterprise open source Customer Relationship\u00a0Management (CRM) platform written in PHP programming language that can be used for creating business strategies, actions, and decisions. This tutorial\u00a0describes all the steps that are required to install the latest version SuiteCRM platform on a Debian 9, in order to deploy a powerful [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-3252","post","type-post","status-publish","format-standard","hentry","category-36"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/3252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=3252"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/3252\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=3252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=3252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=3252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}