Contents
Giới Thiệu.
Chào mọi người, chắc mọi người không còn quá xa lạ với Git nữa rồi, nhưng mọi người đã từng nghĩ tới việc tự mình cài đặt, host một Server Git riêng hay chưa?
Việc này sẽ giúp mọi người quản lý source code của mọi người hay của công ty mọi người một cách tốt hơn và chủ động hơn thay vì đặt trong tay một nhà cung cấp khác hoặc đơn giản là trong thời kì cáp mạng đứt liên tục như thế này thay vì phải ngồi chờ, cầu mong mạng quốc tế ổn định khi sử dụng Git thì ta có thểsử dụng Server Git của riêng mình với đường truyền trong nước sẽ đảm bảo tốc độ hơn nhiều.
Có kha khá lợi ích để tự host một Server Git nhỉ. Vậy để tự hosting một Server Git thì ta cần làm gì? Việc cần làm chỉ là cài đặt Gitea, một phiên bản clone siêu nhẹ của Git với dung lượng chỉ khoảng 84MB tính tới hiện tại.
Bài viết này của mình sẽ hướng dẫn mọi người cài đặt Gitea trên VPS/Server sử dụng CentOS 7.
Cài Đặt.
Chuẩn Bị.
Một VPS/Server sử dụng CentOS 7.
Tài khoản Root hoặc có quyền Sudo trên VPS/Server trên.
Cài Đặt.
Đầu tiên ta sẽ cần cài đặt Git trước.
yum -y install git
Cài Đặt MariaDB.
Ta sẽ tiến hành cài đặt MariaDB cho Gitea.
yum -y install mariadb-server
Khởi động MariaDB và cấu hình cho MariaDB khởi động cùng hệ thống.
systemctl enable mariadb.service
systemctl start mariadb.service
Khi cài bằng Yum thì ta sẽ cần cài đặt cấu hình mật khẩu Root cho MariaDB.
mysql_secure_installation
Sau đó, mọi người có thể cấu hình theo các bước sau nhé.
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
Sau khi tạo mật khẩu Root cho MariaDB, ta sẽ tiến hành tạo Database và User cho Gitea.
Đăng nhập vào MariaDB với mật khẩu vừa tạo ở trên.
mysql -u root -p
Tạo Database cho Gitea.
CREATE DATABASE gitea;
Tạo User quản lý Database ở trên.
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY '8pqMBTBQWBV5w95C';
Cấp quyền cho User vừa tạo với Database ở trên.
GRANT ALL ON gitea.* TO 'giteauser'@'localhost' WITH GRANT OPTION;
Lưu lại cài đặt và thoát khỏi MariaDB.
FLUSH PRIVILEGES;
EXIT;
Như vậy, việc cài đặt MariaDB đx hoàn tất, ta sẽ tiến hành cài đặt Gitea ở bước tiếp theo.
Cài Đặt Gitea.
Đầu tiên ta sẽ tạo user cho Gitea.
adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --home-dir /home/git -m git
Tiếp theo tạo các thư mục cho Gitea sử dụng.
mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
chown git:git /var/lib/gitea/{data,indexers,log}
chmod 750 /var/lib/gitea/{data,indexers,log}
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
Sau đó Download Gitea từ trang download, mọi người có thể lấy bản Gitea mới nhất tại link này.
wget -O gitea https://dl.gitea.io/gitea/1.9.0/gitea-1.9.0-linux-amd64
Cấp quyền thực thi cho file gitea vừa download.
chmod +x gitea
Copy file gitea vào thư mục “/usr/local/bin/”.
cp gitea /usr/local/bin/gitea
Hiện tại thì ta đã có thể khởi động Gitea tuy nhiên để quản lý dễ dàng hơn thì ta sẽ tạo file Systemd với nội dung như sau :
vi /etc/systemd/system/gitea.service
Nội dung file Systemd như sau.
[Unit]
Description=Gitea (Git with a cup of tea)
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
Sau đó khởi động Gitea.
systemctl daemon-reload
systemctl enable gitea
systemctl start gitea
Lúc này mọi người đã có thể truy cập vào Gitea với địa chỉ “http://IP:3000/install” để tiếp tục cài đặt Gitea.
Tuy nhiên để dễ dàng hơn thì ta sẽ cài đặt Nginx làm Reverse Proxy.
yum -y install nginx
Cấu hình Virtual Host cho Gitea.
vi /etc/nginx/conf.d/git.dtthanh.conf
Nội dung file có thể chỉ cần đơn giản như sau, mọi người hãy thay server_name thành tên miền của mọi người
server {
listen 80;
server_name git.dtthanh.com;
location / {
proxy_pass http://localhost:3000;
}
}
Sau đó khởi động Nginx.
Systemctl start nginx
Truy cập vào website để tiến hành cài đặt tiếp theo.
http://Domain_cua_moi_ngươi/install
Ở mục đầu tiên, ta sẽ điền thông tin User và Database, ta đã tạo ở trên.
Cấu hình thêm một số như sau, tùy vào VPS/Server với domain mọi người sử dụng để cấu hình lại nhé.
Cấu hình thêm tài khoản Admin cho Gitea, sau đó nhấn Install để hoàn tất việc cài đặt.
Lời Cuối.
Như vậy là bài viết về việc cài đặt Gitea đã hết, cảm ơn mọi người đã đọc đến đây.
Chúc mọi người thành công trong việc cài đặt Gitea để có Server Git riêng cho mình.