• Fri. Sep 20th, 2024

كيفية تثبيت نظام Fossil Version Control في Linux

Byadmin

Aug 6, 2024

صورة لشاشة كمبيوتر تعرض كود JavaScript.

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

لماذا تستخدم Fossil بدلاً من Git

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

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

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

من المزايا الأخرى التي يتمتع بها Fossil مقارنة بـ Git هي أنه يتطلب عددًا أقل من التبعيات والذاكرة لتشغيله مع توفير الميزات فورًا. تحتوي نسخة Fossil على لوحة مناقشة وويكي ومتعقب مشكلات. وهذا يجعل 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
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 الخاص بك، ثم قم بتثبيت حزمة snap الأساسية:

قم بتنزيل حزمة 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 في Linux

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

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

انقل ملف tarball المصدر إلى دليل منزلك، ثم استخرجه:

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

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

cd ~/fossil-src-2.23
nano ./Dockerfile

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

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

احفظ ملف Dockerfile المعدّل، ثم قم ببناء صورة الحاوية الخاصة بك:

sudo docker build -t fossil .

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

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

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

لقطة شاشة تظهر سجل DNS A لـ Fossil.

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

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

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

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

استبدال 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
sudo systemctl reload nginx.service

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

sudo docker run \
    --publish 7777:8080 \
    --name fossil \
    --cap-drop AUDIT_WRITE \
    --cap-drop CHOWN \
    --cap-drop FSETID \
    --cap-drop KILL \
    --cap-drop MKNOD \
    --cap-drop NET_BIND_SERVICE \
    --cap-drop NET_RAW \
    --cap-drop SETFCAP \
    --cap-drop SETPCAP \
    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
cd ./YOUR-REPO-NAME

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

nano ./sample.file
fossil add ./sample.file
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.

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *