مقدمه
وب سرور مجازی Apache یک روش محبوب برای سرویس دهی به وب سایت ها در اینترنت است. تخمین زده می شود از سال 2019 ، 29٪ از کل وب سایت های فعال را سرویس می دهد و استحکام و انعطاف پذیری را برای توسعه دهندگان ارائه می دهد. با استفاده از Apache ، ادمین می تواند یک سرور مجازی را به عنوان هاست چندین دامنه یا سایت از یک رابط یا IP خاص با استفاده از یک سیستم تطبیق تنظیم کند.
هر دامنه یا سایت شخصی – به نام “هاست مجازی” – که با استفاده از Apache تنظیم شده است ، بازدید کننده را به یک دیرکتوری خاص که اطلاعات آن سایت را در اختیار دارد هدایت می کند. این کار بدون آنکه مشخص شود همان سرور مجازی مسئولیت سایر سایت ها را نیز دارد انجام می شود. این طرح بدون محدودیت نرم افزاری قابل گسترش است تا زمانی که سرور مجازی شما بتواند این بار را مدیریت کند. واحد اساسی که یک سایت یا دامنه را توصیف می کند هاست مجازی نامیده می شود.
در این راهنما ، شما را در مورد چگونگی تنظیم هاست های مجازی Apache بر روی یک سرور مجازی Ubuntu 18.04 راهنمایی خواهیم کرد. در طی این فرایند ، یاد خواهید گرفت که بسته به دامنه درخواستی ، محتوای مختلفی را به بازدید کنندگان مختلف ارائه دهید.
پیش نیازها
قبل از شروع این آموزش ، شما باید کاربر غیر ریشه ای ایجاد کنید.
همچنین نیاز به نصب Apache دارید تا بتوانید این مراحل را انجام دهید. اگر قبلاً این کار را نکرده اید ، می توانید Apache را از طریق بسته apt مناسب روی سرور مجازی خود نصب کنید:
⦁ $ sudo apt update
⦁
⦁ $ sudo apt install apache2
اگر دستورالعمل های دقیق تر و همچنین نصب فایروال را می خواهید، لطفا به راهنمای ما در مورد نحوه نصب وب سرور مجازی Apache در Ubuntu 18.04 مراجعه کنید.
برای اهداف این راهنما ، پیکربندی ما هاست مجازی را برای example.com و دیگری برای test.com ایجاد می کند. اینها در طول راهنما ارجاع داده می شوند ، اما شما باید دامنه ها یا مقادیر خود را در حین دنبال کردن جایگزین کنید.
اگر از سایت ما استفاده می کنید ، می توانید با دنبال کردن مطالب مربوط به محصول و نحوه اضافه کردن دامنه ، نحوه تنظیم دامنه را یاد بگیرید. برای سایر ارائه دهندگان ، به مطالب مربوط به محصول مربوطه آن ها ارجاع دهید اگر در حال حاضر دامنه ندارید ، می توانید از مقادیر تست استفاده کنید.
در صورت استفاده از مقادیر آزمایشی ، نحوه ویرایش فایل هاست های محلی را بعداً نشان خواهیم داد تا پیکربندی را آزمایش کنید. این کار به شما امکان می دهد پیکربندی خود را از رایانه خانگی خود تأیید کنید ، حتی اگر محتوای شما از طریق نام دامنه در دسترس سایر بازدید کنندگان قرار نگیرد.
مرحله اول – ساختار دیرکتوری را ایجاد کنید
اولین قدمی که می خواهیم برداریم ساختن ساختار دایرکتوری است که داده های سایتی را که ما به بازدید کنندگان ارائه خواهیم داد نگه می دارد.
document root ما (دایرکتوری سطح بالا که Apache به دنبال یافتن مطالب برای ارائه خدمات است) در فهرستهای جداگانه تحت دیرکتوری / var / www تنظیم می شود. ما در اینجا یک دایرکتوری برای هر دو هاست مجازی که قصد ساخت آن را داریم ایجاد خواهیم کرد.
در هر یک از این دیرکتوری ها ، یک پوشه public_html ایجاد خواهیم کرد که فایل های واقعی ما را نگه می دارد. این به ما در هاستینگ انعطاف پذیری می دهد.
به عنوان مثال ، ما برای سایت های مان ، می خواهیم دایرکتوری های خود را به شرح زیر بسازیم. اگر از دامنه های واقعی یا مقادیر متناوب استفاده می کنید ، متن هایلایت شده را با این دستورها جابجا کنید.
⦁ $ sudo mkdir -p /var/www/example.com/public_html
⦁
⦁ $ sudo mkdir -p /var/www/test.com/public_html
بخش هایی به رنگ قرمز نشان دهنده نام دامنه هایی است که می خواهیم از VPS خود سرویس دهیم.
مرحله دوم – اعطای مجوزها
اکنون ساختار دایرکتوری را برای فایل های خود داریم ، اما آنها متعلق به کاربر root ما هستند. اگر می خواهیم کاربر عادی ما بتواند فایل ها را در دایرکتوری های وب خود تغییر دهد ، می توانیم با انجام این کار مالکیت را تغییر دهیم:
⦁ $ sudo chown -R $USER:$USER /var/www/example.com/public_html
⦁
⦁ $ sudo chown -R $USER:$USER /var/www/test.com/public_html
وقتی ENTER را فشار می دهید متغیر $ USER ورودی کاربری را که اکنون با آن وارد سیستم شده اید دریافت میکند. با انجام این کار ، کاربر معمولی ما اکنون مالک زیرشاخه های public_html است که در آن می خواهیم محتوای خود را ذخیره کنیم.
همچنین باید مجوزهای خود را اصلاح کنیم تا اطمینان حاصل شود که دسترسی خواندن به دایرکتوری وب و کلیه فایل ها و پوشه های موجود در آن مجاز است تا صفحات به درستی ارائه شود:
⦁ $ sudo chmod -R 755 /var/www
⦁
وب سرور مجازی شما اکنون باید مجوزهای لازم برای ارائه محتوا را داشته باشد و کاربر شما باید بتواند محتوا را در پوشه های لازم ایجاد کند.
مرحله سوم – ایجاد صفحات آزمایشی برای هر هاست مجازی
اکنون ساختار دایرکتوری ما موجود است. بیایید برخی از مطالب را برای ارائه ایجاد کنیم.
برای اهداف توضیحی ، ما برای هر سایت یک صفحه index.html ایجاد خواهیم کرد.
اکنون با example.com. شروع می کنیم. ما می توانیم یک فایل index.html را در یک ویرایشگر متن باز کنیم ، در این حالت از nano استفاده خواهیم کرد:
⦁ $ nano /var/www/example.com/public_html/index.html
در این فایل یک سند HTML ایجاد کنید که سایتی را که به آن متصل است مانند زیر ایجاد کند:
/var/www/example.com/public_html/index.html
Success! The example.com virtual host is working!
پس از اتمام کار، فایل را ذخیره کنید و ببندید (در nano، CTRL + X و سپس Y و ENTER را بزنید) .
میتوانیم با تایپ دستور زیر این فایل را کپی کنیم تا به عنوان پایه ای برای سایت دوم خود استفاده کنیم:
⦁ $ cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
سپس می توانیم فایل را باز کرده و قسمتهای مربوط به اطلاعات را اصلاح کنیم:
⦁ $ nano /var/www/test.com/public_html/index.html
/var/www/test.com/public_html/index.html
Success! The test.com virtual host is working!
⦁
این فایل را نیز ذخیره کنید و ببندید. اکنون صفحات لازم برای آزمایش پیکربندی هاست مجازی را دارید.
مرحله چهارم – فایلهای هاست مجازی جدید ایجاد کنید
فایل های هاست مجازی فایلهایی هستند که پیکربندی واقعی هاست های مجازی ما را مشخص می کنند و چگونگی پاسخگویی سرور مجازی وب Apache را به درخواستهای دامنه مختلف تعیین می کنند.
Apache با یک فایل هاست مجازی پیش فرض به نام 000-default.conf همراه است که می توانیم از آن به عنوان نقطه پرش استفاده کنیم. ما می خواهیم آن را کپی کنیم تا یک فایل هاست مجازی برای هر یک از دامنه های خود ایجاد کنیم.
با یک دامنه شروع خواهیم کرد ، آن را پیکربندی می کنیم ، آن را برای دامنه دوم خود کپی می کنیم، و سپس چند تنظیمات بیشتر مورد نیاز را انجام میدهیم. پیکربندی پیش فرض اوبونتو نیاز دارد که هر فایل هاست مجازی به .conf ختم شود.
اولین فایل هاست مجازی ایجاد کنید
با کپی کردن فایل برای دامنه اول شروع کنید:
⦁ $ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
فایل جدید را در ویرایشگر خود با امتیازات root باز کنید:
⦁ $ sudo nano /etc/apache2/sites-available/example.com.conf
با حذف کامنت ها ، فایل شبیه به این خواهد بود:
/etc/apache2/sites-available/example.com.conf
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
در این فایل ، موارد مربوط به دامنه اول خود را سفارشی می کنیم و چند دستورالعمل بیشتر را اضافه می کنیم. این بخش هاست مجازی با هر درخواستی که در پورت 80 ، پورت پیش فرض HTTP ، انجام شود مطابقت دارد.
ابتدا باید مسیر ServerAdmin را به ایمیلی تغییر دهیم که ادمین سایت بتواند از طریق آن ایمیل دریافت کند.
ServerAdmin admin@example.com
پس از این ، باید دو مسیر اضافه کنیم. اولی ، با نام ServerName ، دامنه پایه ای را ایجاد می کند که باید برای این تعریف هاست مجازی مطابقت داشته باشد. به احتمال زیاد دامنه شما خواهد بود. نام دوم که ServerAlias نام دارد ، نامهای دیگری را تعریف می کند که باید مطابقت داشته باشند و گویی نام اصلی هستند. این برای تطبیق هاست هایی که تعریف کرده اید مفید است ، مانند www:
ServerName example.com
ServerAlias www.example.com
تنها مورد دیگری که باید برای فایل هاست مجازی خود تغییر دهیم ، مکان ریشه سند برای این دامنه است. ما قبلاً دایرکتوری مورد نیاز خود را ایجاد کرده ایم ، بنابراین فقط باید دستورالعمل DocumentRoot را تغییر دهیم تا دایرکتوری را که ایجاد کردیم منعکس کند:
DocumentRoot /var/www/example.com/public_html
پس از اتمام ، فایل هاست مجازی ما باید به صورت زیر باشد:
/etc/apache2/sites-available/example.com.conf
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
در این مرحله فایل را ذخیره کنید و ببندید.
اولین هاست مجازی را کپی کنید و برای دامنه دوم شخصی سازی کنید
اکنون که اولین فایل هاست مجازی ما ایجاد شده است ، می توانیم با کپی کردن آن فایل و تنظیم آن در صورت لزوم ، فایل دوم خود را ایجاد کنیم.
با کپی کردن دستور زیر شروع کنید:
⦁ $ sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
فایل جدید را با حق امتیاز root در ویرایشگر خود باز کنید:
⦁ $ sudo nano /etc/apache2/sites-available/test.com.conf
اکنون باید برای ارجاع دادن دامنه دوم خود ، تمام بخش های اطلاعات را تغییر دهید. پس از اتمام کار ، باید اینگونه باشد:
/etc/apache2/sites-available/test.com.conf
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
پس از اتمام فایل را ذخیره کنید و ببندید.
مرحله پنجم – فایل های هاست مجازی جدید را فعال کنید
اکنون که فایل های هاست مجازی خود را ایجاد کرده ایم ، باید آنها را فعال کنیم. Apache شامل برخی از ابزارهایی است که به ما امکان می دهد این کار را انجام دهیم.
ما می توانیم از ابزار a2ensite برای فعال کردن هرکدام از سایتهای خود استفاده کنیم. اگر می خواهید اطلاعات بیشتری در مورد این اسکریپت بخوانید ، می توانید به مستندات a2ensite مراجعه کنید.
⦁ $ sudo a2ensite example.com.conf
⦁
⦁ $ sudo a2ensite test.com.conf
سپس ، سایت پیش فرض تعریف شده در 000-default.conf را غیرفعال کنید:
⦁ $ sudo a2dissite 000-default.conf
پس از اتمام ، باید Apache را مجدداً راه اندازی کنید تا این تغییرات عملی شود و از وضعیت systemctl برای تأیید موفقیت در راه اندازی مجدد استفاده کنید.
⦁ $ sudo systemctl restart apache2
⦁
⦁ $ sudo systemctl status apache2
⦁ $
⦁ $
⦁
اکنون سرور مجازی شما برای ارائه خدمات به دو وب سایت تنظیم شده است.
مرحله ششم – تنظیم فایل هاست های محلی (اختیاری(
اگر تاکنون از نامهای دامنه واقعی خود که برای تست این روش در اختیار دارید استفاده نکرده اید و در عوض از برخی از دامنه های نمونه استفاده کرده اید ، حداقل می توانید با تغییر موقت فایل هاست ها در رایانه محلی خود ، عملکرد این فرآیند را آزمایش کنید.
با این کار درخواستهای مربوط به دامنه هایی که پیکربندی کرده اید رهگیری می شود و آنها را به سرور مجازی VPS خود نشان می دهید ، دقیقاً همانطور که سیستم DNS در صورت استفاده از دامنه های ثبت شده این کار را انجام می داد. این تنها از طریق رایانه محلی شما کار می کند و فقط برای اهداف آزمایش است.
اطمینان حاصل کنید که برای این مراحل روی رایانه محلی خود کار می کنید و نه سرور مجازی VPS . لازم است رمزعبور ادمین رایانه را بدانید یا در غیر اینصورت عضو گروه ادمین شوید.
اگر در رایانه Mac یا Linux هستید ، با تایپ کردن دستور زیر فایل محلی خود را با امتیازات اداری ویرایش کنید:
⦁ $ sudo nano /etc/hosts
⦁
اگر در دستگاه ویندوز هستید ، می توانید دستورالعمل تغییر فایل هاست های خود را در اینجا بیابید.
جزئیاتی که شما باید اضافه کنید آدرس IP عمومی سرور مجازی شما است و به دنبال آن دامنه مورد نظر برای دستیابی به آن سرور مجازی است.
با استفاده از دامنه های مورد استفاده در این راهنما ، و جایگزین کردن IP سرور مجازی با متن your_server_IP ، فایل شما باید به این شکل در میاید:
/etc/hosts
127.0.0.1 localhost
127.0.1.1 guest-desktop
your_server_IP example.com
your_server_IP test.com
فایل را ذخیره کنید و ببندید.
این امر باعث می شود هر گونه درخواستی برای example.com و test.com از طریق رایانه ما هدایت شود و آنها را به سرور مجازی ما ارسال کند. اگر در واقع ما مالک این دامنه ها نباشیم تا بتوانیم هاست های مجازی خود را آزمایش کنیم، این همان چیزی است که می خواهیم.
مرحله هفتم – نتایج خود را آزمایش کنید
اکنون که هاست های مجازی خود را پیکربندی کرده اید ، می توانید با رفتن به دامنه هایی که در مرورگر وب خود پیکربندی کرده اید ، تنظیمات خود را آزمایش کنید:
http://example.com
باید صفحه ای به شکل زیر مشاهده کنید:
همچنین می توانید به صفحه دوم خود مراجعه کرده و فایلی را که برای سایت دوم خود ایجاد کرده اید ببینید.
http://test.com
اگر هر دوی این سایت ها همانطور که انتظار می رود کار کنند ، شما با موفقیت دو هاست مجازی را در همان سرور مجازی پیکربندی کرده اید.
اگر فایل هاست رایانه خانگی خود را تنظیم کرده باشید ، بهتر است خطوطی را که برای تأیید پیکربندی خود اضافه کردید ، اکنون حذف کنید. این کار باعث می شود فایل هاست شما با نوشته هایی که دیگر لازم نیست ، پر نشود.
اگر به دسترسی طولانی مدت نیاز ندارید ، برای هر سایتی که به آن نیاز دارید ، یک نام دامنه اضافه کنید و آن را طوری تنظیم کنید تا به سرور مجازی شما اشاره کند.
نتیجه
اگر این آموزش را تا اینجا دنبال کنید ، اکنون باید یک سرور مجازی واحد داشته باشید که دو نام دامنه جداگانه را اداره می کند. شما می توانید این روند را با دنبال کردن مراحلی که در بالا بیان کردیم برای ایجاد هاست مجازی بیشتر انجام دهید.
هیچ محدودیتی از نظر تعداد نام دامنه ای که Apache می تواند از عهده آن برآید وجود ندارد ، بنابراین به راحتی تا آنجا که سرور مجازی تان قادر به مدیریت است، دامنه اضافه کنید.
از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :
نحوه نصب Nginx در CentOS 8 – استفاده از Cron برای خودکارسازی کارها در اوبونتو 18
پکیج کردن و انتشار برنامه Snap در اوبونتو 18 – نصب و استفاده ازRadamsa برای فوز کردن برنامه ها روی Ubuntu 18
استقرارهای تولید Node.js خود را با Shipit در CentOS 7 – نحوه راه اندازی Eclipse Theia Cloud IDE Platform در Debian 10
چگونگی استفاده از migrations و seeders دیتابیس – نحوه نصب Docker Compose در Debian 10
نحوه نصب R روی اوبونتو 18.04 – چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد
چگونه می توان هاست های مجازی Apache را در اوبونتو 18.04 – نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04
نصب پشته Nginx، MySQL، PHP LEMP در CentOS 8 – نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7
نحوه نصب پشته یا استک Nginx ، MySQL ، PHP LEMP – بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose
مراحل ایمن سازی Apache HTTP در FreeBSD 12 – بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16
درک Objectهای Map و Set در JavaScript – استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18
نحوه راه اندازی Eclipse Theia Cloud IDE در اوبونتو – چگونه می توان پلتفرم كد سرور Cloud IDE را در اوبونتو 18.04
نحوه استفاده از Cron برای خودکارسازی کارها در CentOS 8 – چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی
نحوه نوشتن کد ناهمگام (غیر همزمان) در Node.js – نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18
راه اندازی اولیه سرور با CentOS 8 – تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes
نحوه تنظیم کلیدهای SSH در CentOS 8 – نحوه نصب و استفاده از PostgreSQL در CentOS 7
نحوه ساختن یک برنامه Node.js با Docker Quickstart – چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو
چگونه می توان هاست های مجازی Apache را در اوبونتو – مدیریت DNS با استفاده از DNSControl در Debian 10
نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04 – چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7
نحوه نصب و استفاده از TimescaleDB در CentOS 7 – نحوه نصب Apache Kafka در Debian 10
نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04 – نحوه نصب وردپرس با OpenLiteSpeed در اوبونتو 18.04
کلمات کلیدی خرید سرور
خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –
https://vpsgol.net/product/vps-germany/
https://vpsgol.net/product/vps-usa/
https://vpsgol.net/product/vps-france/
https://vpsgol.net/product/vps-canada/
https://vpsgol.net/product/vps-poland/
https://vpsgol.net/product/vps-netherlands/
https://vpsgol.net/product/vps-england/