วิธีการติดตั้ง Gitea บน Debian 9

Gitea เป็นโอเพ่นซอร์สอีกทางเลือกหนึ่งซึ่งเป็นระบบควบคุมเวอร์ชันที่โฮสต์ด้วยตนเองซึ่งขับเคลื่อนโดย Git Gitea เขียนใน Golang และเป็นโซลูชันน้ำหนักเบาที่จะโฮสต์บนแพลตฟอร์มใด ๆ

ข้อกำหนดเบื้องต้น

  • ใหม่ Vultr Debian 9 อินสแตนซ์
  • ผู้ใช้ที่ไม่ใช่รูทด้วยsudoสิทธิ์พิเศษ
  • Nginx
  • Git
  • MariaDB

ขั้นตอนที่ 1: ติดตั้ง Nginx

อัพเดตรายชื่อแพ็คเกจของคุณ

sudo apt update

ติดตั้ง Nginx

sudo apt -y install nginx

เมื่อการติดตั้งเสร็จสมบูรณ์ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มและเปิดใช้งานบริการ Nginx

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

ขั้นตอนที่ 2: ติดตั้ง Git

ซึ่งสามารถทำได้ด้วยคำสั่งดังต่อไปนี้

sudo apt -y install git

ขั้นตอนที่ 3: ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล MariaDB

Gitea รองรับเซิร์ฟเวอร์ฐานข้อมูลต่อไปนี้

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

สำหรับบทช่วยสอนนี้เราจะใช้เซิร์ฟเวอร์และไคลเอนต์ MariaDB

sudo apt -y install mariadb-server mariadb-client

เมื่อเสร็จสิ้นตรวจสอบให้แน่ใจว่า MariaDB เปิดใช้งานและทำงานอยู่

sudo systemctl enable mariadb.service
sudo systemctl start 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

sudo mysql -u root -p

จากนั้นพิมพ์รหัสผ่านที่คุณสร้างไว้ด้านบนเพื่อเข้าสู่ระบบ คุณจะเห็นข้อความต้อนรับของ MariaDB

giteaสร้างฐานข้อมูลที่เรียกว่า

CREATE DATABASE gitea;

สร้างผู้ใช้ฐานข้อมูลที่เรียกว่าgiteauserด้วยรหัสผ่านใหม่

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

ตรวจสอบให้แน่ใจว่าคุณแทนที่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 โดยอัตโนมัติ

สร้างไฟล์บริการ linux

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

ใช้เท็กซ์เอดิเตอร์ที่คุณเลือกเปิดไฟล์ที่สร้างขึ้นใหม่นี้และเติมหากมีดังต่อไปนี้

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.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

ตรวจสอบให้แน่ใจว่า Gitea ทำงานอยู่

sudo systemctl status gitea

ขั้นตอนที่ 7: กำหนดค่า Nginx เป็นพร็อกซีย้อนกลับ

ลบไฟล์คอนฟิกูเรชัน nginx ที่เป็นค่าเริ่มต้น

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

สร้างการกำหนดค่าพร็อกซีย้อนกลับสำหรับ Gitea

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

เติมไฟล์ด้วยการกำหนดค่าต่อไปนี้ตรวจสอบให้แน่ใจว่าคุณแทนที่example.comด้วยชื่อโดเมนหรือที่อยู่ IP ของคุณ

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/git

จากนั้นโหลดบริการ Nginx อีกครั้ง

sudo systemctl reload nginx.service

ถัดไปเปิดเบราว์เซอร์ของคุณและเรียกดูชื่อโฮสต์เซิร์ฟเวอร์หรือที่อยู่ IP

http://YOUR_SERVER_IP/install

ทำตามคำแนะนำบนหน้าจอเพื่อสิ้นสุดการตั้ง��่า Gitea



Leave a Comment

ตั้งค่า NFS Share บน Debian

ตั้งค่า NFS Share บน Debian

NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora

การติดตั้ง Fuel CMS บน Debian 9

การติดตั้ง Fuel CMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Thelia เป็นเครื่องมือโอเพ่นซอร์สสำหรับการสร้างเว็บไซต์ e-business และการจัดการเนื้อหาออนไลน์ที่เขียนด้วย PHP รหัสแหล่งที่มา Thelia i

การตั้งค่า Chroot บน Debian

การตั้งค่า Chroot บน Debian

บทความนี้จะสอนวิธีการติดตั้ง chroot jail บน Debian ฉันคิดว่าคุ���กำลังใช้ Debian 7.x หากคุณใช้ Debian 6 หรือ 8 สิ่งนี้อาจใช้งานได้

