LAMP sur Debian 11

Serveur Lamp sur Debian

je vais proceder ici a la description pas a pas de mon installation d’Apache, mariadb ou mysql et php sur une debian 11 netinstall.

A noter , sur une install neuve et vide, il vous faudra installer « sudo » et ajour votre utilisateur au groupe sudo
connecter vous en tant que root :
# su –       
# apt install sudo
# adduser  user sudo
a partir de la vous pouvez vous reconnecter avec votre user

avant toute installation, on va mettre a jour le système
# sudo apt update
# sudo apt upgrade

une fois fait on commence par installer apache puis le module php :
# sudo apt install apache2
# sudo apt install libapache2-mod-php


 

installation de php et de ses modules :
#sudo apt install php php-cli
# sudo apt install php-{curl,gd,intl,memcache,xml,zip,mbstring,json,mysql}

Pour tester l’installation, on va créer un fichier php dans le répertoire web d’apache :
# sudo echo « <?php phpinfo() ?> »> /var/www/html/phpinfo.php

avant de tester le fonctionnement, il ne faut pas oublier de redémarrer apache2 :
# sudo systemctl reload apache2


 

Installation de MariaDb
# sudo apt install mariadb-server
configuration mariadb :
# mysql_secure_installation

Switch to unix_socket authentication [Y/n]  : y
Change the root password? [Y/n] : y
Remove anonymous users? [Y/n] : y
Disallow root login remotely? [Y/n] : y
Remove test database and access to it? [Y/n] : y

on va maintenant crée un utilisateur pour remplacer root :
# mysql -u root -p
une fois dans sql on tape les commandes sql suivantes ( on n’oublie pas le ; a la fin de chaque ligne) :
create user ‘nico’@’localhost’ identified by ‘monpass’ ;
grant all privileges on *.* to ‘nico’@’localhost’ with grant option ;
flush privileges ;
Exit (pour quitter mysql)
activer mariadb au démarrage du serveur :
# sudo systemctl enable mariadb

on peu redémarrer le serveur une dernière fois pour être sur que tout soit prise en compte :
sudo systemctl reload apache2


 

pour activer des modules au demarrage d’apache , il faut utiliser la commande a2enmod :
#a2enmod rewrite deflate headers


# sudo systemctl reload apache2

Phpmyadmin
on peu facilement installer phpmyadmin sous debian, il fait parti des paquets disponible.
# sudo apt install phpmyadmin

pendant l’installation , il va poser quelques questions, cocher bien la case apache dans le choix du serveur web, donner un mot de passe a l’utilisateur phpmyadmin.
il suffira ensuite de se rendre sur la page http ://localhost/phpmyadmin et de se connecter avec les paramètres de l’utilisateur crée dans mysql .


 

Mise a jour vers php8
pour php8, les paquets ne sont pas encore disponible sur les dépôts officiels, il va falloir installer le dépôt sury :
# sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common

# echo « deb https://packages.sury.org/php/ $(lsb_release -sc) main » | sudo tee /etc/apt/sources.list.d/sury-php.list

# wget -qO – https://packages.sury.org/php/apt.gpg | sudo apt-key add –
# sudo apt update

après la commande update, le système nous informe qu’il a plusieurs paquets qui peuvent être mis a jour, on peu afficher la liste des paquets avec :
# apt list —upgradable

on s’apercoit que php y figure, on va donc upgrader les paquets.
# sudo apt upgrade

il faut maintenant désinstaller les paquets php7 :
# sudo apt autoremove

il faut installer la nouvelle versiond de php-fpm :
# sudo apt install php8.0-fpm
Activer les modules :
# sudo a2enmod proxy_fcgi setenvif
# sudo a2enconf php8.0-fpm
#sudo a2dismod php8.0

# sudo systemctl reload apache2


 

Sur une installation de base sans php7
on ajoute le depot sury (la 3em commande ne passe qu en root):
# sudo  apt install -y lsb-release apt-transport-https ca-certificates wget
# sudo  wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# sudo echo « deb https://packages.sury.org/php/ $(lsb_release -sc) main » |tee /etc/apt/sources.list.d/php.list

on installe php 8
# sudo apt install -y php8.0
# sudoapt install -y php8.0-fpm

puis les extensions:
# sudo apt install php8.0-{curl,gd,intl,memcache,xml,zip,mbstring,mysql}
on peu verifier la version de php:
# php -v

Activer les modules :
# sudo a2enmod proxy_fcgi setenvif
# sudo a2enconf php8.0-fpm
#sudo a2dismod php8.0