Actus et Aide Informatique

mariadb

Installation Directadmin + OpenLiteSpeed + plusieurs versions de Php

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à.