Android

Cách cài đặt và cấu hình gogs trên Ubuntu 18.04

2-Jenkins - Установка на Linux Ubuntu

2-Jenkins - Установка на Linux Ubuntu

Mục lục:

Anonim

Gogs là một máy chủ git mã nguồn mở tự lưu trữ được viết bằng Go. Nó bao gồm một trình soạn thảo tệp kho lưu trữ, theo dõi vấn đề dự án và wiki tích hợp.

Gogs là một ứng dụng nhẹ và có thể được cài đặt trên các hệ thống năng lượng thấp. Nếu bạn đang tìm kiếm một giải pháp thay thế cho Gitlab với dung lượng bộ nhớ nhỏ hơn nhiều và bạn không cần tất cả chuông và còi mà Gitlab cung cấp thì bạn chắc chắn nên thử dùng Gogs.

Hướng dẫn này bao gồm các bước để cài đặt và định cấu hình Gogs trên Ubuntu 18.04. Các hướng dẫn tương tự áp dụng cho Ubuntu 16.04 và mọi phân phối dựa trên Ubuntu khác.

Trước khi bắt đầu

Các gs có thể sử dụng cơ sở dữ liệu SQLite, PostgreSQL hoặc MySQL / MariaDB để lưu trữ tất cả dữ liệu của nó.

Trong hướng dẫn này, chúng tôi sẽ sử dụng SQLite làm cơ sở dữ liệu được lựa chọn. Nếu SQLite không được cài đặt trên hệ thống của bạn, bạn có thể cài đặt nó bằng cách gõ:

sudo apt install sqlite3

Đối với một lớp bảo mật bổ sung, nên thiết lập một tường lửa cơ bản. Bạn có thể làm theo các bước trong Hướng dẫn cách thiết lập tường lửa với UFW trên hướng dẫn Ubuntu 18.04 của chúng tôi.

Cài đặt Gogs

Chúng tôi sẽ cài đặt Gogs từ nhị phân. Việc cài đặt là một quá trình khá thẳng về phía trước.

Cài đặt Git

Bước đầu tiên là cài đặt Git trên máy chủ của bạn. Để làm như vậy, hãy làm mới chỉ mục gói cục bộ và cài đặt gói git bằng cách chạy các lệnh sau với tư cách là người dùng sudo:

sudo apt update sudo apt install git

Xác minh cài đặt bằng cách hiển thị phiên bản Git:

git --version

git version 2.17.1

Tạo người dùng Git

Tạo người dùng hệ thống mới để chạy dịch vụ Gogs bằng cách nhập:

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

Lệnh sẽ tạo người dùng và đặt thư mục chính thành /home/git . Đầu ra sẽ trông giống như dưới đây:

Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…

Tải xuống nhị phân

Truy cập trang Tải xuống của Gogs và tải xuống bản nhị phân mới nhất cho kiến ​​trúc của bạn. Tại thời điểm viết, phiên bản mới nhất là 0.11.86, nếu có sẵn phiên bản mới, hãy thay đổi biến VERSION trong lệnh bên dưới.

Tải xuống kho lưu trữ của Gogs trong /tmp bằng lệnh wget sau:

VERSION=0.11.86 wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp VERSION=0.11.86 wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

Sau khi quá trình tải xuống hoàn tất, hãy giải nén tệp tar.gz của Gogs và di chuyển nó vào thư mục /home/git :

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Chạy lệnh sau để thay đổi quyền sở hữu thư mục cài đặt Gogs cho người dùng và nhóm git:

sudo chown -R git: /home/git/gogs

Tạo một tệp đơn vị systemd

Gogs đi kèm với tệp đơn vị Systemd đã được cấu hình để phù hợp với thiết lập của chúng tôi.

Sao chép tệp vào thư mục /etc/systemd/system/ bằng cách gõ:

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

Sau khi hoàn thành, bắt đầu và kích hoạt dịch vụ Gogs:

sudo systemctl start gogs sudo systemctl enable gogs

Xác minh rằng dịch vụ được bắt đầu thành công:

* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web

Cài đặt Gogs bằng trình cài đặt web

Bây giờ, Gogs đã được tải xuống và chạy, đã đến lúc hoàn tất cài đặt thông qua giao diện web.

Mở trình duyệt của bạn, nhập http://YOUR_DOMAIN_IR_IP:3000 và một màn hình tương tự như sau sẽ xuất hiện:

Người dùng đã đăng ký đầu tiên sẽ tự động được thêm vào nhóm Quản trị viên.

Đó là nó. Gogs đã được cài đặt trên máy Ubuntu của bạn.

Định cấu hình Nginx làm Proxy chấm dứt SSL

Bước này là tùy chọn nhưng nó rất được khuyến khích. Để sử dụng Nginx làm proxy ngược, bạn cần phải có một tên miền hoặc tên miền phụ trỏ đến IP công cộng của máy chủ của bạn. Trong hướng dẫn này, chúng tôi sẽ sử dụng gogs.example.com .

Đầu tiên, cài đặt Nginx và tạo chứng chỉ SSL Encrypt SSL miễn phí bằng cách làm theo các hướng dẫn bên dưới:

Sau khi hoàn tất, hãy mở trình soạn thảo văn bản của bạn và chỉnh sửa tệp khối máy chủ tên miền:

sudo nano /etc/nginx/sites-enabled/gogs.example.com /etc/nginx/sites-enables/gogs.example.com

server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }

Đừng quên thay thế gogs.example.com bằng tên miền Gogs của bạn và đặt đường dẫn chính xác đến các tệp chứng chỉ SSL. Tất cả các yêu cầu HTTP sẽ được chuyển hướng đến Khởi động lại dịch vụ Nginx để các thay đổi có hiệu lực:

sudo systemctl restart nginx

Tiếp theo, chúng ta cần thay đổi tên miền và url gốc của Gogs. Để làm như vậy, hãy mở tệp cấu hình và chỉnh sửa các dòng sau:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

DOMAIN = gogs.example.com ROOT_URL =

Khởi động lại dịch vụ Gogs bằng cách gõ:

sudo systemctl restart gogs

Tại thời điểm này, Gogs được định cấu hình và bạn có thể truy cập tại: https://gogs.example.com

Cấu hình thông báo email

Để Gogs có thể gửi email thông báo, bạn có thể cài đặt Postfix hoặc sử dụng một số dịch vụ thư giao dịch như SendGrid, MailChimp, MailGun hoặc SES.

Để bật thông báo email, hãy mở tệp cấu hình và chỉnh sửa các dòng sau:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD

Hãy chắc chắn rằng bạn đặt thông tin máy chủ SMTP chính xác.

Khởi động lại dịch vụ Gogs để các thay đổi có hiệu lực:

sudo systemctl restart gogs

Gogs cũng cho phép bạn kết nối với Slack bằng cách tạo webhook web và gửi thông báo đến các kênh Slack của bạn.

Nâng cấp Gôs

Để nâng cấp Gogs, một số bước thủ công được yêu cầu.

  1. Trước tiên hãy dừng dịch vụ Gogs:

    sudo systemctl stop gogs

    Đổi tên thư mục cài đặt Gogs.

    sudo mv /home/git/gogs{, _old}

    Tải xuống phiên bản mới nhất của Gogs và chuyển nó vào thư mục /home/git :

    VERSION= sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

    Hãy chắc chắn rằng bạn thay đổi VERSION với phiên bản phát hành thực tế của Gogs.

    Sao chép custom , data , log thư mục được trích xuất bằng lệnh rsync sau:

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    Cuối cùng, bắt đầu dịch vụ Gogs:

    sudo systemctl restart gogs

Đó là nó.

Phần kết luận

Hướng dẫn này hướng dẫn bạn cách cài đặt và cấu hình của Gogs trên Ubuntu 18.04. Bây giờ bạn có thể tạo dự án đầu tiên của mình và bắt đầu sử dụng máy chủ mới của bạn.

ubfox