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个方案,不行再加上前两个)

最新文章

  1. 设计C/S架构应用程序的并发功能
  2. python文件读写操作与linux shell变量命令交互执行
  3. Python 中的urlencode和urldecode
  4. Ubuntu环境搭建系列—WPS/LAMP/Python篇
  5. 关于web服务器访问速度慢的一些简单解决方法
  6. 资料下载:生活方向盘PPT以及活动录音(2011.02)
  7. SQL2005备份数据库到远程服务器中
  8. 学习笔记之JAVA多线程
  9. iOS开发之二:UIWindow与UIView
  10. 一台电脑上同启动两个Tomcat的方式,windows/Linux配置。
  11. python画出心形图
  12. 平衡树及笛卡尔树讲解(旋转treap,非旋转treap,splay,替罪羊树及可持久化)
  13. C#设计模式--装饰器模式
  14. shell字符串操作技巧
  15. 基于Ionic的移动框架搭建
  16. 【agc003D】Anticube
  17. 感谢CSDN赠送的图书和杂志(5月份)
  18. Linux-- su和sudo 切换用户
  19. nordic-mesh中应用的代码实现
  20. face_recognition 人脸识别报错

热门文章

  1. SpringCloud之配置中心(config)的使用
  2. vue.js----之router详解(三)
  3. db2存储过程 动态拼接sql 、输出数据集示例
  4. 实验5:开源控制器实践POX
  5. win10如何设置共享媒体流?
  6. 最近录了一些python视频教程
  7. 推荐优秀国产蓝牙芯片-HS6621CxC系列
  8. 【Pr】如何裁剪视频得页面?
  9. vue3文档学习
  10. 第三周day2