আমরা যখন কোন Web Browser এ কোন Address লিখে এন্টার প্রেস করি তখন একটি Web Page প্রদর্শিত হয়। এই Web Page টি যে সার্ভার থেকেআসে তাকে Web Server বলে। লিনাক্সে বিভিন্ন ধরণের Web Server কনফিগার করা যায়। আজকের টিউটোরিয়ালে আমরা দেখবো কিভাবে HTTP Server কনফিগার করতে হয়।
Package Name : http Daemon : httpd Port : 80 Installation : yum install http* -y Document Root : /var/www/html Conf File : /etc/httpd/conf/httpd.conf
প্রথমেই আমরা yum এর সাহায্যে http প্যাকেজটি ইন্সটল করে নিব।
# yum install http* -y
HTTP সার্ভারের ডকুমেন্ট রুট হলো /var/www/html । অর্থাৎ আমাদের সকল Web Page, CSS file, Image ইত্যাদি এই ডাইরেক্টরীতে রাখতে হবে। এখন আমরা ডইরেক্টরীটিতে যাবো
# cd /var/www/html
এখানে একটি Sample Web Page তৈরী করবো বা অন্য কোথাও থেকে নিয়ে আসবো। Web Page কিভাবে তৈরী করতে হয় সেটা আমাদের বিবেচ্য নয়। এটা Web Developer গণ করে থাকে।
এখন আমরা /etc/httpd/conf/httpd.conf ফাইলের একেবারে শেষে নিচের মতো করে কিছু লাইন লিখব।
# vim /etc/httpd/conf/httpd.conf
<VirtualHost www.naser.com:80> ServerAdmin root@www.naser.com DocumentRoot /var/www/html DirectoryIndex index.html ServerName www.naser.com </VirtualHost>
অতঃপর httpd সার্ভিসটি রিষ্টার্ট দিব।
# service httpd restart # chkconfig httpd on
আমাদের সার্ভার কনফিগার করা আপাতত শেষ। এখন আমরা Web browser এ সার্ভারের আই.পি টি লিখে এন্টার প্রেস করলে আমাদের সার্ভারে রাখা Web page টি দেখতে পাবো।
একটি HTTP Server এর ডকুমেন্ট রুটে অনেকগুলো ডাইরেক্টরী থাকতে পারে। আবার প্রতিটি ডাইরেক্টরীতে একাধিক Web page বা অন্যান্য ফাইল থাকতে পারে। ধরুন আমাদের সার্ভারের ডকুমেন্ট রুটে restricted নামে একটি ডাইরেক্টরী আছে। আমরা চাচ্ছি এই restricted ডাইরেক্টরীতে রাখা ফাইলগুলো সার্ভার মেশিন ব্যতিত অন্য কোন কম্পিউটার থেকে কেউ যাতে এ্যাকসেস করতে না পারে।
এজন্য প্রথমেই আমরা আমাদের সার্ভারের ডকুমেন্ট রুটে restricted নামে একটি ডাইরেক্টরী তৈরী করে নিব। এবং সেখানে কিছু Sample ফাইল তৈরী করবো।
# cd /var/www/html # mkdir restricted # cd restricted # touch song.mp3 text.txt vedio.flv
এখন আমরা /etc/httpd/conf/httpd.conf ফাইলের শেষের দিকে যে লাইনগুলো লিখেছিলাম সেই লাইনগুলো নিচের মতো এডিট করবো।
# vim /etc/httpd/conf/httpd.conf
<VirtualHost www.naser.com:80> ServerAdmin root@www.naser.com DocumentRoot /var/www/html DirectoryIndex index.html ServerName www.naser.com <Directory /var/www/html/restricted> Options FollowSymLinks AllowOverride None Deny from all Allow from 192.168.10.2 </Directory> ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>
অতঃপর httpd সার্ভিসটি রিষ্টার্ট দিব।
# service httpd restart
এখন প্রথমে সার্ভার মেশিনের browser থেকে http://192.168.10.2/restricted এই এ্যাড্রেসটি এ্যাকসেস করে দেখুন তা এ্যাকসেস করা যাবে। কিন্তু নেটওয়ার্কের অন্য কোন কম্পিউটারের browser থেকে দেখুন তা এ্যাকসেস করা যাবে না।
ধরুন আমাদের সার্ভারের ডকুমেন্ট রুটে restricted নামে যে ডাইরেক্টরী আছে আমরা চাচ্ছি তা এ্যাকসেস করা যাবে কিন্তু পাওয়ার্ড দিয়ে এ্যাকসেস করতে হবে। অর্থাৎ শুধুমাত্র যারা পাসওয়ার্ড জানে কেবল তারাই এ্যাকসেস করতে পারবে। এজন্য আমাদেরকে সার্ভারে একটি ইউজার তৈরী করে ঐ ইউজারকে htaccess দিতে হবে।
এজন্য আমরা /etc/httpd/conf/httpd.conf ফাইলের শেষের দিকে যে লাইনগুলো লিখেছিলাম সেই লাইনগুলো নিচের মতো এডিট করবো।
# vim /etc/httpd/conf/httpd.conf
<VirtualHost www.example.com:80> ServerAdmin root@www.naser.com DocumentRoot /var/www/html ServerName www.example.com DirectoryIndex index.html <Directory /var/www/html/restricted> Options Indexes Order Allow,Deny Allow from all AllowOverride AuthConfig </Directory> ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>
অতঃপর /var/www/html/restricted ডাইরেক্টরীতে .htaccess নামে একটি ফাইল তৈরী করবো এবং ফাইলটিতে নিচের মতো করে কিছু লাইন লিখব।
# vim /var/www/html/restricted/.htaccess
AuthName “Secure Site” AuthType basic AuthUserFile /etc/httpd/htpass Require valid-user
অতঃপর একটি ইউজার তৈরী করবো যেই ইউজারনেম দিয়ে আমরা ডাইরেক্টরীটি এ্যাকসেস করতে চাই।
# useradd asgar
অতঃপর ইউজার asgar কে htaccess দিব।
# htpasswd –c /etc/httpd/htpass asgar কমান্ডটি দেওয়ার পর পাসওয়ার্ডের প্রম্প্ট দিবে। তখন আমরা নিজেদের পছন্দ মতো একটি পাসওয়ার্ড দিব। পরবর্তীতে ডাইরেক্টরীটি এ্যাকসেস করার সময় ইউজার asgar এর সাথে এই পাসওয়ার্ডটি ব্যবহার করতে হবে।
সবশেষে httpd সার্ভিসটি রিষ্টার্ট দিব।
# service httpd restart
এরপর নেওয়ার্কের যেকোন মেশিনের browser থেকে http://192.168.10.2/restricted এই এ্যাড্রেসটি এ্যাকসেস করে দেখুন তা এ্যাকসেস করার সময় ইউজার নেম এবং পাসওয়ার্ড চাচ্ছে। এখন আমরা ইউজার asgar এর সাথে এই পাসওয়ার্ডটি ব্যবহার করলে ডাইরেক্টরীটিতে এ্যাকসেস করতে পারবো।
এতক্ষন আমরা HTTP Server টি ব্রাউজ করলাম আই.পি এ্যাড্রেসের মাধ্যমে। কিন্তু আমরা যদি ডোমেইন নেম এর মাধ্যমে ব্রাউজ করতে চাই তাহলে আমাদের DNS Server এর Zone ফাইলে এন্ট্রি দিতে হবে।
# vim /var/named/naser.fz
অতঃপর DNS Server এর named সার্ভিসটি রিষ্টার্ট দিব।
# service named restart
এরপর নেওয়ার্কের যেকোন মেশিনের browser থেকে http://www.naser.com এই এ্যাড্রেসটি এ্যাকসেস করা যাবে।
আশাকরি এই টিউটোরিয়ালটি দেখে আপনারা নিজে নিজেই এখন HTTP Server কনফিগার করতে পারবেন। ভাল থাকবেন। আল্লাহ হাফেজ।