Home Linux Linux Apache2

Linux Apache2

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

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

Linux Apache2

הוא שרת ה Web הנפוץ ביותר בעולם, יותר מ Ngnix ממיקרוסופט IIS מGoogle Sites, אתרים כמו Apple ו Paypal ו Baidu ואתרים גדולים אחרים, כולם משתמשים ב Apache.
Apache הוא כלי להרצת שרת Web הוא מכיל מפענח ל HTML זאת אומרת שהוא מפענח את קוד ה HTML לדף אינטרנט שהמחשב או יותר נכון הדפדפן יכולים לקרוא, הוא מכיל קבצי הגדרות שאיתם ניתן להריץ שרת Web החל מהכתובת של השרת ועד יצירת מחיצות לאתרים נוספים שיכולים לשבת על אותו השרת , על מנת שנוכל להריץ שרת שנוכל להכניס אליו קבצי HTML והוא יציג למשתמש את הדפים מהשרת נצטרך שרת Web שהוא שרת Apache.

במאמר זה נשתמש בCentOS ולכן שמו של Apache2 שונה מהפצות אחרות

CentOS

שם השירות: httpd  מקורו : /etc/httpd

CentOS 7 \ RedHat -> httpd -> /etc/httpd

הוא טוען את כל ההגדרות מהתיקייה:

/etc/httpd/conf.d

Ubuntu

הוא טוען את כל ההגדרות מהתיקייה:

/etc/apache2/Apache2.conf

שם השירות: apache2 מקורו : /etc/apache2

Ubuntu \ Debian -> apache2 -> /etc/apache2

הוא טוען 2 תיקיות המכילות הגדרות –

sites.available
mods-available

כל הקבצים שיש בתיקיות הללו (אלו שרשמתי למעלה) קיימים ב Symbolic Link גם בתיקיות שציינתי למטה

sites.enabled
mods-enabled

המטרה לסימובליק לינק זה על מנת שנוכל לבטל או לאפשר חלק מהרכיבים מבלי למחוק אותם, apache2 טוען את כל ההגדרות מ sites.enabled ו mods.enabled

נתחיל בהתקנת Apache2 ב CentOS 7

[root@localhost ~]# yum -y install httpd

נפתח את פורט 80 הלוא הוא פורט Http ב Firewall

