Hướng dẫn cài đặt Gogs trên VPS Debian 9

Hướng dẫn cài đặt Gogs trên VPS Debian 9

Hướng dẫn này sẽ hướng dẫn bạn quy trình cài đặt Gogs trên VPS Debian 9 với MariaDB làm máy chủ cơ sở dữ liệu.

Gogs là một dịch vụ Git tự lưu trữ miễn phí và mã nguồn mở được viết bằng ngôn ngữ lập trình Go. Nó dễ cài đặt, đa nền tảng và nhẹ, và tất cả các thuộc tính này cho phép các Gogs chạy trên tất cả các loại phần cứng một cách dễ dàng. Hướng dẫn này cũng hoạt động trên các hệ thống VPS Linux khác , nhưng nó được thử nghiệm và viết cho VPS Debian 9 . Hãy bắt đầu với việc cài đặt.

Điều kiện tiên quyết

  • Một Debian 9 Virtual Server
  • Tài khoản người dùng có quyền sudo hoặc quyền truy cập vào chính người dùng ‘root’

Bước 1: Cài đặt các gói cần thiết

Đăng nhập vào VPS của bạn thông qua SSH với quyền root hoặc là người dùng sudo:

ssh userame@IP_Address -p Port_Number

Hãy chắc chắn rằng bạn thay thế IP_Address và và Port Port_Number, bằng địa chỉ IP và số cổng SSH tương ứng của máy chủ của bạn.

Sau khi đăng nhập, hãy ban hành các lệnh sau để cập nhật tất cả các gói đã cài đặt lên phiên bản mới nhất có sẵn của chúng:

sudo apt-get update
sudo apt-get upgrade

Sau đó, cài đặt gói git bằng lệnh sau:

sudo apt-get install git

Bước 2: Tạo cơ sở dữ liệu MariaDB

Các gs có thể sử dụng MySQL / MariaDB, PostgreSQL, MSSQL, TiDB và SQLite3 cho phần phụ trợ cơ sở dữ liệu của nó.

Trong hướng dẫn này, chúng tôi sẽ sử dụng MariaDB. Nếu máy chủ MySQL hoặc MariaDB không được cài đặt trên máy chủ của bạn, bạn có thể cài đặt phiên bản MariaDB mới nhất bằng cách thực hiện lệnh sau:

sudo apt-get install mysql-server

Khi quá trình cài đặt MariaDB hoàn tất, bạn nên chạy mysql_secure_installationtập lệnh để cải thiện tính bảo mật của máy chủ cơ sở dữ liệu của bạn:

sudo mysql_secure_installation

Trả lời các câu hỏi bảo mật như sau. Nếu tại bất kỳ thời điểm nào bạn được yêu cầu nhập mật khẩu MariaDB gốc trước khi tiếp tục, chỉ cần nhấn phím [Enter], vì không có mật khẩu nào được đặt theo mặc định:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Đăng nhập vào vỏ MySQL bằng người dùng root MySQL và mật khẩu mà bạn đã thiết lập trước đó:

mysql -u root -p

Tạo cơ sở dữ liệu và người dùng MySQL cho Gogs và cấp quyền cho người dùng bằng cách ban hành các lệnh sau:

MariaDB [(none)]> CREATE SCHEMA `gogs` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost' IDENTIFIED BY 'strongpassword';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT

Hãy chắc chắn rằng bạn thay thế ‘ strongpassword ‘ với một mật khẩu mạnh thực tế.

Bước 3: Cài đặt Gogs

Tạo một người dùng hệ thống mới sẽ chạy máy chủ Gogs:

sudo adduser --home /opt/gogs --shell /bin/bash --gecos 'Gogs application' gogs

Tiếp theo, tải xuống tệp nhị phân của Gogs từ trang Github của Gogs bằng cách sử dụng ‘wget’:

wget https://github.com/gogs/gogs/releases/download/v0.11.86/linux_amd64.tar.gz

Trích xuất kho lưu trữ đã tải xuống vào /opt/gogsthư mục:

sudo tar xvf linux_amd64.tar.gz --strip-components=1 -C /opt/gogs

