কিভাবে a2ensite এবং a2dissite?


10

আমি লিনাক্স সার্ভারে লগইন করেছি। আমি মনে করি এটি একটি রেড হ্যাট বিতরণ।

কমান্ডগুলি 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ইত্যাদি। যেমন আপনি একটি vhost দেখুন একটি কনফিগ ফাইলে সংজ্ঞায়িত /etc/apache2/sites-avaible/example.com, a2ensite example.comএই ফাইলটি করার জন্য একটি সিমবলিক লিঙ্ক তৈরি করবে /etc/apache2/sites-enabledএবং Apache কনফিগ পুনরায় লোড করুন। প্রধান অ্যাপাচি কনফিগারেশনের ফাইলটিতে লাইন রয়েছে যা প্রতিটি ফাইল অন্তর্ভুক্ত করে /etc/apache2/sites-enabledএবং এইভাবে তারা রানটাইম কনফিগারেশনে অন্তর্ভুক্ত হয়।

এই কাঠামোটি RHEL এ নকল করা বেশ সহজ quite দুই ডিরেক্টরিগুলি জুড়ুন /etc/httpd/নামে sites-enabledএবং sites-availableএবং ফাইল মধ্যে আপনার vhosts যোগ sites-available। এর পরে, একটি লাইন যুক্ত করুন

include ../sites-enabled 

to /etc/httpd/conf/httpd.conf। এখন আপনার কাছে symlinks তৈরি করতে পারেন sites-enabledএবং তারপর সঙ্গে কনফিগ রিলোড service httpd reloadবা apachectl


1
ওহহ আচ্ছা. সুতরাং মূলত /etc/httpd/conf.d সাইট-সক্ষম সমতুল্য হিসাবে কাজ করে। সুতরাং কেবল ডিরেক্টরিটি থেকে ssl.conf অপসারণ এবং পুনরায় আরম্ভ / httpd পুনরায় লোড করা আমার পরিবর্তনগুলি বেছে নিয়েছে। এটি দুর্দান্ত
জন

2

সোভেনের উত্তরের উত্তরে অ্যাড-অন হিসাবে, দুটি স্ক্রিপ্ট যা এ 2েনসাইট এবং এ 2ডিসাইটের আচরণ অনুকরণ করে। মূল ensite.sh পাওয়া যাবে গিটহাব

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

"সাইটের নাম" কী হওয়া উচিত?
ইভিজার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.