Thứ tư, 11/03/2015 | 00:00 GMT+7

Cách thiết lập Gog trên Ubuntu 14.04

Gogs là một dịch vụ Git tự lưu trữ được viết bằng Go, rất dễ chạy và cũng có mức sử dụng hệ thống thấp. Nó mong muốn trở thành cách dễ nhất, nhanh nhất và không đau nhất để cài đặt dịch vụ Git tự lưu trữ.

Một bài báo từ Gogs

Đến cuối hướng dẫn này, bạn sẽ có một version Gogs đang chạy, bao gồm giao diện web, console quản trị và quyền truy cập vào các hoạt động như kéo và đẩy Git.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

  • Một server Ubuntu 14.04 có kích thước bất kỳ.
  • Một user không phải root có quyền sudo . Trong hướng dẫn này, ta sẽ sử dụng một user sudo không phải root riêng biệt chỉ dành cho Gogs vì những lo ngại về bảo mật. Hướng dẫn này giả định user chuyên dụng này có tên là git , tuân theo quy ước của dịch vụ Git; hướng dẫn này nên được tuân theo với quyền là user git .

Bước 1 - Cài đặt database

Trong bước này, ta sẽ tạo database Gogs back end.

Sau khi bạn đăng nhập, hãy đảm bảo các gói hệ thống của bạn được cập nhật.

sudo apt-get update 

Ta sẽ sử dụng MySQL làm server back end của bạn , vì vậy tiếp theo, hãy cài đặt nó. Cờ -y ở đây giả định có cho tất cả các dấu nhắc .

sudo apt-get -y install mysql-server 

Trong quá trình cài đặt, bạn cần nhập password của user gốc database . Đảm bảo rằng bạn sử dụng một bảo mật và ghi nhớ nó, vì bạn cần nó ở phần sau trong hướng dẫn này.

Bây giờ, hãy tạo và mở một file có tên gogs.sql . Ở đây, ta đang sử dụng nano , nhưng bạn có thể sử dụng editor yêu thích của bạn .

nano gogs.sql 

Dán các nội dung sau vào file , lưu và đóng nó.

DROP DATABASE IF EXISTS gogs; CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8 COLLATE utf8_general_ci; 

Cuối cùng, thực thi gogs.sql với MySQL để tạo database Gogs. Thay thế your_password bằng password root mà bạn đã chọn trước đó trong bước này.

Lưu ý : không có khoảng trống giữa cờ -p và password của bạn trong lệnh này.

mysql -u root -pyour_password < gogs.sql 

Để cài đặt Gogs từ nguồn, cần có các công cụ kiểm soát version như Git và Mercurial, vì vậy hãy cài đặt chúng tiếp theo.

sudo apt-get -y install mercurial git 

Nếu bạn định sao chép một repository thông qua SSH, thì cần phải có một server SSH đang hoạt động, nhưng may mắn thay, Ubuntu 14.04 đi kèm với một server .

Bước 2 - Cài đặt Go

Vì Gogs được viết bằng Go nên ta cần cài đặt nó trước khi biên dịch Gogs.

Đầu tiên, có một số biến môi trường ta cần đặt cho Go. Để làm điều đó, hãy mở file ~/.bashrc để chỉnh sửa.

nano ~/.bashrc 

Thêm các dòng sau vào cuối file , sau đó đóng và lưu file .

export GOPATH=/home/git/go export GOROOT=/usr/local/src/go export PATH=${PATH}:$GOROOT/bin 

Tiếp theo, áp dụng các thay đổi .

source ~/.bashrc 

Sau đó, sử dụng wget để download version tuân theo mới nhất của Go từ trang web của nó. Tại thời điểm viết bài, file mới nhất là go1.4.2.linux-amd64.tar.gz .

wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz 

Sử dụng tar để hủy lưu trữ nó.

tar zxf go1.4.2.linux-amd64.tar.gz 

Thay đổi các folder thành $GOROOT mà ta đã xác định trong ~/.bashrc .

sudo mv go $GOROOT 

