Apache2 এর জন্য বিভিন্ন পোর্টের অধীনে ডিরেক্টরি পরিবর্তন বা একাধিক ডিরেক্টরি থেকে চালানোর সঠিক উপায়টি নীচে:
অ্যাপাচি 2 এর জন্য কনফিগারেশন ফাইলগুলি নীচে অবস্থিত /etc/apache2
এবং পুরানো সংস্করণগুলির মতো একটি একক কনফিগারেশন ফাইল ব্যবহার করে না তবে /etc/apache2/apache2.conf
এটি প্রধান কনফিগারেশন ফাইল হওয়ায় ছোট কনফিগারেশন ফাইলগুলিতে বিভক্ত । একটি ভিন্ন ডিরেক্টরি থেকে ফাইল পরিবেশন করতে আমাদের একটি নতুন ভার্চুয়ালহোস্ট কনফ ফাইল করা দরকার। ভার্চুয়ালহোস্ট কনফার্ট ফাইলগুলি অবস্থিত /etc/apache2/sites-available
(সাইটগুলি সক্ষম থাকা ফাইলগুলির মধ্যে সম্পাদনা করবেন না)। ডিফল্ট অ্যাপাচি ইনস্টলেশন ভার্চুয়ালহোস্ট কনফ ফাইল ব্যবহার করে000-default.conf
।
অ্যাপাচের ডিফল্ট ইনস্টলেশন দ্বারা ব্যবহৃত ডিফল্ট ভার্চুয়ালহোস্ট ফাইলটি অনুলিপি করে নতুন ভার্চুয়ালহোস্ট ফাইল তৈরি করে শুরু করুন (পোর্ট ৮০ এ লোকালহোস্টে চালিত ফাইলটি)। ডিরেক্টরিতে পরিবর্তন করুন /etc/apache2/sites-available
এবং তারপরে অনুলিপি করুন sudo cp 000-default.conf example.com.conf
, এখন ফাইলটি এখান থেকে সম্পাদনা করুন sudo gedit example.com.conf
:
<VirtualHost *:80>
ServerAdmin example@localhost
DocumentRoot /home/ubuntu/example.com
</VirtualHost>
আমি সংক্ষিপ্ততার জন্য উপরের ফাইল থেকে অ-গুরুত্বপূর্ণ লাইনগুলি মুছে ফেলেছি। এখানে DocumentRoot
সেই ডিরেক্টরিতে যাওয়ার পথ যা থেকে ওয়েবসাইট ফাইলগুলি পরিবেশন করা হবেindex.html
।
আপনি যে ডিরেক্টরিটি থেকে ফাইলগুলি পরিবেশন করতে চান তা তৈরি করুন, উদাহরণস্বরূপ; mkdir example.com
এবং ডিরেক্টরিটির মালিক এবং ডিফল্ট গোষ্ঠী পরিবর্তন করুন, উদাহরণস্বরূপ যদি আপনার লগ ইন করা ব্যবহারকারী নাম ubuntu
হিসাবে অনুমতি পরিবর্তন করা হয় sudo chown ubuntu:www-data example.com
। এটি ব্যবহারকারীর সম্পূর্ণ অ্যাক্সেস মঞ্জুরি ubuntu
দেয় এবং গোষ্ঠীতে অ্যাক্সেস পঠন এবং সম্পাদনের অনুমতি দেয়www-data
।
এখন /etc/apache2/apache2.conf
কমান্ড জারি করে অ্যাপাচি কনফ ফাইলটি সম্পাদনা করুন sudo gedit apache2.conf
এবং লাইনটি <Directory /var/www/>
এবং ক্লোজিং ট্যাগের </Directory>
নীচে সন্ধান করুন, নীচে নিম্নলিখিতটি যুক্ত করুন:
<Directory /home/ubuntu/example.com>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
এখন সেখানে সক্ষম বা virtualhost কনফিগারেশন ফাইল, যা হয় নিষ্ক্রিয় করতে দুই কমান্ড হয় a2ensite
এবং a2dissite
যথাক্রমে। এখন যেহেতু আমাদের example.com.conf
ফাইলটি 80
ডিফল্ট কনফিগারেশন ফাইল ( 000-default.conf
) দ্বারা ব্যবহৃত একই পোর্ট ( ) ব্যবহার করে , তাই কমান্ড জারি করে আমাদের ডিফল্ট কনফিগারেশন ফাইলটি অক্ষম করতে হবেsudo a2dissite 000-default.conf
আমাদের এবং আমাদের ভার্চুহস্ট কনফাইট ফাইলটি সক্ষম করেsudo a2ensite example.com.conf
এখন কমান্ড সহ সার্ভারটি পুনরায় চালু বা পুনরায় লোড করুন sudo service apache2 restart
। এখন Apache ডিরেক্টরি থেকে ফাইল তোলে example.com
এ localhost
ডিফল্ট পোর্টে80
।
দ্য a2ensite
কমান্ড মূলত সাইটের সক্রিয় ডিরেক্টরি অধীনে conf ফাইলে পরিবর্তন করার জন্য একটি সিম্বলিক লিঙ্ক তৈরি করে
এই উত্তরে বর্ণিত হিসাবে সাইট-সক্ষম (বা *-সক্ষম) ডিরেক্টরয়ের মধ্যে ফাইলগুলি সম্পাদনা করবেন না https://stackoverflow.com/a/41568701/2532763
পোর্ট পরিবর্তন করতে এবং বিভিন্ন বন্দরে একাধিক ডিরেক্টরি থেকে চালাতে:
এখন আপনার যদি অন্য কোনও বন্দরে ডিরেক্টরি পরিচালনা করতে হয় তবে ভার্চুয়ালহোস্ট ফাইলটি সম্পাদনা করে পোর্ট নম্বরটি 80 থেকে 8080 এ পরিবর্তন করুন:
<VirtualHost *:8080>
ServerAdmin user@localhost
DocumentRoot /home/ubuntu/work
</VirtualHost>
এবং সম্পাদনা /etc/apache2/ports.conf
এবং Listen 8080
লাইনের ঠিক নীচে যুক্ত করাListen 80
এখন আমরা ডিফল্ট ভার্চুয়ালহোস্ট কনফ ফাইলটি সক্ষম করতে পারি যা পোর্ট ৮০ এ চলমান যেহেতু উদাহরণ.কম ডিরেক্টরি পোর্ট ৮০৮০ ব্যবহার করে sudo a2ensite 000-default.conf
এখন কমান্ড সহ সার্ভারটি পুনরায় চালু বা পুনরায় লোড করুন sudo service apache2 restart
। এখন উভয় ডিরেক্টরি থেকে localhost
এবং অ্যাক্সেস করা যেতে পারেlocalhost:8080