A2ensite এর জন্য সাইটের ত্রুটি নেই


275

আমি cmsplus.devঅধীনে /etc/apache2/sites-availableনিম্নলিখিত কোড সঙ্গে,

<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

এখন যখন আমি ব্যবহার করি তখন আমি sudo /usr/sbin/a2ensite cmsplus.devত্রুটিটি পাচ্ছি,

ERROR: Site cmsplus.dev does not exist!

আমার ওয়েবসার্ভার Apache/2.4.6 (Ubuntu)

কিভাবে এই সমস্যা সমাধানের জন্য?

উত্তর:


577

.confসাইট কনফিগারেশন ফাইলগুলিতে এক্সটেনশন যুক্ত করে সমস্যার সমাধান করুন ।

অ্যাপাচি এর a2ensiteফলাফল:

ত্রুটি! সাইট অস্তিত্ব নেই

সমস্যা; আপনি যদি কোনও সাইটটি ব্যবহার করে সক্ষম করার চেষ্টা করার সময় ত্রুটিটি খুঁজে পেয়েছেন:

sudo a2ensite example.com

তবে এটি ফিরে আসে:

ত্রুটি: উদাহরণ.কম উপস্থিত নেই

a2ensite কেবল একটি পার্ল স্ক্রিপ্ট যা কেবল ফাইলের নাম শেষের সাথে কাজ করে .conf

অতএব, আমি আমার সেটিং ফাইল নামান্তর করতে হবে example.comকরতে example.com.confযেমন নিম্নরূপ অর্জন হতে পারে:

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

সাফল্য


25
অদ্ভুত! এটি উবুন্টু 12.04 এবং 12.10 এ কোনও এক্সটেনশন ছাড়াই সূক্ষ্ম কাজ করত।
ভাসমান

আমার জন্যও একই. যেমন গিলহর্ম বলেছেন উবুন্টু বা অ্যাপাচি সংস্করণগুলির মধ্যে অ্যাপাচি 2 কনফ্ট পরিবর্তন হয়েছে।
নিকোলাস জোজল

7
বিকল্প হিসাবে আমি বিশ্বাস করি আপনি কেবল অ্যাপাচি কোডফ ফাইলটি সম্পাদনা করতে পারবেন। প্রাসঙ্গিক লাইনটি "অন্তর্ভুক্ত অপশনাল সাইটগুলি সক্ষম / *। কনফ" হয়। প্রান্তে .conf সরান এবং আপনি 12.04 এ যা কাজ করেছিলেন তাতে ফিরে আসবেন। আমি মনে করি এটি ডেবিয়ান উবুন্টুতে এমন একটি পরিবর্তন হতে পারে, তবে আমি নিশ্চিত নই।
জোশিয়ার

2
এই উত্তর তৃতীয় কেন? এটি করার সঠিক উপায় এটি।
নিশ

বেশ কিছু বদলে যাওয়ার আগেই আমি ছেড়ে দিয়েছিলাম ... এখন থেকে .conf এক্সটেনশনটি যুক্ত করতে আমি মনে
রাখব

91

আপনি সম্ভবত আপনার উবুন্টু ইনস্টলেশন আপডেট করেছেন এবং আপডেটগুলির মধ্যে একটিতে অ্যাপাচি সংস্করণ ২.৪.x আপগ্রেড করা অন্তর্ভুক্ত রয়েছে

অ্যাপাচি ২.৪.x এ vhost কনফিগারেশন ফাইলগুলি, / etc / apache2 / সাইটগুলি উপলভ্য ডিরেক্টরিতে অবস্থিত, অবশ্যই .conf এক্সটেনশন থাকতে হবে।

টার্মিনাল (এমভি কমান্ড) ব্যবহার করে, আপনার সমস্ত বিদ্যমান কনফিগারেশন ফাইলগুলির নাম পরিবর্তন করুন এবং সেগুলির সাথে .conf এক্সটেনশন যুক্ত করুন।

mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf

যদি আপনি "অনুমতি অস্বীকৃত" ত্রুটি পান তবে আপনার টার্মিনাল কমান্ডগুলির সামনে "sudo" যুক্ত করুন।

কনফিগারেশন ফাইলগুলিতে আপনাকে অন্য কোনও পরিবর্তন করার দরকার নেই।

ভোস্ট (গুলি) সক্ষম করুন:

a2ensite cmsplus.dev.conf

এবং তারপরে অ্যাপাচি পুনরায় লোড করুন:

service apache2 reload

আপনার সাইটগুলি এখনই চলমান থাকা উচিত।


আপডেট: এখানে উল্লিখিত হিসাবে , আপনি ইনস্টল করা একটি লিনাক্স বিতরণ কনফিগারেশনটি কেবলমাত্র অন্তর্ভুক্ত * .কনফতে পরিবর্তন করে। অতএব এটি অ্যাপাচি ২.২ বা ২.৪ এর সাথে কিছু করার নেই


28

আরও একটি ভাল উপায় আছে, কেবল ফাইলটি সম্পাদনা apache2.confকরুন শেষে একটি লাইন রয়েছে

অন্তর্ভুক্তি ptionচ্ছিক সাইট-সক্ষম / *। বিভ্রান্ত

ঠিক .confএভাবে শেষ করে ফেলুন

অন্তর্ভুক্ত অপশনাল সাইট-সক্ষম / *

এবং সার্ভারটি পুনরায় চালু করুন।

(আমি এটি কেবল উবুন্টু ১৩.১০ এ চেষ্টা করেছি, যখন আমি এটি আপডেট করেছি))


1
হুম ... আমি এটি উবুন্টু 14.04 এ চেষ্টা করেছি এবং এটি কার্যকর হয়নি। .confকনফিগারেশন ফাইলগুলিতে যুক্ত করার পরে, হয়েছে।
ক্লিফটন ল্যাব্রাম

আশ্চর্যজনক, আমি আমার উবুন্টুকে 12.04 থেকে 13.10 আপডেট করার সময় আমার এই ত্রুটি হয়েছিল (কারণ আমি অজান্তেই অ্যাপাচি কনফিগারেশন ফাইলগুলি প্রতিস্থাপন করেছি)। 14.04 আপডেটে আমি বিকল্প না রাখার কথা মনে করেছি এবং আমার কোনও সমস্যা হয়েছিল।
গিলহর্ম

এটি সত্যই ভাল উপায় নয়। সাইট-সক্ষম থাকা ফাইলগুলি সাইট-উপলভ্য অধীনে সম্পর্কিত ফাইলগুলির প্রতিলিপি হয় এবং কেবলমাত্র সাইটটি অক্ষম করার জন্য অপসারণ করা উচিত - এটি আসলে a2diteite a2ensite সাইটকে উপযুক্তভাবে সক্ষম করে।
ডকবুয়া

8

আমি ঠিক একই সমস্যা। আমি বললাম এটি অ্যাপাচি.কনফের সাথে কোনও সম্পর্ক রাখে না।

a2ensite অবশ্যই পরিবর্তন করা উচিত - লাইন 532 লাইনটি .conf প্রত্যয়টি প্রয়োগ করে:

else {
    $dir    = 'sites';
    $sffx   = '.conf';
    $reload = 'reload';
}

আপনি যদি এটিতে পরিবর্তন করেন:

else {
    $dir    = 'sites';
    #$sffx   = '.conf';
    $sffx   = '';
    $reload = 'reload';
}

... এটি কোনও প্রত্যয় ছাড়াই কাজ করবে।

অবশ্যই আপনি a2ensite স্ক্রিপ্ট পরিবর্তন করতে চাইবেন না, তবে কনফ ফাইলটির প্রত্যয় পরিবর্তন করা সঠিক উপায়।

এটি সম্ভবত ".conf" -সফিক্স কার্যকর করার একটি উপায়।


এই প্রশ্নটিও দেখুন: Askubuntu.com
প্রশ্নগুলি

7

সুতরাং .. দ্রুততম উপায় হল ".conf" এ শেষ হওয়া সাইটের কনফিগার নামগুলির নাম পরিবর্তন করা name

mv /etc/apache2/sites-available/mysite /etc/apache2/sites-available/mysite.conf

a2ensite mysite.conf

পূর্ববর্তী মন্তব্যে অন্যান্য নোট:

  • অন্তর্ভুক্তি apচ্ছিক অ্যাপাচি ২.৩36 অবধি চালু করা হয়নি - উপরের পরিবর্তনটি অনুসরণের পরে ২.২ এ পুনরায় চালু করা আপনার সার্ভারটি ছেড়ে দেবে!

  • এছাড়াও, বর্ণিত সংস্করণ 2.2 a2ensite হ্যাক করা যায় না

পাশাপাশি, আপনার সাইটগুলি উপলভ্য ফাইলটি আসলে একটি কনফিগারেশন ফাইল তাই এটি যেভাবেই হোক নামকরণ করা উচিত ..


সাধারণভাবে পরিষেবাগুলি পুনরায় আরম্ভ করবেন না (ওয়েবসার্সগুলি এক ধরণের পরিষেবাদি):

  • লোকেরা যদি না চালাচ্ছে তবে তারা তাদের খুঁজে পাবে না! এমএস উইন্ডোজ নয় লিনাক্সটি ভাবেন ..

সার্ভারগুলি বহু বছর ধরে চলতে পারে - লাইভ আপডেট, পুনরায় লোড কনফিগারেশন ইত্যাদি

মেঘের অর্থ এই নয় যে আপনাকে একটি কনফিগারেশন ফাইল লোড করতে পুনরায় চালু করতে হবে।

  • কোনও পরিষেবার কনফিগারেশন পরিবর্তন করার সময় "পুনরায় চালু করুন" না "" পুনরায় লোড করুন "ব্যবহার করুন।

  • পুনঃসূচনাটি পরিষেবা বন্ধ করে তারপরে পরিষেবা শুরু করে - আপনার কনফিগারেশনে পরিবর্তিত হওয়ার কোনও সমস্যা থাকলে, পরিষেবাটি আরম্ভ হবে না

  • পুনরায় লোড একটি ত্রুটি দেবে তবে পরিষেবাটি আপনাকে কনফিগার ত্রুটিটি ঠিক করার সুযোগ দেয় না যা কেবলমাত্র খারাপ সিনট্যাক্স হতে পারে।

ডেবিয়ান বা উবুটো [এই থ্রেডটির পরিষেবা-নাম অ্যাপাচি 2]

service {service-name} {start} {stop} {reload} ..

অন্যান্য ওএসের বাম পাঠকের পক্ষে ছাড়িয়ে গেছে।


5

আমি .confকনফিগারেশন ফাইলটিতে যুক্ত করার পরে কাজ করেছি


2

আমি সবেমাত্র উবুন্টু সার্ভার সংস্করণটি 12.04 এলটিএস থেকে 14.04 এলটিএসে আপগ্রেড করেছি।

প্রকৃতপক্ষে, উপরে উল্লিখিত হিসাবে, অ্যাপাচি ২.৪.x এর .conf এক্সটেনশনটি ওয়েবসাইটগুলি উপলভ্য ডিরেক্টরিতে থাকা vhost ফাইলগুলিতে প্রয়োজন।

এই প্রশ্নটি পড়ার আগে আমার কাছে কোনও ক্লু ছিল না যে সার্ভারের সাথে কী চলছে।

খুব সুন্দর সমাধান।

কেবলমাত্র সংক্ষেপে আমি টার্মিনালে নিম্নলিখিত পদক্ষেপগুলি করেছি:

1) অ্যাক্সেস সাইট-সক্ষম ফোল্ডার

$ cd /etc/apache2/sites-enabled

2) কারণ a2dissite কমান্ড অবহেলিত ফাইলগুলির সাথে কাজ করবে না (.conf ব্যতীত) যে পুরানো ওয়েবসাইট ফাইল প্রকাশ হয়েছিল

$ sudo rm <my-old-website-without-.conf>

3) শেষ পর্যন্ত .conf যোগ করে এর এক্সটেনশন পরিবর্তন করে ওয়েবসাইট ভোস্ট ফাইলগুলির নাম পরিবর্তন করুন

$ sudo mv /etc/apache2/sites-available/mywebsite /etc/apache2/sites-available/mywebsite.conf

4) নতুন এবং সঠিক ভোস্ট ফাইলটি পুনরায় প্রকাশ করুন

$ sudo a2ensite mywebsite.conf

5) ব্রাউজারে ওয়েবসাইটটি দেখুন এবং মজা করুন! :)


1

উবুন্টু ১৪.০৪.৩ এবং অ্যাপাচি ২.৪. with এর ক্ষেত্রে আমার সমস্যাটি ছিল যে সাইটটি.সি.এন.এফ. উপলব্ধ করার জন্য আমি সাইট 1 কোড অনুলিপি করেছি এবং অনুলিপি করে কিছু খুশি হয়েছে এবং আমি থ্রেডে বর্ণিত ত্রুটিযুক্ত সাইট 2.confকে a2ensite করতে পারিনি ।

আমার জন্য সমাধানটি ছিল, সাইট2 কোডফোনটির নাম পরিবর্তন করে সাইটটি 2 এবং তারপরে আবার সাইট 2 নামকরণ করা হবে সাইট2.conf এ। এরপরে আমি সাইট 2 কোডএফ -2 এনেস করতে সক্ষম হয়েছি।


1

আমি বুঝতে পারি যে এখানে ঘটনাটি নয় তবে এটি কারওর পক্ষে সহায়তা করতে পারে।

দু'বার পরীক্ষা করে দেখুন আপনি ভুলভাবে / etc / apache2 / সাইট-এ সক্ষম হওয়া কনফার্ট ফাইল তৈরি করেন নি। আপনি একই ত্রুটি পান।


-2

এরকম চেষ্টা করুন ..

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

এবং / ইত্যাদি / হোস্টগুলিতে এন্ট্রি যুক্ত করুন

127.0.0.1 www.cmsplus.dev

অ্যাপাচি পুনরায় চালু করুন ..


এখন এটি It worksসেটিংসের পরিবর্তে আমাকে ডিফল্ট পৃষ্ঠা দিচ্ছে ।
ডিভো

আপনার কি একাধিক ভার্চুয়াল হোস্ট কনফিগারেশন রয়েছে? আপনি কি পুরো ফাইলের সামগ্রী পোস্ট করতে পারেন?
বালাজি পেরুমাল

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