การติดตั้ง ownCloud 7 บน Debian 7

การติดตั้ง ownCloud 7 บน Debian 7

ownCloud เป็นบริการแบบ Dropbox ที่ทำงานบน VPS ของคุณเอง มันช่วยให้คุณควบคุมพื้นที่ผู้ใช้และคุณสมบัติอื่น ๆ ได้อย่างเต็มที่ คู่มือนี้จะถือว่าคุณ

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

บทนำระบบ Linux มาพร้อมกับเครื่องมือตรวจสอบตามค่าเริ่มต้นเช่นด้านบน df และ du ที่ช่วยตรวจสอบกระบวนการและพื้นที่ดิสก์ บ่อยครั้งแม้ว่าพวกเขาเท่

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

Golang เป็นภาษาโปรแกรมที่พัฒนาโดย Google ด้วยความเก่งกาจความเรียบง่ายและความน่าเชื่อถือทำให้ Golang กลายเป็นหนึ่งในประชากรที่มีชื่อเสียงมากที่สุด

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

ใช้ระบบที่แตกต่างกันอย่างไร Bolt เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Bolts นั้นโฮสต์บน GitHub คู่มือนี้จะแสดงวิธีการติดตั้ง Bolt CM

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

Munin เป็นเครื่องมือตรวจสอบเพื่อสำรวจกระบวนการและทรัพยากรในเครื่องของคุณและนำเสนอข้อมูลในกราฟผ่านเว็บอินเตอร์เฟส ใช้ followin

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

ใช้ระบบที่แตกต่างกันอย่างไร TLS 1.3 เป็นเวอร์ชันของโปรโตคอล Transport Layer Security (TLS) ที่เผยแพร่ในปี 2018 ตามมาตรฐานที่เสนอใน RFC 8446

การตั้งค่า Teamspeak 3 บน Debian Wheezy

การตั้งค่า Teamspeak 3 บน Debian Wheezy

บทความนี้จะแสดงวิธีการเรียกใช้เซิร์ฟเวอร์ Teamspeak 3 ภายใต้ Debian Wheezy ก่อนที่คุณจะเริ่มต้นด้วยคุณควรเตรียมความพร้อมกับ VPS ของคุณ ผม

วิธีการติดตั้ง PyroCMS บน Debian 9

วิธีการติดตั้ง PyroCMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร PyroCMS เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา PyroCMS โฮสต์บน GitHub ในคู่มือนี้ให้เดินผ่าน entir

การตั้งค่า Counter Strike: Source บน Debian

การตั้งค่า Counter Strike: Source บน Debian

ในคู่มือนี้เราจะตั้งค่า Counter Strike: เซิร์ฟเวอร์เกมต้นทางบน Debian 7 คำสั่งเหล่านี้ถูกทดสอบบน Debian 7 แต่พวกเขาก็ควรทำงาน

วิธีการกำหนดค่า Snort บนเดเบียน

วิธีการกำหนดค่า Snort บนเดเบียน

Snort เป็นระบบตรวจจับการบุกรุกเครือข่ายฟรี (IDS) ในเงื่อนไขที่เป็นทางการน้อยกว่าช่วยให้คุณสามารถตรวจสอบเครือข่ายของคุณสำหรับกิจกรรมที่น่าสงสัยในเวลาจริง

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร TextPattern CMS 4.6.2 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและฟรีและโอเพ่นซอร์สที่ช่วยให้นักออกแบบเว็บไซต์

วิธีการติดตั้ง Dolibarr บน Debian 9

วิธีการติดตั้ง Dolibarr บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Dolibarr เป็นการวางแผนทรัพยากรขององค์กรโอเพ่นซอร์ส (ERP) และการจัดการลูกค้าสัมพันธ์ (CRM) สำหรับธุรกิจ Dolibarr

ติดตั้ง Mailcow บน Debian 7

ติดตั้ง Mailcow บน Debian 7

เกริ่นนำ Mailcow เป็นชุด mailserver ที่มีน้ำหนักเบาซึ่งมีหลายแพ็คเกจเช่น DoveCot, Postfix และแพ็คเกจโอเพ่นซอร์สอื่น ๆ Mailcow als

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

ModSecurity เป็นโมดูลโอเพนซอร์สของเว็บแอพพลิเคชันไฟร์วอลล์ (WAF) ซึ่งเหมาะสำหรับการปกป้อง Apache, Nginx และ IIS จากการโจมตีทางไซเบอร์ต่างๆ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน