Directadmin

Changer le sender et le return path du service directadmin


Pour changer le sender du mail système dans directadmin il y a deux possibilités.

Soit via l'interface web soit en modifiant le fichier user.conf

Option 1 par l'interface web : 

image.png

Option 2 par le fichier users.conf : 

La valeur peut être modifiée via le fichier :  

nano /usr/local/directadmin/data/users/admin/user.conf

Il suffit de modifier la valeur dans : email=xxxx , l'idéal est de placer la même valeur que le return path.

Exemple : diradmin@hostnode6.behostings.net

service directadmin restart

Pour changer le return Path


Pour obtenir l'info configurée dans directadmin

/usr/local/directadmin/directadmin config-get diradmin_envelope

Si la valeur est vide, c'est qu'il n'y pas de return path forcé et donc c'est celui par défaut de directadmin.

Par défaut il y a deux valeurs possibles (ça dépend de la version de directadmin)

Pour configurer un return path il y a trois possibilités :

/usr/local/directadmin/directadmin set diradmin_envelope diradmin@`hostname`

ou

/usr/local/directadmin/directadmin set diradmin_envelope diradmin@hostnode6.behostings.net

ou en éditant le fichier de configuration directadmin 

nano /usr/local/directadmin/conf/directadmin.conf

et ajouter la valeur : diradmin_envelope=diradmin@hostnode6.behostings.net

ensuite , restarter le service directadmin

service directadmin restart ; sleep 1 ; cat /usr/local/directadmin/conf/directadmin.conf | grep -i diradmin_envelope

Désactiver les notifications de force brute

Comment empêcher les administrateurs d'être avertis par pour les attaques de type brute force

Si vous êtes inondé de message system de ce genre : Brute-Force Attack detected in service log on

image.png

DirectAdmin propose un outil de surveillance des brutes force qui envoie des notifications par e-mail à tous les administrateurs lorsque des agressions par force brute sont détectées.

Si vous souhaitez empêcher l'envoi de messages tout en gardant les adresses IP sur liste noire, il suffit de définir une valeur dans le directadmin.conf

nano /usr/local/directadmin/conf/directadmin.conf

valeur à définir : 

hide_brute_force_notifications=1

ensuite restart du services directadmin

service directadmin restart

Désactiver l'envoi d'email d'un utilisateur

Pour désactiver l'envoi d'email d'un utilisateur , aussi bien en session SMTP que via PHP :

echo "USERNAME" >> /etc/virtual/blacklist_usernames

Ensuite reload d'exim : 

service exim reload

L'utilisateur ne pourra plus envoyer d'email.

Cette fonction est disponible à partir de Exim version 4.2.x.

Pour vérifier que la fonction est bien disponible sous Exim : 

cat /etc/exim.conf | grep -i "blacklist_usernames"

va renvoyer du contenu : 

BLACKLIST_USERNAMES = /etc/virtual/blacklist_usernames
          condition = ${if exists{BLACKLIST_USERNAMES}}
          condition = ${lookup{$acl_m_username}lsearch{BLACKLIST_USERNAMES}{1}{0}}
          message = USER_ON_BLACKLIST_SCRIPT BLACKLIST_USERNAMES
        condition = ${if exists{BLACKLIST_USERNAMES}}
        condition = ${lookup{$acl_m_username}lsearch{BLACKLIST_USERNAMES}{1}{0}}
        logwrite = User account $acl_m_username is blocked via BLACKLIST_USERNAMES

Changer docroot path public_html directadmin

Comment changer le path par défaut du dossier public_html

Pour changer sous directadmin le path document root (doocroot) il faut passer par le menu : Custom HTTPD Configurations (en étant admin).

image.png

Vous sélectionnez le domaine pour le quel vous désirez effectuer le changement via le bouton httpd.conf (pour apache).image.png

 Ensuite aller dans le menu : Customize ensuite dans le menu Custom1

image.pngimage.png

 

La vous pouvez modifier le path par défaut du "document root"

Exemple vous désirez envoyer le doc root dans le dossier public qui se trouve dans le dossier public_html voici ce qu'il faut placer :

|?DOCROOT=`HOME`/domains/`DOMAIN`/public_html/public|

Si c'est pour la configuration d'un sous domaine :

|*if SUB="new"|
|?SDOCROOT=`HOME`/domains/`DOMAIN`/public_html/`SUB`/public|
|*endif|

Pour terminer, un reload d'apache et le nouveau path sera actif.

 

 

 

 

Changer sendmail_from et sendmail_path pour un user sous directadmin

En PHP-FPM (sans cloudlinux)

Pour forcer les emails envoyés par php depuis une boite mail précise il faut modifier deux configurations

1) Il faut aller dans le Custom HTTPD Configurations et sélectionner la config du php-fpm :

image.png

2) Ajouter la valeur en : php-fpm Global |CUSTOM1| 

ajouter la variable :  |?EMAIL=test@mondomain.tld|

image.png

3) Ajouter la valeur en : php-fpm Global |CUSTOM2| 

ajouter la variable : php_admin_value[sendmail_from]=test@mondomain.tld

image.png

Sauvegarder , attendre que php recharge la config (quelques minutes).

 

4) Vérification de la bonne application des valeurs via PHPinfo.

Vous pouvez vérifier via un PHP info dans les valeurs : sendmail_from et sendmail_path.

Elles devront êtres celles configurée dans les deux custome.

image.png

 

 

En Fast-CGI ( avec cloudlinux)

A écrire ...

Directadmin optimisation apache fast-cgi

Comment augmenter le nombre de process fast-cgi dans une configuration Apache Fast-CGI dans directadmin (avec ou sans cloudlinux).

Par défaut les valeurs sont assez basse dans la configuration Fast-cgi d'apache sous Directadmin:

C'est normalement suffisant pour des sites web à trafic normal (quelques centaines voir millier de visiteurs par jour).

Cependant, si votre site génère plus de trafic ou de visiteurs, vous pouvez rapidement saturer le nombre de process autorisé par user.

Si dans les erreurs logs vous rencontrez ce genre d'erreur : mod_fcgid: can't apply process slot for 

[Wed Feb 26 11:25:10.427390 2025] [fcgid:warn] [pid 3066103:tid 3066338] [remote xxx.xxx.xxx.xxx:52376] mod_fcgid: can't apply process slot for /usr/local/safe-bin/fcgid81.sh /usr/local/directadmin/data/users/myuser/php/mywebsite.tld.ini  -d sendmail_from="myuser@mywebsite.tld" -d open_basedir="/home/myuser/:/tmp:/var/tmp:/opt/alt/php81/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php81/lib/php/" -d mail.log="/home/myuser/.php/php-mail.log", referer: https://mywebsite.tld/

Procédure pour augmenter le nombre de process :

mkdir -p /usr/local/directadmin/custombuild/custom/ap2/conf/extra/

cp -rp /usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-fcgid.conf /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-fcgid.conf

sed -i 's/  FcgidMaxProcesses 300/  FcgidMaxProcesses 900/g' /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-fcgid.conf

sed -i 's/  FcgidMaxProcessesPerClass 8/  FcgidMaxProcessesPerClass 100/g' /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-fcgid.conf

cd /usr/local/directadmin/custombuild

./build rewrite_confs

Vous pouvez ensuite vérifier que l'update a bien été appliqué dans le fichier de configuration d'apache :

cat /etc/httpd/conf/extra/httpd-fcgid.conf

Lien de documentation officiel de directadmin : https://docs.directadmin.com/webservices/apache/customizing.html