文章目录
开篇一张图:
环境
debian10
gogs:0.11.91 @ 2019-08-11
阿里云ECS服务器
依赖
安装git
Debian/Ubuntu
$ sudo apt-get update
$ sudo apt-get install git
安装mysql
本操作参考:https://www.linuxidc.com/Linux/2019-08/159844.htm
1.要将 MySQL APT 存储库添加到系统,请转到存储库下载页面并使用以下 wget 命令下载最新的发行包:
wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
2.下载完成后,以具有 sudo 权限的用户身份安装发行包:
sudo apt install ./mysql-apt-config_0.8.13-1_all.deb
3.您将看到配置菜单,您可以从中选择要安装的 MySQL 版本。
MySQL 8.0 是预先选择的,如果你想安装 MySQL 5.7 ,请选择 MySQL Server & Cluster (Currently selected: mysql-8.0) 并选择你喜欢的 MySQL 版本。
我们要安装 MySQL 8.0 版。按 Tab 并选择 OK 最后按下 Enter( 如上图所示)。
安装 MySQL
通过运行以下命令更新包列表并安装 MySQL 服务器包:
sudo apt update
sudo apt install mysql-server
配置mysql
1.登陆MySQL
$ mysql -u root -p
输入密码
mysql>CREATE DATABASE gog;
mysql> create user 'git'@'localhost' identified by 'passwd';
mysql> grant all privileges on gogs.* to 'git'@'localhost';
mysql> flush privileges;
mysql> exit;
添加git用户
添加用户
$ sudo adduser git
然后会让你设置密码和其他的一堆配置...
$ su git #切换到git用户
$ cd ~/ #进入用户git根目录
配置用户权限
$ sudo vim /etc/sudoers
root ALL=(ALL:ALL) ALL
git ALL=(ALL:ALL) ALL #在root ALL=(ALL:ALL) ALL 下方添加此句
配置系统ssh连接时长
$ sudo vim /etc/ssh/sshd_config
找到以下2行去掉注释并修改后面的值
ClientAliveInterval 60 # 60秒向客户端发送一次心跳
ClientAliveCountMax 3 # 客户端3次没有回应断开连接
修改完以后运行:
$ sudo service sshd reload
安装gogs
二进制安装包下载:下载地址
我下载的是adm64的tar.gz压缩包
使用下面的命令进行解压和运行
# su git #切换到git用户
$ cd /home/git/
$ wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz
$ tar -xzvf gogs_0.11.91_linux_amd64.tar.gz
$ cd gogs
$ ./gogs web #运行gogs
打开浏览器,在地址栏中敲入主机IP地址+端口3000
如:http://125.57.230.55:3000/
首次打开这个网页会让你配置数据库的的名称和密码,以及管理员账号等.
配置完成后gogs会给你生成一份默认配置,不过这份默认配置需要做些更改.
配置Gogs
此时在git用户下操作
$ cd ~
$ pwd
/home/git
$ cd gogs/custom/conf/
$ ls
app.ini
$ vim app.ini
修改DOMAIN和ROOT_URL字段
将localhost修改为你的IP地址或者域名
配置开机自动启动
进入目录
$ cd /etc/systemd/system
创建软链接
$ sudo ln -s /home/git/gogs/scripts/systemd/gogs.service gogs.service
使能gogs.service文件
$ sudo systemctl enable gogs
启动gogs
$ sudo systemctl start gogs
示例效果:
未完待续
设置nginx反向代理
一般我们都通过域名来访问网页,而且是通过不同的子域名来访问的,这就需要用到nginx服务器解析传递过来的子域名,来区分网页请求的是什么服务,之后我会通过一篇新的博客来记录我反向代理访问Gogs的过程。