Bây giờ, nếu bạn gõ go trong terminal :

go 

Bạn sẽ thấy thông tin như thế này:

Go is a tool for managing Go source code.  Usage:      go command [arguments]  ...  Use "go help [topic]" for more information about that topic. 

Bước 3 - Cài đặt và khởi động Gogs dưới dạng dịch vụ

Go có một lệnh tích hợp sẵn, get , để dễ dàng download mã nguồn của một dự án Go cùng với tất cả các phần phụ thuộc của nó, mà ta sẽ sử dụng để download Gogs.

go get -d github.com/gogits/gogs 

Mã nguồn của Gogs bây giờ sẽ ở dạng $GOPATH/src/github.com/gogits/gogs , vì vậy hãy chuyển đến đó.

cd $GOPATH/src/github.com/gogits/gogs 

Tiếp theo, xây dựng và tạo file binary . Lệnh này có thể mất một chút thời gian để chạy.

go build 

Ta sẽ sử dụng Người giám sát để quản lý dịch vụ Gogs.

Đầu tiên, hãy cài đặt nó.

sudo apt-get -y install supervisor 

Hãy tạo daemon Gogs bằng cách tạo phần cấu hình Người giám sát. Đầu tiên, hãy tạo một folder cho các file log tồn tại.

sudo mkdir -p /var/log/gogs 

Tiếp theo, ta sẽ mở file cấu hình Người giám sát để chỉnh sửa.

sudo nano /etc/supervisor/supervisord.conf 

Nối các nội dung sau vào file để tạo phần Gogs.

[program:gogs] directory=/home/git/go/src/github.com/gogits/gogs/ command=/home/git/go/src/github.com/gogits/gogs/gogs web autostart=true autorestart=true startsecs=10 stdout_logfile=/var/log/gogs/stdout.log stdout_logfile_maxbytes=1MB stdout_logfile_backups=10 stdout_capture_maxbytes=1MB stderr_logfile=/var/log/gogs/stderr.log stderr_logfile_maxbytes=1MB stderr_logfile_backups=10 stderr_capture_maxbytes=1MB environment = HOME="/home/git", USER="git" user = git 

Phần này xác định lệnh mà ta muốn thực hiện để khởi động Gogs, tự động khởi động nó với Người giám sát và chỉ định vị trí của file log và các biến môi trường tương ứng. Để biết thêm về cấu hình Người giám sát, hãy đọc hướng dẫn này.

Bây giờ khởi động lại Người giám sát.

sudo service supervisor restart 

Ta có thể kiểm tra xem Gogs có đang chạy hay không bằng lệnh sau.

ps -ef | grep gogs 

Bạn sẽ thấy thông tin như thế này là kết quả .

root      1344  1343  0 08:55 ?        00:00:00 /home/git/go/src/github.com/gogits/gogs/gogs web 

Bạn cũng có thể xác minh server đang chạy bằng cách xem file stdout.log .

tail /var/log/gogs/stdout.log 

Bạn sẽ thấy một dòng như thế này:

2015/03/09 14:24:42 [I] Gogs: Go Git Service 0.5.16.0301 Beta 

Bạn cũng có thể truy cập trang web có URL http:// your_server_ip :3000/ . Điều này sẽ chuyển hướng đến trang cài đặt, nhưng đừng điền vào đó.

Bước 4 - Cài đặt Nginx làm Reverse Proxy

Hãy chuyển sang cấu hình Nginx làm Reverse Proxy để bạn có thể dễ dàng liên kết domain với Gogs.

Đầu tiên, hãy cài đặt Nginx.

sudo apt-get -y install nginx 

Tiếp theo, tạo file cấu hình Nginx cho gogs.

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

Thêm nội dung sau, thay thế your_server_ip bằng địa chỉ IP của Server. Nếu bạn đang sử dụng domain cho Server của bạn , bạn có thể sử dụng domain của bạn tại đây.

