שלח את המאמר הזה לדואר שלי

כולם יודעים ששרת האינטרנט של Apache הוא הרבה יותר פשוט וקל יותר מאותו שרת אינטרנט של IIS, וחוץ מזה, הוא חינמי. היום אספר לכם כמה קל לפרסם את תצורת 1C בשרת האינטרנט של Apache, לגשת ל-1C דרך דפדפן אינטרנט או לגשת לשירותי אינטרנט של 1C. בנוסף, אני מייעץ למתכנתי 1C לבדוק שירותי אינטרנט וטפסים מנוהלים של 1C (ממשק אינטרנט) דרך שרת Apache, מכיוון יהיו פחות בעיות עם איתור באגים, נקודות עצירה יעבדו ללא בעיות בתצורת 1C.

בוא נבצע כמה צעדים פשוטים:

1. הורד והתקן את שרת Apache. ניתן להוריד גרסה 2.2 יציבה של שרת Apache, שעובדת ללא בעיות עם 1C.

2. החלף את קובץ התצורה של שרת Apache "httpd.conf", בדרך כלל קובץ התצורה נמצא בנתיב זה - "C:\Apache24\conf" אם התקנת את Apache בשורש הכונן "C". רק לאחר ההחלפה, בדוק כל שורה בקובץ כך שכל הנתיבים תואמים לאלו האמיתיים.

3. כתוצאה מכך, שרת האינטרנט Apache שלך ​​אמור לעבוד כך:

4. פתח את התצורה של בסיס 1C הנדרש ( נדרש כמנהל), שאנו מתכננים לפרסם בשרת האינטרנט של Apache, למשל, לצורך בדיקה, אפרסם גרסת הדגמה של תצורה טיפוסית 1s trade 8 ed. 11.1:

5. בקונפיגורטור 1C, לחץ על התפריט הראשי ניהול - פרסום בשרת אינטרנט:

כאן אתה בוחר את שרת האינטרנט Apache 2.2, מציין את שם הבסיס (כל שהוא, למשל DemoTrd), בשדה "Directory" ציין את הנתיב לשרת Apache שלך, שבו מאוחסנים מסמכי אינטרנט, אם השרת הותקן ב- השורש של הכונן "C", אז הנתיב יהיה כזה - "C:\Apache24\htdocs\". לוחץ על הלחצן פרסם. בנוסף, 1C תבקש ממך להפעיל מחדש את שירות שרת Apacge, מסכים. כתוצאה מכך, הפרסום יושלם בהצלחה:

אם אתה מומחה 1c ואתה צריך לנפות באגים בתצורה שנפתחה באמצעות ממשק אינטרנט או באמצעות שירות אינטרנט, בנוסף, בקונפיגורטור בתפריט הראשי, עבור אל כפתור Debug - Connect ... ולחץ על "חיבור אוטומטי כפתור ...", הגדר את הדגלים, כפי שמוצג בתמונה למטה:

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

כמו כן, הקפד לכלול שורה מיוחדת בקובץ הגדרות הפרסום של 1C (C:\Apache24\htdocs\default.vrd) - " ", במקרה שלי הקובץ "default.vrd" יהיה

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

הפרסום של 1C 8.3 בשרת האינטרנט של IIS שונה רק בהתקנה של חלק השרת.

התקנת שרת אינטרנט של Apache

ראשית עליך להוריד את ערכת הפצת השרת. זה נמצא בכתובת http://www.apache.org. הורד את הגרסה העדכנית ביותר של ההפצה עבור Windows והפעל את ההתקנה.

לחץ על "הבא" עד להופעת החלון הבא:

בשני השדות הראשונים, הזן "localhost" (או 127.0.0.1). המשמעות היא שהשרת יפעל על המחשב המקומי. בשדה השלישי הזינו את כתובת הדואר שאליה יישלחו תגובות השרת.

יש לציין שסקייפ יכולה להשתמש גם ביציאה 80. לכן, אם אתה משתמש בו, השבת את יציאה 80 בהגדרות.

הקש "הבא".

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

השאר את ספריית ההתקנה כברירת מחדל. לחץ על "התקן". תהליך ההתקנה יתחיל.

קבל 267 שיעורי וידאו 1C בחינם:

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

פרסום לקוח אינטרנט ושירותי אינטרנט ב-1C 8.3 (8.2) בשרת Apache

