Project

General

Profile

Suite Crm Initial setup

User documentation
09/02/2025

Absolutely. Here’s the clean, final tutorial that mirrors exactly what we did together (MySQL, private repo clone, Apache + SSL docroot fix, permissions, PHP limits, installer values). No extras.


SuiteCRM 8 on Scaleway — Steps We Performed

1) Install system packages (Apache, MySQL, PHP 8.2 + extensions)

sudo apt update
sudo apt install -y apache2 mysql-server \
  php8.2 php8.2-cli php8.2-common php8.2-mysql php8.2-xml \
  php8.2-mbstring php8.2-curl php8.2-zip php8.2-gd php8.2-intl unzip

2) Create DB and user in MySQL

sudo mysql
CREATE DATABASE suitecrm CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON suitecrm.* TO 'suitecrm'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3) Clone the private repository into /var/www/suitecrm8

cd /var/www
sudo git clone https://<your-username>@github.com/<your-org>/<your-private-suitecrm-repo>.git suitecrm8
sudo chown -R www-data:www-data /var/www/suitecrm8

(use your GitHub org/repo and auth; it will prompt for token/password if needed)


4) Apache vhost (HTTP) — point DocumentRoot to /public

Create /etc/apache2/sites-available/suitecrm.conf:

<VirtualHost *:80>
  ServerName suite-crm.genbastudio.nl
  DocumentRoot /var/www/suitecrm8/public

  <Directory /var/www/suitecrm8/public>
    AllowOverride All
    Require all granted
    DirectoryIndex index.php
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/suitecrm_error.log
  CustomLog ${APACHE_LOG_DIR}/suitecrm_access.log combined
</VirtualHost>

Enable and reload:

sudo a2enmod rewrite headers
sudo a2ensite suitecrm.conf
sudo systemctl reload apache2

5) SSL vhost fix (certbot file) — also point to /public

Edit your Certbot SSL file (you had suitecrm-le-ssl.conf) so both blocks use:

DocumentRoot /var/www/suitecrm8/public
<Directory /var/www/suitecrm8/public>
  AllowOverride All
  Require all granted
  DirectoryIndex index.php
</Directory>

Then:

sudo systemctl restart apache2

6) Fix installer log permissions (the /logs/install.log error)

cd /var/www/suitecrm8
sudo mkdir -p logs
sudo touch logs/install.log
sudo chown -R www-data:www-data /var/www/suitecrm8/logs
sudo chmod -R 775 /var/www/suitecrm8/logs

# re-apply wider perms we used
sudo chown -R www-data:www-data /var/www/suitecrm8
find /var/www/suitecrm8 -type d -exec sudo chmod 755 {} \;
find /var/www/suitecrm8 -type f -exec sudo chmod 644 {} \;
sudo chmod -R 775 /var/www/suitecrm8/public/legacy/cache /var/www/suitecrm8/public/legacy/upload

7) Raise PHP limits (to clear the installer checks)

Edit /etc/php/8.2/apache2/php.ini and set:

memory_limit = 512M
upload_max_filesize = 20M
post_max_size = 25M
max_execution_time = 300
max_input_time = 300

Restart Apache:

sudo systemctl restart apache2

8) Run the web installer and use these values

Open:

https://suite-crm.genbastudio.nl/install.php

Fill in:

  • URL of SuiteCRM Instance: (prefilled) https://suite-crm.genbastudio.nl
  • Populate Database with Demo Data?: No
  • SuiteCRM Database User: suitecrm
  • SuiteCRM Database User Password: STRONG_PASSWORD
  • Host Name: localhost
  • Database Name: suitecrm
  • Database Port: 3306
  • SuiteCRM Application Admin Name: admin (or your choice)
  • SuiteCRM Admin User Password: (strong password)

Click Proceed and complete the install.


That’s the whole flow we did—MySQL, private repo, Apache + SSL pointing to /public, permissions, PHP limits, and the exact installer values.

Files