অ্যাপাচি 2 তে আপনি বিশ্বব্যাপী সার্ভারনাম নির্দেশিকা নির্ধারণ করেন?


37

দ্রষ্টব্য: এটি আমার প্রশ্নের সাথে সম্পর্কিত: " অ্যাপাচি ২.৪ পুনরায় লোড করবে না, আমার কনফিগারেশনে কোনও সমস্যা? "

আমি স্থানীয়ভাবে একটি স্থানীয় সাইট পরীক্ষা করার চেষ্টা করছি। আমি যেমন অ্যাপাচি 2 বুঝতে পেরেছি (এবং সম্ভবত অ্যাপাচিও) এর কিছু কল রয়েছে VirtualHost। আমার সামান্য বোধগম্যতা আমাকে বলে যে ভার্চুয়ালহোস্টিং এমন এক উপায় যেখানে কোনও সার্ভার / আইপি ঠিকানা একাধিক ডোমেন সরবরাহ করতে পারে।

যাইহোক, আমি configtestকোথায় ব্যর্থ হচ্ছি তা দেখার জন্য অ্যাপাচি 2 চালানোর সময় আমি নিম্নলিখিত ত্রুটিটি পেয়েছি। আমি অ্যাপাচি ২.৪.১০-১ চালাচ্ছি এবং মনে হচ্ছে অ্যাপাচি ২.২ এবং অ্যাপাচি ২.৪ এর মধ্যে অনেকগুলি পরিবর্তন হয়েছে যা আমি অবগত নই।

$ sudo apache2ctl configtest
[sudo] password for shirish:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

এই /etc/hostsফাইলটি:

 $ cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    debian mini

আমি একটি খালি /etc/hosts.confফাইলও দেখতে পাচ্ছি । সার্ভারের জ্ঞান নেওয়ার জন্য সম্ভবত ডেটা /etc/hostsঅনুলিপি /etc/hosts.confকরা দরকার?

আমার হোস্ট নাম:

$ hostname
debian

এটি সাইটের কনফিগারেশন ফাইল:

$ cat /etc/apache2/sites-available/minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/in2014.mini/website

    <Directory />
        Options +FollowSymLinks +Includes
        Require all granted
    </Directory>

    <Directory /var/www/html/in2014.mini/website/>
        Options +Indexes +FollowSymLinks +MultiViews +Includes
        Require all granted
    </Directory>
</VirtualHost>

আমি ঠিকানা এবং বন্দরগুলিতে আবদ্ধ হওয়ার বিষয়েও পড়েছিলাম , তবে একাধিক কারণে আমি এটি ভালভাবে বুঝতে পারি নি। কোন ফাইলটিতে সেই লাইনগুলি লাগানো দরকার এবং আগে এবং পরে কী আসবে তা উদাহরণ দেয় না / ভাগ করে না। একটি উদাহরণ আরও ভাল হত।

আমি এটি করেছি এবং সার্ভারটি পুনরায় চালু করেছি, তবে আমি এখনও একই ত্রুটি পেয়েছি।

~$ sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

দেখে মনে হচ্ছে দেবিয়ানে তিনটি কনফিগারেশন ফাইল রয়েছে যা আমার জানা এবং বুঝতে হবে।

/etc/apache2$ ls *.conf
apache2.conf  ports.conf

এবং

/etc/apache2/conf.d$ ls *.conf
httpd.conf

স্পষ্টতই, apache2.conf হ'ল বিশ্বব্যাপী কনফিগারেশন ফাইল, যখন httpd.conf ব্যবহারকারী-কনফিগারেশন ফাইল। পোর্টসকন্টও রয়েছে। উভয় apache2.conf এবং ports.conf অক্ষমতা থাকে ব্যতীত আমি থেকে অ্যাপাচি এর loglevel পরিবর্তিত হয়েছে warnথেকে debug

আমি আরেকটি জিনিস চেষ্টা করেছি:

$ sudo apache2ctl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
127.0.1.1:80           debian (/etc/apache2/sites-enabled/minidebconfindia.conf:1)
*:80                   127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

কারও কাছে আরও অন্তর্দৃষ্টি রয়েছে।

উত্তর:


43

সম্পাদনা করার জন্য ফাইল:

/etc/apache2/apache2.conf

ফাইল সম্পাদনা করার আদেশ:

sudo nano /etc/apache2/apache2.conf

গ্লোবাল সার্ভারনেমের জন্য আপনি এটিকে ফাইলের শীর্ষে রাখতে পারেন (ভার্চুয়াল হোস্ট ট্যাগগুলির বাইরে)।

প্রথম লাইনটি দেখতে:

ServerName myserver.mydomain.com

তারপরে নিম্নলিখিত কমান্ডের সাহায্যে কনফিগারেশনটি সংরক্ষণ করুন এবং পরীক্ষা করুন:

apachectl configtest

আপনি পাওয়া উচিত:

সিনট্যাক্স ঠিক আছে

তারপরে আপনি সার্ভারটি পুনরায় চালু করতে পারেন এবং ত্রুটি বার্তাটি পাবেন না তা পরীক্ষা করতে পারেন:

sudo service apache2 restart

2
এটি দেবিয়ান সঠিক উত্তর। আমি চেষ্টা /etc/apache2/conf-available/fqdn.conf, বা servername.confবা httpd.confকোন উপকার। ডেবিয়ান Jessie, এবংapache 2.4.10
ডাঃ বেকো

2
যদি আপনার কাছে থাকে conf-available/এবং conf-enabled/একটি ফাইল তৈরি করুন conf-available/এবং a2enconfএটি সক্ষম করতে কমান্ডটি ব্যবহার করুন । এইভাবে, apache2-commonপ্যাকেজ আপডেট হওয়ার পরে / ডিপি কেজি আপনি অনিবন্ধিত পরিবর্তনগুলি সম্পর্কে বিরক্ত করবেন নাapache2.conf
কেভিন

এর conf-availableপরে ফাইল এবং সম্পাদনাটি /etc/apache2/conf-available/servername.confসামগ্রীতে থাকতে পারে ServerName myserver.mydomain.com(রাস্পবেরি পাই, অ্যাপাচি ২.৪.১০, ডেবিয়ান ৮ (জেসি), লিনাক্স কার্নেল ৪.৪.৩৪ এ চেষ্টা করা হয়েছে)।
পিটার মর্টেনসেন

@ পিটারমোরটেনসেন আপনি ভাগ করে নেওয়া উদাহরণটি ব্যবহার করতে পারলেন যাতে আপনার অর্থ কী তা আমি বুঝতে পারি।
শিরিশ

ফাইলটি বিদ্যমান নেই
কালো

5

আপনাকে অবশ্যই সার্ভারনাম নির্দেশিকা নির্ধারণ করতে হবে :

ServerName localhost

ডেবিয়ানে, আপনি এটি সেট করতে পারেন /etc/apache2/conf.d/httpd.conf

ম্যাকোজে, আপনি এটি সেট করতে পারেন /private/etc/apache2/httpd.conf


5
উবুন্টুতে, এটি সেট করুন /etc/apache2/apache2.conf
macki

1
ডেবিয়ান করুন: apache2.conf
ডাঃ বেকো

1
অ্যাপাচি / ডেবিয়ান এর কোন সংস্করণের জন্য কাজ করে? আমি মনে করি না এটি অ্যাপাচি ২.৪ এর জন্য কাজ করে। এটি /etc/apache2/apache2.confপরিবর্তে হতে পারে ।
পিটার মর্টেনসেন

এটি কাজ করে,
অ্যাবাচি

2

আপনার অ্যাপাচি কনফিগারেশন ফাইলটি সনাক্ত করতে, নিম্নলিখিত কমান্ডটি চালনার চেষ্টা করুন:

apachectl -t -D DUMP_INCLUDES

তারপরে সেই ফাইলটি সম্পাদনা করুন এবং ServerNameএটির সাথে লাইনটি সনাক্ত করুন এবং এতে অসুবিধা করুন, যাতে দেখে মনে হয়:

ServerName localhost

0

Apache24 কনফিগারেশন ফাইলে আপনি লাইনটি দেখতে পাবেন ServerName:80:

  1. ফাকাই রাখুন.
  2. তারপরে খালি জায়গার সেই লাইনের নীচে লিখুন:
    ServerName www.name (of your official domain or website.com:80)
  3. কনফিগারেশন ফাইলটি সংরক্ষণ করুন।
  4. যান cmd, dirঅ্যাপাশেস্ট 24 সেখানে প্রশাসক পরিবর্তন হিসাবে এটি খুলুন
  5. তারপর cd apache24তারপর cd binতারপর httpd.exe

দেখবেন সমস্যা সমাধান হয়ে গেছে।

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