השרת פועל. עכשיו בואו נתמודד עם תוכנית 1C. בואו נתחיל את Configurator.

ב-Configurator, בחר בתפריט "ניהול" ולאחר מכן "פרסם בשרת אינטרנט".

ההגדרות כאן מינימליות. בעצם הכל צריך להיות מוגדר כברירת מחדל.

אתה רק צריך לבחור ספרייה, אתה יכול לבחור כל ספרייה ריקה. יש לציין "שם" באותיות לטיניות.

אתה יכול לבחור כרצונך. אתה יכול לכבות אותו לחלוטין. העיקר הוא לעבור ללשונית שירותי HTTP. כאן אתה צריך לבצע את אותן הגדרות כמו בכרטיסייה הקודמת:

לאחרונה הקמתי שרת אינטרנט של Apache בשילוב עם 1C. יתרה מכך, שרת האינטרנט היה ממוקם על מארח לינוקס נפרד בתוך הקונטיינר של Docker. אשתף את החוויה שלי ואתן הוראות שלב אחר שלב.

מאמר זה נכתב באפריל 2018 ונבדק על פלטפורמת 1C גרסה 8.3.11.3034. לאחר מכן, אני שוקל להתחבר למאגר המידע של 1C בגרסת השרת, לא בגרסת הקובץ.

למה דווקא אפאצ'י, בדיוק תחת לינוקס ובדיוק ב-Docker? אשאיר שאלה זו מחוץ לתחום המאמר הזה.

כנראה שכולם שמעו על אפאצ'י ולינוקס. אבל לגבי Docker, שצובר פופולריות לאחרונה, אחלוק מדריך קצר ברוסית להבנה כללית: http://guides.hexlet.io/docker/

אינטראקציה בין Apache לשרת 1C

בקצרה, הרשו לי להזכיר לכם את סכימת האינטראקציה בין שרת האינטרנט של Apache לשרת 1C, שמתוארת בצורה מושלמת בתיעוד 1C ובמיליון מאמרים דומים לזה.

אנו מתקינים את שרת האינטרנט של Apache ומוסיפים אותו להגדרות שלו (לקובץ httpd.conf) מודול מיוחד wsap24.so. מודול זה פותח על ידי 1C והוא זמין בהפצת שרת 1C עבור לינוקס.

יתרה מכך, באותו httpd.conf, אנו מורים לשרת האינטרנט שכל הבקשות המתחילות בנתיב מסוים (לדוגמה /BuhBase) צריכות להיות מעובדות באמצעות מטפל מיוחד יישום 1c, מיושם במודול wsap24.so.

בהתאם לכך, כאשר בקשת HTTP נכנסת מגיעה לשרת האינטרנט של Apache שעונה על הנתיב שצוין, למשל, http:// /BuhBase/, המטפל נכנס לפעולה יישום 1c. זה, בתורו, מסתכל לתוך קובץ .vrd מסוים, בפנים אמורות להיות הגדרות חיבור עבור 1C.

בדרך כלל קובץ vrd נוצר במהלך הליך "פרסום בשרת האינטרנט" מהקונפיגורטור או באמצעות כלי השירות המסוף webinst. במקרה זה, הקופיגורטור לא יעזור לנו, כי אנחנו מתכננים להפעיל את שרת האינטרנט של Apache על מארח שונה לחלוטין משרת 1C, ואפילו בתוך הקונטיינר של Docker. לא ניגע גם בכלי השירות של קונסולת webinst, נתאר את הקובץ default.vrdידנית, מכיוון שדרושות רק כמה שורות בגרסת המינימום, אין טעם להתעסק בהפעלת משהו נוסף.

לכן, אם יש קובץ default.vrd והוא מכיל את ההגדרות הנכונות לחיבור לשרת 1C, אז המודול הפועל בתוך Apache מתחבר דרך TCP לשרת 1C.

יחד עם זאת, שרת 1C עצמו יכול להיות ממוקם על מכונה אחרת לגמרי ועל מערכת הפעלה אחרת. זה לא חשוב, העיקר שאפאצ'י יכול להגיע לשרת 1C דרך TCP.

בואו נאסוף את כל התצורה צעד אחר צעד

שלב 1.

