• Sat. Sep 21st, 2024

كيفية إنشاء GitHub Gist الخاص بك باستخدام Opengist

Byadmin

Aug 4, 2024

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

Opengist هو خادم Gist خفيف الوزن يتم استضافته ذاتيًا على Github لنظام Linux. وعلى عكس الحلول الأخرى، فإنه يستفيد من ميزات Git المحددة لتحميل ملفات النصوص واستعراضها ومراجعتها بسرعة. هنا، نعرض لك كيفية تثبيت واستضافة خادم Opengist الخاص بك على Ubuntu Linux.

لماذا تستضيف خادم Gist الخاص بك مع Opengist

واحدة من أكبر نقاط البيع لـ الخميرة المفتوحة إنها خدمة شبيهة بـ Pastebin تستخدم Git في الواجهة الخلفية. وهذا يجعل من السهل اختيار Opengist واستضافته على Linux لأي شخص على دراية بالخدمات الشبيهة بـ Git مع دعم Gist مثل Github وGitlab.

تتمثل إحدى نقاط القوة في Opengist في قدرته على تتبع عمليات اللصق الخاصة بالمستخدم وتوفير عناصر تحكم لإدارة إمكانية رؤية اللصق. ونتيجة لذلك، يمكن أن يكون Opengist بمثابة مركز مُستضاف ذاتيًا لمشاركة النص بين مجموعتك الصغيرة من الأقران.

لقطة شاشة لجميع الملخصات المتوفرة من مثيل Opengist.

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

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

إعداد النظام لـ Opengist

افتراض: تم تنفيذ هذا البرنامج التعليمي على خادم VPS يعمل بنظام Ubuntu 24.04 مع ذاكرة وصول عشوائي (RAM) بسعة 2 غيغابايت على الأقل ومساحة قرص تبلغ 25 غيغابايت. كما يفترض البرنامج أنك تمتلك حاليًا اسم نطاق وأنك تستطيع إضافة سجل DNS “A” إليه.

ملحوظة: يركز هذا القسم على تثبيت Docker على الأنظمة المستندة إلى Ubuntu. لتثبيته على توزيع مختلف، راجع دليلنا العام لتثبيت Docker على Linux.

الخطوة الأولى في نشر Opengist على جهازك هي الحصول على Docker وNginx وCertbot وتثبيتهما. للقيام بذلك، قم أولاً بجلب مفتاح التوقيع لمشروع 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/”:

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 noble stable

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

sudo apt update && sudo apt upgrade

احصل على ملف Docker الثنائي مع مكون Compose الخاص به والتبعيات:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
محطة طرفية توضح عملية تثبيت التبعيات لـ Opengist.

تأكد من أن حزمة snap “core” موجودة في نظامك:

قم بتثبيت حزمة Certbot snap من Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

تثبيت وتشغيل Opengist

قم بإنشاء مجلد جديد لـ Opengist في دليل المستخدم الحالي، ثم انتقل إلى داخله:

mkdir -p ~/opengist/data && cd ~/opengist

استخدم محرر النصوص المفضل لديك لإنشاء ملف “docker-compose.yml” جديد داخل مجلد Opengist الخاص بك:

nano ./docker-compose.yml

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

services:
  opengist:
    image: ghcr.io/thomiceli/opengist:1.7
    container_name: opengist
    restart: unless-stopped
    ports:
      - "6157:6157"
      - "2222:2222"
    volumes:
      - ./data:/opengist"

احفظ ملف “docker-compose.yml”، ثم قم بتشغيل الأمر التالي لبناء Opengist وتثبيته على نظامك:

تأكد من تشغيل Opengist عن طريق إدراج جميع حاويات Docker النشطة في جهازك:

محطة طرفية تظهر حاوية Opengist Docker قيد التشغيل.

في ملحوظة جانبية: تعرف على كيفية نقل حاويات Docker الخاصة بك إلى مضيف جديد.

إنشاء وكيل عكسي SSL لـ Opengist

في هذه المرحلة، لديك الآن نسخة Opengist تعمل جزئيًا على المنفذ 6157. لاستخدامها بأمان عبر الإنترنت، تحتاج إلى تمريرها عبر وكيل عكسي SSL باستخدام Nginx.

للقيام بذلك، قم بإنشاء سجل DNS “A” جديد على اسم المجال الخاص بك يشير إلى عنوان IPv4 لجهاز Opengist الخاص بك.

لقطة شاشة تظهر سجلات DNS لـ Opengist VPS.

ارجع إلى محطة الخادم لديك، ثم قم بإنشاء ملف تكوين موقع جديد لـ Opengist:

