安装gogs
1、查看系统架构
uname -m
aarch642、安装依赖
# 先清理一些安装错误(可选)
sudo apt-mark showhold
sudo apt-get autoremove
# 添加依赖
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# 安装 git
sudo apt install git -y
# 安装 sqlite3
sudo apt install sqlite3 -y
# 可能遇到 bug,修复 bug (可选) 我没遇到
sudo apt update
sudo apt install libsqlite3-0=3.34.1-3
sudo apt install sqlite3 -y # 重新安装
sudo apt install -f3、Gogs release下载 aarch64 对应 安装 armv8 版本的 release
1.创建新用户sudo adduser --disabled-login --gecos 'Gituser' git
* adduser 添加用户
* --disabled-login 该用户禁止使用账号密码登录
* --gecos 记录用户的详细信息
sudo su git
* 切换到 git 账号
cd ~
* 切换到当前账号的home目录
mkdir gogs
cd ~/gogs
2.新用户设置权限,否则无法切换,无法开展后续操作
sudo visudo
在root ALL=(ALL:ALL) ALL后面追加
git ALL=(ALL:ALL) ALL
sudo nano /etc/passwd
注释
#git:x:1001:1001:Gituser,,,:/home/git:/usr/sbin/nologin
追加 最后再改回来
git:x:1001:1001:Gituser,,,:/home/git:/bin/bash2.到官网找到下载链接,下载gogs对应linux-arm v7最新版本的二进制文件
1.下载
sudo wget https://dl.gogs.io/0.12.6/gogs_0.12.6_linux_armv7.zip -O gogs.zip
* wget 命令行下载
* -O 下载文件更名,这里应该可以不改,为了方便看而已
2.解压到/home/git/下,最终目录结构为/home/git/gogs/…
其他目录下会有目录权限问题,很麻烦,阻碍了很久
3.在scripts/systemd/下,systemctl enable /home/git/gogs/scripts/systemd/gogs.service,然后
systemctl daemon-reload
systemctl start gogs.service
4.访问http://域名:3000/install
进入安装页面,把数据库设置为sqlite3, 把有localhost的地方替换为你的域名,一定要建立用户,最后安装,即可
[mailer]
ENABLED = true
HOST = smtp.qq.com:465
FROM = 应用名
USER = 邮箱
PASSWD = smtp密码
Nginx 的Server 中client_max_body_size 1g;会限制上传大小
改一下www目录的授权
sudo chown -R www-data:www-data /var/www/html
最后追加一些:
chmod 700:只有所有者(owner)可以读取、写入和执行,组(group)和其他人(world)只能读取。
chmod 750:所有者(owner)、组(group)都有读取、写入和执行的权限,而其他人(world)只有一般读取的权限。
由此可知:
组(group)的访问权限不同:
chmod 700:组成员只能读取。
chmod 750:组成员有读取、写入和执行的权利
因此对于git目录下,最好限定权限:
sudo chmod -R 700 目录
想用gogs的ssh拉代码,就必须让git账户能够登录,所以要限制git权限和可操作的范围最小