2° Installer Apache MySql PHP

 

 

Pour éviter d'avoir un écran utilisé en permanence pour le serveur ou d'avoir à en brancher un à chaque fois que vous aurez besoin de faire des manipulations, je vous conseille d'installer l'utilitaire Putty. C'est un émulateur de Terminal qui va vous permettre de prendre le contrôle à distance de votre serveur afin de l'administrer en ligne de commande.

Une astuce :

 

La frappe des commandes est souvent fastidieuse et il est possible de coller le contenu du presse papier dans la fenêtre de Putty avec un clic droit de la souris.

 

Vous pouvez maintenant vous connecter à votre serveur Ubuntu. La première chose à faire afin de finaliser l'installation est de procéder aux différentes mises à jours.

Vous allez taper les commandes suivantes :

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. sudo reboot (si nécessaire)

Pour installer le serveur web Apache, le gestionnaire de base de données MySql et PHP, tapez la commande suivante :

sudo apt install apache2 php libapache2-mod-php mysql-server php-mysql

Vérifier ensuite que ça fonctionne en tapant l'adresse IP du serveur dans votre navigateur :

Par exemple : http://192.168.44.129



Puis installer les modules complémentaires pour PHP :

sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip


Pour mes besoin de programmation en PHP, j'ai également eu besoin d'installer ImageMagick :

sudo apt install php-imagick

Et comme je l'utilise pour transformer des PDF en images, il faut par la suite accéder à son fichier de configuration situé dans :

 

/etc/ImageMagick-6/

et l'éditer :

sudo nano policy.xml

Remplacer <policy domain="coder" rights="none" pattern="PDF" />

par

<policy domain="coder" rights="read | write" pattern="PDF" />

Redémarrer Apache pour la prise en compte :

sudo systemctl restart apache2


Afin de pouvoir utiliser des règles de réécriture dans un fichier .htaccess il faut activater ModRewrite :

sudo a2enmod rewrite

sudo systemctl restart apache2


Installer mod_headers pour apache pour des raisons d'optimisation (contrôle des en-têtes HTTP) :

sudo a2enmod headers

sudo service apache2 restart


Installer http2 :

sudo a2enmod http2

puis

sudo apt-get install php-fpm
sudo a2dismod php8.1
sudo a2enconf php8.1-fpm
sudo a2enmod proxy_fcgi
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2


Installer Let's Encrypt :

sudo apt install certbot python3-certbot-apache

Cela permettra par la suite d'utiliser des sites et domaines en https.

Vérifier le firewall :

sudo ufw status

La directive "Apache Full" ou "443" doit être présente.


Par la négative :

sudo ufw allow 'Apache Full'

et supprimer 'Apache' si il est présent (il fait doublon avec 'Apache Full')

sudo ufw delete allow 'Apache'


Pour modifier la limite de taille des fichiers en upload :

Modifier le fichier php.ini situé dans :

/etc/php/8.1/fpm/php.ini

sudo nano /etc/php/8.1/fpm/php.ini

En modifiant les paramètres suivants :

upload_max_filesize = 50M
post_max_size = 50M

Et pour la gestion des messages d'erreur dans un environnement de développement :

error_reporting = E_ALL
display_errors = on

Redémarrer Apache pour la prise en compte :

sudo systemctl restart apache2


Paramétrage de Mysql :

Dans la nouvelle version de MySql le mot de passe est vide lors de l'installation.

Se connecter à MySql avec le privilège sudo :

sudo mysql -u root -p

Et ensuite mettre à jour le mot de passe pour l'utilisateur root à l'aide de :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'VotreMotDePasse';

exit

Une fois que c'est fait faire un stop and start du serveur MySql :

sudo service mysql stop
sudo service mysql start


Maintenant il est possible d'installer phpmyadmin pour administrer les base de données :

sudo apt install phpmyadmin

Attention !! à l'écran de configuration bien sélectionner apache2 en appuyant sur la barre d'espacement !

En fin d'installation, vérifier le bon fonctionnement de phpmyadmin en tapant l'adresse suivante dans votre navigateur :

http://192.168.44.129/phpmyadmin/



Et pour la dernière étape de cette deuxième partie, nous allons installer un serveur ftp :

sudo apt install proftpd-basic

Modifier ensuite le fichier de configuration :

sudo nano /etc/proftpd/proftpd.conf

avec la directive suivante afin de rendre possible le mode passif

PassivePorts 5000 5100

Pensez à vérifier le pare-feu de votre ordinateur !


Maintenant afin de sécuriser à minima la connexion ftp, autoriser le SSH sur le firewall :

sudo ufw allow 'OpenSSH'

sudo ufw disable

sudo ufw enable


Pour configurer votre logiciel de ftp afin d'accéder au serveur :

Attention vous avez alors un accès à tout le serveur !



Maintenant on va pouvoir installer un premier site !