القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

Git هو نظام للتحكم في الإصدار يستخدمه مطورو البرامج والمبرمجون والمصلحون للتعاون في مشاريع مفتوحة المصدر وتوزيعها. باستخدام Git ، يمكنك التعامل مع مشاريع من أي حجم ، وسحب تغييرات ودمج التعليمات البرمجية ، والسماح للمستخدمين باستنساخ مستودعاتك على أجهزتهم الخاصة. يعمل النظام البيئي مفتوح المصدر على Git ، والعديد من المشاريع المعروضة على MakeUseOf.com تتضمن استخدام موارد من GitHub. باستخدام Gitea ، يمكنك استضافة مستودعات Git كاملة الوظائف على Raspberry Pi في منزلك.

لماذا تستضيف خدمة Git الخاصة بك على Raspberry Pi بدلاً من استخدام GitHub؟

مع 55 مليون مستخدم ، GitHub هو أكبر مستودع للبرامج المجانية والمفتوحة المصدر على الأرض ، لكن مالكها الحالي ، Microsoft ، ليس مناسبًا بشكل طبيعي لدور الحارس. وصف الرؤساء التنفيذيون السابقون للشركة نظام Linux والرخصة العامة بأنها "سرطان" ، ومعظم منتجات Microsoft الخاصة مملوكة ومغلقة المصدر.

شهدت ملكية Microsoft أيضًا قيام GitHub باستكشاف بعض التقنيات المشكوك فيها أخلاقياً - لا سيما مع GitHub Copilot ، وهي أداة AI لمساعدة المبرمجين على إنشاء التعليمات البرمجية. تم تدريب Copilot على بيانات من GitHub ، في انتهاك محتمل لشروط تراخيص المشاع الإبداعي التي يستخدمها المبرمجون.

instagram viewer

باستخدام GitHub ، ينشئ المطورون نقطة اختناق أخرى يمكن عندها خنق الابتكار وتقويضه وتعريضه للتدخل التافه.

يتيح لك Gitea إعداد خادم Git الخاص بك على Raspberry Pi

Gitea هو تفرع من Gogs ، وهو حل استضافة رمز خفيف الوزن يديره المجتمع مكتوبًا في Go ، ويتم نشره بموجب ترخيص MIT. يهدف إلى الحصول على نموذج تطوير أكثر انفتاحًا وأسرع من سابقه ، وسيعمل على أجهزة ذات موارد متواضعة ، مثل Raspberry Pi. ستتمكن من العمل على ملفاتك ، نظام تشغيل Ubuntu ISOs المخصص، ونصوص Bash ، وأدوات Java و Python المساعدة دون خوف من تعرضهم لإلغاء قانون الألفية الجديدة لحقوق طبع ونشر المواد الرقمية ، أو استخدامها لتدريب البرامج الشائنة ، أو أن تكون خارجة عن إرادتك.

كيفية تثبيت Gitea على Raspberry Pi الخاص بك

يأتي Gitea بالعديد من طرق التثبيت ، ولكن أسهلها هو عبر Docker. إذا لم يكن لديك هذه بالفعل قيد التشغيل على Raspberry Pi الخاص بك ، تثبيت Docker و Docker Compose الآن.

من المحتمل أن تشغل الملفات التي تخزنها في خادم Gitea مساحة كبيرة ، لذلك نقترح باستخدام التخزين الخارجي مع Raspberry Pi الخاص بك، واستخدامه كموقع لتثبيت Gitea.

اتصل بـ Pi عبر SSH، ثم انتقل إلى الموقع الذي تريد تثبيت Gitea فيه ، وأنشئ دليلًا جديدًا ، ثم انتقل إليه:

mkdir gitea
قرص مضغوط جيتي

قم بإنشاء ملف جديد باستخدام nano:

نانوعامل ميناء يؤلف.yml

... والصق الكود التالي فيه:

إصدار: "3"

الشبكات:
جيتي:
خارجي: خطأ

