התקנה ותפעול של יישומי השרתים

"חבילת יישומי השרת" בנויה משלושה יישומים:
  1. SYE Server - מנוע מסד נתונים ופרוטוקול תקשורת קנייני. אינו מכיל ממשק למשתמש, יכול לרוץ כ- windows service או ב- UI mode עם אייקון קטן ליד השעון.
  2. SYE HTTP Server - אינו מכיל ממשק למשתמש, יכול לרוץ כ- windows service או ב- UI mode עם אייקון קטן ליד השעון.
  3. SYE Server Admin - יישום הגדרות ושליטה על השרתים. מופעל לפי הצורך על ידי המשתמש (אל תשאירו אותו פתוח). מאפשר גם כיבוי/אתחול שרת.

התקנה על מחשב חדש

ההנחיות הבאות מורות כיצד להוריד ולהתקין את "חבילת יישומי השרת". במידה והנך מעוניין רק בשרת אחד מהשניים, מחק את קבצי השרת המיותר לאחר ההורדה.
  1. היכנס אל אתר האינטרנט שלנו sye.co.il הורד והפעל את יישומון ההתקנה והתמיכה שלנו.
    בכל מקרה של תקלה או אי הבנה, עיין בפרק 1 אודות היישומון.
  2. בלחצני התפריט השמאלי לחץ על לחצן "Custom Made Applications".
  3. הזן לתיבה את הסיסמה שניתנה לך ע"י SYE ולחץ על "Continue".
  4. סמן ב- V את החבילה להורדה "SYE Servers" ולחץ על "Continue".
  5. אשר את תנאי השימוש בלחיצה על הלחצן "I Read and Accept the terms above".
  6. בחר את הנתיב להורדת קבצי ההתקנה ולחץ על לחצן "Download & Install".
    בסיום הורדה תקינה, אשף ההתקנה יציג את ההודעה "Please select one of the options on the left bar".
  7. גש אל התיקיה "
    ...\SYE Software\SYE Servers\
    " והעבר משם את הקבצים אל תיקיות היעד על פי הנחיות הפריסה שלהלן !

פריסת קבצי השרתים

לצורך המחשה בלבד, ההנחיות הבאות מדגימות פריסה והתקנה על גבי כונן C אבל זה לא מחייב, אפשרי ואפילו מומלץ להתקין את השרתים על כל כונן יעודי אחר.
כמו כן שמות התיקיות בהדרכה הבאה הן בגדר המלצה שלנו. באפשרותך לשנות את שמן, אבל מנסיוננו התקנה שתתבצע ע"פ שמות התיקיות הבאות היא ההתקנה המומלצת ביותר מתוך חשיבה על תפעול, תמיכה וגיבוי בהמשך הדרך !
  1. בכונן הייעודי שבחרת צור תיקיה בשם:
    SYE Software\_Servers\
    .
  2. צור תת תיקיה עבור כל סוג שרת: DB Server, HTTP Server וצור תיקיה עבור תוכנת הניהול Server Admin.
    דוגמה למבנה התיקיות נכון:
    C:\Hyper_Servers\DB Server
    C:\Hyper_Servers\HTTP Server
    C:\Hyper_Servers\Server Admin
  3. העתק/העבר את הקבצים מתקיית ההורדה אל תתי התיקיות היעודיות באופן הבא:
  4. מחק את תיקיית ההורדה.

הפעלת יישום הניהול SYE Server Admin

היישום SYE Server Admin מנהל את הגדרות השרתים על ידי עריכת הקבצים הלוקאליים בתיקיות השרתים.
היישום סורק את תוכן התיקיות הנמצאות רמה אחת מעליו. כלומר, אם היישום מותקן בתיקייה
C:\Hyper_Servers\Server Admin\
,
הוא יסרוק את תוכן כל תתי התיקיות הנמצאות בתוך
C:\Hyper_Servers\*
מלבד התיקיה שלו, יזהה את מיקום השרתים ויציג אותם בפאנל השמאלי של החלון.
לכן סדר ומיקום תיקיות השרתים כפי שהומלץ לעיל חשוב.
באפשרותך לתת לתיקיות שמות אחרים מאלו שהומלצו כאן, אבל חשוב לשמור על סדר הפריסה לצורך עבודה תקינה של תוכנת ה- ADMIN.

