# Manual Install

# Lynis - System Audits

Lynis is a tool, that scans your local system for misconfigurations. At the end, you will get an index score, that indicates how safe your system is. Anything above 80 is fine. Everything below 70 is worrisome. You can install Lynis the following way:

```bash
sudo apt install apt-transport-https ca-certificates host gnupg
sudo wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -
sudo echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
sudo apt update
sudo apt install lynis host
```

Update the database:

```bash
sudo lynis update info
```

To audit your system run

```bash
sudo lynis audit system
```

Below your score, you will also see a list of recommended actions to take. Keep in mind, that Lynis is not perfect, so it might also show errors, for stuff you fixed in a different way than Lynis expected.

<div class="page-content" id="bkmrk-"><div class="text-muted text-small"><div class="entity-meta"></div></div></div>

# Installation de GLPI

##### Présentation

GLPI (Gestionnaire Libre de Parc Informatique) est un logiciel libre de gestion des services informatiques et de gestion des services d'assistance.

Parmi ses caractéristiques, cette solution est capable de construire un inventaire de toutes les ressources de la société et de réaliser la gestion des tâches administratives et financières. Les fonctionnalités de cette solution aident les administrateurs informatique à créer une base de données regroupant des ressources techniques et de gestion, ainsi qu’un historique des actions de maintenance. La fonctionnalité de gestion d'assistance ou helpdesk fournit aux utilisateurs un service leur permettant de signaler des incidents ou de créer des demandes basées sur un actif ou non, ceci par la création d'un ticket d’assistance.

##### Prérequis

GLPI est une application web. Nous allons l’installer sur Debian 9, et nécessite donc plusieurs paquets:

- - Apache 2
    - Php et ses dépendances
    - MySQL, qui peut être soit en local, soit en déporté sur un autre serveur

##### Installation de base

On fait d’abord les mises à jours

```
apt-get update && apt-get upgrade
```

On installe ensuite tous les paquets nécessaire

```
apt-get install apache2 php php-gd php-mysql mysql-server php-mbstring php-curl php-xml
```

##### Initialisation de la base de données

Pour créer une base de donnée il faut d'abord rentrer dans la console mysql:

```
$ mysql -u root -p
```

On crée la base de donnée bddglpi

```
> create database bddglpi character set utf8;
```

On donne tous les privilèges sur la bddglpi à l’user glpi avec le mot de passe glpi

```
> grant all privileges on bddglpi.* to glpi@localhost identified by 'glpi';
> exit
```

##### Installation de GLPI

Pour télécharger GLPI nous devons d’abord récupérer le code source compressée

```
wget https://github.com/glpi-project/glpi/releases/download/9.3.3/glpi-9.3.3.tgz
```

Pour le décompresser

```
tar xzvf glpi-9.3.3.tgz
```

On déplace ensuite le dossier GLPI vers le dossier web

```
mv glpi /var/www/html
```

Pour finir, on ajoute les droit à l’utilisateur apache pour qu’il puisse l’afficher et le modifier

```
chown -R www-data /var/www/html/glpi
```

# Installer Odoo 15 sur Debian 11

Odoo est ERP (Enterprise Ressource Planning), un progiciel open-source de gestion intégré. Il fonctionne avec des modules qui répondent aux besoins de la gestion d’une entreprise et la gestion de la relation client. Odoo fonctionne avec le SGBD PostgreSQL. Dans cette procédure, je vais vous montrer comment installer Odoo 15 ainsi que PostgreSQL14 sur une machine Debian 11.

<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex" id="bkmrk-"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis: 33.33%;"><div class="wp-block-image"><figure class="aligncenter size-full">[![logo-odoo.jpeg](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/ty8lzPMKQHfcI78Y-logo-odoo.jpeg)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/ty8lzPMKQHfcI78Y-logo-odoo.jpeg)

</figure></div></div></div>## Prérequis :

- Une machine sur Debian 11
- Les accès root sur la machine Debian

## Installer Odoo 15 sur Debian 11 :

Avant de commencer l’installation de Odoo, il faut mettre à jour la machine avec la commande :

```
apt update && apt upgrade -y 
```

Après avoir mis à jour la machine, on va avoir besoin de dépendances :

```
apt install gnupg gnupg1 gnupg2 wget vim sudo -y
apt-get install -y lsb-release && apt-get clean all
```

### Installation de PostgreSQL sur Debian (pour Odoo) :

Il faut installer Postgresql 14 sur la machine :

On commence par ajouter les sources de PostgreSQL :

```
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
```

Puis on ajoute la clé de GPG :

```
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
```

Ensuite on met à jour les sources :

```
sudo apt -y update
```

Après avoir mis à jour les sources, il est possible d’installer PostgreSQL avec la commande :

```
sudo apt install postgresql-14 -y
```

On peut enfin vérifier que l’installation c’est bien effectuée :

```
sudo -u postgres psql
```

Pour quitter la console PostgreSQL :

```
exit
```

Changement de la pair de confiance :

```
sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/14/main/pg_hba.conf
```

Autorisation de la connexion avec un mot de passe :

```
sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/14/main/pg_hba.conf
```

Puis modifier le fichier « /etc/postgresql/14/main/pg\_hba.conf » :

