PRODUCTION_README
Guide de Déploiement Production (Debian)
Ce guide explique comment déployer l'application allo_tata sur un serveur Debian pour la production.
1. Prérequis Serveur
Assurez-vous que votre serveur est à jour et dispose des paquets nécessaires.
sudo apt update && sudo apt upgrade -y
Installer les dépendances (PHP 8.2, Nginx, MariaDB/MySQL, etc.)
# Ajouter le dépôt pour PHP (si nécessaire)
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common wget curl
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
# Installer PHP et les extensions requises
sudo apt install -y php8.2 php8.2-fpm php8.2-cli php8.2-common php8.2-mysql php8.2-zip php8.2-gd php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath php8.2-intl
# Installer Nginx et Supervisor
sudo apt install -y nginx supervisor
# Installer Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# Installer Node.js et NPM (pour compiler les assets)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
2. Installation du Projet
Clonez votre dépôt dans le dossier /var/www/allo_tata (ou un autre dossier de votre choix, mais pensez à mettre à jour les chemins dans les fichiers de configuration).
cd /var/www
sudo git clone <URL_DE_VOTRE_REPO> allo_tata
sudo chown -R $USER:www-data allo_tata
cd allo_tata
Configuration Initiale
-
Copier le fichier .env :
cp .env.example .env nano .envModifiez les variables importantes :
APP_ENV=productionAPP_DEBUG=falseAPP_URL=https://votre-domaine.com- DB_, STRIPE_, MAIL_*, etc.
-
Installer les dépendances :
composer install --no-dev --optimize-autoloader npm install npm run build -
Générer la clé d'application :
php artisan key:generate -
Permissions :
sudo chown -R www-data:www-data storage bootstrap/cache sudo chmod -R 775 storage bootstrap/cache
3. Configuration Nginx
- Copiez le fichier de configuration Nginx :
sudo cp deploy/production/nginx.conf /etc/nginx/sites-available/allo_tata - Modifiez le fichier
/etc/nginx/sites-available/allo_tatapour y mettre votre nom de domaine correct et vérifier la version de PHP-FPM. - Activez le site :
sudo ln -s /etc/nginx/sites-available/allo_tata /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
4. Configuration Supervisor (Queues)
- Copiez le fichier de configuration Supervisor :
sudo cp deploy/production/supervisor.conf /etc/supervisor/conf.d/allo_tata-worker.conf - Mettez à jour et démarrez Supervisor :
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start all
5. Script de Déploiement
Pour les mises à jour futures, vous pouvez utiliser le script deploy.sh.
chmod +x deploy/production/deploy.sh
./deploy/production/deploy.sh
N'oubliez pas de configurer une tâche Cron pour le planificateur Laravel :
crontab -e
Ajoutez cette ligne :
* * * * * cd /var/www/allo_tata && php artisan schedule:run >> /dev/null 2>&1