להפעלת היישום הרץ את הקובץ: SYE_Server_Admin.exe

תמונה להמחשה:

הגדרות ראשיות לשרת HTTP

הגדרות אלו נשמרות בקובץ SYE_Http_Server.ini בעת לחיצה על לחצן Apply ביישום הניהול.
חובה עליך להגדיר את כל השדות שלהם קיימת כוכבית אדומה ().
באפשרותך להפעיל מספר שרתי HTTP ולכן ההגדרות הבאות הן פר שרת (המוצג בשמאל חלון הניהול).
Field Name Description
Server Nickname שם כינוי לשרת. יוצג בכותרת חלון הניהול ובמענה של השרת ברמת כותרי ה-HTTP.
Bind IP בשדה זה נבחר את כתובת ה-IP אליה יתחבר השרת לתקשורת נכנסת שאינה מוצפנת.
רשימת הכתובות נסרקת מחדש בכל פעם שמפעילים את יישום הניהול.
Http port מספר הפורט בו יאזין השרת לתקשורת שאינה מוצפנת (במידה והפורט תפוס תתקבל שגיאה "Cannot open listening socket").
sTunnel Proxy Bind IP בשדה זה נבחר את כתובת ה-IP אליה יתחבר השרת לתקשורת נכנסת מפוענחת על ידי מנגנונים כגון Stunnel / F5 / HA Proxy.
לתקשורת מוצפנת TLS ישירות מול השרת (מבוסס Chilkat) יש להשאיר שדה זה ריק וליישם קובץ תעודה ראשית בפורמט PEM בצמוד ל- exe של השרת.
הקובץ חייב להיקרא בשם tls_root.pem ולהכיל את שרשרת התעודות לרבות המפתח הפרטי.
Http TLS port מספר הפורט בו יאזין השרת לתקשורת מוצפנת או מפוענחת (בהתאם להגדרת ה-IP מעלה).
Admin IP כתובת ה-IP אליה יתחבר יישום הניהול לשם שליטה בשרת.
Admin Port מספר הפורט בו ישתמש יישום הניהול לטובת תקשורת פנימית מול שרת ה-HTTP.
Max Threads כמות התהליכונים (Threads) המקסימלית להפעלה במקביל לטיפול בפניות תקשורת המתקבלות בו זמנית לשרת ה- HTTP כולו.
למרות המוגדר בשדה זה, השרת יאפשר כמות בקשות ממתינות בגובה המספר שהוגדרה בשדה. כלומר, אם הוגדר Max Threds=100 והשרת מטפל ב- 100 בקשות (ברגע זה), הוא יאפשר לעד 100 בקשות נוספות להמתין בתור לתהליך שיתפנה לטפל בכל אחד מהן.
במקרה בו כל התהליכונים המוגדרים מטפלים בפניות ותור ההמתנה מלא גם הוא, פניות תקשורת עודפות יקבלו שגיאה HTTP 429.
בהעדר הגדרת ערך בשדה, השרת יפעיל כמות מינימאלית של 3 תהליכונים.
כמות תהליכונים מקסימאלית המותרת להזנה בשדה היא 1000.
Taskbar Icon Initials הזנת עד 3 תווים שיופיעו על גבי הסמלון (Icon) של השרת בשורת המשימות של חלונות. אם השרת מופעל כשירות (Service) ברקע, לשדה זה אין ביטוי ויזואלי.
להלן דוגמה איך נראים השרתים במצב UI של windows:
לתשומת ליבך:
אנו נמנעים מלייעץ בנושאי אבטחה במדריך זה, אך נדגיש כי מומלץ להשתמש בכתובות IP מקומיות של מערכת ההפעלה (כאלו שאינן חשופות לרשת החיצונית) עבור ממשקים רגישים כמו פורט הניהול או ממשק ה-sTunnel.

הגדרת שם מתחם ותצורת עבודתו

