كيفية تثبيت نظام التحكم في الإصدار الأحفوري في لينكس


Fossil هو نظام قوي للتحكم في الإصدار (VCS) لنظام التشغيل Linux. إنه بديل لـ Github، ولكنه على عكس Git، يعمل من خلال توفير مجموعة كاملة من الأدوات لإنشاء مستودعك وتعديله وحتى مشاركته عبر الإنترنت. ستوضح لك هذه المقالة كيفية تثبيت Fossil ونشره على Ubuntu Linux.

لماذا استخدام الأحفوري على بوابة

واحدة من أكبر نقاط البيع في Fossil هي أنها مجموعة متكاملة لإدارة كود المصدر الخاص بك عبر الإنترنت. وهذا يجعله مفيدًا بشكل لا يصدق للمستخدمين الذين يريدون فقط مشاركة مستودع واحد مع أشخاص آخرين دون إنشاء حساب Github أو Gitlab.

وبصرف النظر عن ذلك، فإن Fossil أيضًا مرن للغاية وسهل الاستضافة بشكل لا يصدق. يمكن تشغيله إما كثنائي ثابت واحد في نظامك أو في حاوية Docker قائمة بذاتها. ونتيجة لذلك، من السهل جدًا الدخول إلى Fossil وتكييفه ليناسب احتياجاتك الخاصة.

في حين أن Fossil وGit يشتركان في نفس بنية التشغيل، فإن Fossil يوفر ميزات إضافية يصعب تنفيذها في Git. على سبيل المثال، يتجنب Fossil مشكلة “الرأس المنفصل” من خلال توفير قاعدة بيانات داخلية تتعقب المراجع بين الالتزامات السابقة والمستقبلية. ونتيجة لذلك، فإن اتفاقيات إعادة الشراء Fossil أكثر سلاسة وخالية من المشاكل مقارنةً بـ Git.

هناك ميزة أخرى لـ Fossil مقارنة بـ Git وهي أنها تتطلب عددًا أقل من التبعيات والذاكرة للتشغيل مع توفير الميزات فور إخراجها من الصندوق. يحتوي مثيل Fossil على لوحة المناقشة الخاصة به، وموقع wiki، ومتعقب المشكلات. وهذا يجعل Fossil حلاً متكاملاً لأي شخص يريد بيئة “خالية من الضجة” لتطوير ونشر التعليمات البرمجية.

جيد ان تعلم: تعلم بعضًا من أفضل خطافات Git لإدارة مستودعك.

الحصول على المتطلبات الأساسية لـ Fossil وDocker

الخطوة الأولى في نشر Fossil هي الحصول على ملفات المستودع الخاصة بـ Docker. للقيام بذلك، قم بإحضار مفتاح التوقيع لمشروع Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg<br>sudo chmod a+r /etc/apt/keyrings/docker.gpg

قم بإنشاء ملف جديد ضمن “/etc/apt/sources.list.d.” سيحتوي هذا على رابط المستودع حيث سيقوم Ubuntu بجلب حزم Docker:

sudo nano /etc/apt/sources.list.d/docker.list

الصق الكود التالي داخل ملف المستودع الجديد الخاص بك:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

احفظ ملف مستودع Docker الخاص بك، ثم قم بتثبيت الحزمة الأساسية:

قم بتنزيل حزمة Certbot snap من Electronic Frontier Foundation:

sudo snap install certbot --classic

قم بتشغيل الأمر التالي لتحديث قوائم حزم نظامك:

sudo apt update && sudo apt upgrade

قم بتثبيت Docker وNginx مع حزم التبعية الخاصة بهما:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx

بناء وتثبيت الأحفوري في لينكس

انتقل إلى صفحة تنزيل Fossil، ثم حدد مصدر القطران للحصول على أحدث إصدار ثابت. في حالتي، سأقوم بتنزيل الإصدار 2.23 من Fossil.

لقطة شاشة تسلط الضوء على رابط أحدث إصدار ثابت لـ Fossil.

انقل كرة القطران المصدر إلى دليلك الرئيسي، ثم استخرجها:

mv ~/Downloads/fossil-src-2.23.tar.gz<br>tar xvzf ~/fossil-src-2.23.tar.gz

