Template de forum PHP + MySQL (PDO) avec Bootstrap.
- Prérequis
- Installation rapide
- Configuration
- Configuration Nginx (VPS)
- Configuration Apache (VPS)
- Importer la base de données
- Créer le compte admin
- Sécurité et production
- Dépannage
- PHP 8.1+
- MySQL 8 ou MariaDB 10.4+
- Extensions PHP: pdo_mysql, mbstring, openssl, fileinfo
- Serveur web: Nginx ou Apache
- Copier le projet dans votre serveur web.
- Copier
exemple.config.phpversconfig.php. - Importer
schema.sqldans votre base. - Ouvrir le site et créer l'admin via
setup-admin.php.
Editez config.php.
Exemple:
<?php
return [
'app' => [
'name' => 'Forum PHP',
'base_url' => 'https://votre-domaine.tld',
'uploads_dir' => __DIR__ . '/uploads',
],
'db' => [
'host' => '127.0.0.1',
'name' => 'forum_php',
'user' => 'db_user',
'pass' => 'db_pass',
'charset' => 'utf8mb4',
],
'mail' => [
'enabled' => false,
'host' => 'smtp.example.com',
'user' => 'user@example.com',
'pass' => 'password',
'port' => 587,
'from' => 'no-reply@example.com',
],
'hcaptcha' => [
'enabled' => false,
'site_key' => '',
'secret' => '',
],
];Exemple de vhost:
server {
listen 80;
server_name votre-domaine.tld;
root /var/www/forum-php;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
location ~* \.(jpg|jpeg|png|gif|svg|css|js)$ {
expires 7d;
}
}
Assurez-vous que mod_rewrite est actif.
Exemple de vhost:
<VirtualHost *:80>
ServerName votre-domaine.tld
DocumentRoot /var/www/forum-php
<Directory /var/www/forum-php>
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>
- Créez la base et importez
schema.sql. - Vérifiez que les tables sont présentes.
Ouvrez setup-admin.php une seule fois.
Une fois créé, supprimez ou bloquez ce fichier.
- Désactivez l'affichage des erreurs en production.
- Configurez HTTPS.
- Vérifiez les permissions du dossier
uploads/.
- Erreur BDD: vérifiez
config.php. - Upload avatar: vérifiez l'extension PHP GD.
- Emails: activez
mail.enabledet installez PHPMailer.