কিভাবে 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.