SuiteCRM appears in the current copy of Admin magazine. Sweet. The install instructions are a bit off. Here are some ammended docs. If some brainiacs see flaws, tell me and Iāll correct it. Since I had to type everything I figured Iād save it for our wiki instructions. There are some other (faster) ways to install. A number of virtual pre-builts exist on the download page. This is more of a step by step for new people who want a big picture understanding of how this app works (and general LAMP apps).
This is for a virtual Ubuntu 18.04.2 server. I set it up for 2 cores and 2GB of memory. Our use case is 1-4 concurrent people using it.
sudo apt install mysql-server libapache2-mod-php7.2 apache2 php7.2-zip php7.2-mysql php7.2-mbstring php7.2-json php7.2-imap php7.2-gd php7.2-curl php7.2-xml php7.2-common php7.2-cli php7.2 unzip
cd /var/www/
sudo wget https://suitecrm.com/files/162/SuiteCRM-7.11/411/SuiteCRM-7.11.3.zip >>> peak at http://suitecrm.com/downloads/ for the current release
sudo unzip SuiteCRM-7.11.3.zip
sudo mv SuiteCRM-7.11.3 ./suitecrm
sudo chown -R www-data:www-data ./suitecrm
cd /etc/apache2/sites-available
sudo touch suitecrm.conf
sudo nano -w suitecrm.conf
āstart the contents of suitecrm.confā
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www/suitecrm/
Options FollowSymLinks
AllowOverride None
<Directory /var/www/suitecrm>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-gin/
<Directory āusr/lib/cgi-binā>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
Possible values include: debug, info, notice, warn, error, crit,
alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
āend the contents of suitecrm.confā
sudo nano -w /etc/php/7.2/apache2/php.ini
search (^w) for upload_max_filesize >>> instructions not commands
change size form 2M to 25M >>> instructions not commands
sudo mysql_secure_installation >>> take defaults, will this stop remote access?
sudo mysql -u root -p
āstart inside of MySQLā
mysql> CREATE DATABASE suitecrm;
mysql> CREATE USER āusernameā@ālocalhostā IDENTIFIED BY āpasswordā;
mysql> GRANT ALL PRIVILEGES ON . TO āusernameā@ālocalhostā WITH GRANT OPTION;
mysql> CREATE USER āusernameā@ā%ā IDENTIFIED BY āpasswordā;
mysql> GRANT ALL PRIVILEGES ON . TO āusernameā@ā%ā WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit;
āend inside of MySQLā
sudo nano -w /etc/mysql/mysql.conf.d/mysqld.cnf
change bind-address 127.0.0.1 to 0.0.0.0 >>> instructions not commands, gives remote people access to your MySQL
sudo systemctl restart mysql
sudo a2dissite 000-default >.> to disable the default web site
sudo a2ensite suitecrm >>> to enable SuiteCRM as the only/default web site
sudo systemctl reload apache2