installation
- Ubuntu Server
- Windows (Local)
Installation Guide This guide explains how to install TadreebLMS on a fresh Ubuntu server.
Recommended OS: Ubuntu 20.04 / 22.04 Web Server: Apache 2.x PHP Version: 8.3 Composer Version: 2.7.8
- Update Server
sudo apt update && sudo apt upgrade -y
- Install Apache
sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2
- Install PHP 8.3
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.3 php8.3-cli php8.3-common php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip php8.3-mysql php8.3-bcmath php8.3-gd php8.3-ldap -y
- Install Composer
cd /tmp
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --version=2.7.8
sudo mv composer.phar /usr/local/bin/composer
composer --version
- Clone TadreebLMS
cd /var/www
sudo git clone https://github.com/Tadreeb-LMS/tadreeblms.git
sudo chown -R www-data:www-data /var/www/tadreeblms
cd tadreeblms
- Setup Storage & Cache
sudo mkdir -p bootstrap/cache
sudo mkdir -p storage/framework/views storage/framework/cache/data storage/framework/sessions storage/logs
sudo chown -R www-data:www-data storage bootstrap/cache public
sudo chmod -R 775 storage bootstrap/cache public
sudo mkdir modules
sudo chown -R www-data:www-data modules
sudo chmod -R 775 modules
- Install & Configure MySQL
sudo apt install mysql-server -y
sudo mysql
CREATE DATABASE laravel_db;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Update .env with database credentials.
- Apache Virtual Host
sudo nano /etc/apache2/sites-available/tadreeblms.conf
<VirtualHost *:80>
ServerName YOUR_DOMAIN
DocumentRoot /var/www/tadreeblms/public
<Directory /var/www/tadreeblms/public>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/tadreeblms_error.log
CustomLog ${APACHE_LOG_DIR}/tadreeblms_access.log combined
</VirtualHost>
sudo a2enmod rewrite
sudo a2ensite tadreeblms.conf
sudo systemctl reload apache2
- Access Application
Open in browser:
http://YOUR_DOMAIN
Complete the web-based onboarding to finish setup.
Windows Installation (Local with XAMPP — PHP 8.3)
- Install XAMPP (with PHP 8.3)
Download XAMPP for Windows with PHP 8.2 from https://www.apachefriends.org and install to:
C:\xampp
- Start Apache and MySQL
Start Apache and MySQL from XAMPP Control Panel.
- Verify PHP Version
php -v
Ensure it shows PHP 8.3.x
- Clone TadreebLMS
cd /c/xampp/htdocs
git clone https://github.com/Tadreeb-LMS/tadreeblms.git
- Create Database
# Open in browser:
# http://localhost/phpmyadmin
# Create database: laravel_db
- Verify Composer
composer --version
Ensure it shows: Composer version 2.7.8
- Run Web Installer
# Open in browser:
# http://localhost/tadreeblms/public
Follow the onboarding to complete setup.
- Access Application
# http://localhost/tadreeblms/public
Login with admin account created during onboarding.
Email Configuration
Email Configuration Required
Tadreeb LMS uses email services for:
- User notifications
- Course notifications
- Password resets
- System alerts
- Queue-based email jobs
To configure SMTP and email settings, follow the dedicated guide:
⚠️ Emails will not be sent unless SMTP is properly configured.