Ce petit tuto a pour but de vous aider à créer un petit serveur Web Apache2 pour plusieurs utilisateurs
Pour une connexion SSH sécurisée, suivez ce lien :
L'écoute est par défaut définie sur le port 22. Il est donc déconseillé de le laisser comme tel et de modifier ce dernier.
Toujours dans votre connexion SSH tapez la commande ci-dessous afin de modifier le fichier de configuration du service :
Remplacer le nombre 22 par celui de votre choix. Par exemple : 22223.
Veuillez toutefois ne pas renseigner un numéro de port déjà utilisé sur votre système !
Sauvegardez puis quittez le fichier de configuration (Ctrl X puis validez).
Il vous faut ensuite redémarrer votre service :
A présent, lors de votre demande de connexion SSH sur votre machine il vous faudra obligatoirement renseigner le nouveau port :
Il est important de modifier le mot de passe reçu lors de l'installation.
Une personne ayant pu le récupérer via votre espace client ou votre adresse mail pourrait l'utiliser à vos dépends.
Pour modifier le mot de passe "root" tapez la commande suivante :
Votre système vous demandera alors de rentrer votre nouveau mot de passe par deux fois.
Veuillez noter néanmoins que votre mot de passe ne s'affichera pas lors de l'écriture par mesure de sécurité. Vous ne pourrez donc pas voir les caractères saisis.
Une fois cette opération terminée, dès les prochaines connexions sur votre système il vous faudra renseigner le nouveau mot de passe.
La création d'un nouvel utilisateur se fait avec la commande suivante :
Remplissez ensuite les différentes informations demandées par le système (Mot de passe, Nom etc).
Cette utilisateur sera autorisé à se connecter sur votre système en SSH avec le mot de passe indiqué lors de sa création.
Une fois connecté sur votre système avec ce dernier, si vous souhaitez effectuer des opérations nécessitant les droits root, il suffira de taper la commande suivante et indiquer le mot de passe associé à l'utilisateur root pour valider l'opération.
L'utilisateur root est par défaut, sur les système UNIX, celui qui possède le plus de droits sur votre système. Il est déconseillé et dangereux de laisser votre VPS uniquement accessible via cet utilisateur, ce dernier pouvant effectuer des opérations irréversibles sur votre serveur.
Il est recommandé de désactiver son accès direct via le protocole SSH.
Pour effectuer cette opération, il faut modifier le fichier de configuration SSH :
Repérez ensuite la section suivante :
# Authentication:
LoginGraceTime 120
PermitRootLogin yes <-
StrictModes yes
Remplacez le yes par no pour la ligne PermitRootLogin.
Pour que cette modification puisse être prise en compte il faut redémarrer le service SSH :
Maintenant, afin de pouvoir vous connecter sur votre système il vous faut utiliser l'utilisateur que vous venez de créer.
Domaine | TTL | Type | Cible |
---|---|---|---|
portfolio.alternative-rvb.com. | 0 | CNAME | alternative-rvb.com |
domain | 0 | CNAME | 'domaine principale' |
(On peut changer le répertoire cible : nano /etc/apache2/sites-enabled/000-default.conf)
Attention à ce que le paquet libapache2-mod-php7.2 soit bien installé
sinon# apt-get install libapache2-mod-php
Vérifier:
Puis dans la console MySQL :
{% hint style="info" %}
Option :
{% endhint %}
Et commenter les dernières lignes
OU
Et insérer les lignes :
Normalement vous pourrez accéder au site de l'utilisateur à l'adresse :
[ localhost/~ user ]
Activer le module userdir :
Créer un squelette pour les utilisateurs :
Une fois le squelette créé, on peut créer un nouvel utilisateur
(ici domain = portfolio.alternative-rvb.com) :
(ici pseudo = portfolio)
On crée un nouveau fichier /etc/apache2/sites-available/domain.conf
Et on y enregistre :
Lors de la créations de virtualhosts :
On valide et on ferme le fichier. On rend le domaine créé disponible.
On vérifie que la syntax est bonne :
Si en retour on obtient un « Syntax OK », on redémarre apache2 :
Normalement vous devriez pouvoir accéder à [ http://IP_DE_VOTRE_SERVEUR/~zone-web/ ] et y voir Nouvel espace web crée
[…]
Empêcher l'accès au serveur via son adresse IP
Pour des raisons diverses, on peut souhaiter empêcher les utilisateurs ne découvrant que l'adresse IP du serveur, de consulter son contenu.
La syntaxe est la suivante: il suffit de modifier le fichier /etc/apache2/sites-enabled/000-default, et d'y ajouter au début un VirtualHost répondant à l'adresse IP:
Où "www.xxx.yyy.zzz" est l'adresse IP publique du serveur.
Le Deny from all bloque l'accès à tout client qui appelle le site via l'adresse IP du serveur.
On garde ensuite, dans le même fichier, la configuration habituelle, avec une petite modification:
Il faut ajouter la directive ServerName et y placer le nom de domaine du serveur.Cela peut-être un nom dynamique (fourni par des services comme no-ip ou Dyndns).
Attention: cette technique n'est pas, à proprement parler, une "sécurisation". Elle évite juste de recevoir du trafic inutile de la part de bots, ou de se faire fouiller son serveur par des gens pratiquant le scan de port. Bien évidemment, si vous rendez publique le nom de domaine menant à votre serveur, ça ne change pas grand chose.