این آموزش تنظیم چندین دامنه و وب سایت با استفاده از هاست های مجازی Apache در سرور مجازی اوبونتو 18.04 را به شما آموزش میدهد. در طی این فرایند ، یاد خواهید گرفت که بسته به دامنه درخواستی ، محتوای مختلفی را به بازدید کنندگان مختلف ارائه دهید.
برای نسخه دقیق تر این آموزش ، با توضیحات بیشتر در مورد هر مرحله ، لطفاً به نحوه تنظیم هاست های مجازی Apache در Ubuntu 18.04 مراجعه کنید.
پیش نیازها
برای تکمیل این آموزش ، به سرور مجازی Ubuntu 18.04 به موارد زیر دسترسی دارید:
⦁ کاربر sudo در سرور مجازی خود
⦁ سرور مجازی وب Apache2 ، که می توانید آن را با sudo apt install apache2 نصب کنید
مرحله 1 – ساختار دیرکتوری را ایجاد کنید
ابتدا یک ساختار دایرکتوری ایجاد خواهیم کرد که داده های سایت را که برای بازدید کنندگان در دایرکتوری سطح بالای Apache خود قرار خواهیم داد ، نگه می دارد. ما از نام های دامنه مثال ، که در زیر هایلایت شده استفاده خواهیم کرد. شما باید این نامها را با نام دامنه واقعی خود جایگزین کنید.
⦁ $ sudo mkdir -p /var/www/example.com/public_html
⦁
⦁ $ sudo mkdir -p /var/www/test.com/public_html
مرحله 2 – اعطای مجوزها
اکنون باید مجوزها را به کاربر غیر ریشه فعلی خود تغییر دهیم تا بتواند فایل ها را تغییر دهد.
⦁ $ sudo chown -R $USER:$USER /var/www/example.com/public_html
⦁
⦁ $ sudo chown -R $USER:$USER /var/www/test.com/public_html
علاوه بر این ، اطمینان حاصل خواهیم کرد که دسترسی خواندن به دایرکتوری وب عمومی و کلیه فایل ها و پوشه های موجود در آن مجاز است تا صفحات به درستی ارائه شوند.
⦁ $ sudo chmod -R 755 /var/www
⦁
مرحله 3 – ایجاد صفحات دمو برای هر هاست مجازی
بیایید برخی از مطالب را برای ارائه خدمات ایجاد کنیم ، یک صفحه نمایشی index.html برای هر سایت ایجاد میکنیم. می توانیم برای اولین سایت خود مثلا با استفاده از nano ، یک فایل index.html را در یک ویرایشگر متن باز کنیم.
⦁ $ nano /var/www/example.com/public_html/index.html
⦁
در این فایل ، یک سند HTML خاص دامنه ، مانند زیر ایجاد کنید:
/var/www/example.com/public_html/index.html
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
فایل را ذخیره کنید و ببندید، سپس این فایل را برای استفاده به عنوان پایه ای برای سایت دوم کپی کنید:
⦁ $ 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
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body> <h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
این فایل را نیز ذخیره کنید و ببندید.
مرحله 4 – فایل های هاست مجازی جدید ایجاد کنید
Apache با یک فایل هاست مجازی پیش فرض به نام 000-default.conf ارائه می شود که ما از آن به عنوان یک الگو استفاده خواهیم کرد. آن را کپی می کنیم تا یک فایل هاست مجازی برای هر یک از دامنه های خود ایجاد کنیم.
اولین فایل هاست مجازی ایجاد کنید
با کپی کردن فایل برای دامنه اول شروع کنید:
⦁ $ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
فایل جدید را در ویرایشگر خود باز کنید (ما از nano در زیر استفاده می کنیم) با امتیازات کاربر اصلی:
⦁ $ sudo nano /etc/apache2/sites-available/example.com.conf
⦁
این فایل را برای دامنه خود شخصی سازی خواهیم کرد. متن هایلایت شده زیر را برای شرایط خود تغییر دهید.
/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
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
</VirtualHost>
در این مرحله فایل را ذخیره کنید و ببندید.
اولین هاست مجازی را کپی کنید و برای دامنه دوم شخصی سازی کنید
اکنون که اولین فایل هاست مجازی ما ایجاد شده است ، می توانیم با کپی کردن آن فایل و تنظیم آن در صورت لزوم ، فایل دوم خود را ایجاد کنیم.
با کپی کردن آن شروع کنید:
⦁ $ 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-