אנו מתקינים את Docker על המחשב המקומי של המפתח (לנוחות הבדיקה ואיתור הבאגים) ועל מכונת Linux היעד, שם אנו בעצם רוצים להפעיל את שרת האינטרנט.

Docker עובד על לינוקס, macOS ו-Windows. ככל הנראה, המחשב של המפתח (המכונה שלך) מריץ Windows. לא בדקתי באופן אישי את השלבים למטה תחת Windows, תיאורטית הכל אמור לעבוד, אבל משהו משתבש, אתה יכול לחסוך באנרגיה ובעצבים שלך ולעשות הכל ישירות בשרת לינוקס או במכונה וירטואלית מקומית (לדוגמה, באמצעות VirtualBox).

בעת התקנה על לינוקס, אל תשכח את השלב החשוב הזה, המתואר בדף נפרד בתיעוד: https://docs.docker.com/install/linux/linux-postinstall/

שלב 2

בואו ניצור ספרייה עבור הפרויקט שלנו ונוריד לתוכו את ההפצה 1C Server for Linux: https://releases.1c.ru -> פלטפורמה טכנולוגית 8.3 -> 1C:Enterprise Server (64-bit) עבור מערכות לינוקס מבוססות DEB

קבל את הקובץ deb64.tar.gz, השאר את זה כמו שהוא לעת עתה.

שלב 3

בואו ניצור קובץ עם הגדרות חיבור עבור 1C: default.vrd

אני נותן דוגמה לקובץ vrd מינימלי שבו כל שירותי האינטרנט, כל שירותי ה-http וממשק REST סטנדרטי (OData) מתפרסמים כברירת מחדל.

שימו לב למחרוזת החיבור, החליפו את שם שרת 1C (Serv1C) ואת שם מאגר המידע (BuhBase) בשם שלכם.

אם פרסמת בעבר את מסד הנתונים שלך בשרת אינטרנט (לא משנה באיזה מהם: IIS או Apache, Windows או Linux, באמצעות הקופיגורטור או באמצעות webinst), בהחלט כדאי שיהיה לך קובץ .vrd, חפש בספריות הציבוריות של שרת האינטרנט ולהשתמש בו.

שלב 4

