Estou logado em um servidor Linux. Eu acho que é uma distribuição da Red Hat.
Os comandos a2ensitee a2dissitenão estão disponíveis. No /etc/httpddiretório, não vejo menção a sites-enabledou sites-available.
Tenho certeza de que o site está atualmente executando as diretivas do /etc/httpd/conf.d/ssl.conf. Eu gostaria de fazer um e a2dissite ssl, em seguida, recarregar o servidor da Web. Como conseguir isso?
a2ensite etc. são comandos disponíveis em sistemas baseados em Debian e que não estão disponíveis em distribuições baseadas em RH.
O que eles fazem é gerenciar links simbólicos a partir de partes de arquivos de configuração em /etc/apache2/sites-availablee mods-availablepara /etc/apache2/sites-enablede assim por diante. Por exemplo, se você tiver um vhost definido em um arquivo de configuração /etc/apache2/sites-avaible/example.com, a2ensite example.comcriará um link simbólico para esse arquivo /etc/apache2/sites-enablede recarregará a configuração do apache. O arquivo de configuração principal do Apache contém linhas que incluem todos os arquivos /etc/apache2/sites-enablede, portanto, são incorporadas à configuração do tempo de execução.
É muito fácil imitar essa estrutura no RHEL. Adicionar dois diretórios no /etc/httpd/chamado sites-enablede sites-availablee adicionar seus vhosts em arquivos em sites-available. Depois disso, adicione uma linha
include ../sites-enabled
para /etc/httpd/conf/httpd.conf. Agora você pode criar links simbólicos para sites-enablede recarregar a configuração com service httpd reloadou apachectl.
Ahh, entendi. Então, basicamente /etc/httpd/conf.d está atuando como o equivalente a sites habilitados. Então, apenas remover o ssl.conf desse diretório e reiniciar / recarregar o httpd captou minhas alterações. Isso é legal
John
2
Como complemento da excelente resposta de Sven, dois scripts que imitam o comportamento de a2ensite e a2dissite. O ensite.sh original pode ser encontrado no 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
Como complemento da excelente resposta de Sven, dois scripts que imitam o comportamento de a2ensite e a2dissite. O ensite.sh original pode ser encontrado no Github
a2ensite.sh
a2dissite.sh
fonte