שרת Git מארח את המאגר של פרויקט, המכיל את קוד המקור וקבצי ליבה אחרים. אמנם, על פי רוב, אתה יכול להסתמך על שירותי אירוח Git הידועים בעולם כמו GitHub, בחלק במקרים, עדיף לארח את שרת Git האישי שלך לתוספת פרטיות, התאמה אישית ו בִּטָחוֹן.
בואו ללמוד כיצד ניתן להגדיר שרת Git פרטי בלינוקס.
תנאים מוקדמים להגדרת שרת Git
לפני שתתחיל להגדיר את שרת Git הפרטי שלך, חייבת להיות לך גישה למכונה פנויה או שאתה צריך להיות מנוי לספקי ענן. זה חשוב מכיוון שתגדירו את המחשב הרזרבי כך שיפעל כשרת Git שאליו תתחבר מהמחשב המקומי שלך ותבצע פעולות Git.
אמנם אין דרישות מערכת מוגדרות היטב, גיגה-בייט אחד של זיכרון RAM אמור להספיק כדי ששרת Git יהיה פונקציונלי. יתר על כן, ודא שהפצת לינוקס פועלת במחשב.
שלב 1: הורד והתקן את Git בשרת לינוקס
מיותר לציין שאתה צריך להתקין את Git בשרת הלינוקס שלך כשלב מקדים. הפעל מסוף והשתמש במנהל החבילות של הפצת הלינוקס שלך כדי להתקין את Git:
על נגזרות של דביאן/אובונטו:
sudo apt להתקין git
עַל הפצות מבוססות קשת:
sudo pacman -S git
על CentOS/RHEL/Fedora:
sudo dnf להתקין git
לאחר התקנת Git במערכת שלך, המשך לשלבים הבאים כדי להגדיר את מערכת הלינוקס שלך לארח את מאגרי Git שלך כשרת Git.
שלב 2: הגדר חשבון משתמש Git
התחבר לשרת הלינוקס שלך באמצעות SSH, RDP, או כל פרוטוקול גישה מרחוק אחר. לחלופין, אם אתה משתמש במחשב פנוי כשרת, הפעל אותו וצור חשבון משתמש חדש כדי לטפל במאגרים שלך.
שם משתמש ssh@כתובת
sudo useradd git
לאחר הוספת המשתמש החדש, עבור אליו באמצעות ה- סו פקודה:
su git
יצירת ייעודי git חשבון משתמש הוא פרוטוקול בטיחות המבטיח שללקוחות המתחברים לשרת Git שלך תהיה חשיפה מוגבלת וגישה למשאבים במכונה. זה מאפשר לך לשתף פעולה בבטחה בפרויקטים קבוצתיים שבהם מספר חברי צוות ייגשו לשרת שלך.
שלב 3: צור את ספריית .ssh והוסף מפתחות מורשים
ליצור .ssh ספרייה נחוצה לאחסון מפתחות ציבוריים ונתונים חיוניים אחרים שיכתיבו מי יקבל גישה לשרת Git זה. בתור התחלה, היכנס לחשבון המשתמש של git שיצרת בעבר, צור את ספריית ה-.ssh והגבלת גישה למשתמש git בלבד:
ssh git@כתובת
mkdir.ssh
chmod 700 .ssh/
גע ב-.ssh/authorized_keys
אבטח את הרשאות הגישה לספרייה באמצעות ה chmod הפקודה כדי להבטיח שאף אחד מלבדך לא יוכל לבצע בו שינויים. עברו ל- .ssh ספרייה וצור קובץ חדש "authorized_keys" באמצעות ה לגעת פקודה.
CD.ssh
ssh-keygen -t rsa #הפעל את הפקודה הזו רק אם אין לך קובץ id_rsa.pub
חתולid_rsa.פָּאבּ
תצטרך לעדכן את הקובץ הזה עם מפתחות SSH ציבוריים של לקוחות להם אתה רוצה לתת גישה לשרת Git. השע את הפעלת SSH ופתח את .ssh/id_rsa.pub קובץ במחשב המקומי שלך באמצעות עורך טקסט או פקודת החתול. קובץ זה מכיל את המפתח המוצפן הציבורי שלך, שכאשר נכתב בקובץ authorized_keys, יעניק לך גישה לשרת Git ללא סיסמה.
CD.ssh
vi authorized_keys
העתק את המפתח הציבורי וסובב חיבור SSH חדש לשרת Git. עברו ל- .ssh ספרייה, פתח את הקובץ authorized_keys עם עורך טקסט והדבק את המפתח הציבורי. שמור שינויים וצא.
מכאן ואילך, אתה אמור להיות מסוגל להתחבר לשרת ללא כל סיסמה. חזור על שלב זה עבור כל מחשב שיתחבר לשרת.
שלב 4: צור ספרייה לאחסון כל המאגרים שלך
גש לשרת לינוקס וצור ספרייה או השתמש במדריך מובנה בתור ספריית השורש. זכור שזו הספרייה שמתחתיה יאוחסנו כל המאגרים שלך. זוהי תרגול טוב למען ארגון מסודר יותר של פרויקטים.
mkdir directory_name
לאחר יצירת הספרייה, עברו לשלב האחרון במדריך זה כדי לסיים את הגדרת שרת Git.
שלב 5: התחל את הפיתוח על ידי הוספת פרויקט חדש
כעת כמעט סיימת להגדיר את שרת Git. עכשיו אתה רק צריך להתחיל בפיתוח על ידי אתחול מאגרים והוספת המקור המרוחק למחשב המקומי שלך. עבור אל ספריית האב באמצעות ה- CD פקודה וצור א .git ספריית הפרויקט:
CD parent_directory
mkdirפרוייקט חדש.git
כעת, אתחל מאגר git חשוף:
git init --חָשׂוּף
עם אתחול המאגר, הגיע הזמן להוסיף את המקור המרוחק במחשב המקומי שלך:
git מרחוק הוסף שם מקור git@כתובת:new_project.git
זה כל מה שאתה צריך לעשות בצד השרת של הדברים. כעת כל לקוח מאומת יכול לבצע פעולות Git רגילות כמו דחיפה, משיכה, מיזוג, שיבוט ועוד. כדי להתחיל פרויקטים חדשים תצטרך לחזור על שלב זה בכל פעם שאתה יוצר פרויקט חדש.
בדוק את הפונקציונליות שלו על ידי ביצוע דחיפה של git:
לגעת בקובץ הבדיקה
git add testfile
git commit -m "קובץ בדיקה"
git push name master
git שיבוט git@address: new_project.git
הקובץ שלך יידחף בהצלחה למקור המרוחק. כדי להצליב האם פעולת הדחיפה עבדה, ניתן לשכפל את המאגר, וכדאי למצוא את קובץ הבדיקה במאגר.
עצות אבטחה עבור שרת Git שלך
כששרת Git פועל, עליך לשים לב היטב למעמד האבטחה שלו כפי שהוא השרת האישי שלך ובאחריותך הבלעדית לתחזק ולהגן עליו מפני חיצוניים איומים. כמה משיטות האבטחה הטובות ביותר לאמץ הן:
- השבת את הכניסה לסיסמה
- שנה את מעטפת ברירת המחדל ל-git-shell. זה מגביל את המשתמש המחובר מלהנפיק כל פקודה שאינה-git
- השתמש ביציאה מותאמת אישית עבור SSH
- השבת את התחברות משתמש שורש
- גיבוי נתונים באופן קבוע
יש הרבה תצורות אבטחה ואמצעי בטיחות כאלה שאתה יכול ליישם בשרת הלינוקס שלך כדי להגן עליו מפני תוקפים ולמנוע גישה לא מורשית.