[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

 

פורט 443 Https כאשר נכניס תעודה לשרת נוכל להשתמש ב Https

[root@localhost ~]# firewall-cmd --zone=public --add-port=443/tcp --permanent

[root@localhost ~]# firewall-cmd --reload

ונפעיל את השירות

[root@localhost ~]# systemctl start httpd

כעת נפתח את הדפדפן במחשב שנמצא ברשת של השרת ורשום את כתובת ה IP, העמוד שאתם צריכים לראות הוא:

 

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

[root@localhost ~]# cd /etc/httpd/conf/

ונערוך את הקובץ

[root@localhost ~]# vi httpd.conf

אם נגולל למטה ונגיע לשורה זו, נוכל לראות שבשורה זו רשום את התיקייה הראשית של שרת ה Web

DocumentRoot "/var/www/html"

בשורה האחרונה ניתן לראות את השורה הזו

# Supplemental configuration

נוכל לראות שהוא מציג לנו שכל קובץ בנתיב הבא ובסיומת conf הוא טוען לapache

IncludeOptional conf.d/*.conf

כך למשל הוא טוען את httpd.conf שבתוכו יש את כל ההגדרות.

שורה מעניינת נוספת, היא

בשורה זו ניתן לראות שהקובץ הראשי הוא מחפש בתיקייה של קבצי הhtml, הוא קובץ בשם index.html

<IfModule dir_module>

DirectoryIndex index.html

לכן אם נכנס לתיקייה /var/www/html

cd /var/www/html

ניצור קובץ חדש בשם index.html

vi index.html

נכניס בקובץ

Hi My Name Is Tal Ben Shushan

נשמור ונצא, נכנס בדפדפן שלנו לכתובת ה IP של השרת, נקבל את הטקסט

Hi My Name Is Tal Ben Shushan

Apache Models

כאשר אני רוצה ל"שפר" את ה Apache אני יכול להוסיף מודלים, מודלים אלו מתווספים אל ה Apache ונותנים לו יכולות כמו היכולת לקרוא PHP להפעיל Perl ולעבוד ביחד עם MySql במדריכים באתר תוכלו לראות למשל כיצד להתקין WordPress או Drupal ושם לראות את השילוב הזה.

קוד HTML  שונה מקוד PHP ולכן ה Apache לא יכול לקרוא קוד PHP על מנת שהוא יקרא PHP אנו צריכים להתקין את מודל ה PHP, נתקין:

[root@localhost ~]# yum install php-mysql

כעת נוכל להכניס ל var/www/html קבצי PHP

כעת בנתיב

[root@localhost ~]# cd /etc/

וקיים שם קובץ בשם php.ini קובץ זה אחראי על כל הגדרות ה PHP

php.ini

המטרה של Apache זה לתת שירות להרבה מחשבים בו זמנית, לכן יש 3 שירותים

prefork
 worker
 event

שירותים אלו מאפשרים מתן שירות להרבה מחשבים בו זמנית

אם נלך לנתיב

[root@localhost ~]# cd /etc/httpd/conf.modules.d/00-mpm.conf

נוכל לראות את שלושת השירותים והנתיב ממנו הם פועלים

[root@localhost ~]# ls
mod_mpm_prefork.so
 mod_mpm_worker.so
 mod_mpm_event.so

Redirect הפניה ב Apache

נוכל לנתב תיקיות על ידי הפקודה Redirect

ניצור קודם 2 תיקיות בתוך html

תייקיה אחת בשם Tal

[root@localhost ~]# cd /var/www/html/

[root@localhost ~]# mkdir tal

תיקייה אחת בשם shushan

[root@localhost ~]# mkdir shushan

כעת ניצור קובץ index.html אך ורק בתיקייה shushan ובו נכתוב Shushan IT Blog

[root@localhost ~]# cd shushan
 [root@localhost ~]# vi index.html

נכתוב בתוכו Shushan IT Blog נשמור ונסגור

כעת נערוך את

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

ומתחת לשורה

DocumentRoot "/var/www/html"

נכניס שורה נוספת

Redirect /tal /shushan

נבצע ריסטארט ל Apache

[root@localhost ~]# systemctl restart httpd

נשמור את הקובץ, ונכנס בדפדפן ל

http://YourIP/tal

ונגיע בעצם לshushan ולקובץ ה index.html שנמצא שם

אבטחה Apache

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

נערוך את הקובץ

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

בשורה DocumentRoot "/var/www/html" נכתוב מתחת

<Directory "/var/www/html/hidden">
AuthType Basic
AuthName "hidden Content"
AuthUserFile /etc/httpd/pass
Require vlid-user
</Directory>

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

[root@localhost ~]# htpasswd -c /etc/httpd/pass tal

*שם המשתמש הוא tal

נלחץ enter ואז נקיש את הסיסמא

New password:

Re-type new password:

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

[root@localhost ~]# systemctl restart httpd

ניצור תייקייה בשם hidden

[root@localhost ~]# mkdir /var/www/html/hidden

כעת ניצור קובץ index.html בתוך תיקייה hidden

[root@localhost ~]# cd /var/www/html/hidden

[root@localhost ~]# vi index.html

כתבו מה שתרצו, שמרו את הקובץ

לאחר מכן הקובץ נוצר, כעת אם ננסה לגשת לנתיב hidden בשרת

http://YourServerIp/hidden

כעת תקבלו הודעה שעליכם להזין שם משתמש וסיסמא, זוכרים את שם המשתמש והסיסמא? מעולה!

 

 

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

Leave a Comment