A2ensite और a2dissite कैसे करें?


10

मैं एक लिनक्स सर्वर में लॉग इन हूं। मुझे लगता है कि यह एक Red Hat वितरण है।

आदेश a2ensiteऔर a2dissiteउपलब्ध नहीं हैं। में /etc/httpdनिर्देशिका, मैं का कोई उल्लेख नहीं दिख रहा है sites-enabledया sites-available

मुझे पूरा यकीन है कि साइट वर्तमान में के निर्देशों को क्रियान्वित कर रही है /etc/httpd/conf.d/ssl.conf। मैं ऐसा करना चाहूंगा a2dissite ssl, फिर वेब सर्वर को पुनः लोड करूंगा । इसे कैसे प्राप्त करें?

जवाबों:


24

a2ensite आदि डेबियन-आधारित सिस्टम में उपलब्ध कमांड हैं और आरएच-आधारित वितरण में उपलब्ध नहीं हैं।

वे क्या में विन्यास फाइल भागों से सांकेतिक लिंक का प्रबंधन करने के लिए है /etc/apache2/sites-availableऔर mods-availableकरने के लिए /etc/apache2/sites-enabledऔर इतने पर। उदाहरण के लिए, यदि आपके पास एक config फाइल में परिभाषित एक vhost है /etc/apache2/sites-avaible/example.com, a2ensite example.comतो इस फाइल में एक सिम्लिंक पैदा करेगा /etc/apache2/sites-enabledऔर अपाचे कॉन्फिगरेशन को पुनः लोड करेगा। मुख्य अपाचे कॉन्फिगर फ़ाइल में वे पंक्तियाँ होती हैं जिनमें हर फ़ाइल शामिल होती है /etc/apache2/sites-enabledऔर इस प्रकार, वे रनटाइम कॉन्फ़िगर में शामिल हो जाती हैं।

आरएचईएल में इस संरचना की नकल करना काफी आसान है। में दो निर्देशिका जोड़ें /etc/httpd/नामित sites-enabledऔर sites-availableऔर में फ़ाइलों में अपने vhosts जोड़ने sites-available। उसके बाद, एक पंक्ति जोड़ें

include ../sites-enabled 

को /etc/httpd/conf/httpd.conf। अब आप के लिए सिमलिंक बना सकते हैं sites-enabledऔर फिर से config को फिर से लोड service httpd reloadया apachectl


1
हाँ! मैंने देखा। इसलिए मूल रूप से /etc/httpd/conf.d साइट-सक्षम के बराबर कार्य कर रहा है। तो बस ssl.conf को उस डायरेक्टरी से हटाकर और httpd को पुनः लोड / रीलोड करके मेरे बदलावों को उठाया। वह शांत है
जॉन

2

स्वेन के उत्कृष्ट जवाब में एक ऐड-ऑन के रूप में, दो स्क्रिप्ट जो 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

"साइट का नाम" क्या होना चाहिए?
छिपकली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.