قم بتثبيت Gitea على Raspberry Pi لإنشاء مستودع الأكواد الخاص بك

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

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





اجعل فيديو اليوم

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

  تعرض صفحة مستودع GitHub قائمة بالملفات من React's source code

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





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





باستخدام 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 
cd gitea

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





 nano docker-compose.yml

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

 version: "3" 

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:gb
      - /etc/localtime:/etc/localtime:gb
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql

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

يدخل:

 docker-compose up -d 

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

  docker-compose ps تظهر gitea و gitea_db_1 كأعلى

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

 docker-compose ps

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

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

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

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

 sudo apt install apache2

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

 sudo systemctl start apache2 
sudo systemctl enable apache2

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

 sudo a2enmod proxy 
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 update
sudo apt-get install python3-certbot-apache

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

 cd /etc/apache2/sites-available/ 
nano gitea.conf

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

أفضل تطبيق بوصلة لنظام Android 2018
 <VirtualHost *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost On</VirtualHost>

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

 sudo a2ensite gitea.conf

أعد تشغيل Apache:

 sudo service apache2 restart

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

 sudo certbot

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

 sudo service apache2 restart

إعداد مثيل Gitea

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

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

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

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

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

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

  تم تعيين تسجيل gitea diable على 'true'

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

 docker-compose downdocker-compose up -d

باستخدام Gitea

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

  إنشاء المستودع الأولي gitea

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

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

 cat ~/.ssh/id_rsa.pub

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

  إضافة مفتاح ssh إلى gitea

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

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

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