خدمات:
الخادم:
الصورة: gitea / gitea: الأحدث
اسم الحاوية: gitea
بيئة:
- USER_UID = 1000
- USER_GID = 1000
- GITEA__database__DB_TYPE = mysql
- GITEA__database__HOST = ديسيبل: 3306
- GITEA__database__NAME = gitea
- GITEA__database__USER = gitea
- GITEA__database__PASSWD = gitea
إعادة التشغيل: دائمًا
الشبكات:
- جيتي
أحجام:
- ./gitea:/data
- / etc / timezone: / etc / timezone: gb
- / etc / localtime: / etc / localtime: gb
الموانئ:
- "3000:3000"
- "222:22"
يعتمد على:
- ديسيبل

ديسيبل:
الصورة: mysql: 8
إعادة التشغيل: دائمًا
بيئة:
- MYSQL_ROOT_PASSWORD = gitea
- MYSQL_USER = gitea
- MYSQL_PASSWORD = gitea
- MYSQL_DATABASE = gitea
الشبكات:
- جيتي
أحجام:
- ./mysql:/var/lib/mysql

قم بتغيير المناطق الزمنية إلى الإعدادات المحلية الخاصة بك واختر كلمة مرور قوية لقاعدة البيانات الخاصة بك ، ثم احفظ nano واخرج باستخدامه السيطرة + O، ثم Ctrl + X.

يدخل:

عامل الميناء يؤلف د

... لإحضار عامل عامل البناء في وضع منفصل. سيقوم Docker-compose بسحب صور متعددة لـ Gitea و Maria DB وإعداد الحاويات. اعتمادًا على سرعة الاتصال لديك ، قد يستغرق هذا بعض الوقت.

عندما تعود إلى موجه الأوامر:

عامل ميناء تكوين ملاحظة

… يجب أن يظهر "gitea" و "gitea_db_1" كـ "up". يمكنك الآن زيارة صفحة التكوين الأولية لموقع Gitea الخاص بك على your.pi.local.ip.address: 3000.

لا تغير أي شيء حتى الآن. إذا كنت تخطط للوصول إلى مثيل Gitea الخاص بك عبر الإنترنت ، فستحتاج إلى إجراء المزيد من التحضير أولاً.

الوصول إلى مثيل Gitea الخاص بك عبر الإنترنت

تريد أن تكون قادرًا على كتابة عنوان URL قياسي لتتمكن من الوصول إلى مثيل Gitea الخاص بك ، لذلك ستحتاج إلى Apache للتعامل مع البروكسي. قم بتثبيت Apache مع:

sudo apt ثَبَّتَ اباتشي 2

الآن ، ابدأ وتمكين Apache بالأوامر التالية:

sudo systemctl يبدأ اباتشي 2
sudo systemctl يُمكَِن اباتشي 2

تمكين وحدات وكيل Apache مع:

وكيل sudo a2enmod
sudo a2enmod proxy_http

اختر اسم المجال أو اسم المجال الفرعي من مسجل حسن السمعة. ثم ، من صفحة إعدادات المسجل الخاص بك ، ابحث عن خيارات "DNS المتقدمة" وأضف ملف أ سِجِلّ. تعيين يستضيف المجال ل "@" وحقل القيمة إلى عنوان IP الثابت الخاص بك. اضبط قيمة TTL (وقت الاستئجار) على أدنى مستوى ممكن ، ثم احفظ.

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

قم بإنشاء إدخال جديد لطلبات HTTP. اضبط كل من المنفذ المحلي والعامة على 80، وعنوان IP المحلي لعنوان IP الخاص بـ Raspberry Pi الخاص بك.

مطلوب منفذ مفتوح ثان لطلبات HTTPS. اضبط كل من المنفذ المحلي والعامة على 443، ومرة ​​أخرى ، عنوان IP المحلي لعنوان IP الخاص بـ Pi.

أخيرًا ، تحتاج إلى منفذ مفتوح لطلبات SSH إلى خادم Git الخاص بك. اضبط كل من المنفذ المحلي والعامة على 222، وعنوان IP المحلي لعنوان IP الخاص بـ Pi.

ستستخدم Certbot للحصول على شهادات الأمان والمفاتيح. أضف مستودع Certbot وقم بالتحديث ثم قم بتثبيت Certbot:

sudo add-apt-repository ppa: certbot / certbot
sudo apt تحديث
sudo apt-يحصل قم بتثبيت python3-certbot-apache

غيّر الدلائل وأنشئ ملفًا جديدًا باستخدام nano:

