Mise en place d'un serveur intranet

Mise en place d'un nouveau serveur intranet

Mise en place d'un serveur sous Debian (❤️‍🔥) avec un accès ssh qui fera tourner un service nginx avec PHP et sqlite

Paquets utilisés

Creation clef bootable

Lister nos disques disponible pour ne pas se tromper

fdisk -l

On démonte la clef usb

umount /dev/sda

On la formate dans le systeme de fichier voulu exemple en fat

mkfs.vfat /dev/sda -I

On copie l'iso sur la clef

dd if=Chemin/vers/iso of=/dev/sda

Ici il ne restera plus qu'a installer Debian sur la machine cible

configuration de UFW (firewall)

On rejette toutes connexion entrante mais on accepte le port 22 et 80 pour le ssh et le http

ufw default deny incoming

ufw allow 22

ufw allow 80

On met le firewall enable et on le démarre

systemctl enable ufw

systemctl start ufw

On vérifie bien l'état de celui ci au passage

systemctl status ufw

On peut lister les règles pour bien être sur que tout soit en ordre

ufw status

Configuration ssh pour le client

Création des clefs rsa

ssh-keygen -t rsa -b 4096

On envoie cette clef vers le serveur

ssh-copy-id utilisateur@ip

Configuration ssh pour le serveur

Dans le fichier de configuration /etc/ssh/sshd_config on decommente et change

PermitRootLogin no

PubkeyAuthentication yes

PasswordAuthentication no

PermitEmptyPasswords no

Bien vérifier les droits du fichier des clefs publiques (on ne sait jamais)

chmod 600 .ssh/authorized_keys

Configuration et préparation de nginx

/etc/nginx/sites-available/[nom du projet]

server {

listen 80 default_server;

listen [::]:80 default_server;

root /var/www/[nom du projet];

index phpindex.php;

server_name _;

location / {

try_files $uri $uri/ =404;

}

location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php-fpm.sock;

}

}

Création du dossier du projet dans le var

mkdir /var/www/[nom du projet]

On fait un lien symbolique dans sites-enabled

ln -s /etc/nginx/sites-available/[nom du projet] /etc/nginx/sites-enabled/

Mettre un fichier PHP de test avec ce code pour être sur que tout fonctionne bien

<?php phpinfo();?>

A partir d'ici le serveur est prêt pour de nouvelles aventures !