কোন ক্রমে আপাচি কনফ ফাইলগুলি লোড করে এবং কোনটি?


10

আমি একটি ওয়েব ফ্রেমওয়ার্ক ইনস্টল করে একটি সেন্টোস 6.5 সার্ভারটি দেখছি যা বহু বছরের পর বছর ধরে যুক্ত হয়েছে। HTTPd.conf সহ / কনফিডে 5 টি সক্রিয় .conf ফাইলের মতো দেখতে রয়েছে।

Httpd.conf এ রিডস অন্তর্ভুক্ত করুন

Include conf.d/*.conf

এবং সেই ডিরেক্টরিতে থাকা সমস্ত ফাইলকে দখল করে, তবে কোনও নির্দিষ্ট আদেশ ছাড়াই প্রয়োগ করা হয়েছে যা আমি সচেতন, এবং সুতরাং / কনফিড (ন। ডি) ডিরেক্টরি সম্পর্কে কী হবে?

এমন কোনও সেটিংস রয়েছে যা লোড অর্ডারটি জানিয়েছে বা সেগুলি কেবল এজে থেকে নেওয়া হয়েছে?

আমি সার্ভার প্রশাসক নই, আমি একজন বিকাশকারী এবং সমস্যাটি কোনও / টেম্প দিরের কাছে ফাইলগুলি আপলোড করার পথে রয়েছে যেখানে আমি যাচাই করেছি যে আমি নিজে যে ফাইলগুলির সাথে সম্পর্কিত সেগুলির জন্য নির্দিষ্ট পথটি সঠিক।

সুতরাং, প্রথম প্রশ্নটি হ'ল:

আপাচি / কনফার থেকে সবকিছু লোড করে বা কোথাও নির্দিষ্ট তালিকা রয়েছে?

২ য় প্রশ্নটি হ'ল:

বর্ণমালায় আপাচি ফাইলগুলি কোন ক্রমে লোড করে?

সর্বশেষে:

.Conf- এ শেষ না হওয়া কোনও ফাইল কী অন্তর্ভুক্ত হয়? উদাহরণস্বরূপ আমি যদি কিছু নাম রাখি myconfig.conf.old এপাচি কি এড়িয়ে যাবে?

উত্তর:


14

ক্রম বর্ণানুক্রমিক। এটি কেবল অন্তর্ভুক্তের পথটি নির্দিষ্ট করে লোড করে। Include conf.d/*.confঅ্যাপাচি এর ক্ষেত্রে নাম শেষ হওয়ার সাথে সাথে সমস্ত ফাইল লোড হবে .conf

এটি অ্যাপাচি ডকুমেন্টেশন থেকে নিষ্কাশন :

শেল-স্টাইল (fnmatch ()) ওয়াইল্ডকার্ড অক্ষর বর্ণানুক্রমিক ক্রমে একাধিক ফাইল অন্তর্ভুক্ত করতে ব্যবহার করা যেতে পারে । এছাড়াও, যদি কোনও ফাইলের পরিবর্তে কোনও ডিরেক্টরিতে পয়েন্ট অন্তর্ভুক্ত থাকে তবে অ্যাপাচি সেই ডিরেক্টরিতে এবং যে কোনও সাব-ডিরেক্টরিতে সমস্ত ফাইল পড়বে। তবে পুরো ডিরেক্টরিগুলি সহ প্রস্তাব দেওয়া হয় না, কারণ দুর্ঘটনাক্রমে কোনও ডিরেক্টরিতে অস্থায়ী ফাইলগুলি ছেড়ে দেওয়া সহজ যা httpd ব্যর্থ হতে পারে।


আপনাকে ধন্যবাদ, যে 1 এবং 2 প্রশ্নের অবশ্যই উত্তর দেয়। আমি অ্যাপাচি ডক্স যদিও দেখেছি কিন্তু উত্তর খুঁজে পাইনি।
chrtp

বিস্তৃতভাবে (কনফিগার আইটেমগুলির অর্ডার আগের আইটেমগুলিকে ওভাররাইড করে) যা সঠিক। অবশ্যই যদি কমান্ডগুলি একই কনফিগারেশন বিভাগে থাকে। তবে উদাহরণস্বরূপ AllowOverrideকোনও .htaccessফাইলের কনফিগারেশনের সাথে কনফিগার আইটেমগুলিকে ওভাররাইড করা (ব্যবহার করা ) সম্ভব ।
সন্দেহভাজন

দুঃখিত, আমি আপনার মন্তব্যটি দেখার আগে আমি আমার মন্তব্য সম্পাদনা করেছি। এই ক্ষেত্রে কোনও .htaccess নেই, তবে 't' দিয়ে শুরু এমন একটি ফাইল রয়েছে যা সমস্ত কিছু ওভাররাইড করে। আমি ফাইলটির নাম পরিবর্তন বা সরানো যাচ্ছি।
chrtp

1
@ chrtp, এবং কেন একটি ফাইল শুরু করে tঅন্য সবগুলিকে ওভাররাইড করবে?
অ্যান্ড্রু সাভিনিখ

1

"অন্তর্ভুক্ত" নির্দেশিকার উপর ভিত্তি করে অ্যাপাচি অতিরিক্ত কনফিগারেশন লোড করে। এটি সম্ভবত এটির মতো দেখাচ্ছে:

Include conf.d/*.conf

সুতরাং, স্পষ্টতই, এর মধ্যে "কনফ। ডি" এর মধ্যে সমস্ত কিছু অন্তর্ভুক্ত রয়েছে যা "* .কনফ" এর মতো দেখাচ্ছে।

এটিকে আরও পাগল করার জন্য, আপনি "অন্তর্ভুক্ত" সহ একটি নির্বিচার সংখ্যক ডিরেক্টরি যুক্ত করতে পারেন যার মধ্যে মোটামুটি একই কনফিগার ফাইল থাকতে পারে, যা শুরুতে সকলেই আনন্দের সাথে একে অপরকে ওভাররাইড করে ... এবং তারপরে এগুলি নিজেরাই অতিরিক্ত চালিত হয়ে উঠবে themselves বিভিন্ন হোস্ট করা ডিরেক্টরিতে .htaccess ফাইল দ্বারা।

যতটুকু আমি বলতে পারি, প্রথমে httpd.conf, সেগুলি ডিরেক্টরিগুলি যে ক্রমে অন্তর্ভুক্ত করা হয় তার পরে এবং পরে সেখান থেকে বর্ণানুক্রমিকভাবে হয়।

ভাল সময়। আপনার কনফিগারেশনটি সমস্যা সৃষ্টি করছে কি না সে সম্পর্কে কিছু ধারণা পেতে আপনি অ্যাপাচেকটল-টি বা অ্যাপাচিেক্টল কনফিগারেট ব্যবহার করতে পারেন।


1
আপনাকে ধন্যবাদ, দেখে মনে হচ্ছে যে কেউ এখানে টেমপ্লেট.কনফ নামে একটি ফাইল রেখে গেছে যা অবশ্যই লোড শেষের দিকে চলে যায় এবং তারপরে / টেম্পের পাথ নির্দিষ্ট করে এমন কোনও ফাইল ওভাররাইড করে। আমি কেবল অনুমান করতে পারি যে সেখানে কী আর ভেঙে যাচ্ছে!
chrtp

1
@chrtp উদ্দীপনা যুক্ত করার জন্য, নির্দেশকগুলি রান-টাইমে -C ( কনফিগার ফাইলগুলি পড়ার আগে তাদের যোগ করার জন্য ) এবং -c ( কনফিগার ফাইলের পরে সেগুলি পড়ার জন্য) ব্যবহার করে নির্দিষ্ট করা যেতে পারে , যাতে আপনি কমান্ড লাইন থেকে সম্পূর্ণ ভিন্ন কনফিগারেশন উত্স করতে পারবেন শুরুতে.
শয়তানীপ্পি

1

আমি আপনাকে অর্ডার পরিবর্তন করতে চাই ডিরেক্টরি উপলভ্য সাইটগুলিতে প্রথম কনফ ফাইলটি এবং প্রথম ভার্চুয়ালহস্ট *: 80 এর আগে আপনার ভার্চুয়াল হোস্ট কোড যুক্ত করুন।

আমার ক্ষেত্রে আমি hub.xxx.com.conf বায়াএক্সএক্সএক্স.কম-এর আগে হতে চাই। সুতরাং আমি hub.xxx.com.comonf খুলি এবং একটি ফাইলের শুরুতে ভার্চুয়াল হোস্ট রাখি

উদাহরণ স্বরূপ:

<VirtualHost *:80>
    DocumentRoot /www/hub.xxx.com/www/root
    ServerName hub.xxx.com
    ServerAlias *.hub.xxx.com
    <Directory "/www/hub.xxx.com/www/root">
        allow from all
        Options +Indexes
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /www/bayxxx.com/www/root
    ServerName bayxxx.com
    ServerAlias www.bayxxx.com
    <Directory "/www/bayxxx.com/www/root">
        allow from all
        Options +Indexes
    </Directory>
</VirtualHost>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.