אינטרנט

איך לבנות דף אינטרנט (ולהריץ php, cgi script)

לכל הסטודנטים ואנשי הסגל שיש להם חשבון Unix, יש את האפשרות ליצור לעצמם דפי אינטרנט. הספריה הראשית של דף האינטרנט צריכה להווצר ע"י המשתמש תחת ספרית ה - home directory והיא תקרא html. כל הקבצים ששייכים לדף האינטרנט ימוקמו בספריה זו. כאשר ניגשים לדף האינטרנט, יש להקליד בדפדפן האינטרנט את הכתובת בפורמט הבא: http://www.cs.tau.ac.il/~username (כאשר 'username' הוא שם המשתמש שלך ב - Unix'). הכתובת הנ"ל מקושרת לקובץ Default.html (עם D גדולה) או index.html לפי רצונך אשר יהיה ממוקם בספריה html. פרוש הדבר הוא שכאשר ניגשים לדף האינטרנט שלך דרך כתובת זו, למעשה ניגשים לקובץ Default.html או index.html.

להלן הוראות ליצירת דף אינטרנט אישי:

1. יש ליצור את הספריה html ב home directory ע"י הקלדת הפקודות הבאות בסדר הנ"ל:

cd ~username (Example: cd ~israelis)
mkdir html

2.ניתן להעתיק את דף האינטרנט לדוגמא שניתן באתר זה אל html/Default.html/~:

יש להעתיק את הקובץ לדוגמא (HTML)קובץ להורדה  לתוך ספרית ה html שכעת יצרת.כדי לעשות זאת, יש ללחוץ על כפתור ה "Save as ..."בתחתית המסך . הוראות מפורטות לגבי שמירת התמונה ניתן למצוא כאן (HTML)קובץ להורדה.

3. אפשר לשנות את הקובץ במידת הצורך.

הערות: כל קובץ שיהיה ברצונך להפוך לזמין באינטרנט חייב להיות בעל הרשאות הרצה. כלומר, עליך להקליד את הפקודות הבאות בסדר הבא:

cd ~username
chmod 711 ~username
chmod 711 html
chmod a+r html

כדי לגרום לדף האינטרנט שלך להיות אינטראקטיבי, יהיה עליך להשתמש ב CGI Scripts:

כדי להריץ cgi script יהיה עליך לבצע את הפעולות הבאות:

1. ליצור מתחת לספרית ה - html ספריה בשם: cgi-bin. לדוגמא:

cd ~username
cd html
mkdir cgi-bin

2. בספריה cgi-bin יש לשים את הסקריפטים, לא משנה באיזו שפה הם כתובים. הדבר הכי חשוב הוא לתת לתוכנית הרשאת הרצה (x) לקבוצות user,group,other.

3. בספריה html יש להניח את הקובץ form.html שיופעל ע"י טופס הסקריפטים.

4. בתג FORM, שדה ה - action יהיה: "http://www.cs.tau.ac.il/cgi-bin/cgiwrap/your_login_name/your_script_name"

לדוגמא: <form method="POST" action="http://www.cs.tau.ac.il/cgi-bin/cgiwrap/mylogin/myscript.pl">

Debug

5. על מנת לדבג את התוכנית/לראות מה המגבלות שיש בשרת ניתן להריץ     http://www.cs.tau.ac.il/cgi-bin/cgiwrapd/mylogin/myscript.pl

(חזרה לראש עמוד)

באילו שפות סקריפט אפשר להשתמש כדי לכתוב CGI סקריפט?


כל שפות שבדרך כלל משתמשים בשביל כתיבת CGI סקריפט, אפשר להשתמש: Perl, Python, Ruby, Bash. הינה דוגמה פשוטה בשפות שונות:

 

Perl:

#!/usr/bin/perl use CGI qw(:standard); print <<EOT; Content-type:text/html <HTML> <TITLE>Hello World Perl Example</TITLE> <BODY><H1>Hello World Perl CGI Example</H1></BODY> </HTML> EOT

Python:

#!/usr/bin/python
import cgi
print """Content-type:text/html <HTML> <TITLE>Hello World Python Example</TITLE> <BODY><H1>Hello World Python CGI Example</H1></BODY> </HTML>"""

