كيفية تثبيت Gitea على Ubuntu 18.04

Gitea هو نظام بديل مفتوح المصدر للتحكم في الإصدار يعمل بواسطة git. Gitea مكتوب بلغة Golang وهو حل خفيف الوزن يتم استضافته على أي منصة.

المتطلبات الأساسية

  • نسخة جديدة من Vultr Ubuntu 18.04 مع نوى وحدة معالجة مركزية على الأقل وذاكرة وصول عشوائي 1 جيجابايت
  • مستخدم غير جذري بامتيازات sudo.
  • Nginx
  • شخص سخيف
  • MariaDB

الخطوة 1: تثبيت Nginx

قم بتحديث نسخة خادم Vultr Ubuntu 18.04.

sudo apt update

قم بتثبيت Nginx.

sudo apt -y install nginx

بمجرد تثبيت Nginx ، اختبر ما إذا كان يعمل أم لا من خلال تصفح صفحة اختبار nginx في المتصفح. افتح متصفح الويب الخاص بك وأشر إليهhttp://example.com

يمكن استخدام الأوامر التالية للتوقف وإعادة التحميل وإعادة التشغيل والتحقق من الحالة وتمكين Nginx.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

الخطوة 2: تثبيت Git

تثبيت Git.

sudo apt -y install git

بمجرد التثبيت ، تحقق من الإصدار:

git --version
git version 2.17.1

الخطوة 3: تثبيت خادم قاعدة بيانات MariaDB

يدعم Gitea قواعد البيانات التالية

  • MariaDB / MySQL
  • PostgreSQL
  • سكليتي
  • TiDB

في هذا البرنامج التعليمي ، سنقوم بتثبيت خادم وعميل MariaDB.

sudo apt -y install mariadb-server mariadb-client

بعد تثبيت MariaDB ، يمكن استخدام الأوامر أدناه للإيقاف ، والبدء ، وإعادة التشغيل ، والتحقق من الحالة وتمكينها.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable mariadb.service

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

sudo mysql_secure_installation

عند المطالبة ، أجب عن الأسئلة أدناه باتباع الدليل.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

أعد تشغيل MariaDB.

sudo systemctl restart mariadb.service

لاختبار ما إذا كان MariaDB مثبتًا ، اكتب الأمر أدناه لتسجيل الدخول إلى خادم MariaDB

sudo mysql -u root -p

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

إنشاء قاعدة بيانات تسمى gitea.

CREATE DATABASE gitea;

إنشاء مستخدم قاعدة بيانات يسمى giteauserبكلمة مرور جديدة.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

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

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

أخيرًا ، احفظ التغييرات والخروج.

FLUSH PRIVILEGES;
EXIT;

الخطوة 4: إعداد بيئة Gitea

إنشاء مستخدم لتشغيل Gitea.

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

إنشاء بنية الدليل المطلوبة.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

الخطوة 5: تثبيت Gitea

يمكن تنزيل ثنائي Gitea عن طريق تشغيل الأوامر التالية.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

انسخ الثنائي إلى موقع عالمي.

sudo cp gitea /usr/local/bin/gitea

الخطوة 6: إنشاء ملف خدمة لبدء Gitea تلقائيًا

إنشاء ملف خدمة لينكس.

sudo nano /etc/systemd/system/gitea.service

تعبئة الملف بما يلي.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

تمكين وبدء Gitea في التمهيد.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

قم بتشغيل أمر الحالة.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

الخطوة 7: تكوين Nginx كوكيل عكسي

احذف ملف التكوين nginx الافتراضي.

sudo rm /etc/nginx/sites-enabled/default

إنشاء تكوين وكيل عكسي لـ Gitea.

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

تعبئة الملف بالتهيئة التالية.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

تمكين تكوين الوكيل العكسي لـ Gitea Nginx.

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

ثم أعد تحميل خدمة Nginx.

sudo systemctl reload nginx.service

بعد ذلك ، افتح المستعرض الخاص بك وتصفح للوصول إلى اسم مضيف الخادم أو عنوان IP.

http://example.com/install

اتبع التعليمات التي تظهر على الشاشة لإكمال إعداد Gitea.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد