Voilà, on arrête avec WHM / Cpanel et ses licences hors de prix pour passer à DirectAdmin, bien plus accessible financièrement, voir même sans surcoût chez plusieurs fournisseurs de serveurs virtuelles. Pour ceux qui ne connaisse pas, Directadmin existe depuis quasiment aussi longtemps que Cpanel, et offre des fonctions similaires dans une interface simple et agréable, vous pouvez le tester par ici si vous voulez:
Choix de la distribution, configuration:
Directadmin support plusieurs distributions Linux ( Centos 6, 7, 8 / Debian 8, 9, 10 / Cloud Linux / FreeBsd ). Pour ma part, je fais le choix de CentOs 7, pour plusieurs raisons. Premièrement a l’instar de Cpanel déjà qui ce base sur CentOs, je continue donc sur une base que je connais et ensuite parce que Centos 8 à encore quelques petits bugs. Les autres distributions semblent elles subir quelques défauts d’intégrations ( notamment au niveau du Firewall CSF ), à vérifier ceci dit.
De plus, Directadmin possède une compatibilité avec le serveur Web OpenLiteSpeed ( version gratuite de LiteSpeed ) ce qui donne accès à lsphp, idéal pour alléger les demandes en mémoire de mon serveur VPS. En plus, le combo Direct Admin / OpenLiteSpeed, c’est ça compatibilité total avec le .htaccess d’Apache, là ou de base c’est une fonctionnalité réservé à LiteSpeed, la version Pro ).
Et la dernière raison est d’ordre financière donc, plusieurs hébergeurs de VPS intègre sans surcoût la licence DirectAdmin. Je vais faire une petite liste, que vous pourrez retrouver ici.
Pré requis:
- 1 serveur dédié ou virtuel avec au minimum 1GO de mémoire et 2GO d’espace disque de disponible
- Accès Ssh, Root
- 1 adresse IP fixe
- Licence DirectAdmin
- Un peu de temps de libre ^^
Préparation Serveur:
Ici je n’occupe pas des partitions, on laisse celle par défaut fourni par l’hébergeur. DirectAdmin recommande un partitionnement de base, c’est à dire:
/boot 500MB
swap si – de 2GO RAM: 2X la RAM, si 2GO-8GO: égale a la quantité de RAM, si + de 8GO RAM: au moins 4GO de swap
/ le reste de votre espace disque
Connexion en SSH. On vérifie que le hostname pointe correctement
hostname
Si ce n’est pas le cas, vous pouvez le modifier maintenant et le revérifier à nouveau.
hostnamectl set-hostname nomdhote.votredomaine.com
hostnamectl status
On mets a jour le serveur et on fait plein de yes, lol, uniquement si on est d’accord bien sur. Bien vérifier que toutes les installations se sont bien faite sinon vous ne pourrez pas installer DirectAdmin.
yum clean all
yum install wget tar gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel \
psmisc net-tools systemd-devel libdb-devel perl-DBI perl-Perl4-CoreLibs perl-libwww-perl xfsprogs rsyslog logrotate crontabs file kernel-headers
On va sécuriser SSH en ajoutant un nouvel utilisateur avec accès Root. Fonctionnant de manière différente par rapport a Debian / Ubuntu, CentOs attribue les privilèges Root en plaçant l’utilisateur dans le groupe Wheel. Modification du Port SSH, on enlève l’accès à l’utilisateur Root puis on rédémarre.
adduser tonpseudo
passwd tonpseudo
sudo usermod -aG wheel tonpseudo
nano /etc/ssh/sshd_config
ssh 11111
permitrootlogin no
systemctl restart sshd
On ajoute une autorisation de notre nouveau port SSH à notre parefeu.
iptables -A INPUT -p tcp -i eth0 –dport 1111 -j ACCEPT
iptables -F
iptables -X
Si ça fonctionne, on peut maintenant ajouter cette règle définitivement.
firewall-cmd –zone=public –add-port=1111/tcp –permanent
firewall-cmd –reload
Installation DirectAdmin:
Nous allons maintenant lancer l’installation du panneau de contrôle. Il vous faut être en root.
su root
bash <(curl -Ss https://www.directadmin.com/setup.sh) auto
L’installation va prendre un moment ( 10 minute dans mon cas ), il faudra peut être entrer les informations suivantes: Cliend Id, Licence Id, Adresse IP ( pour ma part le serveur a été reconnu automatiquement par les serveurs de DirectAdmin ).
Une fois que le message Install Complete apparaît, vous pouvez accéder à votre interface par le biais de http://votreadresseip:2222. Sur votre session SSH est apparu un peu plus haut vos identifiants de connexion, il faut bien en prendre note. Vous pouvez également les retrouver dans…
A ce stade vous pouvez utiliser Directadmin et le reste est facultatif mais… si vous voulez vraiment sécuriser votre serveur, je vous recommande de rester avec moi. Durant l’installation le firewall CSF a déjà été installé avec plusieurs règles de sécurité. Nous allons améliorer tout ça.
1 – Sécuriser PHP en désactivant certaines fonctions.
cd /usr/local/directadmin/custombuild
./build update
./build secure_php
2 – Vérifier qu’on est bien à jour, ça va prendre du temps !
./build all -d
systemctl restart httpd.service
3 – Désactiver l’accès distant à MySQL
nano /etc/my.cnf
bind-address = 127.0.0.1
systemcrl restart mysqld
4 – Activation de la récursion locale des DNS et on bloque celle qui sont distante, votre fichier named.conf, dans la partie { Options } devrait ressembler à ça:
nano /etc/named.conf
allow-query { any; };
allow-transfer { none; };
allow-recursion { localhost; };
recursion yes;
5
Installation OpenLiteSpeed
Ici c’est totalement facultatif, mais comme l’hébergeur que je suis en train de concevoir est focalisé sur WordPress cela va me permettre de tirer les meilleurs performances possibles de mon VPS grâce a LSPHP et LSCACHE. On en profite également pour installer plusieurs versions de PHP, donnant ainsi le choix à l’utilisateur finale si son script n’est pas compatible avec la version par défaut ( dans notre cas la 7.3 ).
./build set webserver openlitespeed
./build set mod_ruid2 no
./build set php1_mode lsphp
./build set php1_release 7.3
./build set php2_mode lsphp
./build set php2_release 7.4
./build set php3_mode lsphp
./build set php3_release 7.2
./build set php4_mode lsphp
./build set php4_mode 5.6
./build openlitespeed
./build php n
./build rewrite_confs
Pour que Directadmin redémarre automatiquement OpenLiteSpeed afin de prendre en compte les modifications du fichier .htaccess
echo ‘*/3 * * * * root if ! find /home/*/domains/*/*_html/ -maxdepth 2 -type f -newer /usr/local/lsws/cgid -name « .htaccess » -exec false {} +; then /usr/local/lsws/bin/lswsctrl restart; fi‘ > /etc/cron.d/openlitespeed_htaccess_scan
Continuer à sécuriser le serveur
Installation de xcf version gratuite,
Installation d’un certificat SSL Letsencrypt sur le hostname
cd /usr/local/directadmin/scripts
./letsencrypt.sh request_single ton.hostname.com 4096
Le serveur devrait redémarrer en moins d’une minute et ça devrait être actif si tout c’est bien passé.
Tuto écrit à l’arrache et toujours en cours, y a des trucs que je dois peaufiner là dedans… comme par exemple écrire dans un français correct sans faute d’orthographe, ajouter des étapes et ce serait pas du luxe de rajouter quelques images ici et là.
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.