Mise en place d'un serveur sous Debian (❤️🔥) avec un accès ssh qui fera tourner un service nginx avec PHP et sqlite
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
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
Création des clefs rsa
ssh-keygen -t rsa -b 4096
On envoie cette clef vers le serveur
ssh-copy-id utilisateur@ip
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
/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 !