• 树莓派4B安装Gogs


    https://www.labno3.com/2021/01/28/how-to-install-gogs-on-the-raspberry-pi/
    https://gogs.io/docs/installation/install_from_binary

    一、安装Gogs

    1.创建新用户

    sudo adduser --disabled-login --gecos 'Gituser' git

    • adduser 添加用户
    • --disabled-login 该用户禁止使用账号密码登录
    • --gecos 记录用户的详细信息
      sudo su git
    • 切换到 git 账号
      cd ~
    • 切换到当前账号的home目录
      mkdir gogs
      cd ~/gogs

    2.到官网找到下载链接,下载gogs对应linux-arm v7最新版本的二进制文件

    sudo wget https://dl.gogs.io/0.12.6/gogs_0.12.6_linux_armv7.zip -O gogs.zip

    • wget 命令行下载
    • -O 下载文件更名,这里应该可以不改,为了方便看而已

    3.解压

    sudo unzip gogs.zip
    sudo rm gogs.zip
    sudo chown -R git:git ~/gogs
    

    4.尝试启动

    ./gogs web

    启动成功

    5.电脑端浏览器访问http://192.168.1.6:3000/install (192.168.1.6为树莓派的ip地址)

    进入首次安装页面

    我这里只改了域名,改成树莓派的IP地址,点击立即安装

    6.等待安装完成,浏览器重新访问http://192.168.1.6:3000/,跳转到登录页面

    二、开机自启动服务

    1.cp /home/git/gogs/gogs/scripts/systemd/gogs.service /usr/lib/systemd/system

    2. systemctl daemon-reload (如果没有修改文件这步可忽略)


    我这里是选择了1(用pi账号去验证,也成功了)

    4.使systemctl在系统启动时运行服务文件

    sudo systemctl enable gogs.service

    5.运行服务

    sudo systemctl start gogs.service

    6.查看状态

    sudo systemctl status gogs.service

    说明启动成功,如果这里不成功就先去解决问题,我也折腾了好久

    7.重启树莓派,验证启动服务是否正常

    su
    reboot
    

    系统启动成功后ssh重连树莓派,查看gogs是否已经启动

    ps -ef | grep gogs
    


    启动成功。the end

    遇到的问题

    1.下载gogs二进制文件时要求输入git密码,(这里的git是指新创建的用户)

    解决:
    设置git密码
    passwd git

    2.下载gogs二进制文件输入密码之后提示git 不在 sudoers 文件中

    https://blog.csdn.net/u013984436/article/details/102633285
    https://zhuanlan.zhihu.com/p/143388819
    原因:git用户没有sudo权限
    解决:切换到root用户,更改/etc/sudoers文件,添加git ALL=(ALL:ALL) ALL
    1.先给root写权限 chmod u+w /etc/sudoers
    2.vi /etc/sudoers

    # User Privilege SPECIFICATION
    root    ALL=(ALL:ALL) ALL
    git    ALL=(ALL:ALL) ALL
    

    3.之后:wq保存成功
    4.把/etc/sudoers的权限改回来
    chmod 440 /etc/sudoers

    3.sudo systemctl start gogs.service启动服务失败

    提示 ExecStart=/home/git/gogs/gogs web (code=exited, status=203/EXEC)

    解决:

    可能的原因:步骤问题?或者是权限问题?
    尝试解决方案1:把gogs/scripts/systemd/gogs.service 复制到 /usr/lib/systemd/system,并给文件执行权限,依然失败

    可能原因:service文件中设置的执行路径错误
    尝试解决方案2:vim /usr/lib/systemd/system/gogs.service,修改文件中ExecStart=/home/git/gogs/gogs web 为ExecStart=/home/git/gogs/gogs/gogs web

    这个修改后的路径是gogs所在的位置

    再次systemctl start启动gogs服务,还是失败
    可能原因:修改的gogs.service不对,执行的时候还是用的/home/git/gogs/gogs/scripts/systemd/路径下的gogs.service

    尝试解决方案3:vim /home/git/gogs/gogs/scripts/systemd/gogs.service,同样更改ExecStart的路径为/home/git/gogs/gogs/gogs
    执行systemctl daemon-reload更新配置
    再次systemctl start启动gogs服务,成功了(这里不确定前两个解决方案是否对最后的结果有影响,可能也只有最后一个方案起作用了,建议直接试试第3个方案,不行再加上前两个)

  • 相关阅读:
    取得system32文件夹下面文件的写入权限
    几个SQL语句(备忘)
    Excel多表合并的宏
    删除系统旧网卡
    Eclipse 迁移到Android studio
    是否使用安全模式启动word
    微信公众平台开发
    delphi安装 Tclientsocket, Tserversocket控件
    win10 Internet Explorer 11 停止工作处理
    java编译出错信息汇总(更新)
  • 原文地址:https://www.cnblogs.com/congyinew/p/16115074.html
Copyright © 2020-2023  润新知