Centos7 部署gitea,使用sqlite作为数据源
# 创建用户git,指定登录shell为Bash,-d指定家目录默认/home/git,-m如果指定的家目录不存在,则创建该目录
# 踩坑:-r 不分配登录shell和家目录
useradd -s /bin/bash -d -m git
#编辑 /etc/sudoers 文件以允许 git 用户在执行 sudo 命令时无需密码
vi /etc/sudoers
在文件中找到以 root ALL=(ALL:ALL) ALL 开头的行,在该行下面添加以下内容:
git ALL=(ALL:ALL) NOPASSWD: ALL
1 下载Gitea的二进制文件:
wget https://dl.gitea.io/gitea/1.15.4/gitea-1.15.4-linux-amd64
2 使二进制文件可执行:
chmod +x gitea-1.15.4-linux-amd64
=========================================================================================
#登入git用户运行这个命令 下载的文件 (su - git),属主就会是git,不然后面还要改文件所属(chown git:git gitea);
# 只想更改文件的所有者 chown newowner gitea-1.15.4-linux-amd64
# 只想更改文件的组chgrp newgroup gitea-1.15.4-linux-amd64
=========================================================================================
3 创建应用数据和LFS根目录:
mkdir -p ~/gitea/data ~/gitea/lfs
4 创建Gitea的配置文件gitea.ini:
cp custom/conf/app.ini ~/gitea/data/
5 编辑配置文件gitea.ini,设置以下参数:
[database]
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = gitea
USER =
PASSWD =
PATH = /home/git/gitea/data/gitea.db
[repository]
ROOT = /home/git/gitea/repos
[lfs]
START_SERVER = true
STORAGE_PATH = /home/git/gitea/lfs
[server]
ROOT_URL = http://your-domain.com/
注意:请将your-domain.com替换为你的域名或IP地址。
6 配置Gitea的systemd服务:
创建一个名为gitea.service的服务文件,内容如下:
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=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
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gitea
ExecStart=/home/git/gitea/gitea web -c /home/git/gitea/data/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/home/git/gitea
[Install]
WantedBy=multi-user.target
7 将服务文件移动到/etc/systemd/system/目录下:
sudo mv gitea.service /etc/systemd/system/
8 启动Gitea服务并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl start gitea
sudo systemctl enable gitea
==============================================================================================================
#遇到3000端口被占用报错:Failed to start server: listen tcp 0.0.0.0:3000: bind: address already in use
#CentOS 7安装netstat命令,netstat 命令被包含在 net-tools 软件包中
yum install -y net-tools
#netstat命令:检查是否有其他进程正在使用某端口
sudo netstat -tuln | grep 3000
#通过netstat命令看到:端口3000是被一个TCP6监听进程占用
[git@localhost gitea]$ netstat -tuln | grep 3000
tcp6 0 0 :::3000 :::* LISTEN
#用lsof或ss命令来查找端口3000是否被其他进程占用
sudo lsof -i :3000
# 看到已经有个gitea在占用了
[git@localhost gitea]$ sudo lsof -i :3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gitea 39165 git 6u IPv6 80676 0t0 TCP *:hbci (LISTEN)
==============================================================================================================