树莓派三部曲:安装gogs

安装gogs

1、查看系统架构

uname -m
aarch64

2、安装依赖

# 先清理一些安装错误(可选)
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 -f

3、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/bash

2.到官网找到下载链接,下载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权限和可操作的范围最小


扫描二维码,在手机上阅读!

发表评论

电子邮件地址不会被公开。 必填项已用*标注