Subversion היא מערכת מעקב אחר גרסאות בקוד פתוח. הוא שומר קבצים במאגר מרכזי ומספק בקרת גרסאות על ספריות או קבצים. כמפתח, אתה יכול למשוך קבצי פרויקט ממאגר, לבצע בהם שינויים ולדחוף אותם בחזרה.
ל- Subversion יש גם רכיב שרת שבו אתה יכול להשתמש כדי לארח את הפרויקטים שלך. זה עובד בדומה לשרת קבצים רגיל.
כיצד להתקין Subversion
Subversion היא פשוטה להתקנה. אתה יכול להשתמש בפקודה המתאימה כדי שההפצה שלך תתחיל:
# דביאן, אובונטו
sudo apt להתקין חתרנות apache2 libapache2-mod-svn
# CentOS, Fedora, RHEL
sudo dnf להתקין subversion apache2 mod_dav_svn
שימו לב שגם פקודה זו מתקין את שרת האינטרנט Apache2. תזדקק לשרת אינטרנט אם תרצה לגשת למאגר Subversion באמצעות HTTP או WebDAV. אתה יכול גם להשתמש ב-HTTPS, אתה רק צריך להתקין ולהגדיר אישור דיגיטלי כדי לעשות זאת.
לאחר שתפעיל את הפקודה הזו, תוכל לבדוק שהחתרנות מותקנת כהלכה. כעת אתה אמור להיות מסוגל להפעיל את svn הפקודה ותוכל לראות את הגרסה הנוכחית באמצעות ה --גִרְסָה אוֹפְּצִיָה:
תצורת שרת עם Subversion
אם ההתקנה עברה בצורה חלקה, כעת תוכל להתחיל לעבוד על תצורת המאגר שתשתמש איתה
svn. כמובן, תצטרך ליצור מאגר חדש בשביל זה. ראשית, צור תיקיה בספריית שורש כדי למקם את המאגר שלך:sudo mkdir /subversion
אם אתה צריך לגשת למאגר שלך באמצעות WebDAV דרך HTTP, תצטרך לתת לאפצ'י בעלות על הספרייה שלו. מאז Apache משתמש www-data משתמש כברירת מחדל, אשר את המשתמש הזה באופן הבא:
sudo chown www-data: www-data /subversion
כעת תוכל לעבור ל- www-data משתמש והתחיל לעבוד על המאגר שלך. הפקודה שבה תשתמש כדי להיכנס בתור www-data המשתמש הוא:
sudo su -s /bin/bash www-data
אתה כעת משתמש Apache ולאחר שלב זה, אתה יכול ליצור את מאגר Subversion שלך באופן הבא:
svnadmin לִיצוֹר /subversion/myrepo
כעת יש לך מאגר Subversion. כדי להפוך את המאגר הזה למאובטח יותר ולזהות את המשתמשים שלו, השלב הבא הוא ליצור משתמש ולהגדיר לו סיסמה. כדי לעשות זאת, השתמש בפקודה הבאה:
htpasswd -cmb /subversion/passwd myadmin mypass
לפי פקודה זו, שם המשתמש שלך יהיה myadmin והסיסמה שלך תהיה mypass. אתה יכול לשנות את הערכים האלה לכל מה שמתאים לנסיבות שלך.
מאגר Subversion שלך מוכן כעת לשימוש. בשלב זה, אתה יכול לצאת מה- www-data משתמש באמצעות ה יְצִיאָה פקודה.
כעת אתה יכול לשלוח פרויקט או קובץ רצויים למאגר שלך באמצעות הפקודה למטה:
יבוא sudo svn <כתובת הפרויקט שלך> file:///subversion/myrepo -m "התחייבות ראשונה"
פקודה זו משתמשת ב- יְבוּא פרמטר כדי לדחוף את כל מה שבתיקיית הפרויקט שלך למאגר Subversion שלך. תוך כדי פעולה זו, עליך להוסיף את הודעת ה-commit עם ה- -M פָּרָמֶטֶר.
שימוש בשיטות גישה ב- Subversion
אולי שמת לב שאתה משתמש ב- קוֹבֶץ:// פרוטוקול כדי להוסיף פרויקט למאגר שלך. זהו רק אחד ממספר פרוטוקולי רשת שבהם אתה יכול להשתמש כדי לגשת למאגר svn. אתה יכול גם להשתמש בפרוטוקול WebDAV על HTTP או HTTPS, או בהתאמה אישית של Subversion svn נוהל.
גישה ישירה למאגר
כפי שראית, אתה יכול להשתמש ב- קוֹבֶץ:// פרוטוקול לגישה למאגר מקומי. כך תוכל להוציא ריפו מקומי לספרייה הנוכחית שלך:
קובץ svn co:///subversion/myrepo
כאשר אתה בודק את ה-repo, svn מציג רשימה של הקבצים שהוא מכיל:
גישה באמצעות WebDAV
כדי לשלב את מאגר Subversion שלך עם Apache, תצטרך להגדיר כמה הגדרות.
לשלב הראשון, הפעל את dav, dav_svn, ו dav_fs מודולים באמצעות הפקודות הבאות:
sudo a2enmod dav dav_fs dav_svn
לאחר הפעלת המודולים הנדרשים, כעת תוכל לערוך את /etc/apache2/mods-enabled/dav_svn.conf קוֹבֶץ. צור את הקובץ אם הוא עדיין לא קיים, ושנה את תוכנו באופן הבא:
<מיקום / חתרנות>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "מאגר חתרנות"
AuthUserFile /subversion/passwd
לִדרוֹשׁ משתמש חוקי
</Location>
ה AuthUserFile הגדרה מתייחסת לקובץ שיצרת קודם לכן באמצעות htpasswd. הוספתו לכאן תעניק גישה למאגר לכל המשתמשים הנקראים בקובץ, בתנאי שהם מאמתים עם סיסמה חוקית.
לאחר שיצרת ושמרת את הקובץ הזה, הפעל מחדש את שירות Apache2 עם הפקודה הבאה:
סודוsystemctlאתחולאפאצ'י2.שֵׁרוּת
כעת, כאשר אתה פותח דפדפן אינטרנט ועובר אל http://localhost/subversion/, תראה את התוכן של המאגר שלך. כאשר אתה הולך לכתובת זו, הוא יבקש את שם המשתמש והסיסמה שלך:
התחבר עם שם המשתמש (למשל. myadmin) וסיסמא (mypass) שהגדרת קודם לכן. אתה יכול לגשת למאגר Subversion שלך באמצעות WebDAV לאחר הזנת שם המשתמש והסיסמה:
גישה עם SSL ו-WebDAV
ה https:// לפרוטוקול יש כמעט אותה תצורה כמו של http:// פרוטוקול, עם רק כמה הבדלים חשובים. כדי לתת דוגמה, ה .conf הקובץ שאתה צריך להשתמש בו במהלך התצורה שונה. אתה צריך גם להתקין אישור דיגיטלי. כי כפי שאתה יודע, זה היגיון העבודה של שיטת הצפנת SSL.
אתה יכול ליצור תעודה דיגיטלית בעצמך, או שאתה יכול להתקין אחד שהונפקו על ידי רשות מוסמכת. בהנחה שהתקנת תעודה דיגיטלית, מה שאתה צריך לעשות הוא פשוט.
ההבדל בשלב זה הוא השינויים שתבצעו בקובץ התצורה. להלן קובץ תצורה לדוגמה עבור שימוש ב-SSL ו-WebDAV:
<מיקום / חתרנות>
DAV פועל
SSLRequireSSL
אפשרויות אף אחד
AuthType Basic
AuthName "מאגר חתרנות"
AuthUserFile /subversion/passwd
לִדרוֹשׁ משתמש חוקי
</Location>
כפי שאתה יכול לראות, ההבדל בין https:// ו http:// הפרוטוקולים לא כל כך במונחים של שינויים בקובץ התצורה. לאחר השינויים האלה, יהיה עליך להפעיל מחדש את אפאצ'י2 שֵׁרוּת. לָרוּץ systemctl הפעל מחדש את apache2.service לעשות זאת.
למה להשתמש בחתרנות?
בתור מעקב אחר גרסאות, Subversion זוכר כל שינוי שנעשה בקבצים ובספריות. זה מאפשר לך לגשת לגרסאות ישנות של תוכנות או מסמכים שאתה עובד איתם ולמצוא את ההבדלים ביניהם. זה מקל על ניהול פרויקטים, במיוחד אם צוות הפיתוח שלך גדול או מבוזר.
ישנן מערכות בקרת גרסאות רבות עבור לינוקס מלבד Subversion, שאולי תרצה לשקול.