Skip to content

Guide d'installation d'un serveur debian

Procédure d'installation sur Linux Debian 11 ou Ubuntu 21.10.

Notes :

  • les lignes encadrées sont des commandes bash à exécuter
  • les lignes précédées de => sont des éditions à faire manuellement
  • selon l'hébergeur, certaines étapes de préparation ne sont pas nécessaires
  • le texte entre * est à remplacer par le votre
  • non testé avec d'autres distributions

1. Préparer l'installation

Les commandes suivantes permettent de configurer la machine virtuelle selon la localisation, ici en France, et de nommer la machine.

sudo dpkg-reconfigure tzdata

=> Sélectionner Europe / Paris

sudo dpkg-reconfigure locales

=> Sélectionner fr_FR.UTF-8 et fr_FR.UTF-8 par défaut

sudo hostnamectl set-hostname *votre_nom_de_serveur* --static

Les commandes suivantes mettent à jour les paquets et ajoutent les paquets utiles.

sudo apt -y update
sudo apt -y dist-upgrade

2. Installer postgresql

L'installation depuis le dépôt debian standard est réalisée de la manière suivante.

sudo apt -y install postgresql postgresql-contrib
sudo apt -y install postgis postgresql-13-postgis-3
Puis éditez le fichier de configuration :
sudo nano /etc/postgresql/13/main/postgresql.conf
=> changer :

listen_addresses='*'

Puis éditez le fichier d'autorisation :

sudo nano /etc/postgresql/13/main/pg_hba.conf
=> ajouter la ligne suivante pour autoriser l'accès exterieur à postgresql. host all all 0.0.0.0/0 md5

sudo systemctl reload postgresql
sudo -iu postgres
psql
CREATE EXTENSION adminpack;
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
ALTER ROLE postgres PASSWORD '*whateveryouwant*';
CREATE ROLE xfer38 LOGIN PASSWORD '*whateveryouwant*' SUPERUSER CREATEDB CREATEROLE;

3. Sécurisation du système

L'accès au serveur est sécurisé en retirant les accès aux comptes par défaut et installant un firewall:

sudo adduser adm_xfer
sudo usermod -a -G sudo adm_xfer
sudo nano /etc/sudoers
=> Modifier la ligne %sudo ALL=(ALL:ALL) NOPASSWD:ALL
sudo -iu adm_xfer
nano .profile
=> ajouter la ligne PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin:/bin" en fin de fichier
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
=> copier la clé publique et sauvegarder
chmod 600 .ssh/authorized_keys
sudo nano /etc/ssh/sshd_config
=> Modifier PermitRootLogin no
sudo nano /etc/passwd
=> remplacer /bin/bash par /usr/sbin/nologin pour les comptes debian ou ubuntu et postgres
sudo apt -y install ufw
sudo ufw allow ssh
sudo ufw allow postgresql
# For development servers with additional services (developpement...), to be customized
sudo ufw allow smtp
sudo ufw allow ftp
sudo ufw allow http
sudo ufw allow https
# After adding all ports
sudo ufw enable
sudo reboot

4. Créer le compte

La création du compte de téléchargement est assurée par:

sudo adduser xfer38

5. Installer l'application

Voir README.

10. Optionnel

Installation serveur FTP.

sudo apt -y install proftpd
sudo nano /etc/proftpd/proftpd.conf
=> Mettre UseIPv6 off => Modifier ServerName => Decommenter DefaultRoot ~ et ajouter RootLogin off => Modifier PassivePorts 50000 50100 et MasqueradeAddress 1.2.3.4 avec votre adresse IP
sudo ufw allow 50000:50100/tcp

11. Optionnel

Ajouter un disque supplémentaire.

sudo apt -y install lvm2
sudo cfdisk /dev/sdb
sudo pvcreate /dev/sdb1
sudo vgcreate storage /dev/sdb1
sudo lvcreate -l 100%FREE -n sharing storage
sudo mkfs.ext4 /dev/storage/sharing
sudo nano /etc/fstab
=> Ajouter la ligne /dev/storage/sharing /home/sharing ext4 defaults 0 2
sudo mkdir /home/sharing/
sudo chown xfer38 /home/sharing/
sudo chgrp xfer38 /home/sharing/
sudo mount /home/sharing/

12. Optionnel

Mise en place des outils de mail, surveillance...

sudo apt -y install mailutils postfix
=> Sélectionner Distribution directe par SMTP (site Internet) => Valeurs par défaut par la suite
sudo apt -y install opendkim opendkim-tools
sudo nano /etc/opendkim.conf
=> voir https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
sudo apt -y install logwatch
sudo mkdir /var/cache/logwatch
sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/
sudo nano /etc/logwatch/conf/logwatch.conf
=> MailTo = adresse@domaine.tld
sudo apt install fail2ban
=> Voir https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-debian-7