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:

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:

sudo lynis update info

To audit your system run

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. 

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:

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.

logo-odoo.jpeg

Prérequis :

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

# 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 ).
Pour accèder à Odoo depuis un navigateur web utilisez l’url : http://ip-de-la-machine:8069

installer-odoo-debian.png

Voici l’interface après l’installation :

odoo-15-sur-debian-11-1024x505.png

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

Prérequis pour installer de Symfony 6 sur 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

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

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

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

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.

logo-composer.jpeg

Prérequis :

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

Enfin vous pouvez mettre à jour composer avec :

composer self-update

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 :

  • Une machine Debian 11
  • Des accès root sur la machine

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

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 qui est intégré lors de l’installation.

Prérequis :

  • Une machine Debian 11
  • Les permissions administrateur

Nextcloud_Logo-1024x726.png


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

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

nextcloud-debian-bdd-1024x479.png

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

nextcloud-installation-debian-1024x483.png

Vous pouvez désormais utiliser Nextcloud.

nextcloud-installation-1024x483.png

Installer PhpMyAdmin sur Debian 11

PhpMyAdmin 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).


installer-phpmyadmin-sur-debian-11-logo-phpmyadmin.png

Prérequis :

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

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.


logo-npm.png

Prérequis :

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 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

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

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 :

https://www.npmjs.com/
https://nodejs.org/en/docs/

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 sur une machine Debian 11.

installer-mariadb-sur-debian-11-logo-mariadb.png

Prérequis pour installer MariaDB sur Debian 11 :

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

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) mais sont moins réputés que ZSH.

logo-zsh.png

Prérequis :

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

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), 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 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 : 

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

Php :

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

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.

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.

Accès à PhpMyAdmin :

http://[ServerIP]/phpmyadmin

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.

how-to-install-go-on-debian.webp

Prerequisites

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

sudo-apt-update-y-terminal-output.webp

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.

download-go-from-the-website.webp

Note: Use wget or curl to download Go without accessing the browser.

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

cd-downloads-terminal-output.webp

2. Run the following command to extract files:

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

sudo-tar-terminal-output.webp

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

vim-profile-terminal-output.webp

3. Save and close the file.

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

source ~/.profile

The command has no output.

Note: To install Go system-wide, edit /etc/profile. To install it for the current user, access $HOME/.profile.