Gnu/Linux
MySQL
Matériel
SSH
Debian
Ubuntu
Bash
Apache
Nginx
SSL
Réseaux
Ftp
Unix
il y a 3 ans citizenz7 0 commentaire 9608 lectures
Prérequis :
NOTE : j'utilise Hetzner pour ce tuto. Il est évident que vous pouvez utiliser n'importe quel autre fournisseur comme par exemple OVH, Scaleway, Online, etc. Cela fonctionnera de la meme manière ! :)
1ère connexion au VPS
ssh root@IP_VPS
Ajouter un utilisateur :
adduser MON_USER
On donne les droits sudo à l'utilisateur :
adduser MON_USER sudo
Changer le port de SSH pour plus de sécurité et de tranquilité :
nano /etc/ssh/sshd_config
#Port 22
Port 9521
(Ici, le N° de port est donné à titre indicatif. Vous pourriez tout aussi bien utiliser 9288 ou 10255... Mais vérifiez que le port que vous souhaitez choisir n'est pas un port déjà attribué à une application ou un service. Choisissez un port "haut" (c'est à dire par exemple 7000 et +)
Mettre à jour le VPS, faire un peu de nettoyage et installer des applis utiles... et rebooter dans la foulée (tout sur une seule ligne) :
apt update && apt upgrade -y && apt autoremove -y && apt install -y mc htop ntp ntpdate fail2ban screenfetch vim-nox curl git && reboot
PS : screenfetch, c'est pour le fun :D
Le VPS va rebooter et couper la connexion. A la reconnexion, on utilisera le nom du nouvel utilisateur + son mot de passe. On utilisera sudo pour les commandes qui nécessitent les droits super-utilisateur. Le mot de passe qui sera alors demandé sera le même que notre nouvel utilisateur.
On se reconnecte en SSH au VPS, avec le nouveau port (celui que vous avez choisis) :
On installe nginx, mariadb-server, PHP (7.4) :
sudo apt install nginx mariadb-server php7.4-fpm php7.4-curl php7.4-gd php7.4-mysql php7.4-xml php7.4-intl php7.4-mbstring php7.4-zip php7.4-mbstring
On configure le virtualhost par défaut pour prendre en compte PHP :
cd /etc/nginx/sites-available/
sudo nano default
../..
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
../..
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
On teste la config de Nginx :
sudo nginx -t
Si tout est ok (sans erreur), on relance Nginx :
sudo /etc/init.d/nginx restart
On se rend dans le répertoire du virtualhost par défaut :
cd /var/www/html
On va créer un fichier info.php pour vérifier que PHP fonctionne :
<?php
phpinfo();
?>
On se rend sur cette page info.php grâce au navigateur :
http://IP_VPS/info.php
Vous devriez voir la page d'info de PHP...
On configure Mariadb (MySQL) :
sudo mysql_secure_installation
Enter current password for root (enter for none): Enter
Set a root password? [Y/n] y
On entre le mot de passe root de MySQL :
ATTENTION : le mot de passe root de MySQL n'a RIEN A VOIR avec le mot de passe root de Linux !
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
On installe phpmyadmin :
sudo apt install phpmyadmin
Quand vous arrivez sur l'écran "Configuring phpmyadmin - Please the webserver that should be automaticaly configured to run phpMyAdmin", ne cochez RIEN (ni apache2, ni lighttpd)... puisqu'on utilise Nginx !
Puis à l'écran suivant : "Configure database for phpmyadmin with dbconfig-common?" --> répondez YES
Puis à l'écran suivant : "MySQL application password for phpmyadmin" : vous pouvez ne rien mettre et simplement sélectionner OK (ca créera un mot de passe automatiquement. Vous n'aurez pas besoin de ce mot d epasse par la suite de toutes façons...)
Puis on configure phpMyAdmin :
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/
Dernière confgiuration de MySQL pour permettre avec phpMyAdmin de se connecter avec l'utilisateur root :
echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root
Puis :
sudo nano /etc/mysql/debian.cnf
Dans ce fichier, ecrivez le mot de passe root MySQL aux lignes 5 et 10 (password = MOT_DE_PASSE)
On redémarre enfin mariadb :
sudo /etc/init.d/mysql restart
ET VOILA : désormais, vous pouvez vous connecter à phpmyadmin à l'adresse : http://IP_VPS/phpmyadmin
Si vous avez un nom de domaine, vous pouvez le faire pointer sur l'adresse IP de votre VPS. Il va alors falloir créer un virtualhost Nginx pour notre site qui sera joignable sur www.MON_DOMAINE.COM ou MON_DOMAINE.com.
A SUIVRE ...
Blog d'un geek quinqua nivernais fan d'ovalie, de linuxerie, de musique et de Net
@Kilenge22 De rien ;)...
citizenz
19-08-2024
Salut et merci vraiment ...
Kilenge22
18-08-2024
@Denny, c'est à dire ?...
citizenz
10-08-2024
Pour savoir s’y a du vent, il faut mettre son doigt dans le cul du coq. (Kadoc, Kaamelott, Livre II, 41 : O’Brother)