قرص مضغوط /etc/apache2/sites-available/
نانوجيتي.conf

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

<VirtualHost *: 80>اسم الخادم اسم المجال الخاص بك. tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http: /127.0.0.1: 3000 / ProxyPreserveHost On</VirtualHost>

احفظ واخرج من nano باستخدام كنترول + ا، ثم كنترول + X، وقم بتمكين ملف conf الجديد الخاص بك باستخدام:

سودوa2ensiteجيتي.conf

أعد تشغيل Apache:

إعادة تشغيل sudo خدمة apache2

قم بتشغيل Certbot باستخدام:

sudo certbot

... وحدد اسم المجال الخاص بك من القائمة. سيقوم Certbot بجلب الشهادات والمفاتيح وتثبيتها. عندما تعود إلى الموجه ، أعد تشغيل Apache مرة أخرى:

إعادة تشغيل sudo خدمة apache2

إعداد مثيل Gitea

يمكنك الآن زيارة مثيل Gitea الخاص بك في متصفح على العنوان https://your-domain-name.tld. ستتمكن من تعيين نوع قاعدة البيانات وكلمة المرور والمتغيرات الأخرى في القسم الأول. ستكون هذه القيم التي حددتها في ملف إنشاء عامل الإرساء ، ويجب ملؤها بالفعل ، لذلك لا داعي لتغييرها.

في الاعدادات العامة، تعيين عنوان الموقع لواحد مناسب ، مجال الخادم يجب أن يكون اسم المجال الخاص بك و منفذ خادم SSH يجب ضبطه على 222. يجب أن يكون عنوان URL الأساسي هو اسم المجال الخاص بك بما في ذلك "HTTPS: //".

عندما تنتهي ، اضغط على الأزرق الكبير قم بتثبيت Gitea زر. سيتم الترحيب بك بفنجان شاي أخضر كبير ، وأي اسم أو سبيكة أعطيتها للمثال. لإنشاء المستخدم الأول الخاص بك ، انقر فوق "تسجيل" في الجزء العلوي الأيمن من الصفحة ، ثم أدخل التفاصيل الخاصة بك. تهانينا!

لمنع أي شخص آخر من التسجيل واستضافة مستودعات التخزين الخاصة به على خادم Git الخاص بك ، تحتاج إلى تحرير ملف app.ini ملف. إذا قمت في البداية بإنشاء ملف جيتي الدليل في / الدليل (الجذر) ، أدخل:

nano /gitea/gitea/gitea/conf/app.ini

قم بالتمرير لأسفل إلى قسم الخدمة وقم بتعيينه DISABLE_REGISTRATION الى الحقيقة.

احفظ واخرج من nano باستخدام كنترول + ا، ثم كنترول + X ، ثم أعد تشغيل الحاويات الخاصة بك:

عامل ميناء - يؤلف downdocker - يؤلف د

باستخدام Gitea

إذا سبق لك استخدام GitHub ، فستكون على الفور في المنزل في Gitea. بعد تسجيل الدخول ، سترى أنه لا توجد مستودعات متاحة. قم بإنشاء واحد من خلال النقر على + قم بالتوقيع على يمين الصفحة ، وأعطها اسمًا معقولًا.

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

انقر فوق SSH لنسخ العنوان ، ولن تتمكن من استنساخ المستودعات إلى جهازك المحلي ، وستتلقى رسالة خطأ: "يرجى التأكد من أن لديك حقوق الوصول الصحيحة ومن وجود المستودع" بدلاً من ذلك. تحتاج إلى إضافة مفتاح SSH الخاص بجهازك المحلي إلى Gitea أولاً. للقيام بذلك ، انسخ الإخراج من:

قطة ~/.ssh/id_rsa.pub

في واجهة الويب الخاصة بـ Gitea ، انقر فوق صورة ملفك الشخصي ، ثم اختر إعدادات> مفاتيح SSH / GPG. انقر فوق أضف مفتاح، والصق المفتاح الذي نسخته للتو.

يمكنك الآن التفاعل مع مستودع Git الخاص بك على خادم Git الخاص بك على Raspberry Pi الخاص بك!

استخدم مثيل Gitea الخاص بك لإنشاء مشاريع برمجية رائعة

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