답변:
a2ensite
등은 데비안 기반 시스템에서 사용할 수 있고 RH 기반 배포에서는 사용할 수없는 명령입니다.
그들이하는 일은 구성 파일 부분에서 기호 링크에서 관리하는 것입니다 /etc/apache2/sites-available
및 mods-available
에 /etc/apache2/sites-enabled
등을. 당신은 설정 파일에 정의 된 가상 호스트가있는 경우 예를 들면 /etc/apache2/sites-avaible/example.com
, a2ensite example.com
이 파일에 대한 심볼릭 링크를 만들 것입니다 /etc/apache2/sites-enabled
및 아파치 설정을 다시로드합니다. 기본 Apache 구성 파일에는 모든 파일을 포함하는 행이 포함 /etc/apache2/sites-enabled
되어 있으므로 런타임 구성에 통합됩니다.
RHEL에서이 구조를 모방하는 것은 매우 쉽습니다. 두 디렉토리를 추가 /etc/httpd/
이름 sites-enabled
과 sites-available
와의 파일로 가상 호스트를 추가합니다 sites-available
. 그런 다음 줄을 추가하십시오
include ../sites-enabled
에 /etc/httpd/conf/httpd.conf
. 이제 심볼릭 링크를 sites-enabled
만든 다음 service httpd reload
또는을 사용 하여 구성을 다시로드 할 수 있습니다 apachectl
.
Sven의 탁월한 답변에 대한 추가 기능으로 a2ensite 및 a2dissite의 동작을 모방하는 두 개의 스크립트가 있습니다. ensite.sh 원본은 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