Mise en place


Création d'un nouveau service

    sh /usr/share/doc/apache2.2-common/examples/setup-instance NewService

Attention, le chemin peut varier suivant les OS. Dans debian 11, vous le trouverez : /usr/share/doc/apache2/examples/setup-instance

Newservice est à remplacer par le nom souhaitez

Newservice sera utilisé comme nom du service pour toute la documentation

Le service crée, modifier le fichier suivant :

    /etc/apache2-NewService/ports.conf

Remplacez

Listen 80/443

par

IPINTERFACESUP:80

IPINTERFACESUP est une IP (fixe de préférence) que vous avez définie pour votre nouveau service, chaque nouveau service aura une nouvelle IP

Listen 80

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

par

Listen IPINTERFACESUP:80

<IfModule ssl_module>
    Listen IPINTERFACESUP:443
</IfModule>

<IfModule mod_gnutls.c>
    Listen IPINTERFACESUP:443
</IfModule>

Redémarrer le service apache

systemctl restart apache2@NewService.service

Vérifiez que le service est en cours de fonctionnement

systemctl status apache2@NewService.service
netstat -ltpen | grep IPINTERFACESUP

Suppression d'un service


Il suffit d'utiliser le script que j'ai créé (qui est repris du script d'origine)

#!/bin/sh

if [ $# != 1 ] ; then
    echo usage: $0 '<suffix>'
    exit 1
fi

is_systemd () {
    case "$(readlink -f /proc/1/exe || true)" in
    *systemd*)
        return 0
        ;;
    *)
        return 1
        ;;
    esac
}

# the SUFFIX must not contain spaces or shell meta characters
SUFFIX=$1

if [ -e /etc/apache2-$SUFFIX ]
then
    echo "---------------------------Verification des fichier avant effacement"
    echo "------------------ /etc/apache-$SUFFIX ----------------" 
    ls -d /etc/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /etc/init.d/apache-$SUFFIX ----------------" 
    ls /etc/init.d/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /usr/local/sbin/ ----------------"
    ls /usr/local/sbin/*-$SUFFIX 2>/dev/null
    echo "------------------ /etc/logrotate.d/apache2-$SUFFIX ----------------" 
    ls /etc/logrotate.d/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /var/log/apache2-$SUFFIX ----------------" 
    ls -d /var/log/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /etc/default/apache-htcacheclean-$SUFFIX ----------------" 
    ls /etc/default/apache-htcacheclean-$SUFFIX 2>/dev/null
    echo "----------------------------- Fin de verification---------------------\n \n"

    echo "suppression de /etc/apache2-$SUFFIX"
    rm -rf /etc/apache2-$SUFFIX

    if is_systemd ; then
        echo "systemctl stop and disable apache2@$SUFFIX.service"
    systemctl stop apache2@$SUFFIX.service
    systemctl disable apache2@$SUFFIX.service
    else
        echo "stop et supression /etc/init.d/apache2-$SUFFIX ..."
        /etc/init.d/apache2-$SUFFIX stop
    rm /etc/init.d/apache2-$SUFFIX
    fi

    echo -n "supression des liens symbolique a2:" 
    for a in a2enmod a2dismod a2ensite a2dissite a2enconf a2disconf apache2ctl ; do
        echo -n " $a-$SUFFIX"
        rm -f /usr/local/sbin/$a-$SUFFIX
    done
    echo

    echo "Supression des fichier logrotate du service /etc/logrotate.d/apache2-$SUFFIX"
    rm -f /etc/logrotate.d/apache2-$SUFFIX
    rm -rf /var/log/apache2-$SUFFIX

    echo "Supression /etc/default/apache-htcacheclean-$SUFFIX"
    rm -f /etc/default/apache-htcacheclean-$SUFFIX

    echo "---------------------------Verification des fichiers effaces"
    echo "------------------ /etc/apache-$SUFFIX ----------------" 
    ls -d /etc/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /etc/init.d/apache-$SUFFIX ----------------"
    ls /etc/init.d/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /usr/local/sbin/ ----------------" 
    ls /usr/local/sbin/*-$SUFFIX 2>/dev/null
    echo "------------------ /etc/logrotate.d/apache2-$SUFFIX ----------------" 
    ls /etc/logrotate.d/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /var/log/apache2-$SUFFIX ----------------" 
    ls -d /var/log/apache2-$SUFFIX 2>/dev/null
    echo "------------------ /etc/default/apache-htcacheclean-$SUFFIX ----------------" 
    ls /etc/default/apache-htcacheclean-$SUFFIX 2>/dev/null
else
    echo "ERROR: /etc/apache2-$SUFFIX Not-exist"
    exit 2
fi