Home Linux הסבר על Virtual Host ב Apache2 | יצירת שתי כתובות בכתובת IP אחת

הסבר על Virtual Host ב Apache2 | יצירת שתי כתובות בכתובת IP אחת

0 comment
נהנתם מהמאמר ? שתפו אותו!

כל הזכויות שמורות לטל בן שושן – Shushan.co.il

הסבר על Virtual Host ב Apache2 | יצירת שתי כתובות בכתובת IP אחת

מהו Virtual Host ולמה הוא כל כך חשוב? כאשר אנו יוצרים שרת ובמיוחד שרת ווב שפונה לעולם עם כתובת IP חיצונית, נאמר 104.24.112.198 (הכתובת החיצונית של השרת שלי) אין לנו כתובות חיצוניות רבות, נוסף על כך אנחנו לא רוצים ליצור לכל אתר שלנו שרת חדש עם כתובת IP חדשה.

אז מה נוכל לעשות? נוכל להקים שרת, לתת לו כתובת IP חיצונית אחת, להתקין 2 אתרים אפילו 5 אתרים ויותר, ולתת לכל אתר כתובת Domain אחר וכולם יהיו על אותו IP, וכיצד מבוצע דבר שכזה?
יש לנו שרת אחד בלבד ומצוות לו כתובת IP חיצונית אחת וכמה אתרים שלכולם שמות דומיין שונים, נאמר
TalBenShushan.com
TalSite2.co.il                שני האתרים הללו יושבים על אותה כתובת IP חיצונית, וזה מבוצע על ידי Virtual Host

זאת אומרת Virtual Host מגדיר נתיב בשרת על פי השם DNS זאת אומרת שאם קיים לי הנתיבים הבאים:

http://192.168.1.100/site1       -    site1.com

http://192.168.1.100/site2       -    site2.com

הוא ידע להפנות את האתר site2.com לנתיב http://192.168.1.100/site2 במדויק וכל זאת על פי השם בלבד, שכן יש לנו 2 אתרים על אותה כתובת IP

עברו על המדריך התקנת מערכת תוכן WordPress ושרת Apache, MySql, PhpMyAdmin

צרו שתי אתרים חדשים הנתיב שלהם ב

/var/www/html/

לא משנה, כיוון שאתר אחד יכול להיות בתיקייה הראשית ואחד בתוך תיקייה נאמר

/var/www/html/site2

אז יש לנו שתי אתרים האחד בתוך תיקייה בHTML בשם Site2 והאחד נמצא בתיקייה הראשית

האחד הכתובת שלו זה

http://192.168.1.100/

והשני הכתובת שלו

http://192.168.1.100/site2

כעת נגדיר כתובת לאתר

http://192.168.1.100/

והשם של האתר הזה יהיה TalSite2.co.il

*אני אשנה את קובץ ה Hosts שלי במחשב לכתובות האלו והכתובת ה IP של השרת (כיוון שזה מעבדה הכתובות לא קימות במציאות)

אפתח את קובץ הHosts בווינדוס אצלי בנתיב

C:\Windows\System32\drivers\etc\hosts

והכניס לתוך הקובץ

172.26.0.234 talbenshushan.com

172.26.0.234 talsite2.co.il

כעת אבצע מהCMD של הווינדוס שלי פינג לכתובות

ping talbenshushan.com

C:\Users\>ping talbenshushan.com

Pinging talbenshushan.com [192.168.1.100] with 32 bytes of data:

Reply from 192.168.1.100: bytes=32 time<1ms TTL=64

ועכשיו לאתר talsite2.co.il

C:\Users\>ping talsite2.co.il

Pinging talbenshushan.com [192.168.1.100] with 32 bytes of data:

Reply from 192.168.1.100: bytes=32 time<1ms TTL=64

מעולה!

החלטנו שהאתר שנמצא בתיקייה הראשית של HTML הוא

http://192.168.1.100/                 -                talbenshushan.com

והאתר שנמצא בתוך התיקייה site2 הוא

http://192.168.1.100/site2                 -                 talsite2.co.il

אז כיצד נגדיר זאת שכאשר אני אקליד בדפדפן את האתר talsite2.co.il הוא יעביר את המשתמש לנתיב http://192.168.1.100/site2 ואילו המשתמש יקיש talbenshushan.com הוא יגיע ל http://192.168.1.100/?

 

קודם נגדיר לשרת ה Apache שלנו לטעון כל פעם שהוא עולה קובץ הגדרות חדש, בנתיב מסוים

 

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

בסוף המסמך בשורה האחרונה הוסיפו את השורה

IncludeOptional sites-enabled/*.conf

כעת שימרו וסגרו את הקובץ

ניצור את התקייה sites-enabled ואת התיקייה /etc/httpd/sites-available וזאת שאחת התיקיות תכיל את הקבצים המקוריים ואילו השניה שממנה יטענו קבצי ההגדרות הם יהיו Symbolic Link

ניצור את התיקיות

[root@localhost httpd]# mkdir /etc/httpd/sites-enabled

[root@localhost httpd]# mkdir /etc/httpd/sites-available

וכעת ניצור קובץ הגדרות חדש (שApache יטען כאשר הוא יעלה וכי אמרנו לו לטעון את כל קבצי ה Conf בתקייה הזו)

נתקין את העורך nano

[root@localhost httpd]# vi /etc/httpd/sites-available/talsite2.co.il.conf

כעת נגדיר את הכתובת של האתר ואת הנתיב שלו

<VirtualHost *:80>

ServerName www.talsite2.co.il

ServerAlias talsite2.co.il

DocumentRoot /var/www/html/site2

</VirtualHost>

סימנתי לכם באדום מה צריך לשנות בהתאם לשרת שלכם שמרו וסגרו את הקובץ

כעת נעתיק את הקובץ שעשינו שוב לשם של האתר השני ונשנה בו את ההגדרות לפי הגדרות שאנו רוצים באתר השני

[root@localhost httpd]# cp /etc/httpd/sites-available/talsite2.co.il.conf /etc/httpd/sites-available/talbenshushan.com.conf

נערוך אותו

[root@localhost httpd]# vi /etc/httpd/sites-available/talbenshushan.com.conf

נוסיף את הטקסט הבא לתוך המסמך

 

<VirtualHost *:80>

ServerName www.talbenshushan.com

ServerAlias talbenshushan.com

DocumentRoot /var/www/html

</VirtualHost>

כעת ניצור את הSymbolic Link, הרי הגדרנו בהתחלה לApache לטעון מהנתיב sites-enabled ואילו אנו יצרנו את הקבצים בsites-available ולכן אנו ניצור בתוך sites-enabled סימבוליק לינק לקבצים אשר נמצאים ב sites-available

[root@localhost httpd]# ln -s /etc/httpd/sites-available/talsite2.co.il.conf /etc/httpd/sites-enabled/talsite2.co.il.conf

[root@localhost httpd]# ln -s /etc/httpd/sites-available/talbenshushan.com.conf /etc/httpd/sites-enabled/talbenshushan.com.conf

כעת נבצע ריסטארט לשירות ה Apache

[root@localhost ~]# systemctl restart httpd

לכל אתר קבעתי עיצוב שונה, נכנסתי לכתובות והכל עובד!

מאמרים קשורים

Leave a Comment