دبیانسیستم عامل لینوکسمقالات وب
چگونه هاست مجازی آپاچی را بر روی دبیان ۹ نصب کنیم؟
آپاچی وب سرور متن باز و رایگانی است که در اختیار افراد قرار دارد. این وب سرور یکی از وب سرورهای محبوب و پرکاربرد در سرتاسر جهان است و عمدتا در سرورهای لینوکسی به کار می رود. در این مقاله قصد داریم ویرچوال هاست را بر روی دبیان ۹ نصب کنیم. پس همراه وب ایده باشید.
نیازمندی ها:
- دسترسی SSH با امتیاز Root بر روی سرور دبیان
- نصب و پیکربندی وب سرور آپاچی
در سرور خود لاگین کنید:
ابتدا از طریق SSH وارد سرور خود شوید:
1 | ssh root@server_ip |
نصب آپاچی را مورد بررسی قرار دهید:
به کمک دستور زیر مطمئن شوید آپاچی بر روی سرور نصب شده و به درستی کار می کند:
1 | dpkg -l apache2 |
اگر آپاچی بر روی سرور شما نصب نبود می توانید اینکار را به کمک دستور زیر انجام دهید. در ابتدا مطمئن شوید مخزن سیستم به روز است:
1 | apt-get update |
برای نصب وب سرور آپاچی دستور زیر را اجرا کنید:
1 | apt-get install apache2 |
بعد از اینکه نصب کامل شد، باید آپاچی را استارت کنید تا به طور خودکار در بوت سرور اجرا شود:
1 | systemctl enable apache2 |
به کمک دستور زیر می توانید وضعیت سرویس آپاچی را مورد بررسی قرار دهید:
1 | systemctl status apache2 |
خوب حالا که مطمئن شدیم آپاچی به درستی روی سرور اجرا و نصب شده است می توانیم به سراغ مراحل بعدی برویم.
ویرچوال هاست چیست؟
ویرچوال هاست آپاچی مجموعه ای از directive های پیکربندی است که به شما اجازه می دهد هر چند سایت که دوست داشتید به کمک یک وب سرور میزبانی کنید.
وب سرور آپاچی از دو نوع ویرچوال هاست پشتیبانی می کند:
- ویرچوال هاست Name-based
- ویرچوال هاست مبتنی بر ای پی
ویرچوال هاست Name-based معمولا برای میزبانی سایت های متعدد بر روی یک سرور مورد استفاده قرار می گیرد اما ویرچوال هاست مبتنی بر ای پی را می توان برای پیکربندی یک سایت بر روی یک آی پی آدرس پیکربندی کرد. در این آموزش ما نحوه نصب ویرچوال هاست Name-based را مورد بررسی قرار خواهیم داد. برای این منظو دو سایت را نام دامنه Domain1.com و Domain2.com میزبانی خواهیم نمود. شما می توانید این ها را با دامنه های واقعی خود جایگزین کنید.
دایرکتوری Webroot را ایجاد کنید:
قبل از اینکه بخواهید ویرچوال هاست را تنظیم کنید باید یک دایرکتوری روت برای سایت های خود ایجاد نمایید. به کمک دستور زیر ما دایرکتوری /var/www/html را ایجاد می کنیم:
1 2 3 | mkdir -p /var/www/html/domain1.com mkdir -p /var/www/html/domain2.com |
حالا یک صفحه دموی تست برای هر دامنه ایجاد می کنیم تا بعدا بتوانیم پیکربندی های خود را تست کنیم. به دایرکتوری روت domain1.com می رویم:
1 | cd /var/www/domain1.com |
به کمک دستور زیر یک صفحه Index.html جدید ایجاد می کنیم:
1 | nano index.html |
محتوای زیر را به آن اضافه می کنیم:
1 2 3 4 5 6 7 8 9 | <html> <body> <center><h1>This is domain1.com!</h1></center> </body> </html> |
حالا همین کار را برای دامنه بعدی تکرار می نماییم:
1 2 3 | cd /var/www/domain2.com nano index.html |
محتوای زیر را به آن اضافه می کنیم:
1 2 3 4 5 6 7 8 9 | <html> <body> <center><h1>This is domain2.com!</h1></center> </body> </html> |
خوب حالا با موفقیت صفحات تست را برای هر دو دامنه ایجاد کردیم. برای اینکه وب سرور به این فایل ها دسترسی داشته باشد باید دسترسی مناسب به آن ها بدهیم و گروه و کاربر را به www-data تنظیم نماییم. دسترسی ها را به صورت زیر به روز می کنیم:
1 | chown -R www-data: /var/www/html |
فایل های ویرچوال هاست را ایجاد کنید:
حالا می توانیم فایل های ویرچوال هاست خود را ایجاد کنیم. فایل پیکربندی ویرچوال هاست به .conf ختم می شود. دستور زیر را برای ایجاد فایل پیکربندی ویرچوال هاست برای اولین دامنه یعنی domain1.com مورد استفاده قرار می گیرد:
1 | nano /etc/apache2/sites-available/domain1.com.conf |
محتوای زیر را به فایل اضافه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <VirtualHost *:80> ServerAdmin admin@domain1.com ServerName domain1.com ServerAlias www.domain1.com DocumentRoot /var/www/html/domain1.com ErrorLog ${APACHE_LOG_DIR}/domain1.com_error.log CustomLog ${APACHE_LOG_DIR}/domain2.com_access.log combined </VirtualHost> |
حالا همین کار را برای دامنه دوم تکرار می کنیم:
1 | nano /etc/apache2/sites-available/domain2.com.conf |
کد زیر را به آن اضافه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <VirtualHost *:80> ServerAdmin admin@domain2.com ServerName domain2.com ServerAlias www.domain2.com DocumentRoot /var/www/html/domain2.com ErrorLog ${APACHE_LOG_DIR}/domain2.com_error.log CustomLog ${APACHE_LOG_DIR}/domain2.com_access.log combined </VirtualHost> |
خطوط زیر نشان می دهد ویرچوال هاست کار listening را در پورت ۸۰ انجام می دهد:
1 | <VirtualHost *:80> |
عبارت ServerAdmin آدرس ارتباطی را تنظیم می کند که سرور ان را در هر پیام خطایی که به کلاینت باز می گرداند قرار می دهد. شما باید از آدرس ایمیل خود در این بخش استفاده کنید:
1 | ServerAdmin admin@domain1.com |
عبارت ServerName در این دستور، نام دامنه و ServerAlias نشان دهنده نام های اضافی است که باید منطبق با دامنه اصلی باشد:
1 2 3 | ServerName domain1.com ServerAlias www.domain1.com |
عبارت DocumentRoot موقعیتی را مشخص می کند که آپاچی به هنگام پردازش درخواست برای دامنه تعریف شده باید مورد بررسی قرار دهد:
1 | DocumentRoot /var/www/html/domain1.com |
دو خطر آخر موقعیت فایل لاگ را تعیین می کند:
1 2 3 | ErrorLog ${APACHE_LOG_DIR}/domain1.com_error.log CustomLog ${APACHE_LOG_DIR}/domain1.com_access.log combined |
فعالسازی ویرچوال هاست:
مرحله بعدی فعال کردن ویرچوال هاستی است که ایجاد کرده ایم. شما می توانید اینکار را به کمک دستورات زیر انجام دهید:
1 2 3 | a2ensite domain1.com.conf a2ensite domain2.com.conf |
روش دیگر برای انجام اینکار ایجاد لینک برای هر ویرچوال هاست در /etc/apache2/sites-enabled است:
1 2 3 | ln -s /etc/apache2/sites-available/domain1.com.conf /etc/apache2/sites-enabled/ ln -s /etc/apache2/sites-available/domain2.com.conf /etc/apache2/sites-enabled/ |
بعد از اینکه ویرچوال هاست را فعال کردید، باید وب سرور آپاچی را ریستارت کنید:
1 | systemctl restart apache2 |
اگر همه دستورات را درست دنبال کرده باشید باید بتوانید هر دامنه را در مرورگر باز کنید و نتایج را ببینید.