Gogs là một dịch vụ Git tự lưu trữ dễ dàng. Hướng dẫn này sử dụng PostgreSQL cho cơ sở dữ liệu và Nginx làm proxy ngược. Sau khi làm theo hướng dẫn này, bạn sẽ có thể truy cập giao diện web của Gogs HTTP và các kho lưu trữ git được lưu trữ thông qua HTTP và SSH. HTTPS có thể thêm quyền truy cập bằng cách mở rộng cấu hình Nginx.
>> Tham khảo dịch vụ VPS tại: https://inet.vn/vps
1. Thiết lập cơ sở dữ liệu
Hướng dẫn này sử dụng PostgreSQL. Ngoài ra, bạn có thể sử dụng MySQL / MariaDB, SQLite3, MSSQL hoặc TiDB.
Cài đặt PostgreSQL.
sudo apt-get install -y postgresql
Tạo người dùng mà Gogs sẽ kết nối với cơ sở dữ liệu
sudo -u postgres createuser gogs -P
Tạo cơ sở dữ liệu Gogs.
sudo -u postgres createdb gogs -O gogs -E UTF8
2. Thiết lập Reverse Proxy
Hướng dẫn này sử dụng Nginx làm proxy ngược. Ngoài ra, bạn có thể sử dụng một HTTP
máy chủ khác có thể hoạt động như một proxy ngược như Apache hoặc Caddy.
Cài đặt Nginx.
sudo apt-get install -y nginx
Chỉnh sửa /etc/nginx/sites-enabled/default
.
sudo nano /etc/nginx/sites-enabled/default
Tìm các dòng sau.
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
Thay đổi chúng thành:
location / {
proxy_pass http://127.0.0.1:3000;
}
Reload lại Nginx để sử dụng cấu hình mới.
sudo systemctl reload nginx
3. Cài đặt Gogs
Đầu tiên, hãy chắc chắn rằng đã git
được cài đặt.
sudo apt-get install -y git
Sau đó tạo người dùng Gogs sẽ chạy và sẽ được sử dụng để truy cập git SSH.
sudo useradd -m git
Tiếp theo, tải xuống và giải nén bản phát hành Gogs cho kiến trúc của bạn.
Đối với hệ thống 64-bit.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_amd64.tar.gz | tar -xz -C /home/git/"
Đối với hệ thống 32-bit.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_386.tar.gz | tar -xz -C /home/git/"
Thiết lập Gogs để chạy khi khởi động.
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system
sudo systemctl enable gogs
Khởi động Gogs.
sudo systemctl start gogs
4. Cấu hình ban đầu
Truy cập http://example.com
trong trình duyệt web của bạn. Bạn sẽ thấy:Install Steps For First-time Run
Thay đổi các cài đặt sau.
Database Type: PostgreSQL
User: gogs
Password: (password you created earlier)
Domain: example.com
Application URL: http://example.com/
Bạn có thể muốn thiết lập Application Name
, các Email Service Settings
, và Server and Other Services Settings
. Tất cả các cài đặt có thể được thay đổi sau này bằng cách chỉnh sửa /home/git/gogs/custom/conf/app.ini
.
Bấm vào Install Gogs
.
5. Chỉ cho phép truy cập HTTP (S) thông qua Nginx
Thêm HTTP_ADDR = 127.0.0.1
vào [server]
của /home/git/gogs/custom/conf/app.ini
.
sudo -u git nano /home/git/gogs/custom/conf/app.ini
Sau thay đổi này, [server]
sẽ trông giống như sau.
[server]
DOMAIN = example.com
HTTP_ADDR = 127.0.0.1
HTTP_PORT = 3000
ROOT_URL = http://example.com/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
Khởi động lại Gogs để sử dụng cấu hình đã cập nhật.
sudo systemctl restart gogs
Leave a Reply