Si un modérateur souhaite la source pour prouver que c'est bien de moi, n'hésitez pas à le demander.
Bonjour à tous,
Que vous soyez hébergeur amateur ou professionnel, il est toujours sympathique de savoir héberger son propre serveur sur une machine personnelle, ou louée chez un hébergeur officiel (OVH, Kimsufi, SYS). Ce tutoriel aura pour but de vous expliquer comment héberger votre serveur sous Linux (Précisément : Debian 6 ou 7).
Commençons !
Comment se connecter à ma machine dédiée ?
Vous utiliserez le système SSH. Ceci dit, il y a deux manières de le faire, en fonction de votre OS (système d'exploitation).
Sur Windows : Il vous faudra télécharger un logiciel se nommant "Putty" : http://www.putty.org/
Sur Mac et Linux : Il vous faudra ouvrir le terminal et y entrer la commande suivante :
ssh root@ip_du_serveur -p 22
Pour ce tutoriel, nous utiliserons Putty et travaillerons sous Windows.
Étape 1 – Récupérer les identifiants de connexion
Lors de la location de votre machine dédiée, vous recevrez normalement un courriel contenant l'adresse IP du serveur, le nom d'utilisateur par défaut (root s'il n'est pas modifié) et son mot de passe.
Étape 2 – Se connecter au serveur
Pour cela, vous devrez ouvrir Putty, entrer l'IP de votre serveur dans le champ « Hostname (or IP address) », puis cliquer sur Open afin d'obtenir cette fenêtre :
De cette fenêtre, vous devrez entrer le nom d'utilisateur et appuyer sur la touche Entrée, pour ensuite insérer le mot de passe. Il ne s'affichera pas, c'est normal. Quand vous l'aurez inséré, vous appuierez une nouvelle fois sur Entrée. Vous arriverez donc sur quelque chose comme ça :
Vous voilà donc connecté !
Étape 3 – Protéger son serveur
Maintenant, nous allons rajouter l'outil "Sudo" puis créer un second compte sur votre machine. Celui-ci vous permettra de vous connecter au serveur, vu que le compte "root" va être désactivé. Entrez les commandes suivantes (en spécifiant le nom d'utilisateur voulu) :
Code (cpp):
apt-get update
apt-get install sudo nano sudo
adduser <nom d'utilisateur>
Après, il vous suffira de répondre aux questions et le compte sera créé. Nous allons par la suite désactiver le compte "root" et cette étape sera finie. Pour cela, nous allons reconfigurer le serveur SSH. Utilisez les commandes suivantes :
Code (cpp):
cd /etc/ssh
rm sshd_config
nano sshd_config
Copiez le résultat dans le nouveau fichier à l'aide du clic droit (Putty ne reconnaît pas les raccourcis CTRL+C et CTRL+V).
Code (cpp):
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 2022
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding no
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
Désormais, faites CTRL+X pour quitter le fichier, puis confirmez la fermeture (via la touche O ou Y, en fonction de la langue du logiciel). Après ça, utilisez la commande suivante : /etc/init.d/ssh restart
Fermez Putty, ouvrez-le à nouveau et modifiez le port de connexion pour 2022 au lieu de 22. Connectez-vous et utilisez le compte secondaire que vous avez créé avec "sudo", vu que root n'est désormais plus accessible en SSH.
Étape 4 – Installation des mises à jour et de Java
Utilisez les commandes suivantes :
Code (cpp):
su
apt-get update
apt-get upgrade
apt-get install openjdk-7-jre
Étape 5 – Installation de Spigot
Pour cette étape, il nous faut préparer le serveur, puis récupérer Spigot. Effectuez les commandes suivantes :
Code (cpp):
sudo mkdir /opt/spigot/
sudo chown (nomdeluser):(nomdeluser) /opt/spigot/
cd /opt/spigot/
wget http://getspigot.org/spigot18/spigot_server.jar
Étape 6 – Installation de screen et lancement du serveur pour la première fois
Maintenant que nous avons installé le serveur, il faut installer screen, un petit logiciel qui va permettre à votre serveur de fonctionner 24 heures sur 24, sans s'arrêter quand vous couperez la session Putty. Entrez cette commande :
Code (cpp):
sudo apt-get install screen
Nous allons maintenant lancer le serveur pour la première fois, histoire de générer la map et créer les fichiers de configuration :
Code (cpp):
java -jar spigot_server.jar -nogui
Une fois que l’initialisation du serveur sera terminée, faites CTRL+W ou écrivez stop dans la console du serveur. Vous avez maintenant tous les fichiers générés ! Vous pourrez les modifier à votre guise avec la commande « nano » :
Code (cpp):
nano <nom du fichier>
Pour accéder à votre serveur ainsi qu'à ses fichiers, utilisez le logiciel Filezilla. Pour vous y connecter, rajoutez "sftp://" avant l'adresse du serveur et n'oubliez pas le port, qui sera le même que celui du SSH, c'est-à-dire, 2022.
Dès maintenant, vous pourrez lancer votre serveur avec la commande suivante :
Code (cpp):
screen -dmS bukkit "java -Xmx 1024M -Xms 256M -jar spigot_server.jar -nogui"
Dans la commande ci-dessus, le Xmx correspond à la RAM (mémoire vive) maximum que le serveur MINECRAFT peut utiliser. À l'inverse, le Xms est la RAM minimale qui est mise à sa disposition.
Pour arrêter le serveur, vous devrez entrer la commande suivante :
Code (cpp):
screen -r bukkit
stop
Étape 7 – Vous faciliter la tâche (Bonus)
Par expérience personnelle, il est assez ennuyeux de devoir, à chaque redémarrage de la machine, relancer le serveur avec toutes ces commandes. C'est pour cela que je vous ai créé ce qu'on appelle un Daemon (Démon). C'est un service qui fait que votre serveur démarre tout seul même après un redémarrage machine et qui vous permet de faire une seule commande pour le démarrer, le redémarrer et l'arrêter, en plus d'autres fonctionnalités. Voici la démarche à suivre :
Code (cpp):
su
cd
wget http://www.minecraft-news.fr/wp-content/uploads/2015/05/daemon
mv daemon /etc/init.d/minecraft.sh
chmod +r /etc/init.d/minecraft.sh
Voilà, votre bonus est installé ! Il ne vous manque qu'une dernière étape, le paramétrer !
Code (cpp):
nano /etc/init.d/minecraft.sh
Des commentaires ont été placés là où vous devez modifier la configuration. Voilà la liste des commandes d'utilisation de votre bonus.
Code (cpp):
# Liste des commandes :
/etc/init.d/ashucraft
# Démarrage du serveur minecraft
/etc/init.d/minecraft start
# Stopper le serveur minecraft
/etc/init.d/minecraft stop
# Redémarrage :
/etc/init.d/minecraft restart
# Status du serveur :
/etc/init.d/minecraft status
# Envoyer une commande au serveur :
/etc/init.d/minecraft command <ecrivez la commande a envoyé au serveur ici>
# Voir la console du serveur :
/etc/init.d/minecraft show