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