Ruby:

#!/usr/bin/ruby
require 'cgi'
puts "Content-type:text/html"
puts ""
puts "<HTML><TITLE>Hello World Ruby Example</TITLE><BODY><H1>Hello World Ruby CGI Example</H1></BODY></HTML>"

 

 Bash:

#!/bin/bash
echo "Content-type:text/html"
echo ""
echo "<HTML>"
echo "<TITLE>Hello World Bash Example</TITLE>"
echo "<BODY><H1>Hello World Bash CGI Example</H1></BODY>"
echo "</HTML>"

 שימו לב! לפי תקן CGI קודם רושמים את השורה "Content-type:text/html", ואחר כך שורה ריקה! מידע נוסף נמצא בקישורים האלה:

 

איך אפשר להריץ את יישום PHP?


מה זה PHP ?PHP היא גם שפת סקריפט שרצה בצד השרת כמו CGI סקריפטים, כדי לבנות אתרים דינמיים, ואינטראקטיביים. אך בניגוד לסקריפטי CGI, יש לשמור את הקבצי PHP בספרייה "html", כמו קבצי html רגילים, אבל עם סיומת קובץ "php.". הינה דוגמה פשוטה של תוכן קובץ PHP:

<HTML> <TITLE>Hello World php Example</TITLE> <BODY><H1> <?php   Print "Hello World php!";  ?> </H1></BODY> </HTML>

מידע נוסף על נושא PHP נמצא באתרים האלה:

מדריך PHP

ויקיפדיה

אתר הרשמי

(חזרה לראש עמוד)

איך אני יכול/ה להשתמש ב - Ajax ?

הינה טכניקה ליצירת יישומי דפדפן אינטראקטיבים המבוססים על קוד המורץ על דף HTML בודד.
דוגמא פשוטה לשימוש ב AJAX:
נוסיף לדף ה HTML את קטע הקוד הבא: קטע קוד להוסיף לדף (HTML)קובץ להורדה,ואת הכפתור הזה (AJAX.)קובץ להורדה,ניצור קובץ המכיל טקסט כלשהוא בשם newcontent.txt ,אז בלחיצה על הכפתור, יוחלף הטקסט לטקסט ששמרנו בקובץ.

דוגמא נוספת ניתן לראות בעמוד הזה
 שקורא לקובץ
simple-ajax-example.cgi

(חזרה לראש עמוד)

איך אפשר להגדיר proxy לדפדפן שלי ?

במעבדות של מדעי המחשב, ניתן להשתמש בדפדפנים שמצורפים למערכת ההפעלה Windows או Linux. ב-Windows, לפי ברירת מחדל, הדפדפנים מוגדרים עם proxy. אין צורך לקנפג אותו. עבור Linux, נא ללחוץ כאן

(חזרה לראש עמוד)

איך אפשר לצפות בדפי אינטרנט החסומים לגישה מחוץ לאוניברסיטה ?

ישנם אתרים מסויימים החסומים לגישה מסיבות אבטחה, כגון מערכת הפורומים של ביה"ס למדעי המחשב. כדי לצפות בדפים אלה, יש להגדיר את דפדפן האינטרנט. הוראות מפורטות ניתן למצוא כאן.

(חזרה לראש עמוד)

כיצד להגן על גישה לדפים ?

לעיתים יש צורך להגביל את הגישה לחלק מהמידע באתר האינטרנט. אנו ממליצים לא לשים את הדפים הללו במקום הנגיש לאינטרנט. יחד עם זאת אפשר להשתמש במנגנון של שרת ה-http לצורך הגבלת הגישה. בכל ספריה אפשר להוסיף קובץ בשם htaccess. (עם נקודה לפני השם) אשר יתאר את הרשאות הגישה לספריה זו. שרת ה-http יישם את המדיניות הרשומה בקובץ זה. דוגמא לקובץ המגביל את הגישה מביה"ס למדעי המחשב בלבד:

<Limit GET POST PUT> order deny,allow allow from 132.67.0.0/255.255.0.0 deny from all </Limit>

(חזרה לראש עמוד)