הגדרות אלו נשמרות בקובץ מקומי בשם Web_Hosts.data. כל שורה בטבלה המרכזית מייצגת שם מתחם או כתובת IP שהשרת יטפל בהם.
Field Name Description
Host Name שם המתחם (Domain / Sub Domain) אליו יאזין שרת ה-HTTP. ניתן להזין כתובת IP במקרה הצורך.
HTTP Path שדה זה משתנה בהתאם לסוג הפעולה:
* נתיב לתיקיית קבצים להגשה מהדיסק המקומי. במקרה של Hyper_Website_API הנתיב חייב להסתיים בתת תיקיה HTTP (ראה תמונת המחשה למעלה).
* נתיב אינטרנטי לביצוע הפניית כתובת (ReDirect).
Log Http סוג התיעוד (Log) שיבוצע עבור תקשורת נכנסת למתחם זה. הקבצים נשמרים תחת נתיב השרת בתיקיית Logs. כאשר קובץ מגיע לנפח של 500MB הוא יפוצל אוטומטית.
  • None: ללא תיעוד.
  • Active Func: תיעוד בקשות אל יישומי Web App בלבד. בקשות לקבצים סטטיים מהדיסק לא יתועדו.
  • All Trans: תיעוד של כל סוגי הבקשות (כולל קבצי CSS, JS וכו').
Action אופי הפעולה של השרת מול פניות נכנסות למתחם זה:
  • Simple File Serving: הגשת קבצים סטטיים מהדיסק (פקודות Get בלבד).
  • WebApp Forward to Port: תיווך תקשורת (Proxy קלאסי) אל יישום רשת פנימי המוגדר בשדה
    [WebApp IP:Port]
    .
  • WebApp Legacy Req Files: תיווך המבוסס על קבצים פיזיים במקום שקעי רשת (Sockets) לתאימות ליישומים ישנים מאוד.
  • Redirect to URL: הפניית בקשות ליעד המוגדר בשדה
    [HTTP Path]
    (פקודת HTTP 301 Redirect).
Root Page קובע כיצד תטופל פנייה ישירה לנתיב השורש:
  • Index.html: השרת יחפש קובץ Index.html בתיקיה HTTP. אופציה זו מחייב הגדרת
    Action=Simple File Serving
    .
  • by WebApp: העברת אחריות הטיפול בשורש האתר אל יישום ה-Web App הפנימי.
  • Generate Files List: השרת ייצר ויציג דף HTML דינאמי המכיל את רשימת הקבצים בתיקייה (בדומה ל-FTP).
WebApp IP:Port כתובת ומספר פורט מקומיים של היישום אליו יועברו הבקשות. רלוונטי רק לתצורת WebApp Forward to Port.
TLS Only אם הוגדר YES, השרת יכפה תקשורת מאובטחת. פניות HTTP רגילות יקבלו ReDirect ויצורף להן כותר Strict-Transport-Security.
Media Path מאפשר הגדרת נתיב ייעודי לאחסון קבצי מדיה כבדים בפרויקט זה, בנפרד מתיקיית ה-HTTP הראשית. אם שדה זה נשאר ריק, השרת לא יחפש קבצים בתיקייה חלופית.
Notes שדה טקסט חופשי להערות מנהל המערכת.
no-cache, must-revalidate for File Ext רשימת סיומות קבצים (מופרדת בפסיקים) שעבורן השרת ישלח כותרים המונעים שמירה במטמון הדפדפן של הלקוח.
מיועד בעיקר לשלבי הפיתוח כאשר רוצים לבצע שינויים תכופים בקבצים כגון js,css ...
FW Peer IP from Header שם הכותר (Header) ממנו ישלוף השרת את כתובת ה-IP האמיתית של הלקוח, במצבים בהם השרת פועל מאחורי חומת אש או שירותי סינון.
לדוגמה:
X-Forwarded-For
או
CF-Connecting-IP
.

אם תשאיר שדה זה ריק והשרת יזהה הגעת תקשורת מסוננת, הוא יתעד אזהרה מתאימה בקובץ ה-Log הכללי של השרת - בנוסח הבא:
'Attention: "domain.name" is using a DDOS / FW gateway. Please check http req headers.'
Headers File מנגנון טעינת כותרים (HTTP Headers) מותאמים אישית מתוך קובץ פיזי בשם Headers.File הממוקם בתיקיית ה-HTTP:
  • None: השרת לא יחפש קובץ חיצוני ויזריק כותרי הגנה סטנדרטיים (כגון X-Frame-Options ו-XSS-Protection) וכן CORS פתוח.
  • Developing Mode: השרת יקרא את קובץ ה-Headers.File מהדיסק המקומי בכל בקשה מחדש. מצב זה מיועד לשלבי פיתוח בלבד כדי לאפשר החלפת כותרים בזמן אמת.
  • Production: השרת קורא את הקובץ פעם אחת בלבד ושומר אותו בזיכרון. מצב זה חוסך משאבי I/O מהדיסק המקומי.

תיאור לחצני Http Admin

Apply Settings שומר את כלל השינויים שבוצעו בשדות היישום, לרבות נתוני טבלת Websites and Services.
הנתונים נשמרים לקבצים המקומיים, ויישום הניהול מעדכן את שרת ה-HTTP באופן מיידי וללא צורך באתחול השרת.
Run Http Server מפעיל את קובץ ההפעלה של השרת שנבחר בתפריט השמאלי. לחצן זה מוצג וזמין ללחיצה רק כאשר שרת ה-HTTP הנבחר אינו פעיל.
Export Settings מייצא לקובץ XML מקומי את כלל הגדרות היישום לרבות נתוני טבלת Websites and Services, לטובת גיבוי או העברה.
Exec Browser פותח את דפדפן ברירת המחדל של מערכת ההפעלה, ומנווט אוטומטית אל כתובת ה-URL של הרשומה עליה עומד הסמן בטבלה.
Log All HTTP Traffic (for 24h) מורה לשרת ה-HTTP לבצע לכידה (Log) של כל התקשורת הנכנסת דרכו למשך 24 שעות בדיוק (פעולה זו עוקפת את הגדרות הלוג הפרטניות של כל מתחם).
מטרת הלחצן היא להציג תמונת תקשורת מלאה של כל מה שהגיע לפתח השרת, רלוונטי במיוחד לשלבי פיתוח ואיתור תקלות.
Restart the Server מבצע כיבוי יזום ומסודר לשרת ה-HTTP ולאחריו הפעלה מחדש.
פעולת ההפעלה מחדש נסמכת על היישום
Appl_Self_Upgrade.exe
שאמור להימצא בתיקיית השרת. בהיעדר יישום זה, שרת ה-HTTP ייסגר בצורה תקינה אך לא יופעל מחדש.
Shutdown Server מבצע כיבוי יזום ומסודר של שרת ה-HTTP (Graceful Shutdown).
תהליך זה איננו "מחסל" את התהליך (לא פקודת Kill אגרסיבית), אלא עוצר את ההאזנה לתקשורת חדשה, סוגר שקעים באופן מסודר, שומר את נתוני הסטטיסטיקה בדיסק המקומי ונסגר בצורה בטוחה.

הגדרת יישום שרת SYE Server לאחר ההתקנה

Field Name Description
Server Nickname כינוי לשם השרת
Bind IP שדה בחירה לכתובת ה- IP אליה יתחבר השרת ויאזין בפורטים 80 + 5902 TCP
DB Folders Path שדה המגדיר לשרת את הנתיב בו יש לחפש ולטעון את טבלאות מסדי הנתונים. לדוגמה:
D:\SYE DB Tables\

אם לא הוגדר נתיב, יישום השרת יקים את תיקיות מסדי הנתונים בתיקיה בו הוא מותקן.
אנו ממליצים להגדיר נתיב ייעודי לתיקיות המסדים על גבי דיסק ייעודי לטובת מיטוב ביצועים.
Store Objects in Different Volume שדה המגדיר לשרת את הנתיב בו יש לחפש ולטעון את תיקיות האובייקטים של כל מסד.
אם לא הוגדר נתיב, השרת יקים תיקיית DB_Objects בתוך כל תיקיית מסד נתונים. לדוגמה:
D:\SYE DB Tables\[DB Name]\DB_Objects\
Manual WAN IP כתובת IP חיצונית (WAN) המזוהה עם השרת.
השדה פותר בעיות NAT ודואג לצרף לתקשורת היוצאת את כתובת ה- WAN שהוגדרה בשדה.
דוגמה ליישום: השדה רלוונטי כאשר לאותו שרת פיזי (מערכת הפעלה), מופנים מספר כתובות IP חיצוניות, וכל כתובת מיועדת לטובת יישום שרת נפרד.
Win Service שדה המאפשר להזין עד 3 תוים. תוים אלו ישתפו על גבי אייקון השרת שיופיע בשורת המשימות.
במידה והשרת יופעל כ- Service, לא יופיע אייקון בשורת המשימות ולשדה זה לא יהיה ביטוי בממשק המשתמש.