【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
- 项目首页:https://gogs.io
- 下载页:https://gogs.io/docs/installation/install_from_binary
- 下载地址:https://dl.gogs.io/0.11.91/gogs_0.11.91_raspi_armv7.tar.gz
==注意:我是用root账号登录执行所有操作的。如果使用pi账号操作,所有指令前请添加 sudo==
安装
gogs使用go语言编写,树莓派官方系统Raspbian上已经具备了基本的运行环境,官网也提供了适用于Raspberry Pi的二进制版本,因此安装相对比较简单。 把gogs_0.11.91_raspi_armv7.tar.gz上传到树莓派的目录中
1、解压
tar -vxf gogs_0.11.91_raspi_armv7.tar.gz
2、找到可执行文件
cd gogs
3、检查是否能运行
./gogs
输出简短的帮助:
root@raspberrypi:/home/pi/soft/gogs # ./gogs
NAME:
Gogs - A painless self-hosted Git service
USAGE:
gogs [global options] command [command options] [arguments...]
VERSION:
0.11.91.0811
COMMANDS:
web Start web server
serv This command should only be called by SSH shell
hook Delegate commands to corresponding Git hooks
cert Generate self-signed certificate
admin Perform admin operations on command line
import Import portable data as local Gogs data
backup Backup files and database
restore Restore files and database from backup
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
4、开启服务器:
./gogs web
root@raspberrypi:/home/pi/soft/gogs # ./gogs web
2020/01/09 15:42:39 [TRACE] Custom path: /home/pi/soft/gogs/custom
2020/01/09 15:42:39 [TRACE] Log path: /home/pi/soft/gogs/log
2020/01/09 15:42:39 [TRACE] Build Time: 2019-09-11 04:31:43 UTC
2020/01/09 15:42:39 [TRACE] Build Git Hash: c154721f4a8f3e24d2f6fb61e74b4b64529255c2
2020/01/09 15:42:39 [TRACE] Log Mode: File (Info)
2020/01/09 15:42:39 [ INFO] Gogs 0.11.91.0811
[Macaron] 2020-01-09 15:42:47: Started GET / for 172.30.34.114
[Macaron] 2020-01-09 15:42:47: Completed GET / 200 OK in 43.815385ms
[Macaron] 2020-01-09 15:42:47: Started GET /js/jquery-1.11.3.min.js for 172.3
有时会有一个警告提示,自定义的配置文件app.ini没有找到。
接下来的自助安装过程会生成配置文件。
在和树莓派同一个网段的PC上用浏览器访问树莓派的IP,端口为3000。
5、访问站点(进行配置)
http://172.30.34.63:3000
会出现首次运行安装程序的页面,配置如下:
- 数据设置 gogs支持MySQL、PostgreSQL,SQLite3和TiDB,树莓派上运行的轻量级服务,使用SQLite3就行了,这样这个数据库在pi上就是一个db文件。
- 应用基本设置 应用基本设置主要是一些必须初始化的配置,根据需要修改。
- 可选设置 可选设置如果不是很清楚含义,可以参考我的设置进行,由于是小规模使用,邮件服务没有配置,管理员用户要创建一个,密码要牢记。
最后点击“立即安装”按钮。
等待一会,会跳转到控制面板,
这就表明安装成功了。
如果出现错误,也会有提示,根据提示修改即可。
注意这个是管理员用户,一般建议仅用于管理普通用户,不用它来直接进行代码托管。
也就是管理员用户管理普通用户,普通用户登录该系统进行代码托管。
6、添加普通用户
在网页右上角的菜单中,选择“管理面板”,这个界面是只有管理员才有的。
在用户管理里,添加一个普通新用户(界面操作,不详细介绍),创建好了然后退出登录,用新账号登录。
==注意这个是管理员用户,一般建议仅用于管理普通用户,不用它来直接进行代码托管。==
保持gogs服务自动启动
1、把服务脚本复制到系统目录
sudo cp /home/pi/soft//gogs/scripts/systemd/gogs.service /etc/systemd/system
2、修改gogs.service配置
vim /etc/systemd/system
root@raspberrypi:/home/pi/soft/gogs/scripts/systemd # cat gogs.service
[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service postgresql.service memcached.service redis.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git
# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
注意:
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git
修改为:
User=root
Group=root
WorkingDirectory=/home/gogs-repositories
ExecStart=/home/pi/soft/gogs/gogs web #启动命令「ExecStart」这个很重要,配置错了会启动不起来
Restart=always
Environment=USER=root HOME=/home/pi/
默认用户和路径都是git,这里改成root(或者pi)。
3、设置开机自启动gogs
systemctl enable gogs
4、立即启动gogs:
systemctl start gogs
5、查看实时日志输出
systemctl status gogs
6、附录:
我的配置文件样例,注意有些配置是系统自己生成的,不要直接照搬复制过去。 文件路径:
gogs/custom/conf/app.ini
root@raspberrypi:/home/pi/soft/gogs/custom/conf # cat app.ini
APP_NAME = Gogs
RUN_USER = root
RUN_MODE = prod
[database]
DB_TYPE = mysql
HOST = 172.30.34.63:3306
NAME = gogs
USER = root
PASSWD = 123456
SSL_MODE = disable
PATH = data/gogs.db
[repository]
ROOT = /home/gogs-repositories # 仓库根目录的路径
[server]
DOMAIN = 172.30.34.63
HTTP_PORT = 8082
ROOT_URL = http://172.30.34.63:8082/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
[mailer]
ENABLED = true
HOST = smtp.163.com:465
FROM = ***@163.com
USER = ****@163.com
PASSWD = *****
[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
DISABLE_REGISTRATION = false
ENABLE_CAPTCHA = true
REQUIRE_SIGNIN_VIEW = false
[picture]
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = false
[session]
PROVIDER = file
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /home/pi/soft/gogs/log
[security]
INSTALL_LOCK = true
SECRET_KEY = GfUjtoxm6SgpibP
来源:oschina
链接:https://my.oschina.net/520wsl/blog/3155444