```
sudo vim /etc/postgresql/14/main/pg_hba.conf
```

Ajoutez ces lignes :

[![installation-odoo-postgresql.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/GoBgjkOVmKo9qv57-installation-odoo-postgresql.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/GoBgjkOVmKo9qv57-installation-odoo-postgresql.png)

```
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             0.0.0.0/24              md5
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
host    all             all             0.0.0.0/0               md5
```

Ensuite on peut redémarrer et activer le service PostgreSQL :

```
sudo systemctl restart postgresql
sudo systemctl enable postgresql
```

Après avoir configurer PostgreSQL on peut se créer un compte administrateur pour gérer la base de données :

D’abord on va se connecter à PostgreSQL :

```
sudo -u postgres psql
```

Puis on va envoyer la requête SQL pour créer le compte utilisateur (pensez à changer le nom d’utilisateur et le mot de passe).

```
CREATE ROLE administrateur WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'M0t de p@sse';
```

### Installation de Odoo sur Debian :

Avant d’installer Odoo sur la machine, on va d’abord installer la clé GPG du repository :

```
wget https://nightly.odoo.com/odoo.key
cat odoo.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/odoo.gpg  >/dev/null
```

Après on ajoute le repository et on met à jour les paquets de la machine :

```
echo "deb http://nightly.odoo.com/15.0/nightly/deb/ ./" | sudo tee /etc/apt/sources.list.d/odoo.list
sudo apt update
```

Ensuite on peut installer Odoo 15 :

```
sudo apt install odoo -y
```

Une fois Odoo installer on peut vérifier son bon fonctionnement et l’activer au démarrage :

```
systemctl status odoo
sudo systemctl enable --now odoo
```

Odoo fonctionne avec le port 8069 en TCP (A autorisé dans votre firewall si vous en utilisez un, je vous conseil d’utiliser [UFW](https://aymeric-cucherousset.fr/firewall-ufw-sur-debian-11/) ).  
Pour accèder à Odoo depuis un navigateur web utilisez l’url : http://ip-de-la-machine:8069

<figure class="aligncenter size-full" id="bkmrk--2">[![installer-odoo-debian.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/8bEsG4o8NwIMFEXZ-installer-odoo-debian.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/8bEsG4o8NwIMFEXZ-installer-odoo-debian.png)

</figure>Voici l’interface après l’installation :

<figure class="aligncenter size-large" id="bkmrk--3">[![odoo-15-sur-debian-11-1024x505.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/fyZFIdkdV90bC6wK-odoo-15-sur-debian-11-1024x505.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/fyZFIdkdV90bC6wK-odoo-15-sur-debian-11-1024x505.png)

</figure>

# Installer Symfony 6 sur Debian 11

Symfony est un framework PHP structuré en MVC accompagné de composants. Symfony permet de développer rapidement une application Web. Symfony peut permettre de créer des applications web et des API. Dans cette procédure, je vais vous expliquer comment installer Symfony 6 sur une machine Debian 11.

[![symfony.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/N32GbrfkHUiI2Skb-symfony.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/N32GbrfkHUiI2Skb-symfony.png)

## Prérequis pour installer de Symfony 6 sur Debian 11 :

- Une machine Debian 11

## Installer de Symfony 6 sur Debian 11 :

Avant de commencer l’installation de Symfony 6 sur Debian Bullseye, on va commencer par mettre à jour les paquets

```
apt update && apt full-upgrade -y
```

### Installer PHP 8 :

Avant d’installer PHP 8, on va avoir besoin des d’installer les paquets suivants :

```
apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
```

Ensuite, on ajoute un nouveau dépôts de paquets :

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

Ajout de la clé du dépot :

```
wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add -
```

Mise à jour des paquets :

```
apt update && apt upgrade -y
```

Installation de PHP 8 :

```
apt install php
```

### Installation de Composer :

Pour fonctionner, Symfony à besoin de Composer, et Composer à besoin de PHP pour l’installer :

```
apt install wget php-cli php-xml php-zip php-mbstring unzip -y
```

Ensuite on télécharge le programme d’installation de Composer :

```
wget -O composer-setup.php https://getcomposer.org/installer
```

Puis on exécute le programme d’installation de Composer

```
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
```

Vérification que composer est bien installé

```
composer --version
```

[![installer-symfony-6-sur-debian-11-version-composer.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/XmpOucqoM8zEVXo2-installer-symfony-6-sur-debian-11-version-composer.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/XmpOucqoM8zEVXo2-installer-symfony-6-sur-debian-11-version-composer.png)

### Installer Symfony 6 sur Debian 11 :

D’abord on télécharge et on exécute le programme d’installation fournis par Symfony :

```
curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash
```

Puis on Installe la CLI (Interface en ligne de commande) Symfony.

```
apt install symfony-cli
```

Enfin on vérifie que Symfony à bien installé.

```
symfony -V
```

[![installer-symfony-6-sur-debian-11-version-symfony.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/kLm0t8N4n9oLO1uu-installer-symfony-6-sur-debian-11-version-symfony.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/kLm0t8N4n9oLO1uu-installer-symfony-6-sur-debian-11-version-symfony.png)

### Création d’un projet de test :

Pour vérifier que Symfony 6 fonctionne normalement, on va créer un projet Symfony 6 à l’aide de la CLI Symfony.

```
symfony new --webapp test 
```

[![installer-symfony-6-sur-debian-11-nouveau-symfony-projet.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/ltMj8EpmkDncNHcr-installer-symfony-6-sur-debian-11-nouveau-symfony-projet.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/ltMj8EpmkDncNHcr-installer-symfony-6-sur-debian-11-nouveau-symfony-projet.png)

Puis rendez-vous dans le dossier du projet Symfony qui vient d’être créer (test).

```
cd test
```

Ensuite, on démarre le serveur web de Symfony 6 :

```
symfony serve
```

Enfin, le port utilisé sera indiqué dans le terminal et après avoir démarrer le serveur web sera disponible depuis un navigateur Web.

[![installer-symfony-6-sur-debian-11-nouveau-symfony-projet-demarrer-1024x505.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/8gxG0fP5IGeIgzqk-installer-symfony-6-sur-debian-11-nouveau-symfony-projet-demarrer-1024x505.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/8gxG0fP5IGeIgzqk-installer-symfony-6-sur-debian-11-nouveau-symfony-projet-demarrer-1024x505.png)

# Installer Composer sur Debian 11

Dans cette procédure, je vais vous expliquer comment installer composer sur une machine Debian 11. Composer est un outils qui permet d’installer des Bibliothèques PHP rapidement en ligne de commandes.  
Composer a lui même été coder dans le langage PHP. L’outil Composer est gestionnaire de Librairie (PHP) très populaire, il est également utiliser par les développeur qui utilisent le framework PHP Symfony.

<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex" id="bkmrk-"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis: 33.33%;"><figure class="aligncenter size-full">[![logo-composer.jpeg](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/MgOiwycPvD3njQjc-logo-composer.jpeg)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/MgOiwycPvD3njQjc-logo-composer.jpeg)

</figure></div></div>## Prérequis :

- Une machine sous Debian 11
- Avoir PHP d’installer ([Installer un serveur Lamp sous Debian 11](https://aymeric-cucherousset.fr/creer-un-serveur-lamp-linux-apache-mariadb-php-phpmyadmin-sur-debian-11-bullseye/))

## Installer Composer sur Debian 11 :

Dans un premier temps, nous allons récupérer le fichier d’installation de composer.

```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 
```

Puis nous allons l’exécuter afin d’installer composer sur notre machine.

```
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
```

Ensuite nous allons donner les droits a composer de d’exécuter sur notre machine.

```
chmod +x /usr/local/bin/composer
```

Ensuite vous pouvez vérifier que composer c’est bien installer :

```
composer --version
```

[![composer-version.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/ppPFc0I8x6Xy05Vl-composer-version.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/ppPFc0I8x6Xy05Vl-composer-version.png)

Enfin vous pouvez mettre à jour composer avec :

```
composer self-update
```

[![composer-upgrade.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/cl4UFGwWFuJEP5wg-composer-upgrade.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/cl4UFGwWFuJEP5wg-composer-upgrade.png)

Une fois que vous avez installer Composer sur votre machine et vous pouvez vous rendre dans le dossier de votre projet.

```
cd mon-projet
```

Puis vous pouvez inclure la librairie que vous avez besoin :

```
composer require --dev phpunit/phpunit 
```

Le drapeau « dev » est appelé pour informer que la librairie ne sera donc utilisée uniquement sur la version de développement.

# Installer Plex sur Debian 11

Dans cette procédure, je vais vous montrer comment installer Plex sur une machine Debian 11. Plex est un service de médias-center permettant de centraliser ses médias. Plex dispose également d’un agent qui récupère les informations sur les médias pour obtenir des détails sur les médias. Plex est un médias-center open-source et gratuit pour une utilisation limitée mais il est possible de rémunérer les créateurs afin de débloquer des fonctionnalités. Je ne serais en aucun cas responsable si vous utilisez cette procédure dans le but d’une utilisation illégale de cette procédure.

## Prérequis pour l’installation de Plex :

<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex" id="bkmrk-une-machine-debian-1"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">- Une machine Debian 11
- Des accès root sur la machine

</div></div>[![logo-plex.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/k26jitK4PZTxoTOC-logo-plex.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/k26jitK4PZTxoTOC-logo-plex.png)

## Installer Plex sur Debian 11 :

Avant de débuter l’installation de Plex sur la machine, on va d’abord la mettre à jour et installer des paquets :

```
apt update -y && apt upgrade -y && apt install sudo -y
```

Ensuite on va ajouter Plex dans les sources :

```
echo "deb https://downloads.plex.tv/repo/deb/ public main" > /etc/apt/sources.list.d/plexmediaserver.list
```

Puis avec une mise à jour des paquets, il sera possible d’installer plexmediaserver :

```
sudo apt update && sudo apt install plexmediaserver
```

Après on va activer puis démarrer Plex :

```
sudo systemctl enable plexmediaserver 
sudo systemctl start plexmediaserver 
```

Ensuite il sera possible de se connecter sur l’interface Web depuis un navigateur à l’adresse suivante :

```
http://ip-du-serveur:32400/web
```

Ensuite depuis l’interface Web il faut configurer l’emplacement des médias. Puis après vous aurez la possibilité de créer des comptes pour vos utilisateurs et vous aurez également la possibilité de gérer les droits.

Après avoir été connecter sur son compte Plex depuis votre serveur, vous pouvez également vous connecter à votre serveur Plex depuis l’url suivante : [https://app.plex.tv/desktop](https://app.plex.tv/desktop)

Cette méthode permet un accès depuis l’extérieur, sans avoir besoin de retenir l’adresse Ip public/dns et le port utilisé.

# Installer Nextcloud sur Debian 11

Dans cette procédure, je vais vous montrer comment installer Nexcloud sur Debian 11. Après avoir installé Nextcloud sur Debian 11 vous aurez une solution cloud à votre disposition. Installer Nextcloud sur Debian 11 permet de travailler avec vos collaborateur sur votre solution cloud open-sources. Nextcloud utilise la suite [OnlyOffice ](https://www.onlyoffice.com/fr/)qui est intégré lors de l’installation.

## Prérequis :

<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex" id="bkmrk-une-machine-debian-1"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis: 66.66%;">- Une machine Debian 11
- Les permissions administrateur

</div></div>[![Nextcloud_Logo-1024x726.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/DJIpeOmtwJufjuqQ-nextcloud-logo-1024x726.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/DJIpeOmtwJufjuqQ-nextcloud-logo-1024x726.png)

<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2 wp-block-columns-is-layout-flex" id="bkmrk--1"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">  
</div></div>## Installer Nextcloud sur Debian 11 :

Pour débuter l’installation de Nextcloud sur Debian 11, nous allons mettre à jour notre machine Debian :

```
sudo apt update && sudo apt upgrade -y
```

Puis on va télécharger les dépendances :

```
sudo apt install wget unzip
```

Ensuite, on va installer Apache2 comme serveur Web :

```
sudo apt install apache2 libapache2-mod-php
```

Après, on va installer php :

```
sudo apt install -y php php-gd php-curl php-zip php-dom php-xml php-simplexml php-mbstring php-mysql 
```

Et la base de données (Mariadb) :

```
sudo apt install mariadb-server
```

Ensuite on va changer le mot de passe root de Mariadb avec :

```
mysql_secure_installation
```

Enfin on va créer une base de données nextcloud et un utilisateur :

```
mariadb -u root -p
```

```
CREATE DATABASE nextclouddb;
GRANT ALL ON nextclouddb.* TO 'usernextcloud'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
```

Puis on va se rendre dans un emplacement temporaire pour télécharger Nextcloud :

```
cd /tmp
```

Ensuite, on va télécharger Nextcloud :

```
wget https://download.nextcloud.com/server/releases/nextcloud-22.2.3.zip
```

Après avoir télécharger l’archive, on va la dézipper :

```
unzip nextcloud-22.2.3.zip
```

Puis on va déplacer le dossier dans le répertoire Web :

```
mv nextcloud /var/www/html
```

Après on peut se rendre sur le site avec l’adresse ip de la machine pour poursuivre : http://votre-ip/

Enfin on ajoute les droits à l’utilisateur web sur le répertoire de Nextcloud :

```
chown -R www-data:www-data /var/www/html/nextcloud
```

Créer un compte administrateur pour Nextcloud :

[![install-wizard-a.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/kp62K1eNm4bvFwKe-install-wizard-a.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/kp62K1eNm4bvFwKe-install-wizard-a.png)

Puis saisissez vos accès à votre base de données :

[![nextcloud-debian-bdd-1024x479.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/M09CgurwzVW69xq9-nextcloud-debian-bdd-1024x479.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/M09CgurwzVW69xq9-nextcloud-debian-bdd-1024x479.png)

Après avoir saisis vos informations, l’installation de Nextcloud est terminée.

[![nextcloud-installation-debian-1024x483.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/3zQnKHYOqOD9sn0P-nextcloud-installation-debian-1024x483.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/3zQnKHYOqOD9sn0P-nextcloud-installation-debian-1024x483.png)

Vous pouvez désormais utiliser Nextcloud.

[![nextcloud-installation-1024x483.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/hxLugPmoMquN2Zai-nextcloud-installation-1024x483.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/hxLugPmoMquN2Zai-nextcloud-installation-1024x483.png)

# Installer PhpMyAdmin sur Debian 11

[PhpMyAdmin](https://www.phpmyadmin.net/) est une interface Web qui permet de gérer ses bases de données Mysql et Mariadb de manière graphique. Dans cette procédure je vais vous montrer deux manières d’installer PhpMyAdmin sur Debian 11 (Bullseye).

<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex" id="bkmrk-"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis: 66.66%;">  
</div></div>[![installer-phpmyadmin-sur-debian-11-logo-phpmyadmin.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/4DHOVUl43Oh0Xvif-installer-phpmyadmin-sur-debian-11-logo-phpmyadmin.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/4DHOVUl43Oh0Xvif-installer-phpmyadmin-sur-debian-11-logo-phpmyadmin.png)

## Prérequis :

- Une machine Debian 11 (Bullseye)
- Une base de données Mariadb ou Mysql

## Installer PhpMyAdmin sur Debian 11 :

L’installation de PhpMyAdmin peut se faire de deux manières différentes sur Debian, l’une d’elles se fait à l’aide à l’aide d’un dépôt ou sinon elle peut se faire en en saisissant une suite d’instruction dans votre terminal. Cette dernière méthode est plus longue mais personnalisable à vos besoins et elle est également plus sûre.

Avant de commencer à suivre la procédure, pensez à la liste de vos paquets à jour :

```
sudo apt update
```

Ces deux manières de procéder nécessitent une base de données Mariadb ou Mysql, Apache2 et aussi des paquets Php.

```
sudo apt install apache2 php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml wget -y
```

### Installation de PhpMyAdmin avec dépôt sur Debian 11 :

Il est possible de d’installer PhpMyAdmin à l’aide d’un dépôt, avec la commande suivante :

```
apt install phpmyadmin
```

### Installation de PhpMyAdmin manuellement sur Debian 11 :

Après avoir téléchargé les paquets, nous allons récupérer la dernière version de PhpMyAdmin :

```
DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz
```

Puis on extrait l’archive :

```
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
```

Ensuite on déplace le dossier dans le répertoire /usr/share/ :

```
mv phpMyAdmin-*/ /usr/share/phpmyadmin
```

Après avoir réalisé cette étape nous devons créer un répertoire pour les fichiers temporaires de PhpMyAdmin et attribuer l’utilisateur d’apache comme propriétaire de l’emplacement de PhpMyAdmin :

```
mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var/lib/phpmyadmin
```

Puis on peut copier le template de fichier de configuration de PhpMyAdmin afin de l’utiliser :

```
cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php
```

Et ensuite nous devrons éditer ce nouveau fichier :

```
nano /usr/share/phpmyadmin/config.inc.php
```

Définissez votre phrase secrète en y ajoutant la ligne :

```
$cfg['blowfish_secret'] = 'xxxxxxxxxxxxxxxx'; 
```

Et ajouter la ligne suivante pour spécifier à PhpMyAdmin de l’emplacement temporaire que nous avions créé :

```
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
```

Ensuite nous allons créer un virtualhost dans apache pour pouvoir avoir un accès à PhpMyAdmin :

```
nano /etc/apache2/conf-enabled/phpmyadmin.conf
```

Collez cette configuration dans le fichier :

```
Alias /phpmyadmin /usr/share/phpmyadmin
 
<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
 
    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>
 
        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>
 
        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
 
</Directory>
 
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>
 
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>
```

Puis ensuite on peut redémarrer le service Apache2 :

```
sudo systemctl restart apache2
```

Enfin vous pouvez vérifier que PhpMyAdmin est bien installé en vous rendant depuis un navigateur sur l’url : [http://votre-adresse-ip/phpmyadmin](http://votre-adresse-ip/phpmyadmin)

[![acces_php_my_admin.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/a2TLtgoxqM9BywUg-acces-php-my-admin.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/a2TLtgoxqM9BywUg-acces-php-my-admin.png)

Vos accès sont les mêmes que ceux de votre base de données Mysql ou MariaDB.  
Attention si vous avez refusé la connexion en tant qu’utilisateur root, il faudra créer et utiliser un autre compte utilisateur.

# Installer Npm sur Debian 11

Node Package Manager (NPM), est un gestionnaire de paquets pour Javascript (Node.js). Dans cette procédure, je vais vous montrer comment installer Npm sur une machine Debian 11, de deux manières différentes. Nous allons voir l’installation via les dépôts Debian 11 et depuis les dépôts Node. Npm est un outil très pratique pour les développeurs, car il leur permet de se focaliser sur leurs codes, en leur permettant d’importer rapidement les dépendances dont ils peuvent avoir besoin.

<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex" id="bkmrk-"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis: 66.66%;">  
</div></div>[![logo-npm.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/mgloqTKJ2u6H3KIa-logo-npm.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/mgloqTKJ2u6H3KIa-logo-npm.png)

## Prérequis :

- Une machine Debian 11

## Installer Npm sur Debian 11 :

Il y a plusieurs manières d’installer Npm sur une machine Debian, dans cette procédure nous allons voir l’installation de Npm via les dépôts Debian ainsi que via les dépôts de Node.

Dans les deux cas avant de procéder à l’installation de Npm, nous allons d’abord mettre à jour notre gestionnaire de paquets :

```
sudo apt update
```

## Installer Npm à l’aide des dépôts de Debian :

Nous allons télécharger Npm et [Node.JS](https://nodejs.org/en/docs/) depuis les dépôts Debian :

```
sudo apt install nodejs npm -y
```

Ensuite nous pouvons vérifier que NodeJs est bien installé sur la machine :

```
nodejs --version
```

[![installer-npm-sur-debian-11-version-nodejs.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/d1Oit8i0yWpjvaRI-installer-npm-sur-debian-11-version-nodejs.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/d1Oit8i0yWpjvaRI-installer-npm-sur-debian-11-version-nodejs.png)

Puis nous pouvons vérifier que Npm c’est également bien installer sur la machine :

```
npm --version
```

[![installer-npm-sur-debian-11-version-npm.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/0uWYy11He0s842ew-installer-npm-sur-debian-11-version-npm.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/0uWYy11He0s842ew-installer-npm-sur-debian-11-version-npm.png)

## Installer Npm via les dépôts Node :

Pour récupérer les dépôts de Node, il vous suffit d’exécuter cette commande :

```
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
```

Puis vous pouvez télécharger Nodejs et Npm :

```
sudo apt install nodejs npm -y
```

Enfin après avoir téléchargé NodeJs et Npm, vous pouvez vérifier qu’ils ont bien été installés à l’aide des commandes suivantes :

```
nodejs --version

npm --version
```

Si ces deux commandes vous retournent la version de chacun des paquets alors ils ont bien été installés !

## Installer l’outil de développement Npm sur Debian 11:

L’outil de développement est utilisé pour compiler et installer des modules complémentaires.

L’installation est très simple, il suffit de télécharger le paquet build-essential

```
sudo apt install build-essential -y
```

> Sources :
> 
> <cite>[https://www.npmjs.com/](https://www.npmjs.com/)  
> [https://nodejs.org/en/docs/](https://nodejs.org/en/docs/)</cite>

## Mettre à jour Nodejs :

Pour mettre à jour Nodejs, nous allons utiliser le module n :

```
sudo npm install n -g
```

Ensuite pour passer sur une version stable :

```
n stable
```

Pour passer sur la dernière version :

```
n latest
```

# Installer MariaDB sur Debian 11

Mariadb est Système de Gestion de Base de Données (SGBD) communautaire de Mysql. Dans cette procédure, nous allons voir comment installer [MariaDB](https://mariadb.org/documentation/) sur une machine Debian 11.

[![installer-mariadb-sur-debian-11-logo-mariadb.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/M25qGndFXSyIGsSg-installer-mariadb-sur-debian-11-logo-mariadb.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/M25qGndFXSyIGsSg-installer-mariadb-sur-debian-11-logo-mariadb.png)

## Prérequis pour installer MariaDB sur Debian 11 :

- Une machine Debian 11 (Bullseye)

## Installer MariaDB sur Debian 11 :

Avant de commencer l’installation de Mariadb sur notre machine Debian, nous allons d’abord mettre à jour la liste des paquets de notre machine.

```
sudo apt update
```

Puis nous allons installer les paquets serveurs et clients de Mariadb :

```
sudo apt install mariadb-server mariadb-client -y
```

Ensuite nous allons activer le service Mariadb et le démarrer

```
sudo systemctl enable mariadb
sudo systemctl start mariadb
```

Puis nous vérifions que le service est bien démarré et actif :

```
 sudo systemctl status mariadb
```

[![installer-mariadb-sur-debian-11-status-mariadb.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/evjcZmwAfpZC6UOD-installer-mariadb-sur-debian-11-status-mariadb.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/evjcZmwAfpZC6UOD-installer-mariadb-sur-debian-11-status-mariadb.png)

Une fois que ces étapes sont réalisées, nous pouvons configurer Mariadb.

```
mysql_secure_installation

```

```
Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password:  votre_mdp
Re-enter new password: votre_mdp
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
```

Après avoir rempli le questionnaire nous pouvons nous connecter au SGBD à l’aide de l’utilisateur root et du mot de passe choisis précédemment.

```
mariadb -u root -p
```

Ensuite votre mot de passe vous sera demandé puis vous allez avoir la possibilité d’exécuter vos requêtes SQL.  
La première chose à faire est de créer un autre utilisateur qui aura moins de permissions que l’utilisateur root.

```
CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe_utilisateur';
```

« utilisateur » est le nom d’utilisateur  
« mot\_de\_passe\_utilisateur » est le mot de passe de l’utilisateur

Ensuite il faudra attribuer des permissions à votre utilisateur à l’aide de la requête GRANT (**exemple à adapter en fonction de vos besoins**) :

```
GRANT ALL PRIVILEGES ON *.* to 'utilisateur'@'localhost';
```

Enfin on applique les privilèges :

```
FLUSH PRIVILEGES;
```

Et enfin on peut quitter la console Mariadb :

```
EXIT;
```

# Installer ZSH sur Debian 11

ZSH est un Shell interactif qui vus permet de gagner du temps lors de l’utilisation de ce Shell. Dans cette procédure, je vais vous montrer comment **installer ZSH sur une machine Debian 11** (Bullseye). Ainsi que l’installation de Oh My Zsh qui nous permettra d’installer des thèmes et des plugins afin de rendre notre Shell dynamique. D’autres shell dynamiques existent (comme [Fish](https://fishshell.com/)) mais sont moins réputés que ZSH.

[![logo-zsh.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/KE5m29Ad9RPzWav3-logo-zsh.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/KE5m29Ad9RPzWav3-logo-zsh.png)

## Prérequis :

- Avoir une machine sous le système d’exploitation Debian 11 (Bullseye)
- Avoir les permissions root sur la machine

## Installer ZSH sur Debian 11:

Avant de commencer l’installation de ZSH, nous allons d’abord mettre à jours la liste des paquets :

```
apt update
```

Ensuite vous pouvez télécharger le paquet zsh :

```
apt install zsh -y
```

Puis nous allons changer le Shell utilisé par l’utilisateur actuel (cette commande doit être exécuté sur tous les utilisateurs de la machine afin d’avoir ZSH) :

```
chsh -s $(which zsh)
```

Fermer le terminal actuel et ouvrer un nouveau terminal pour que ZSH soit utilisé.

## Installer OMZ (OH MY ZSH) sur Debian 11 :

Nous allons installer OH MY ZSH qui permet d’ajouter des thèmes et des plugins dans ZSH.  
Pour commencer, nous allons d’abord installer git et curl :

```
apt install curl git
```

Puis nous allons installer OMZ :

```
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

[![installer-zsh-sur-debian-11-installation-OMZ.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/d42ZU12NTztARwac-installer-zsh-sur-debian-11-installation-omz.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/d42ZU12NTztARwac-installer-zsh-sur-debian-11-installation-omz.png)

## Configuration de OMZ sur Debian 11 :

Les configurations de OMZ se font dans le fichier **~/.zshrc**

Pour changer le thème ([liste de thèmes OMZ](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)), modifier la ligne :

```
nano ~/.zshrc
```

```
ZSH_THEME="robbyrussell"
# Par 
ZSH_THEME="nouveau_theme"
```

Puis nous allons installer les plugins d’autocomplétion ainsi que de surlignage :

```
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
```

Ensuite nous ajoutons les plugins dans la configurations de zsh (**~/.zshrc**) en modifiant la ligne :

```
nano ~/.zshrc
```

```
plugins=(git)
# par 
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
```

Puis après avoir redémarrer le terminal, nous aurons les fonctionnalités des plugins.

D’autres plugins ZSH sont disponibles ici : [https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins](https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins) en procédant de la même manière qu’avec l’installation des plugins précédemment.

Vous pouvez également mettre à jour votre Shell avec la commande suivant :

```
omz update
```

Pour retirer ZSH de Debian il faut exécuter cette commande :

```
apt --purge remove zsh && chsh -s $(which "BASH")
```

# Créer un serveur Lamp (Apache MariaDB PHP) + PhpMyAdmin Debian

Dans cette procédure sera présenté étape par étape comment créer un serveur Lamp (Linux, Apache, Mariadb, Php) avec PhpMyAdmin sur une machine Debian 11. Après avoir suivis cette procédure vous aurez votre propre serveur Lamp sur votre machine Debian.

## Prérequis : 

- une machine Debian 11

### Installation :

Mise à jour du système :

```
apt update && apt full-upgrade -y
```

Installation des services :

```
apt install apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml wget -y
```

### Apache2 :

Après l’installation des paquets, le service apache2 est disponible depuis un navigateur Web :

```
http://[ServerIP]/
```

La page ci-dessous montre l’installation réussie :

[![acces_apache2_http-1024x381.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/ID4o3RGM5Gc3iXuL-acces-apache2-http-1024x381.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/ID4o3RGM5Gc3iXuL-acces-apache2-http-1024x381.png)

### [Php](https://www.php.net/) :

Après l’installation des paquets php est disponible, pour vérifier que le service fonctionne il faudra créer un fichier php et le tester :

Créer le fichier php :

```
echo "<?php phpinfo(); ?>" > /var/www/html/test.php
```

Depuis un navigateur web se rendre sur :

```
http://[ServerIP]/test.php
```

Une page ressemblent à celle ci-dessous correspondra une installation réussis :

[![acces-php-info-1024x404.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/dqYewARZK7drClS4-acces-php-info-1024x404.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/dqYewARZK7drClS4-acces-php-info-1024x404.png)

### MariaDB :

Installation et configuration des accès à la base de données :

```
mysql_secure_installation
```

```
Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
```

Connexion avec l’utilisateur root à la base de données :

```
mysql -u root -p
```

Saisir votre mot de passe de l’utilisateur root de MariaDB

```
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
```

Création d’un utilisateur et attribution de droits sur la base :

```
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* to 'user'@'localhost';

FLUSH PRIVILEGES;

EXIT;
```

Si vous avez un soucis lors de l’installation de MariaDB avec un conteneur LXC vous pouvez voir [ce post StackOverflow](https://stackoverflow.com/questions/59952398/mariadb-service-failed-to-set-up-mount-namespacing-permission-denied-failed).

### PhpMyAdmin :

Téléchargement de l’archive de PhpMyAdmin :

```
DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz
```

Extraction de l’archive :

```
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
```

Déplacer le dossier dans le répertoire : /usr/share/

```
mv phpMyAdmin-*/ /usr/share/phpmyadmin
```

Création d’un emplacement temporaire pour les fichiers PhpMyAdmin :

```
mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var/lib/phpmyadmin
```

Création d’un emplacement pour les fichier de configuration de PhpMyAdmin :

```
mkdir /etc/phpmyadmin/
```

Copie d’un fichier de configuration :

```
cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php
```

Edition du nouveau fichier de configuration et définir une phrase secrète :

Avec Nano ou Vim

```
nano /usr/share/phpmyadmin/config.inc.php
vim /usr/share/phpmyadmin/config.inc.php

```

```
$cfg['blowfish_secret'] = 'xxxxxxxxxxxxxxxx'; 
```

Configuration d’un emplacement temporaire :

```
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
```

Création d’un VirtualHost pour accèder à PhpMyAdmin avec Nano ou Vim :

```
nano /etc/apache2/conf-enabled/phpmyadmin.conf

Ou

vim /etc/apache2/conf-enabled/phpmyadmin.conf
```

Coller cette configuration :

```
Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>
```

Redémarrer le service Apache2 :

```
sudo systemctl restart apache2
```

Si vous avez un soucis avec Apache2 et que vous utilisez des conteneur LXC vous pouvez utilisez [ce Post du forum Proxmox](https://forum.proxmox.com/threads/apache2-service-failed-to-set-up-mount-namespacing-permission-denied.56871/).

### Accès à PhpMyAdmin :

```
http://[ServerIP]/phpmyadmin
```

[![acces_php_my_admin.png](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/a2TLtgoxqM9BywUg-acces-php-my-admin.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/a2TLtgoxqM9BywUg-acces-php-my-admin.png)

Les identifiants / mots de passe sont les mêmes que dans Mariadb.

Après avoir suivi cette procédure, je vous conseille de créer des Virtualhost apache afin de limiter les accès a vos sites uniquement par des noms de domaines, ainsi que l’ajout d’un firewall tel que Ufw pour limiter les accès a vos services.

# How to Install Go on Debian 12

Introduction

Go, or Golang, is a relatively new, open-source language created by Google. Its purpose is to streamline software development and enable users to create simple and reliable apps.

As a modern language, Go offers memory allocation, concurrency support, garbage collection, coordination avoidance, etc.

**This article explains how to install Go on Debian 12 in a few simple steps.**

<figure class="aligncenter size-full" id="bkmrk-">[![how-to-install-go-on-debian.webp](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/YDMOkWeG64yoomKt-how-to-install-go-on-debian.webp)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/YDMOkWeG64yoomKt-how-to-install-go-on-debian.webp)

</figure>Prerequisites

- Debian system (this tutorial uses Debian 12).
- A sudo user.
- Access to the command line.

## How to Install Go on Debian 12

Before starting the installation, ensure the Debian server is up to date. Update the repository with the following:

```
sudo apt update -y
```

<div class="wp-block-image" id="bkmrk--1"><figure class="aligncenter size-full">[![sudo-apt-update-y-terminal-output.webp](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/vFHPe8oI1b4X8YOY-sudo-apt-update-y-terminal-output.webp)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/vFHPe8oI1b4X8YOY-sudo-apt-update-y-terminal-output.webp)

</figure></div>### Step 1: Download Go

To start the installation process:

1\. Visit the Go downloads page.

2\. Click the Linux box under **Featured downloads** to start the download.

<div class="wp-block-image" id="bkmrk--2"><figure class="aligncenter size-full">[![download-go-from-the-website.webp](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/MA7tDlg1dyjU4dEA-download-go-from-the-website.webp)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/MA7tDlg1dyjU4dEA-download-go-from-the-website.webp)

</figure></div><p class="callout info">**Note:** Use wget or curl to download Go without accessing the browser.</p>

### Step 2: Extract Files

Extract files to the */usr/local* directory. To do that, take the following steps:

1\. Navigate to **Downloads** using the cd command:

```
cd ~/Downloads
```

<figure class="aligncenter size-full" id="bkmrk--3">[![cd-downloads-terminal-output.webp](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/bjGGJZi0Iw2s5i4w-cd-downloads-terminal-output.webp)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/bjGGJZi0Iw2s5i4w-cd-downloads-terminal-output.webp)

</figure>2\. Run the following command to extract files:

```
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
```

<figure class="aligncenter size-full" id="bkmrk--4">[![sudo-tar-terminal-output.webp](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/zbfYSX7dtiFCw9Gj-sudo-tar-terminal-output.webp)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/zbfYSX7dtiFCw9Gj-sudo-tar-terminal-output.webp)

</figure>The command doesn't print any output. However, tar extracts the specified file (*go1.19.2.linux-amd64.tar.gz*) to the desired directory.

### Step 3: Set the Environment

To set the environment variable, add */usr/local/go/bin* to PATH.

Take the following steps:

1\. Access *.profile* in Vim or another text editor.

```
vim .profile
```

2\. At the end of the file, paste the following lines:

```
export PATH=$PATH:/usr/local/go/bin

export GOPATH=$HOME/go

export PATH=$PATH:$GOPATH/bin
```

<div class="wp-block-image" id="bkmrk--5"><figure class="aligncenter size-full">[![vim-profile-terminal-output.webp](https://doc.vainsta.fr/uploads/images/gallery/2024-12/scaled-1680-/UsJyXbwmiEuuw1VD-vim-profile-terminal-output.webp)](https://doc.vainsta.fr/uploads/images/gallery/2024-12/UsJyXbwmiEuuw1VD-vim-profile-terminal-output.webp)

</figure></div>3\. Save and close the file.

4\. Reload your shell configuration to apply the changes with:

```
source ~/.profile
```

The command has no output.

<p class="callout info">**Note:** To install Go system-wide, edit */etc/profile*. To install it for the current user, access *$HOME/.profile*.</p>