החלטת שזה הזמן להתחיל להשתמש ב־GitLab לניהול הפרויקט שלך, אך לא בטוח איך להתקין את GitLab בצורה מאובטחת? לא רק שהתקנת GitLab היא תהליך מורכב, אך אם לא נעשה זאת בצורה נכונה, המידע שלך עלול להינזק. אך אל תדאג, הגעת למקום הנכון!
במדריך זה, תלמד את תהליך ההתקנה המאובטחת של GitLab, כך שתוכל להגדיר הצפנה SSL ולהגדיר את GitLab לביצועים מיטביים.
נשמע מעניין? תתחילו לקרוא!
דרישות קדם
מדובר בהדרכה שתיהיה הצגה מעשית. אם ברצונך להמשיך ולקבל הדרכה, וודא שיש לך את הדברים הבאים:
- A Linux server with root access – This demo uses Ubuntu 20.04 LTS, but any Linux distribution will work.
- A fully qualified domain name (FQDN) pointing to your server.
- Let’s Encrypt מותקן על השרת.
- דרישות מינימום – 8 ג'יגה־בייט של זיכרון, רוחב פס של 50-100 מגה־ביט לשניה, מעבד במהירות של 2 גיגה־הרץ, ו־20 ג'יגה־בייט של שטח אחסון.
התקנת GitLab Community Edition
עכשיו שיש לך FQDN והשרת שלך מוכן, הגיע הזמן להתקין את GitLab. ישנם מספר דרכים להתקין את GitLab, כגון השימוש בחבילת Omnibus או להידרש מהמקור. אך המדריך הזה מתמקד בהתקנת GitLab באמצעות המאגר של GitLab מהמפתח שלו.
GitLab מגיע ב-שני חלוקים:
- GitLab Community Edition (CE) – למשתמשים שמעדיפים גרסה קהילתית וקוד פתוח של GitLab שמקבלת תמיכה מהקהילה.
- GitLab Enterprise Edition (EE) – למשתמשים שזקוקים לתכונות נוספות שמספקות גרסת Enterprise Edition של GitLab.
אך בדיגמה זו אנו משתמשים ב-GitLab Community Edition כדי לבדוק את היישום בסביבת הפיתוח שלך.
1. פתח את חלון הטרמינל והפעל את הפקודה apt update
למטה כדי לוודא שהמערכת שלך כוללת את כל עדכוני התוכנה האחרונים.
הפקודה apt update
מעדכנת את קבצי אינדקס החבילות שמשמשים את כלי ה-apt
לקבלת מידע על החבילות הזמינות.

2. לאחר מכן, הפעל את הפקודה apt install
למטה כדי להוריד (curl
) ולהתקין את התלויות הדרושות הבאות להתקנת GitLab שלך:
- חבילת
openssh-server
– מכילה את דמון השרת של OpenSSH וכלי קשורים, כמו כלי ניהול מפתח המארח ושרת, כדי לספק גישה מרחוק להתחברות משתמשים. חבילת ca-certificates
– מכילה רשימת אישורי CA. חבילה זו מספקת את הקבצים הנדרשים כדי לאפשר תמיכת HTTPS על השרת שלך.

הריצו את הפקודה curl
שלמטה כדי להוריד (curl
) את סקריפט ההתקנה מ-GitLab (https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce
). הפקודה תשמור את סקריפט ההתקנה כסקריפט של קובץ של מפעיל המערכת (script.deb.sh
) ותפעיל אותו כמשתמש סופר (sudo bash
).
לאחר שהפקודה curl
מסתיימת, תקבלו את הפלט הבא.

הריצו את הפקודה apt-cache
שלמטה כדי לוודא שהוספתם את המאגר של GitLab בהצלחה.

כעת, הריצו מחדש את הפקודה apt update
כדי לעדכן את רשימת החבילות הזמינות. פקודה זו מבטיחה שהמערכת שלך תשתמש במאגר של GitLab החדש שהוספתם כאשר אתם מתקינים את GitLab.
לבסוף, הריצו את הפקודה apt install
שלמטה כדי להתקין את GitLab (gitlab-ce
) במערכת שלכם.

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

הגדרת ההתקנה של GitLab שלכם
עכשיו יש לך את GitLab מותקן במערכת שלך, אך תצטרך לבצע מספר שינויי הגדרות לפני שתוכל להשתמש ב-GitLab. קובץ התצורה של GitLab (/etc/gitlab/gitlab.rb) מכיל את ההגדרות הגלובליות עבור GitLab שאינן specפיות לסביבת השרת שלך.
תשנה את קובץ התצורה של GitLab כדי להגדיר את שם הדומיין FQDN וחיבור מאובטח לדומיין שלך.
1. פתח את קובץ התצורה /etc/gitlab/gitlab.rb בעורך טקסט האהוב עליך.
אחת מהערכות החשובות ביותר בקובץ התצורה של GitLab היא ההפניה external url, כפי שמוצג למטה. ההפניה הזו מאפשרת למשתמשים לגשת אל GitLab דרך דפדפן האינטרנט.
שנה את ערך ההפניה external url מ-http://gitlab.example.com ל-https://gitlab.yourdomain.com, כאשר yourdomain.com הוא שם הדומיין FQDN שלך.

2. לאחר מכן, נווט לקטע השילוב של Let’s Encrypt שממוקם בתחתית, והגדר את ההפניות באופן הבא:
- בטל את ההערה של ההפניה
letsencrypt['enable']
על ידי הסרת ה-#
הקודם לו ושנה את הערך מ-nil
ל-true
. ההפניה הזו מודיעה ל-GitLab להגדיר HTTPS על השרת שלך באופן אוטומטי. - בטל את ההערה של ההפניה
letsencrypt['contact_emails']
על ידי הסרת ה-#
הקודם לו, והכנס את כתובת הדוא"ל שלך כערך. Let’s Encrypt תשתמש בכתובת הדוא"ל הזו כדי ליצור קשר איתך כאשר תצטרך לחדש את תעודת ה-SSL שלך (כל 90 ימים). - שמור את השינויים וצא מהעורך.

שלב, הרץ את הפקודה למטה כדי לבצע reconfigure
ולהחיל את השינויים בקובץ התצורה של GitLab ב-/etc/gitlab/gitlab.rb.

הגדרת הגנה מפני חיבורי SSL בצמתי אש
עכשיו שהגדרת את GitLab, יהיה עליך להגדיר את חוקי הגנה שלך כך שיאפשרו חיבורים מאובטחים עם SSL לשרת שלך. Uncomplicated Firewall (UFW) הוא התוכנה ברירת המחדל לניהול חוקי הגנה ב-Ubuntu.
אם הצפיפות שלך נמצאת מאחורי חומת אש, יהיה עליך לפתוח את יציאת ה-HTTP 80
ואת יציאת ה-HTTPS 443
לחיבורי SSL.
הרץ את הפקודה הבאה כדי לפתוח את יציאות ה-OpenSSH
, HTTP
, ו-HTTPS
עבור שרת GitLab שלך.

עכשיו, הרץ את הפקודה הבאה כדי לבדוק את מצב החומה שלך.

אבטחת GitLab דרך ממשק האינטרנט
החומה שלך פעילה, אך האם זה אומר שה-GitLab שלך מאובטח? הוספת שכבות נוספות של אבטחה תמיד הולכת רחוק. לכן, תבצע עוד אבטחה להתקנת GitLab דרך ממשק האינטרנט.
1. פתח את דפדפן האינטרנט האהוב עליך ונווט אל שרת GitLab שלך. לדוג, http://gitlab.example.com, היכן ש-example.com הוא שם הדומיין FQDN שלך.
Cבחר כמה Chrome או Firefox בעת גישה לשרת GitLab שלך לאבטחה טובה יותר. דפדפני האינטרנט הללו משתמשים בפרוטוקולי HTTP/HTTPS שלהם, שמסייעים ליישם מדיניות אבטחה.
למטה, תוכל לראות את דף הכניסה של GitLab.

2. לאחר מכן, לחץ על סמל המנעול (למעלה-שמאל) ליד סרגל הכתובת, ותראה את מצב החיבור שלך. בהדגמה הזו מוצג החיבור מאובטח, שמציין שהחיבור שלך לשרת הוא דרך HTTPS.

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

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

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

הוספת מפתח SSH לחשבון GitLab שלך
מלבד הממשק הוובי, תוכל גם לגשת אל GitLab דרך סביבת שורת פקודה בצורה מאובטחת. איך? תצטרך תחילה להוסיף מפתח SSH לחשבונך, כך שתוכל לגשת אל GitLab על ידי הפעלת פקודה בטרמינל שלך מבלי להזין סיסמה.
שוטף את הפקודה ssh-keygen
כדי ליצור זוג מפתחות SSH המתאימים לשימוש בחיבורי SSH. כאשר יידרש, ללחוץ על מקש Enter כדי לשמור על המיקום ברירת המחדל למפתח SSH (/root/.ssh/id_rsa) ולא להוסיף פספוס.