איך להגביל גישה לדפי אינטרנט בסיסמא ?

דוגמא :
רוצים להגביל גישה בסיסמא לתיקיה
/specific/a/home/cc/cs/~example

 

1 יצירת קובץ סיסמא
גש לתיקיה

cd /specific/a/home/cc/cs/~example
htpasswd -c .htpw USER1

USER1 יהיה היוזר לכניסה , לאחר מכן יש להקליד סיסמא ואימות סיסמא

ניתן כמובן ליצור יוזרים נוספים במקום USER1

2 יצירת קובץ htaccess. :
הקלד בעורך טקסט (פיקו למשל) את הפקודות :
 

AuthType Basic
AuthName "password"
AuthUserFile /specific/a/home/cc/cs/~example/.htpw
require valid-user
ושמור את הקובץ באותה תיקיה.

שימוש ב TOMCAT

השרת שניתן להריץ עליו tomcat הוא delta-tomcat-vm .

יש לבחור שני מספרי פורטים - אחד עבור חיבורים רגילים, בין 40000 ו-40999, אשר נקרא ה-serviceport, ואחד עבור ניהול, בין 50000 ו-50999, אשר נקרא ה-adminport.

על מנת לגלות אילו פורטים כבר בשימוש, הריצו 'netstat -an | grep ':[4|5]0. שימו לב שהפקודה הזאת תראה רק את הפורטים שבשימוש ע"י שרתי tomcat שרצים כרגע. אם תתקלו בבעיות מאוחר יותר, תבדקו שוב; יתכן שמישהו השתמש בפורט אבל לא הריץ את השרת שלו כשבדקתם.

שימו לב, הסקריפט יוצר ספריה בשם ה-username שלכם ב- specific/scratch/  אשר אינו מגובה, כך שכדאי שתמיד תשמרו עותק של קבצי המקור שלכם ב-home directory שלכם. 

כדי ליצור ספריית tomcat משלכם, הריצו:

ssh delta-tomcat-vm
<sudo create-my-tomcat <serviceport> <adminport

למשל:

sudo create-my-tomcat 40001 50001

 

הפעלה ועצירה:

/specific/scratch/<username>/init.d-tomcat start
 
/specific/scratch/<username>/init.d-tomcat stop

למשל:

/specific/scratch/didi/init.d-tomcat start
 
/specific/scratch/didi/init.d-tomcat stop

 

כשהוא פועל, אתם יכולים להתחבר בעזרת דפדפן אינטרנט אל הכתובת 'http://server:serviceport', כאשר server הינו שם המכונה שבה שרת ה-tomcat שלכם רץ

(למשל, 'http://delta-tomcat-vm.cs.tau.ac.il:40001').

ניתן בקלות לשנות את J2SDK ברירת המחדל של tomcat - הוא נמצא בשורות הראשונות של הסקריפט init.d-tomcat שאתם מקבלים עם יצירת ספריית tomcat. אנו מחזיקים הרבה גרסאות של Java - ניתן למצוא את כולן ב-/usr/local/lib/j*dk*. אם אתם משתמשים ב-JDO אתם צריכים את /usr/local/lib/j2sdk1.4.0.

כדי להעלות קבצים לשרת ה TOMCAT :

אין אפשרות להתחבר עם SFTP מחוץ לאונברסיטה בכדי להעלות קבצים. אם אתם צריכים להעלות קבצים יש להשתמש בפקודת SCP.

דבר ראשון צריך להתחבר ל delta-tomcat-vm עם לקוח SSH כלשהו ( PUTTY או MOBAXTERM למשל).

שם להיכנס ל /specific/scratch  וליצור תיקייה שתשמש אתכם. (כדי להתחבר ל delta-tomcat-vm יש להתחבר קודם לשרת nova או soul ומשם ליצור חיבור ssh ל tomcat-delta-vm) .

לאחר יצירת התיקייה יש לחזור ל nova  או soul ולהריץ משם את הפקודה הבאה:

scp -r source/* delta-tomcat-vm:/specific/scratch/destination

         תיקיית המקור - source
תיקיית היעד - destination
העתק את כל תתי התיקיות - r
העתק את כל הקבצים - *