ProcessMaker is an open-source Business Process Management (BPM) and Workflow Automation platform. This guide explains how to install it on Ubuntu, Debian, and CentOS servers. ✅ Prerequisites A fresh Ubuntu 20.04+ / Debian 10+ / CentOS 7+ server Root or sudo access At least 4 GB RAM (recommended for stable use) LAMP stack (Linux, Apache, MySQL/MariaDB, PHP) 1. Update System Packages # Ubuntu / Debian sudo apt update && sudo apt upgrade -y # CentOS sudo yum update -y 2. Install Dependencies On Ubuntu / Debian: sudo apt install -y apache2 mysql-server unzip wget curl git \ php php-cli php-common php-mysql php-xml php-mbstring php-intl php-bcmath php-gd php-curl \ libapache2-mod-php On CentOS: sudo yum install -y epel-release yum-utils sudo yum install -y httpd mariadb-server unzip wget curl git \ php php-cli php-common php-mysqlnd php-xml php-mbstring php-intl php-bcmath php-gd php-curl Enable and start services: # Ubuntu / Debian sudo systemctl enable apache2 mysql sudo systemctl start apache2 mysql # CentOS sudo systemctl enable httpd mariadb sudo systemctl start httpd mariadb 3. Configure Database sudo mysql -u root -p Inside MySQL: CREATE DATABASE processmaker CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'pmuser'@'localhost' IDENTIFIED BY 'StrongPassword123'; GRANT ALL PRIVILEGES ON processmaker.* TO 'pmuser'@'localhost'; FLUSH PRIVILEGES; EXIT; 4. Download ProcessMaker Navigate to the web root: cd /var/www/ wget https://github.com/ProcessMaker/processmaker/archive/refs/tags/4.0.0.tar.gz -O processmaker.tar.gz tar -xvzf processmaker.tar.gz mv processmaker-* processmaker cd processmaker Install PHP dependencies: composer install --no-dev 5. Configure Apache Create a new virtual host: sudo nano /etc/apache2/sites-available/processmaker.conf Paste: ServerName yourdomain.com DocumentRoot /var/www/processmaker/public AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/pm-error.log CustomLog ${APACHE_LOG_DIR}/pm-access.log combined Enable site and required modules: # Ubuntu / Debian sudo a2enmod rewrite sudo a2ensite processmaker.conf sudo systemctl reload apache2 # CentOS sudo tee /etc/httpd/conf.d/processmaker.conf < ServerName yourdomain.com DocumentRoot /var/www/processmaker/public AllowOverride All Require all granted EOF sudo systemctl restart httpd 6. Configure Environment Copy environment file: cp .env.example .env Edit .env: APP_URL=http://yourdomain.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=processmaker DB_USERNAME=pmuser DB_PASSWORD=StrongPassword123 Run setup: php artisan key:generate php artisan migrate php artisan db:seed 7. Set Permissions sudo chown -R www-data:www-data /var/www/processmaker # Ubuntu / Debian sudo chown -R apache:apache /var/www/processmaker # CentOS 8. Access ProcessMaker Open your browser at: ???? http://yourdomain.com Default login: admin / admin ???? Done! You now have ProcessMaker installed and ready on Ubuntu, Debian, or CentOS.