انتقل إلى مجلد tarball، ثم افتح Fossil’s Dockerfile باستخدام محرر النصوص المفضل لديك:

cd ~/fossil-src-2.23<br>nano ./Dockerfile

قم بالتمرير لأسفل إلى أسفل الملف، ثم أضف ما يلي قبل ملف "--user", "admin" ] خط:

محطة تسليط الضوء على

احفظ ملف Dockerfile المعدل، ثم أنشئ صورة الحاوية الخاصة بك:

sudo docker build -t fossil .

تشغيل Fossil وإنشاء وكيل عكسي SSL

لديك الآن مثيل جديد لـ Fossil VCS يعمل كحاوية Docker على خادمك. للوصول إليه، تحتاج إلى تشفير أي اتصالات خارجية بـ Fossil.

للبدء، قم بإنشاء سجل DNS “A” جديد يشير إلى عنوان IP الخاص بخادم Fossil الخاص بك.

لقطة شاشة توضح سجل DNS لـ Fossil.

استخدم محرر النصوص المفضل لديك لإنشاء ملف تكوين موقع جديد لمثيل Fossil الخاص بك:

sudo nano /etc/nginx/sites-available/fossil-scm

الصق كتلة التعليمات البرمجية التالية داخل ملف تكوين موقعك الجديد:

server {<br><br>        server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;<br><br>        location / {<br>                proxy_pass http://127.0.0.1:7777;<br>                proxy_http_version 1.1;<br>                proxy_set_header Upgrade $http_upgrade;<br>                proxy_set_header Connection "upgrade";<br>                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>                proxy_set_header Host $host;<br>        }<br>}

استبدل server_name متغير مع المجال الفرعي الخاص بك لـ Fossil.

محطة تعرض ملف تكوين موقع الوكيل العكسي في Nginx.

أنشئ رابطًا رمزيًا لملف تكوين موقعك إلى “/etc/nginx/sites-enabled/”:

sudo ln -s /etc/nginx/sites-available/fossil-scm /etc/nginx/sites-enabled/

ابدأ تشغيل البرنامج الخفي Nginx لنظامك باستخدام systemctl:

sudo systemctl enable --now nginx.service<br>sudo systemctl reload nginx.service

ابدأ تشغيل صورة Fossil Docker الجديدة عن طريق تشغيل الأمر التالي:

sudo docker run \<br>    --publish 7777:8080 \<br>    --name fossil \<br>    --cap-drop AUDIT_WRITE \<br>    --cap-drop CHOWN \<br>    --cap-drop FSETID \<br>    --cap-drop KILL \<br>    --cap-drop MKNOD \<br>    --cap-drop NET_BIND_SERVICE \<br>    --cap-drop NET_RAW \<br>    --cap-drop SETFCAP \<br>    --cap-drop SETPCAP \<br>    fossil

افتح لوحة Tmux جديدة بالضغط كنترول + ب، ثم ج. في الداخل، قم بتشغيل الأمر التالي لطلب شهادة SSL من Certbot:

sudo certbot --nginx -d fossil-scm.myvpsserver.top

اختبر ما إذا كان يمكن الوصول إلى مثيل Fossil الخاص بك عبر الإنترنت من خلال الانتقال إلى المجال الفرعي الخاص بك.

لقطة شاشة تعرض الصفحة المقصودة لمثيل Fossil المثبت حديثًا.

جيد ان تعلم: تعرف على كيفية إنشاء صفحات ويب بسيطة باستخدام HTTPS التلقائي باستخدام Caddy.

إنشاء أول مستودع أحفوري خاص بك

مع تشغيل Fossil على خادم Linux الخاص بك، يمكنك الآن تكوين مثيلك الجديد. انقر على الإعداد/التكوين الرابط تحت بيت قسم.

لقطة شاشة تسلط الضوء على "الإعداد/التكوين" الرابط الموجود على الصفحة المقصودة الافتراضية لـ Fossil.

قم بتوفير تفاصيل حساب المسؤول، ثم انقر فوق تسجيل الدخول. يمكنك العثور على كلمة المرور لحساب المسؤول في سجل الإخراج لحاوية Docker الخاصة بك.

لقطة شاشة توضح كلمة المرور العشوائية لحساب المسؤول.

املأ كلا من اسم المشروع و وصف المشروع مربعات النص التي تحتوي على تفاصيل المستودع الخاص بك، ثم انقر فوق تطبيق التغييرات لحفظه.

لقطة شاشة تسلط الضوء على "تطبيق التغييرات" زر للتكوين الأولي لـ Fossil.

الاستنساخ واستخدام مستودع الأحافير الخاص بك

لاستخدام مستودع التعليمات البرمجية الجديد الخاص بك، يتعين عليك أولاً إنشاء نسخة منه على جهازك. للقيام بذلك، قم بتثبيت إصدار محلي من Fossil على سطح مكتب Linux الخاص بك:

اسحب المستودع بالكامل إلى جهازك وانتقل إلى مجلد المستودع الخاص به:

fossil clone https://SUBDOMAIN.YOUR-ROOT.DOMAIN<br>cd ./YOUR-REPO-NAME

أضف ملفاتك الأولية، ثم قم بتنفيذ التغييرات على مستودع Fossil الخاص بك:

nano ./sample.file<br>fossil add ./sample.file<br>fossil commit

قم بتوفير تفاصيل التزامك الأولي، ثم احفظه عن طريق إنشاء سطر جديد يبدأ بنقطة (.).

محطة تعرض تنسيق رسالة الالتزام لـ Fossil.

لعِلمِكَ: تعلم أساسيات إدارة التعليمات البرمجية عن طريق إنشاء مستودع Git الخاص بك.

دفع التغييرات المحلية إلى مستودع الأحافير البعيد الخاص بك

افتراضيًا، لا يوفر Fossil أي أذونات كتابة لمستودعاته البعيدة. أي تغييرات تجريها على مستودعك المحلي ستبقى هناك ولن تنعكس في مثيل Fossil الخاص بك.

لإصلاح ذلك، انتقل إلى واجهة الويب الخاصة بمثيل Fossil ثم قم بتسجيل الدخول كحساب المسؤول.

انقر على مسؤل الفئة في القائمة العلوية للوحة المعلومات.

لقطة شاشة توضح موقع

يختار المستخدمين في لوحة تحكم المسؤول .

لقطة شاشة توضح "المستخدمين" الفئة في وحدة تحكم المسؤول.

انقر يضيف لإنشاء مستخدم جديد لمستودعك.

لقطة شاشة توضح موقع

قم بتوفير اسم مستخدم وكلمة مرور للمستخدم الجديد.

ضع علامة على مطور خانة الاختيار على قدرات الفئة، ثم انقر فوق تطبيق التغييرات لحفظ المستخدم الجديد الخاص بك.

لقطة شاشة توضح إعداد المُرسِل الافتراضي لمستخدم Fossil جديد.

ارجع إلى المحطة المحلية لديك، ثم قم بتشغيل الأمر التالي:

fossil push https://YOUR-USERNAME@SUBDOMAIN.YOUR-ROOT.DOMAIN

ملحوظة: يمكنك أيضًا جلب تغييرات جديدة من مستودع Fossil البعيد عن طريق التشغيل fossil pull.

اكتب كلمة المرور لمستخدم Fossil الخاص بك، ثم اضغط يدخل لدفع التغييرات المحلية إلى مستودعك البعيد.

تأكد من أن مستودع Fossil البعيد الخاص بك قد تلقى التزامك المحلي من خلال الانتقال إلى واجهة الويب الخاصة به.

لقطة شاشة توضح نموذج ملف الالتزام في مثيل Fossil المستضاف ذاتيًا.

يعد تثبيت ونشر نظام التحكم في إصدار Fossil الخاص بك مجرد خطوة أولى لاستعادة التحكم في بياناتك عبر الإنترنت. تعرف على كيفية تأمين اتصالاتك عبر الإنترنت من خلال استضافة خادم الأسماء المستعارة للبريد الإلكتروني الخاص بك باستخدام SimpleLogin.

حقوق الصورة: بانجاك باتيل عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

اشترك في نشرتنا الإخبارية!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك

رمسيس الأحمر

رمسيس كاتب في مجال التكنولوجيا عاش مع أجهزة الكمبيوتر طوال حياته. قارئ غزير الإنتاج وطالب في الأنثروبولوجيا، وهو شخصية غريبة الأطوار تكتب مقالات عن Linux وأي شيء لا شيء.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى