Les programmes serveur sous node.js

Après avoir fini l'installation d'un serveur debian (wheezy): apt-get update && apt-get upgrade -y Pour installer mongoDB faites apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 puis echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list ajoutez le repository backport avec : nano /etc/apt/sources.list et ajoutez y la ligne suivante : deb http://http.debian.net/debian wheezy-backports main mettez à jour les paquets : apt-get update puis installez les ligiciels suivantes: apt-get install git vim curl build-essential sudo mongodb-org nginx-full=1.6.* nginx-common=1.6.* python -y installation de nvm et node.js

installation, configurartion de pm2

configuration de mongodb

installation de nodebb et configuration

Le script qui fait le café

Création des utilisateurs
De manière à empécher quiconque d'utiliser le serveur en root nous allons créer 2 utilisateurs : 1 pour pouvoir administrer le serveur et un autre permettant l'autenthification au serveur.

ajouter un utilisateur : adduser nomUtilisateurAdmin pour permettre à un utlisateur d'administrer le serveur faites : usermod -a -G sudo nomUtilisateur puis ajoutez un autre utilisateur : adduser nomUtilisateurLogin N'oubliez pas de regarder ces quelques conseils pour choisir un bon mot de passe

Création de la paire de clé sur la machine locale
sur la machine locale rendez vous dans le dossier /home/nomDUtilisateur/.ssh puis faites : touch nomdelaclef ssh-keygen -t rsa Lors de la création de la clé on vous demandera dans quel fichier la placer (par défaut dans id_rsa) indiquez alors l'emplacement du fichier nouvellement crée Entrez ensuite une passphrase quelques conseils pour choisir un bon mot de passe

vérifiez que les clés appartiennent à l'utilisateur et non à root en faisant : ls -l dans le cas ou nomdelaclef et nomadelaclef.pub appartiennent à root faites : chown nomDUtilisateur: nomDUtilisateur nomdelaclef chown nomDUtilisateur: nomDUtilisateur nomdelaclef.pub modifier les droits des clés : /home/nomDUtilisateur/.ssh) chmod 644 nomdelaclef.pub  chmod 600 nomdelacle

Mise enplace du fichier config sur la machine locale
(toujours dans le dossier /home/nomDUtilisateur/.ssh) nano config puis complétez ce texte et collez le : Host adresseDuServeurOuNom Hostname adresseIPDuServeur PreferredAuthentications publickey IdentityFile /home/nomDUtilisateur/.ssh/nomdelaclef sauvegardez

modifiez les droit du fichier config : chmod 644 config /home/nomDUtilisateur/.ssh

Mise en place de la clé sur le serveur
Sur votre machine locale dans votre répertoire /home/nomDUtilisateur/.ssh) pour copier la clé publique sur la machine distante faite : ssh-copy-id -i nomdelaclef.pub nomUtilisateurLogin@ip.du.ser.veur entrez le mot de passe du nomUtilisateurLogin pour transférer la clé.

Connectez vous ensuite au serveur de la manière suivante ssh nomUtilisateurLogin@ip.du.ser.veur après avoir entré votre mot de passe connectez vous avec votre compte admin de la manière suivante su nomUtilisateurAdmin entrez votre mot de passe puis connectez vous en root avec sudo su ré-entrez votre mot de passe pour vous connecter.

par mesure de précaution entrez les commandes suivantes pour les permissions : chown -R nomUtilisateurLogin:nomUtilisateurLogin /home/nomUtilisateurLogin/.ssh chmod 700 /home/nomUtilisateurLogin/.ssh chmod 600 /home/nomUtilisateurLogin/.ssh/authorized_keys

Configuration du serveur ssh
par précaution faire une copie de sauvegarde du fichier de configuration : cp /etc/ssh/sshd_config /etc/ssh/sshd_config.copy puis nano /etc/ssh/sshd_config vérifiez la présence dans le fichier de Protocol 2 Modifiez le numéro de port, par exemple : Port 1000 modifiez de la sorte : PermitRootLogin no décommentez et modifiez : PasswordAuthentication no et ajoutez en dessous : UseDNS no AllowUsers nomUtilisateurLogin sauvegardez

redémarrez ssh avec : service ssh restart déconnectez vous avec : exit Lors de votre prochaine connection faites simplement (remplacez 1000 par le nombre du port que vous avez  choisi au préalable :  ssh -p 1000 nomUtilisateurLogin@ip.du.ser.veur mais le mot de passe qui vous sera demandé sera alors celui de la passe phrase entrée lors de la création de la clef