安装gitea
使用 MariaDB/MySQL数据库
安装数据库
初始化数据库
1
sudo mariadb-install-db --user= mysql --basedir= /usr --datadir= /var/lib/mysql
启动数据库
1
2
sudo systemctl start mariadb
sudo syetemctl enable mariadb
安全设置
1
sudo mysql_secure_installation
创建数据库
1
2
3
4
5
6
mysql -u root -p
mysql> CREATE DATABASE ` gitea` DEFAULT CHARACTER SET ` utf8mb4` COLLATE ` utf8mb4_unicode_ci` ;
mysql> CREATE USER ` gitea` @'localhost' IDENTIFIED BY 'password' ;
mysql> GRANT ALL PRIVILEGES ON ` gitea` .* TO ` gitea` @` localhost` ;
mysql> FLUSH PRIVILEGES;
mysql> \q
尝试使用新用户登录数据库
1
mysql -u gitea -p -D gitea
初步配置gitea
复制配置文件
1
cp /etc/gitea/app.example.ini /etc/gitea/app.ini
修改配置文件
1
2
3
4
5
6
7
#/etc/gitea/app.ini
DB_TYPE = mysql
HOST = 127.0.0.1:3306 ; or /run/mysqld/mysqld.sock
NAME = gitea
USER = gitea
PASSWD = password
启动gitea
1
2
systemctl start gitea
systemctl enable gitea
测试登录 打开浏览器输入
http://ip:3000
在页面完成初始化操作
项目
推荐值
说明
站点名称
gitea
你自己的站点名称
仓库根目录
/data/gitea(一个最好是存储盘的路径,最好热备份)
你的仓库存储目录
服务器域名
这里推荐localhost 或者你的域名
你的服务器域名
ssh服务端口
22
你的ssh服务端口
端口
3000
你的gitea服务器端口
日志目录
/var/log/gitea
你的日志目录
设置完毕后点击安装等待安装完成
进阶设置 通过https访问
设置监听范围为本机
1
2
3
4
5
6
7
8
9
10
# /etc/gitea/app.ini
[server]
PROTOCOL = unix
DOMAIN = git.domain.tld
ROOT_URL = https://git.domain.tld
HTTP_ADDR = /run/gitea/gitea.socket
LOCAL_ROOT_URL =
[session]
COOKIE_SECURE = true
添加nginx反向代理配置文件
# /etc/nginx/conf.d/gitea.conf
server {
listen 80;
listen [::]:80;
server_name gitea.lengyefenghan.top;
# Enforce HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name gitea.lengyefenghan.top;
# Path to the root of your installation
ssl_certificate /etc/ssl/nginx/cert.pem;
ssl_certificate_key /etc/ssl/nginx/key.pem;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Server $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
gzip off;
proxy_redirect off;
proxy_buffering off;
client_max_body_size 256M;
proxy_pass http://unix:/run/gitea/gitea.socket;
}
}
重启nginx
1
systemctl restart nginx
设置gitea的数据目录
创建数据目录
设置目录用户和组
1
chown -R gitea:gitea /mnt/data/gitea
修改servier文件
1
2
3
4
#/etc/systemd/system/gitea.service.d/data-directory.conf
[Service]
ReadWriteDirectories = /mnt/data/gitea
重启gitea
1
2
systemctl daemon-reload
systemctl restart gitea
开启ssh与ssh加固
# /etc/ssh/sshd_config
# Port 22 #注释掉port端口 改为listem ip+端口的形式
ListenAddress 0.0.0.0:22 #监听所有ipv4断22端口
ListenAddress 192.168.1.11:5022 #内网单独设置一个端口 只允许192.168.1.11的5022端口其中192.168.1.11为服务器的内网ip地址
# 强制使用公钥验证
PasswordAuthentication no #关闭密码验证
# 开启PAM认证
UsePAM yes
# 进制root用户登录
PermitRootLogin no
#添加允许gitea user登录 @host表示ip登录限制 也就是user只允许192.168.1.*的ip登录
AllowUsers gitea [email protected] .*
本站gitea
点我访问