Ich bin bei einem Linux-Server angemeldet. Ich denke, es ist eine Red Hat-Distribution.
Die Befehle a2ensiteund a2dissitesind nicht verfügbar. Im /etc/httpdVerzeichnis sehe ich keine Erwähnung von sites-enabledoder sites-available.
Ich bin mir ziemlich sicher, dass die Site derzeit die Anweisungen von ausführt /etc/httpd/conf.d/ssl.conf. Ich möchte einen machen a2dissite sslund dann den Webserver neu laden. Wie kann man das erreichen?
a2ensite usw. sind Befehle, die in Debian-basierten Systemen verfügbar sind und in RH-basierten Distributionen nicht verfügbar sind.
Sie verwalten symbolische Links von Teilen der Konfigurationsdatei in /etc/apache2/sites-availableund mods-availablenach /etc/apache2/sites-enabledusw. Wenn Sie beispielsweise einen vhost in einer Konfigurationsdatei definiert haben /etc/apache2/sites-avaible/example.com, a2ensite example.comerstellen Sie einen Symlink zu dieser Datei in /etc/apache2/sites-enabledund laden Sie die Apache-Konfiguration neu. Die Haupt-Apache-Konfigurationsdatei enthält Zeilen, die jede Datei enthalten, /etc/apache2/sites-enabledund wird daher in die Laufzeitkonfiguration integriert.
Es ist ziemlich einfach, diese Struktur in RHEL nachzuahmen. Fügen Sie zwei Verzeichnisse in /etc/httpd/named sites-enabledund hinzu sites-availableund fügen Sie Ihre vhosts in Dateien in hinzu sites-available. Fügen Sie danach eine Zeile hinzu
include ../sites-enabled
zu /etc/httpd/conf/httpd.conf. Sie können jetzt Symlinks zu sites-enabledund dann die Konfiguration mit service httpd reloadoder neu laden apachectl.
Ahh ich verstehe. Im Grunde genommen fungiert /etc/httpd/conf.d als Äquivalent zu Sites-fähig. Das Entfernen von ssl.conf aus diesem Verzeichnis und das Neustarten / Neuladen von httpd hat meine Änderungen übernommen. Das ist cool
John
2
Als Ergänzung zu Svens hervorragender Antwort zwei Skripte, die das Verhalten von a2ensite und a2dissite nachahmen. Das Original ensite.sh finden Sie auf 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
Als Ergänzung zu Svens hervorragender Antwort zwei Skripte, die das Verhalten von a2ensite und a2dissite nachahmen. Das Original ensite.sh finden Sie auf Github
a2ensite.sh
a2dissite.sh
quelle