server {     listen 80;     server_name your_server_ip;      proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP      location / {         proxy_pass http://localhost:3000;     } } 

Và softlink nó để Nginx có thể sử dụng nó.

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

Để biết thêm về các file cấu hình server ảo Nginx, hãy xem hướng dẫn này.

Cuối cùng, khởi động lại Nginx để kích hoạt cấu hình server ảo.

sudo service nginx restart 

Đến đây bạn có thể truy cập trang web với URL http:// your_server_ip / mà không cần chỉ định cổng.

Bước 5 - Khởi tạo Gogs

Còn một bước đơn giản nữa để khởi tạo Gogs cho lần chạy đầu tiên.

Truy cập http:// your_server_ip /install và điền vào các tùy chọn sau. Nhiều người trong số họ sẽ được điền cho bạn, nhưng hãy đảm bảo thay thế các biến có màu đỏ bằng các giá trị cho server của bạn.

Trong phần đầu tiên, Gogs yêu cầu MySQL, PostgreSQL hoặc SQLite3 , hãy điền:

  • Loại database : MySQL
  • Server : 127.0.0.1:3306
  • User : root
  • Mật khẩu: your_database_password
  • Tên database : gogs

Trong phần thứ hai, Cài đặt chung của Gogs , hãy điền vào:

  • Đường dẫn root repository : /home/git/gogs-repositories
  • Chạy User : git
  • Tên domain : your_server_ip
  • Cổng HTTP: 3000
  • URL ứng dụng: http:// your_server_ip /

Bỏ qua cài đặt email và thông báo tùy chọn, sau đó trong Cài đặt account quản trị, hãy chọn tên user và password administrator , đồng thời bao gồm địa chỉ email của bạn. Ta sẽ gọi tên admin-user là your_admin_username trong bước tiếp theo.

Cuối cùng, nhấp vào Cài đặt Gogs , sau đó đăng nhập.

Bước 6 - Kiểm tra Gogs

Bạn đã hoàn tất! Hãy thực hiện một bài kiểm tra kéo / đẩy đơn giản chỉ đảm bảo Gogs đang hoạt động chính xác.

Trước tiên, hãy truy cập http:// your_server_ip /repo/create và tạo một repository với tên my-test-repo , và bạn nhấp vào tùy chọn Khởi tạo repository này bằng README.md .

Đến đây bạn sẽ có thể sao chép nó. Đầu tiên, chuyển đến folder chính của bạn.

cd 

Tiếp theo, sao chép repository .

git clone http://your_server_ip/your_admin_username/my-test-repo.git 

Thay đổi folder repository .

cd my-test-repo 

Cập nhật README.md .

echo 'I love Gogs!' >> README.md 

Commit các thay đổi và thúc đẩy chúng. Lệnh này sẽ yêu cầu bạn nhập tên user và password Gogs của bạn.

git add --all && git commit -m "init commit" && git push origin master 

Kết luận

Bây giờ, nếu bạn quay lại http:// your_server_ip / your_admin_username /my-test-repo , bạn sẽ thấy thông báo "Tôi yêu Gogs!" được nối vào README. Nó là dễ dàng!


Tags:

Các tin liên quan

Cách thiết lập hệ thống quản lý cấu hình Chef 12 trên server Ubuntu 14.04
2015-03-03
Cách cài đặt Nagios 4 và theo dõi server của bạn trên Ubuntu 14.04
2015-03-02
Cách cài đặt và cấu hình Sphinx trên Ubuntu 14.04
2015-02-18
Cách cài đặt MediaWiki trên Ubuntu 14.04
2015-02-06
Cách cài đặt phpBB trên Ubuntu 14.04
2015-02-04
Cách sử dụng puppet để quản lý chủ đề và plugin WordPress trên Ubuntu 14.04
2015-02-02
Giám sát LEMP với Monit trên Ubuntu 14.04
2015-01-26
Cách đồng bộ hóa lịch và danh bạ bằng chuẩn CardDAV và CalDAV với Baïkal trên Ubuntu 14.04
2015-01-23
Cách cài đặt Webmin với SSL trên Ubuntu 14.04
2015-01-19
Cách bắt đầu với Silex trên Ubuntu 14.04
2015-01-15