Instalation de base

A ce stade vous devez disposer d'une installation de Debian sur votre serveur dédié et il faut vous connecter à votre serveur en ssh. Dès que vous vous connectez à votre serveur il faut vous identifier avec votre nom d'utilisateur (ici root est le super utilisateur de votre serveur) et votre mot de passe. Quand vous taperez votre mot de passe aucun caractère ne s'affiche, c'est normal...

console de votre serveur dédié

login as: root
[email protected]'s password:

Changer le mot de passe du super utilisateur root

La première chose à faire si vous avez loué un serveur est de changer le mot de passe du super utilisateur root:

console de votre serveur dédié
passwd root

Mise à jour du serveur

Pour mettre à jour votre serveur dédié il faut être connecté en tant que root

console de votre serveur dédié

apt-get update && apt-get upgrade

Configurer le hostname


Le hostname est le nom de votre serveur adoré mais qui va vous en faire baver...
Le hostname sera également important dans la configuration bind du serveur.

Pour connaitre le nom de votre serveur, tapez :

hostname -f

ns3022121.ip-3-2-1.eu

Pour le modifiez, il faut éditer /etc/hostname :

nano /etc/hostname

ns3022121.ip-3-2-1.eu

Ensuite, éditez /etc/hosts pour modifier ce fichier, on ne modifie pas la première ligne mais on ajoute l'adresse IP du serveur suivie du nom du serveur :

nano /etc/hosts

127.0.0.1       localhost.localdomain localhost
xxx.xxx.xxx.xxx ns3022121.ip-3-2-1.eu

Et on redémarre le serveur (reboot)


sbin/reboot

Installation de apache2

console de votre serveur dédié

apt-get install apache2

Vous pouvez tester l'installation de apache2 : dans un navigateur tapez dans la barre d'adresse http://111.222.333.444 (l'ip du serveur)

Si vous installez votre serveur sur un ordinateur local (chez vous) et que vous voulez connaitre l'ip de votre machine alors faites ceci:

console de votre serveur dédié

ifconfig

et vous trouverez l'IP de votre machine dans le paramètre inet adr

Vous devriez voir afficher dans votre navigateur quelque chose comme ceci :

It works

Installation de php7.3

On cherche si le package php7.3 est disponible :

apt search php7.3

si vous n'avez pas de résultat, alors il va falloir mettre à jour vos sources :


apt -y install lsb-release apt-transport-https ca-certificates 
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.3.list

La commande wget peut être un peu longue...

Suivi d’une synchronisation de l’index des packages avec éventuelle mise à jour :


apt-get update && apt-get upgrade

on recherche à nouveau le package php7.3 :

apt search php7.3

et là on devrait avoir plein de résultats !

Et c'est partit pour l'installation de php7.3


apt-get install php7.3

On installe php7.3-mbstring en plus car par défaut il n'est pas installé...(nécessaire pour phpmyadmin


apt-get install php7.3-mbstring

Quelques librairies qui sont souvent nécessaires


apt-get install php7.3-gd
apt-get install php7.3-curl
apt-get install php7.3-zip

Vous auriez pu faire ceci:


apt-get install php7.3 php7.3-mbstring php7.3-gd php7.3-curl php7.3-zip

Pour connaitre et vérifier la version de PHP installé:


php -v

Remarque:

Si vous installez une nouvelle version de php par-dessus une autre, vous aurez plusieurs versions de php installée, vous devrez dire à apache laquelle utiliser:


a2dismod php5.6 php7.1 php7.0   ## désactiver php5.6 php7.1 et php7.0
a2enmod php7.3   ## php7.3
service apache2 restart

Installation de Mysql

console de votre serveur dédié

apt-get install mysql-server 

Vous aurez alors l'écran suivant qui vous demande un mot de passe, notez le bien dans un coin...

insallation mysql


Dans Debian 9, MariaDb sera installé à la place de Mysql

Si on ne vous demande pas de mot de passe alors faites ceci:

mysql_secure_installation


Enter current password for root (enter for none): taper sur ENTER
Set root password? [Y/n]: Taper sur Y et définissez votre mot de passe
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n] n dans mon cas, à vous de voir
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

et on installe le paquet php7.3-mysql

console de votre serveur dédié

apt-get install php7.3-mysql

on redémarre le service apache


/etc/init.d/apache2 restart

Installation de phpmyadmin

apt-get install phpmyadmin
Installation de phpmyadmin

Sélectionnez apache2 (en appuyant sur la touche espace) et valider <Ok> en appuyant sur la touche entrer (touche <TAB> pour se déplcer jusqu'au bouton OK.

Pour tester phpmyadmin tapez http://111.222.333.444/phpmyadmin

Et pour se connecter à phpmyadmin:

nom d'utilisateur : root
mot de passe : celui que vous avez choisi pour mysql

Si vous ne pouvez pas vous connecter alors c'est que MairaDb vous empeche de vous connecter en root, mais moi je prefere y avoir accès, donc:

mysql -u root -p

Enter password: ***************
update mysql.user set plugin = '' where User='root';
flush privileges;
exit;

Installation de bind9

apt-get install bind9

Installation de VSFTPD

apt-get install vsftpd

Vérification de quelques paramètres dans php.ini

On va maintenant vérifier quelques paramètres dans php.ini, une bonne occasion de se servir de l'éditeur de texte nano.


- Vérifier que le time.zone ne soit pas commenté (un commentaire commence par ; dans ce fichier php.ini
- Sinon remplir date.timezone = Europe/Berlin et redémarrer apache2 avec /etc/init.d/apache2 restart

nano /etc/php/7.0/apache2/php.ini

[Date]
; Defines the default timezone used by the date functions
date.timezone = Europe/Berlin

;date.default_latitude = 31.7667
;date.default_longitude = 35.2333

;date.sunrise_zenith = 90.583333
;date.sunset_zenith = 90.583333

Si vous ne trouvez pas votre fichier php.ini alors cherchez-le (prenez celui de apache2 et pas celui de cli):

find / -name php.ini

/etc/php/7.0/cli/php.ini
/etc/php/7.0/apache2/php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini

Vérifier que ntpdate est installé (serveur de temps)

whereis ntpdate

ntpdate: /usr/sbin/ntpdate

Sinon installer ntpdate

apt-get install ntpdate

Vérifier la configuration de ntpdate et surtout que vous ayez un serveur de temps, ici nous utiliseront celui d'ovh

nano /etc/default/ntpdate

# The settings in this file are used by the program ntpdate-debian, but not
# by the upstream program ntpdate.

# Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,
# so you only have to keep it in one place.
NTPDATE_USE_NTP_CONF=no

# List of NTP servers to use  (Separate multiple servers with spaces.)
# Not used if NTPDATE_USE_NTP_CONF is yes.
#NTPSERVERS="0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org"
NTPSERVERS="ntp.ovh.net"

# Additional options to pass to ntpdate
NTPOPTIONS=""

Vérifions que le deamon ntp est chargé :

ps -ef | grep 'ntp'

root 15639 15634 0 09:23 pts/0 00:00:00 grep ntp

On va maintenant utiliser ntpdate-debian qui va lire le fichier de configuration ci dessus

man ntpdate-debian

ntpdate-debian is identical to ntpdate(8) except that it uses the configuration in /etc/default/ntpdate by default.

On va tester la commande ntpdate-debian pour voir si tout est OK avec notre serveur de temps.

ntpdate-debian

17 Aug 20:22:53 ntpdate[9135]: adjust time server 111.222.333.444 offset -0.090425 sec

Configurer CURL

On va configurer CURL, ca peut toujours servir...et cela vous montrera où sont décrites les extensions de php dans php.ini

Et le php.ini doit contenir:

nano /etc/php/7.0/apache2/php.ini

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=curl.so

Si vous faites des modifications dans le php.ini pensez à relancer appache2 avec /etc/init.d/apache2 restart

Voilà, ouf! les principaux composants de votre serveur sont installés. Alors le mode console? fastoche?

Vos commentaires
Thomas a écrit le 01-07-2019 :

Bonjour, J'ai un souci au moment de l'installation de phpmyadmin. En effet, lorsque je teste dans un navigateur web comme mozilla avec l'ip de mon serveur / phpmyadmin j'ai une page 404 qui s'affiche au lieu d'arriver sur l'interface de connexion. En tout cas, merci d'avoir réuni toutes les informations utiles sur un seul site. Thomas


Répondre à ce(s) commentaires(s)

Laisser un commentaire

Votre commentaire sera en attente de modération, validation NON automatique

Votre nom (obligatoire) :


Email ou site internet (facultatif) (nécessaire si vous souhaitez être prévenu d'une réponse):


Image/photo (facultatif) (JPG, JPEG, PNG ou GIF) (image de partition concernant le question par exemple):

Javascript doit être activé