##### Installet Apache2, PHP, SSL ## 1. APACHE # Mettre à jour le systeme et les paquets sudo apt update && sudo apt upgrade # Installer Apache sudo apt install -y apache2 # Activer Apache sudo systemctl enable apache2 # Activer les modules : sudo a2enmod rewrite sudo a2enmod deflate sudo a2enmod headers sudo a2enmod ssl # Redémarrer les services d'Apache sudo systemctl restart apache2 # Installer les utilitaires pour Apache sudo apt install -y apache2-utils ## 2. PHP # Installer PHP et ses modules sudo apt install -y php sudo apt install -y php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath # Configurer php.ini sudo nano /etc/php/8.1/apache2/php.ini memory_limit = 512M upload_max_filesize = 150M max_execution_time = 360 date.timezone = UTC ## 3. CREATION DU CERTIFICAT AUTO-SIGNE # Création du certificat SSL auto-signé pour HTTPS avec openssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/selfsigned.key -out /etc/ssl/certs/selfsigned.crt ## 4. CONFIGURATION # Créer une page phpinfo sudo nano /var/www/phpinfo.php # Les sites du dossier Web dans /var/www appartienent à l'utilisateur et au groupe www-data sudo chown -R ubuntu:www-data /var/www/ # Modifier le répertoire par défaut (mettre /var/www à la place de /var/www/html) sudo nano sudo nano /etc/apache2/sites-available/000-default.conf # Modification du fichier default.ssl sudo nano /etc/apache2/sites-available/default-ssl.conf ServerName pageinfo.com ServerAdmin prenom.nom@pageinfo.com DocumentRoot /var/www/pageinfo.com require all granted AllowOverride All ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/selfsigned.key SSLVerifyClient none # Vérifier que les ports 80 et 443 soient ouverts. (On peut modifier ou ajouter d'autres ports selon les besoins). sudo nano /etc/apache2/ports.conf Listen 80 Listen 443 Listen 443 # Activer les configurations, les sites et les modules : sudo a2ensite pageinfo.com.conf sudo a2ensite default-ssl.conf sudo a2ensite 000-default.conf # Relancer les service Apache systemctl reload apache2 ## 5. MARIADB # Mettre à jour les paquets sudo apt update # Installation de MariaDB / MySQL sudo apt install mariadb-server -y # Configurer la base de données sudo mysql_secure_installation -mettre le mot de passe par défaut : root -Switch to unix_socket authentification : N -Change root password : Y et remettre root x2 -Remove anonymous users : Y -Disallow root login remotely : Y -Remove test database and access to it : Y -Reload privilege tables now : Y # Activer MariaDB sudo systemctl enable mariadb # Installer les modules de PHP et MySQL sudo apt install php libapache2-mod-php php-mysql # Configurer l'accès à distance de la BDD (si besoin) sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf bind-address = 0.0.0.0 sudo systemctl restart mariadb sudo mysql -u root -p CREATE DATABASE dolibarrdb; CREATE USER 'db_user'@'%' IDENTIFIED BY 'db_password'; GRANT ALL PRIVILEGES ON dolibarrdb.* TO 'db_user'@'%'; FLUSH PRIVILEGES; EXIT; sudo ufw allow 3306/tcp sudo ufw reload #` Se connecter à distance à la base de données: mysql -u db_user -p -h 192.168.1.200 -P 3306