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 :
- sudo apt-get update
- sudo apt-get upgrade
- 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 !