Je suis connecté à un serveur Linux. Je pense que c'est une distribution Red Hat.
Les commandes a2ensiteet a2dissitene sont pas disponibles. Dans l' /etc/httpdannuaire, je ne vois aucune mention de sites-enabledou sites-available.
Je suis sûr que le site exécute actuellement les directives de /etc/httpd/conf.d/ssl.conf. Je voudrais faire un a2dissite ssl, puis recharger le serveur Web. Comment y parvenir?
a2ensite etc. sont des commandes disponibles dans les systèmes basés sur Debian et qui ne sont pas disponibles dans les distributions basées sur RH.
Ce qu'ils font, c'est gérer les liens symboliques des parties du fichier de configuration dans /etc/apache2/sites-availableet mods-availablevers /etc/apache2/sites-enabledet ainsi de suite. Par exemple, si vous avez un vhost défini dans un fichier de configuration /etc/apache2/sites-avaible/example.com, a2ensite example.comcréez un lien symbolique vers ce fichier /etc/apache2/sites-enabledet rechargez la configuration d'apache. Le fichier de configuration principal d'Apache contient des lignes qui incluent chaque fichier dans /etc/apache2/sites-enabledet donc, ils sont incorporés dans la configuration d'exécution.
Il est assez facile d'imiter cette structure dans RHEL. Ajoutez deux répertoires dans /etc/httpd/named sites-enabledet sites-availableet ajoutez vos vhosts dans des fichiers dans sites-available. Après cela, ajoutez une ligne
include ../sites-enabled
à /etc/httpd/conf/httpd.conf. Vous pouvez maintenant créer des liens symboliques vers sites-enabled, puis recharger la configuration avec service httpd reloadou apachectl.
Ahh je vois. Donc, fondamentalement, /etc/httpd/conf.d agit comme l'équivalent de sites activés. Donc, simplement supprimer ssl.conf de ce répertoire et redémarrer / recharger httpd a repris mes modifications. C'est cool
John
2
En complément de l'excellente réponse de Sven, deux scripts qui imitent le comportement de a2ensite et a2dissite. L'original ensite.sh se trouve sur Github
a2ensite.sh
#!bin/bash
# Enable a site, just like the a2ensite command.
SITES_AVAILABLE_CONFIG_DIR="/etc/httpd/sites-available";
SITES_ENABLED_CONFIG_DIR="/etc/httpd/sites-enabled";
if [ $1 ]; then
if [ -f "${SITES_ENABLED_CONFIG_DIR}/${1}" ]; then
echo "Site ${1} was already enabled!";
elif [ ! -w $SITES_ENABLED_CONFIG_DIR ]; then
echo "You don't have permission to do this. Try to run the command as root."
elif [ -f "${SITES_AVAILABLE_CONFIG_DIR}/${1}" ]; then
echo "Enabling site ${1}...";
ln -s $SITES_AVAILABLE_CONFIG_DIR/$1 $SITES_ENABLED_CONFIG_DIR/$1
echo "done!"
else
echo "Site not found!"
fi
else
echo "Please, inform the name of the site to be enabled."
fi
a2dissite.sh
#!bin/bash
# Disable a site, just like a2dissite command, from Apache2.
SITES_AVAILABLE_CONFIG_DIR="/etc/httpd/sites-available";
SITES_ENABLED_CONFIG_DIR="/etc/httpd/sites-enabled";
if [ $1 ]; then
if [ ! -f "${SITES_ENABLED_CONFIG_DIR}/${1}" ]; then
echo "Site ${1} was already disabled!";
elif [ ! -w $SITES_ENABLED_CONFIG_DIR ]; then
echo "You don't have permission to do this. Try to run the command as root."
elif [ -f "${SITES_AVAILABLE_CONFIG_DIR}/${1}" ]; then
echo "Disabling site ${1}...";
unlink $SITES_ENABLED_CONFIG_DIR/$1
echo "done!"
else
echo "Site not found!"
fi
else
echo "Please, inform the name of the site to be enabled."
fi
En complément de l'excellente réponse de Sven, deux scripts qui imitent le comportement de a2ensite et a2dissite. L'original ensite.sh se trouve sur Github
a2ensite.sh
a2dissite.sh
la source