##### 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
# Redémarrer les services d'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