Thay đổi quyền sở hữu thư mục thành người dùng Gogs:

sudo chown -R gogs: gogs / opt / gogs /

Tiếp theo, sao chép tệp đơn vị SystemD. Điều này cho phép chúng tôi tạo ra một dịch vụ SystemD cho Gogs:

sudo cp /opt/gogs/scripts/systemd/gogs.service / etc / systemd / system /

Mở tệp đơn vị bằng cách sử dụng trình soạn thảo văn bản của bạn. Chúng tôi sẽ sử dụng nano.

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

Khi tệp được mở, hãy chỉnh sửa tệp như sau:

[Unit]
[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service postgresql.service memcached.service 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
Type=simple
User=gogs
Group=gogs
WorkingDirectory=/opt/gogs
ExecStart=/opt/gogs/gogs web
Restart=always
Environment=USER=gogs HOME=/opt/gogs

# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Khi bạn hoàn tất chỉnh sửa tệp, hãy lưu tệp, sau đó bắt đầu và bật dịch vụ Gogs:

sudo systemctl daemon-reload
sudo systemctl start gogs
sudo systemctl enable gogs

Chạy lệnh sau để xác minh rằng dịch vụ Gogs được khởi động thành công:

sudo systemctl status gogs
● gogs.service - Gogs
   Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-05-13 02:57:32 CDT; 29s ago
 Main PID: 791 (gogs)
   CGroup: /system.slice/gogs.service
           └─791 /opt/gogs/gogs web

May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [ WARN] Custom config '/opt/gogs/custom/conf/app.ini' not found, ignore this if you're running first time
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [TRACE] Custom path: /opt/gogs/custom
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [TRACE] Log path: /opt/gogs/log
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [TRACE] Log Mode: Console (Trace)
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [ INFO] Gogs 0.11.86.0130
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [ INFO] Cache Service Enabled
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [ INFO] Session Service Enabled
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [ INFO] SQLite3 Supported
May 13 02:57:32 vps gogs[791]: 2019/05/13 02:57:32 [ INFO] Run Mode: Development
May 13 02:57:33 vps gogs[791]: 2019/05/13 02:57:33 [ INFO] Listen: http://0.0.0.0:3000

Bước 4: Thiết lập Gogs

Sau khi cài đặt hoàn tất, hãy đi đến http://server_ip:3000/installvà điền vào tất cả các trường bắt buộc. Đừng quên thay thế server server_ip, bằng địa chỉ IP công cộng của máy chủ của bạn:

Cài đặt cơ sở dữ liệu

  • Loại cơ sở dữ liệu: MySQL
  • Tổ chức: 127.0.0.1:3306
  • Người dùng: gogs
  • Mật khẩu: strongpassword
  • Tên cơ sở dữ liệu: gogs

Cài đặt chung của Gogs

  • Tên ứng dụng: Gogs
  • Đường dẫn gốc kho lưu trữ: /opt/gogs/gogs-repositories
  • Chạy người dùng: gogs
  • Tên miền: SERVER_IP
  • Cổng SSH: 22
  • Cổng HTTP: 3000
  • URL ứng dụng: http: // SERVER_IP : 3000 /
  • Đường dẫn đăng nhập: /opt/gogs/log

Sau khi hoàn tất, nhấp vào nút cài đặt và bạn sẽ thấy ổn.

Quyền truy cập quản trị được tự động cấp cho người dùng đã đăng ký đầu tiên:

Đó là nó. Bạn đã cài đặt thành công Gogs trên VPS Debian 9 của mình . Để biết thêm thông tin về cách quản lý cài đặt Gogs của bạn, vui lòng tham khảo tài liệu chính thức của Gogs..

PS . Nếu bạn thích bài đăng này hoặc thấy nó hữu ích, vui lòng chia sẻ nó với bạn bè của bạn trên các mạng xã hội bằng cách sử dụng các phím tắt chia sẻ bên dưới hoặc chỉ cần để lại nhận xét trong phần bình luận. Cảm ơn bạn.

Author Image
Hoàng Tùng

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *