راه اندازی یک خادم مجازی apache2 در لینوکس
برای کارگاه لینوکس، تصمیم داشتم تا به تعداد نفرات شرکت کننده DVD رایت کنم و در اختیار شرکت کنندگان قرار بدم. از طرف دیگه، چون از محتوای هر جلسه فیلم تهیه می شود، و اغلب نسخه خام فیلم نیز حجیم است، ناچار به استفاده از حافظه های فلش می شدیم! به همین دلیل تصمیم گرفتم که لپ تاپ خودم رو به صورت یک سرور وب در بیارم تا از این طریق شرکت کنندگان به سیستم من وصل بشوند و بتوانند فایل های مورد نیاز رو دریافت کنند. اینجوری، هم دست من توی تغییر فایل ها تا آخرین لحظات شروع کارگاه باز خواهد بود و هم در حین برگزاری کارگاه، افراد به راحتی فایل های مورد نیاز رو از سیستم من بر می دارند.
به هر روی پیش بینی می کنم که احتمالا سرعت سیستم من در حین این فرایند به صورت محسوسی کاهش پیدا کند. بنابراین شاید لازم باشه که یه سیستم رو مخصوص این کار رزرو کنیم. نتیجه رو فردا می بینم.
در هر صورت، ابتدا apache2 رو روی لینوکس نصب می کنم.
# apt-get install apache2
بعد از اینکه apache2 نصب شد، یه دایرکتوری مخصوص این فایل هابه صورت زیر ایجاد می کنم
# mkdir -p /var/www/ali
چون این دایرکتوری رو با کاربر root ایجاد کردم، بنابراین سایرین به اون دسترسی ندارند. از این رو، لازم میشه تا صاحب اون رو به کاربر مورد نظرم، در اینجا ali، تعییر بدهم.
# chown -R ali:ali /var/www/ali
حالا کافیه که فایل مربوط به یک virtual host رو بسازیم. البته از این جا به بعد توی کارگاه کاربردی نداشت، چون فرصت نصب کردن و تنظیم DNS سرور رو روی سیستم نداشتم، ولی برای کامل بودن مطلب میارم!
از دستور زیر برای ایجاد فایل مربوطه استفاده می کنیم
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ali
و تغییرات را به فرم زیر ایجاد می کنیم
<VirtualHost *:80>
ServerAdmin ali@localhost
ServerName ali
ServerAlias www.ali.home
DocumentRoot /var/www/ali/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
...............
حالا کافیه که این هاست رو فعال کنیم!
# a2ensite ali
و در نهایت apache2 رو راه اندازی مجدد می کنیم.
# service apache2 reload
برای اینکه فایل هام رو داخل پوشه خانگی قرار بدهم، از این دستور استفاده می کنم که یک symlink رو برای من می سازد.
$ ln -s ~ali/Workshop /var/www/ali/public_html/workshop
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.