הרץ את הפקודה cat
למטה כדי להדפיס את המפתח הציבורי שלך על המסך, כפי שמוצג למטה. להעתיק את מחרוזת מפתח ה-ssh-rsa כולה ולשמור אותה במקום בטוח. יש להוסיף את מפתח הציבור הזה ל-GitLab שלך מאוחר יותר (שלב שלוש).

חזור ללוח הבקרה של GitLab בדפדפן שלך כדי להוסיף את מפתח הציבור שלך עם ההוראות הבאות:
- לחץ על תפריט מפתחות SSH בלוח הצד השמאלי של דף הגדרות משתמש כדי לגשת לדף מפתחות SSH.
- הדבק את מפתח הציבור שהעתקת (שלב שני) לשדה מפתח, כפי שמוצג למטה
- ספק את השם המועדף שלך למפתח בשדה כותרת. אך למען הדגמה זו, השם מוגדר כ-ATA–GitHub.
- לחץ על הוסף מפתח כדי לסיים את תהליך הוספת מפתח הציבור לחשבונך.

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

2. כבה את האפשרות אפשר הרשמה תחת הקטגוריה הגבלות הרשמה. בעקבות כך, יתבטל יכולת ההרשמה הציבורית של GitLab.

3. גלול למטה ולחץ על שמור שינויים (בתחתית) כדי לשמור את השינויים שביצעת בהגדרות ההגבלות של ההרשמה.

4. לבסוף, התנתק מהחשבון שלך ונווט למסך ההתחברות של GitLab שלך.
כפי שתראה למטה, הקישור הרשם כעת נעלם.

בדיקת שרת GitLab שלך
בנקודה זו, כבר הגדרת ואבטחת את שרת ה-GitLab שלך, וזה נהדר! אך איך תדע שהשרת שלך פועל בפועל? תבדוק את השרת שלך על ידי יצירת פרויקט GitLab דרך לוח הבקרה של GitLab ובאמצעות שכפול הפרויקט לשרת שלך.
1. בלוח הבקרה של GitLab, לחץ על הסמל פלוס (+) ליד תיבת החיפוש, ואז לחץ על פרויקט חדש, כפי שמוצג למטה, כדי ליצור פרויקט GitLab חדש.

2. לאחר מכן, ספק את שם הפרויקט המועדף עליך, אך למערכת הדגמה זו, שם הפרויקט מוגדר כ-ATA GitLab, ו-Slug הפרויקט מוגדר כ- (ata–gitlab).
לחץ על צור פרויקט כדי ליצור את הפרויקט החדש שלך.

3. שוב לתוך טרמינל והריץ את הפקודות הבאות כדי להגדיר את שם המשתמש הגלובלי שלך (--global user.name
) והאימייל (--global user.email
) עבור Git. כל שם משתמש ואימייל הם ייחודיים באופן גלובלי בכל החשבונות בשרת GitLab.
4. כעת, הרץ את הפקודה git clone
למטה כדי לשכפל את פרויקט ATA GitLab שיצרת (שלב שני) אל תיקיית הנוכחית שלך. החלף את yourdomain.com
בשם הדומיין המלא שלך.
אם הכל הולך כראוי, תראה פלט דומה לזה שמופיע למטה. כאשר השכפול הושלם, יופיע לך תיקייה חדשה בשם ATA-GitLab.

5. לבסוף, הרץ את הפקודה ls
כדי לוודא שתיקיית ATA-GitLab קיימת.
מאחר שאתה יכול לשכפל את הפרויקט החדש של ATA GitLab ושהתיקייה ATA GitLab קיימת, הפלט למטה מאשר כי השרת שלך של GitLab פועל כראוי.

סיכום
במדריך זה, למדת כיצד לבצע התקנת GitLab מאובטונטו לינוקס שלך בצורה מאובטחת. ודאת שהשרת שלך של GitLab מאובטח דרך ממשק האינטרנט, הוסף מפתחות SSH לחשבון ה-GitLab שלך ובדוק אם השרת שלך של GitLab פועל.
עם הידע החדש שקיבלת, אולי תרצה ללמוד איך ל הגדיר מערכות אינטגרציה רציפה (CI) אוטומטיות עם GitLab?