בואו ניקח את התצורה הסטנדרטית מ- Apache (httpd.conf) ונוסיף כמה שורות לסוף (דוגמה מלאה: https://github.com/pqr/docker-apache-1c-example/blob/master/httpd.conf)

LoadModule _1cws_module /opt/1C/v8.3/x86_64/wsap24.so # 1c publication כינוי "/BuhBase" "/usr/local/apache2/htdocs/BuhBase/" AllowOverride כל האפשרויות ללא דורש הכל מוענקים SetHandler 1c-application ManagedApplicationDescriptor "/usr/local/apache2/htdocs/BuhBase/default.vrd"

לפיכך, אנו מציינים לשרת האינטרנט שמבקשים בדרך /BuhBaseצריך לשרת עם מטפל (SetHandler) יישום 1c.

זה גם מראה את הדרך אל default.vrd. בשלב זה, כל הנתיבים הללו עדיין לא קיימים (ולא יהיו, הם יהיו בתוך הקונטיינר של Docker).

שלב 4

בואו ניצור קובץ בשם Dockerfile(ללא הרחבה) עם התוכן הבא:

FROM httpd:2.4 # תמונה זו מבוססת על התמונה הסטנדרטית של Debian+Apache 2.4: https://store.docker.com/images/httpd # העתק את ההפצה לספריית dist COPY deb64.tar.gz /dist/deb64. tar.gz # פתח את ההפצה RUN tar -xzf /dist/deb64.tar.gz -C /dist \ # והתקן חבילות 1C לתוך המערכת בתוך המיכל && dpkg -i /dist/*.deb \ # ומחק מיד קבצי ה-deb המקוריים של ההפצה, שאיננו צריכים עוד && rm /dist/*.deb # העתק תצורה מוכנה מראש מ-Apache לתוך הקונטיינר COPY httpd.conf /usr/local/apache2/conf/httpd.conf # העתק תצורה מוכנה מראש בתוך הקונטיינר עם הגדרות חיבור לשרת 1C COPY default.vrd /usr/local/apache2/htdocs/BuhBase/default.vrd

שלב 5

אנו אוספים את התמונה עם הפקודה:

Docker build -t my-apache-1c .

אוֹפְּצִיָה -t my-apache-1cמקצה שם לתמונה הבנויה כדי להקל על ההפעלה מאוחר יותר. אם לא צוין , אז תצטרך לרוץ לפי מזהה התמונה הייחודי שנוצר, וזה לא מאוד נוח.

שלב 6

אנו מתחילים את המיכל מהתמונה החדשה שנוצרה עם הפקודה:

Docker run --add-host Serv1C:192.168.1.15 --פרסם 80:80 my-apache-1c

בואו נפריד את השורה הזו:

--add-host Serv1C:192.168.1.15- כאן אמרנו במפורש לדוקר מהו שם השרת Serv1Cכתובת ה-IP 192.168.1.15 מוסתרת (החלף את הערכים שלך). השתמשנו בשם השרת Serv1C לעיל ב-default.vrd. זה שווה ערך לכתיבת קישור זה בקובץ המארחים המפורסם. אבל בתוך הקונטיינר, אתה לא יכול לתקן את קובץ hosts, אתה צריך לפעול דרך הפרמטר --add-host שורת הפקודה.

ולמה לא לציין מיד את כתובת ה-IP ב-default.vrd? ניסיתי, אבל כשבדקתי בדפדפן, פלטפורמת 1C נתנה שגיאה, ולמען האמת, לא הבנתי את הבעיה. בעת התחברות באמצעות שם מארח (Serv1C), לא היו בעיות.

--פרסם 80:80- אנו אומרים למעגן שבקשות למחשב המארח ביציאה 80 צריכות להיות מנותבות למכולה ביציאה 80 (Apache מקשיב בתוך הקונטיינר). לפעמים יציאת 80 כבר תפוסה במחשב המארח, לדוגמה, אתר כלשהו פועל על אותו שרת לינוקס או שמותקן שרת אינטרנט מקומי במחשב של המפתח, אז אנו עושים זאת: --לְפַרְסֵם<любой свободный порт на хост-машине>:80 , למשל: --publish 8000:80

הפרמטר האחרון הוא שם התמונה (my-apache-1c) שעל פיה יש להפעיל את הקונטיינר. כבר יצרנו תמונה בשם זה בשלב הקודם.

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

שלב 7

אנחנו בודקים.

ראשית, אנו בודקים את אפאצ'י כמכלול: http://localhost- צריך לראות את ההודעה "זה עובד!"

למה מארח מקומי? אנחנו עכשיו על המחשב שלנו (במחשב של המפתח) שבו השקנו את ה-Docker Container, כך שמבחינתנו הוא פועל באופן מקומי.

אם כל הניסויים מתבצעים מיד בשרת לינוקס, עליך לנסות, בהתאמה, בכתובת של שרת לינוקס, לדוגמה, http://192.168.1.10 או http://linux-host.

אם צוינה יציאה מיוחדת עבור המחשב המארח בעת הפעלת המיכל, עליך לבדוק זאת, למשל, http://localhost:8000

בואו נבדוק את ממשק ה-REST הסטנדרטי (OData): http://localhost/BuhBase/odata/standard.odata/

בואו ננסה שירות אינטרנט כלשהו (אם יש כאלה בתצורה): http://localhost/BuhBase/ws/MyWebService?wsdl

הכל צריך לעבוד!

עכשיו אתה יכול לעצור את המכולה: Ctrl+C

שלב 8

זה עתה פרסנו את Apache עם מודול 1C בקונטיינר Docker במחשב המקומי (המכונה של המפתח). למעשה, כל זה אמור לפעול איפשהו בשרת לינוקס ייעודי בצורה של דמון.

הכי נוח להפעיל את הקונטיינר בשרת באמצעות כלי השירות docker-compose. אבל ראשית, בואו נבדוק שוב את ה-docer-compose הזה במחשב המקומי.

הכל באותה ספריית פרויקט (שם כבר יש לנו Dockerfile, httpd.conf וכו') צור קובץ docker-compose.yml:

גרסה: שירותי "3.4": apache-1c: build: . הפעל מחדש: תמיד יציאות: - 80:80 extra_hosts: - "Serv1C:192.168.1.15"

למעשה, הנה כל אותם פרמטרים שהעברנו לפקודת docker run.

שלושה הבדלים:

  1. אנחנו כבר לא ממציאים או מספקים שם לתמונת הסוג שלנו (my-apache-1c), במקום זאת אנחנו משתמשים בפרמטר לבנות: ., כלומר docker-compose יבנה את התמונה על סמך הספרייה הנוכחית (זוכרים את ההקשר?) ומיד יתחיל את הקונטיינר על סמך התמונה הבנויה
  2. הפעלה מחדש: תמיד- אם מסיבה כלשהי Apache קורס או שהשרת כולו יופעל מחדש, Docker יאתחל אוטומטית את המיכל
  3. מארחים נוספיםזהה ל--add-host באפשרויות הפקודה של docker run. כן, יש חוסר עקביות.

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

docker-compose up -ד

המיכל צריך להתחיל ולהיכנס לרקע (דגל ). אנו בודקים את כל הכתובות בדפדפן כמו בשלב הקודם.

עצור את המיכל (פקודה זו חייבת להיות מופעלת בטרמינל, בהיותה בספריית הפרויקט):

docker-compose down

שלב 9

גזם מערכת docker

שלב 10

חלק חשוב בכל פרויקט הוא תיעוד! הקפד לכתוב README.md, כמו זה: https://github.com/pqr/docker-apache-1c-example/blob/master/README.md

שים את כל הקבצים מלבד deb64.tar.gz תחת בקרת גרסה git, נשלח אותו למאגר הארגוני כדי שלא יאבד.

שלב 11

אנו מעתיקים את ספריית הפרויקט המתקבלת לשרת הלינוקס, עוברים לשם באמצעות ssh ובהיותנו בספריית היעד, מבצעים את הפקודה docker-compose up -ד, אנחנו בודקים בדפדפן.

הכל מוכן ופועל על שרת לינוקס!

מה לגבי עדכוני פלטפורמת 1C?

הורד את ערכת ההפצה החדשה deb64.tar.gz לספריית הפרויקט.

אם היה מעבר מגרסה 8.3 לגרסה 8.4, אז בתוך httpd.conf צריך לתקן את הנתיב ל-wsap24.so.

מה אם יש כמה מאגרי מידע?

אפשרות א'.

אז עלינו להכין מספר קבצי .vrd, להוסיף הוראות להעתקתם ל-Dockerfile ולתאר את הנתיבים לשרת האינטרנט ב-httpd.conf: לכל בסיס יש נתיב משלו, ספרייה משלו, קובץ .vrd משלו.

אנו מעלים את ה-Dockerfile, httpd.conf וקבצי vrd החדשים לשרת, עוצרים את המיכל ומתחילים שוב עם הדגל --build:

docker-compose down && docker-compose up -d --build

אפשרות ב'.

לכל מאגר מידע יכול להיות מיכל נפרד משלו. המשמעות היא שתצטרך להכפיל את ספריית הפרויקט במספר הבסיסים, בתוך כל אחד מהם בצע את ההגדרות שלך בקובץ ה-.vrd. אבל עם גישה זו, לא ניתן יהיה להפעיל את כל הקונטיינרים בו-זמנית על יציאה אחת, תצטרך לרשום את היציאות שלך בכל docker-compose.yml, לדוגמה, 8001:80 עבור הבסיס הראשון, 8002:80 עבור ה- בסיס שני וכו'.

לגישה הזו, אגב, יש עוד תכונה שימושית - בתוך הקונטיינרים האלה יכולות להיות גרסאות שונות של מודול 1C (זה הכרחי אם יש לך ולשרתי 1C כמה עם גרסאות פלטפורמה שונות).

האם עליך לשנות את ההגדרות לחיבור לשרת 1C ב-default.vrd?

שנה את .vrd, והפעל מחדש את מיכל Docker עם בניית תמונה מחדש: docker-compose down && docker-compose up -d --build

מה נשאר מאחורי הקלעים?

  • מאמר זה אינו מתאר כיצד להתמודד עם בסיסי קבצים. נתתי טיוטה לדוגמה של הגדרות בתגובות מתחת למאמר, אבל למעשה לא בדקתי אותה.
  • לאחר העברת קבצי הפרויקט מהמחשב המקומי לשרת, ייתכן שהכל לא יעבוד. לדוגמה, יציאה 80 עשויה להיות סגורה בשרת - אתה צריך לבדוק את חוקי חומת האש, iptables וכו'. ייתכנו סיבות אחרות - איך לאפות באגים בכל זה ואיפה לחפש (איפה היומנים?) נשאר מחוץ לתחום המאמר
  • אם שרת האינטרנט הזה חייב להסתכל על האינטרנט, אז אנחנו בהחלט צריכים אישור SSL עבור חיבור https. הרבה מאמרים נכתבו על איך להגדיר https ב- Apache. כשמשתמשים ב- Apache בתוך Docker, בגדול, הכל מוגדר בדיוק באותו אופן. או שאתה יכול להתקין פרוקסי הפוך עם סיום SSL, למשל Træfik או Nginx. תמונת Docker זו תתקין גם אישורים מ-Let's Encrypt באופן אוטומטי: https://hub.docker.com/r/umputun/nginx-le/
  • השתמשנו ב-httpd הרשמי המבוסס על דביאן כתמונת הבסיס שלנו. אתה יכול לנסות לשחק עם תמונה בהירה יותר המבוססת על אלפיין.

מָקוֹר

ניתן למצוא את כל קבצי התצורה המתוארים במאמר זה במאגר git: https://github.com/pqr/docker-apache-1c-example/ - בקשות משיכה מתקבלות.

יש שאלות? כתבו לי, אשמח להשלים את המאמר, אם משהו לא ברור, יש פערים בנימוק או שחלק מהשלבים לא עבדו במקרה שלכם - ננסה להבין את זה ביחד ולהשלים את החומר.

1. הורד את שרת האינטרנט של APACHE

בחר Binaries שם - תיקיית Win32 - httpd-2.2.25-win32-x86-no_ssl.msi קובץ - אם ההתקנה היא על Windows) והתקן.

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

2. לאחר ההתקנה, בדוק את הפונקציונליות של שרת האינטרנט. כאשר אתה הולך לכתובת הדפדפן http://localhostיש להציג את החלון הבא:

3. אם במהלך ההתקנה של פלטפורמת 1C לא הותקנו הרכיבים לעבודה עם שרת האינטרנט, יש להתקין אותם (דרך התקנת הפלטפורמה):

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

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

לאחר השלמת שלבים אלה, תוכל לבדוק את זמינותו של שירות האינטרנט 1C על ידי הזנת הדפדפן:

ip-computer/BaseName/ws/Alias ​​שצוין במהלך הפרסום.1cws?wsdl. זה אמור לפתוח תיאור XML של המאפיינים והשיטות של שירות האינטרנט (לא דף שגיאה)

בהתאם לתמונה, הכתובת תיראה כך:

הוראות שלב אחר שלב להגדרת שירותי אינטרנט עבור 1Сv8 ו- IIS

1. התקנת IIS מתבצעת באמצעים סטנדרטיים. עליך להתקין את הרכיבים הבאים:

כלים לניהול אתרים:

כלי סקריפטים של IIS 6

תאימות IIS 6 WMI

תאימות IIS Metabase ותצורת IIS

מסוף ניהול IIS

סקריפטים וכלים לניהול IIS

שירותי אינטרנט עולמיים:

הרחבות ISAPI

מסמך ברירת מחדל

גלישה בספריות

דחיסת תוכן סטטית

בקש סינון

סט הרכיבים המספיק מוצג בצילום המסך למטה.


2. אם במהלך ההתקנה של פלטפורמת 1C לא הותקנו הרכיבים לעבודה עם שרת האינטרנט, יש להתקין אותם (דרך התקנת הפלטפורמה):

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

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

להתקנה נכונה, על המשתמש להיות בעל זכויות מנהל במחשב שממנו מתבצעת ההתקנה.

3. ציין את הזכויות עבור המטפל בשירותי האינטרנט של 1C. הזכויות להפעיל (ביצוע) מודולים מתווספות עבור קבוצת IIS_IUSRS לתיקיה ... 1cv81\BIN\

4. אם מסד הנתונים הוא קובץ אחד, עליך להוסיף זכויות שינוי לתיקייה ולתיקיות המשנה של מסד הנתונים עבור אותה קבוצה.

5. בקונסולת IIS. אנו לוחצים לחיצה ימנית על השורה עם התיקיה שיצרנו. בואו נמיר אותו לאפליקציה.


6. הוסף הגדרות לעיבוד קבצי 1C. בכרטיסייה מיפוי מטפל, הוסף סקריפטים (לא סקריפטים עם כוכבית) עבור הסיומת -"*.1cws".

כל שם.

בקש הגבלות -> גישה -> סקריפט או ביצוע.

7. עבור מטפלים, עליך לציין פרמטרים נוספים (הרשאת תכונה עריכה). הגדר דגלים להפעלת סקריפטים ויישומים.

8. בדוק את נוכחותו של המטפל בשירותי האינטרנט 1C בלשונית ISAPI ו-CGI Restrictions עבור השרת.

אם ההתקנה היא בסביבת 64 סיביות, עליך להפעיל את מאגר Alpplication -> DefaultAppPool -> Enable 32-bit Application -> True mode עבור המטפל.

9.. לבדיקת תקינות הביצוע יש לפנות לכתובת של מחשב ה-IP/BaseName/ws/Alias_specified_when_publishing.1cws?wsdl.

זה אמור לפתוח תיאור XML של המאפיינים והשיטות של שירות האינטרנט (לא דף שגיאה)

לפי צילום המסך של נקודה 2, הכתובת תיראה כך: http://ip/IB/ws/WSName.1cws?wsdl

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

דרישות ראשוניות

דרישות המערכת המינימליות עבור ארכיטקטורת הקצה האחורי עשויות להשתנות במידה ניכרת ותלויות מאוד ב:

  1. משימות שנפתרו על ידי התוכנית;
  2. עוצמת זרימת המסמכים;
  3. מספר המשתמשים המחוברים בו זמנית;
  4. הגודל והמספר של מאגרי מידע שפורסמו ורשומים.

עם זאת, זה פשוט בלתי אפשרי בלי שני דברים בעת פרסום 1C בשרת אינטרנט:

  • שרת אינטרנט פרוס במערכת;
  • מודול הרחבה מותקן ופועל מסופק על ידי 1C.

שרת אינטרנט

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

יתרון נוסף של מוצרי Apache הוא היכולת להפעיל אותם ממערכות הפעלה דמויות לינוקס.

נשקול את האפשרות עם IIS, כי. זה לא דורש חיפוש והתקנה של מוצרי צד שלישי.

הרחבות לשרת אינטרנט

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

מטבע הדברים, בנוסף להרחבות, יש להתקין את פלטפורמת 1C Enterprise עצמה במחשב, אחרת לא תהיה לנו גישה ל-Configurator שדרכו מתבצע עיקר הפרסום.

לאחר שהחלטנו על הכלים, בואו נעבור לתצורה.

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

על מנת להפעיל את IIS במחשב עם Windows מותקן, עליך לבצע את רצף הפעולות הבא (באמצעות Windows 7 כדוגמה):


איור 3

אתה יכול לוודא ששרת האינטרנט פועל על ידי הזנת שורה כמו "http://localhost" בשורת הכתובת של כל דפדפן וקבלת תמונה, כמו באיור 4.

איור 4


איור 6.

במקרים מסוימים (בפרט, אם התוכנית פועלת במערכת הפעלה של 64 סיביות), לאחר פרסום מסד הנתונים בשרת, ייתכן שיהיה עליך להתאים את העבודה עם הספריות המשמשות את פלטפורמת 1C. ניתן לעשות זאת מתפריט המשנה "אתרים".

לאחר בחירת בסיס ספציפי שפורסם זה עתה ברשימה, עליך להפעיל את כלי השירות "מיפוי מטפל" (איור 7).
איור.7

במקרה שלנו, עלינו ליצור התאמה בין ISAPI-dll לקובץ ההפעלה wsisapi.dll שנמצא בתיקיית BIN של הגרסה המותקנת של הפלטפורמה.

באופן עקרוני, על זה החלק העיקרי של העבודה עם השרת יכול להיחשב הושלם, אנחנו ממשיכים ישירות לפרסום של בסיס הנתונים.

פרסום מסד הנתונים לשרת

הגדרת זכויות משתמש

לאחר שקיבלנו את החלון לעיל, אנו עוברים להגדרת כללי גישה למשתמשים.

עלינו לאפשר גישה מלאה למשתמש IIS_USERS:

  • לתיקיה "C:\inetpub\wwwroot\שם פרסום" שבה מאוחסן המשאב;
  • לתיקיה עם גרסת התוכנית שבה נעשה שימוש, שבה מאוחסנת ספריית wsisapi.dll;
  • למקום שבו מאוחסן הבסיס.

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