sudo nano /etc/nginx/sites-available/opengist

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

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

احفظ ملف تكوين موقعك، ثم قم بإنشاء رابط رمزي من “/etc/nginx/sites-available/” إلى “/etc/nginx/sites-enabled/”:

sudo ln -s /etc/nginx/sites-available/opengist /etc/nginx/sites-enabled/

تأكد من أن تكوين Nginx الخاص بك يعمل بشكل صحيح، ثم ابدأ تشغيل خادم الويب باستخدام systemctl:

nginx -t
sudo systemctl enable --now nginx.service
محطة طرفية تظهر الوكيل العكسي Nginx قيد التشغيل على الخادم.

قم بتسجيل نظام Opengist الخاص بك باستخدام عنوان بريدك الإلكتروني لدى EFF:

sudo certbot register --agree-tos -m YOUR@EMAIL.ADDRESS

قم بإنشاء شهادة SSL جديدة لاسم المجال الخاص بك باستخدام Certbot:

sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN

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

لقطة شاشة تظهر تشغيل Opengist عبر HTTPS.

نصيحة: تعرف على كيفية عمل التشفير على الإنترنت عن طريق إنشاء شهادات SSL الخاصة بك باستخدام OpenSSL.

إنشاء Gist الأول الخاص بك باستخدام Opengist

افتراضيًا، لا يوفر Opengist حساب مسؤول لنسختك الشخصية. لإنشاء حساب، تحتاج إلى تسجيله أولاً من خلال واجهة الويب الخاصة بنسختك.

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

لقطة شاشة تسلط الضوء على زر التسجيل في الزاوية اليمنى العليا لبرنامج Opengist.

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

لقطة شاشة توضح عملية التسجيل لحساب Opengist الأول.

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

لقطة شاشة توضح واجهة إنشاء ملخصات جديدة في Opengist.

ملحوظة: يمكنك ضبط إعدادات الخصوصية لمدونتك من خلال النقر على السهم للأسفل بجانب إنشاء Gist عام زر.

بإمكانك الآن مشاركة ملف gist الجديد الخاص بك مع أي شخص عن طريق نسخ الرابط الخاص به من شريط عنوان المتصفح الخاص بك وإرساله إلى المستلم.

إنشاء وتحديث Gist باستخدام SSH

بصرف النظر عن واجهة الويب، يدعم Opengist أيضًا إرسال gist وتحريره مباشرةً من عميل Git CLI. وهذا مفيد إذا كنت تعمل على جلسة طرفية فقط وليس لديك إمكانية الوصول إلى واجهة رسومية.

قم بإنشاء مجلد جديد لصفحة gist الخاصة بك في دليل المستخدم الرئيسي الخاص بك:

mkdir ~/my-gist && cd ~/my-gist

إما أن تقوم بنسخ أو إنشاء ملف نصي جديد يحتوي على بيانات gist الخاصة بك، ثم قم بتهيئة مستودع Git جديد داخل المجلد الجديد:

cp ~/my-text-file.txt ~/my-gist/
git init
محطة طرفية توضح عملية إنشاء مستودع Git جديد لصفحة gist.

أضف ملفات المجلد الخاص بك إلى مستودع Git الجديد، ثم قم بإنشاء التزامه الأول:

git add .
git commit -m "My first Opengist commit."

قم بتعيين نقطة النهاية البعيدة لمستودع Git المحلي الخاص بك إلى خادم Opengist الخاص بك:

git remote add origin https://SUBDOMAIN.YOUR-ROOT.DOMAIN/init

أرسل مستودعك الجديد إلى خادم Opengist الخاص بك:

git push -u origin master

قم بتقديم بيانات اعتماد Opengist الخاصة بك، ثم اضغط على يدخل لتأكيد أمر الدفع.

محطة تسلط الضوء على مطالبة بيانات الاعتماد لخادم Opengist.

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

محطة تسلط الضوء على عنوان URL البعيد الجديد لصفحة Opengist.

تأكد من أنك قمت بحفظ ملخصك بشكل صحيح من خلال النظر إلى واجهة الويب الخاصة بخادمك.

لقطة شاشة تعرض صفحة gist الجديدة على واجهة الويب Opengist.

إن استضافة خادم Opengist الخاص بك على Linux وإنشاء صفحات gist شبيهة بـ Github هي مجرد بعض الأشياء التي يمكنك القيام بها باستخدام برامج الاستضافة الذاتية. اكتشف المزيد حول الاستضافة الذاتية من خلال إلقاء نظرة على بعض أفضل البدائل المستضافة ذاتيًا لـ Github اليوم.

By admin

Leave a Reply

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