1. 首页
  2. 科技数码

将ubuntu设置为NAS——22.搭建gitea自用代码托管git应用(下)

前言

上篇介绍利用docker-compose方式搭建gitea服务的方法,由于docker容器映射ssh设置有些复杂的问题,还想试试利用Ubunut直接搭建个gitea服务,继续水篇文章。本身直接采用二进制方法安装gitea是比较简单的,直接下载二进制文件到Ubuntu服务器下,再直接运行二进制文件就安装完成了。后面相对复杂的设置主要是为了让gitea作为服务器默认服务开机启动。

1、二进文件制安装gitea服务

1.1、数据库设置

先不要着急设置,首先为gitea创建数据库和用户 创建数据库gitea,用户名gitea,密码自行设置gitea,前提是Ubuntu服务器安装了数据库,参见将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)中关于安装MariaDB,版本我选择10.3版。

sudo apt-get install mariadb-server mariadb-client

- 启动MariaDB服务:sudo systemctl start mysql

- 查看状态:sudo systemctl status mysql ,ctrl+c退出

- 重启服务:service mysql restart

- 查看监听端口的情况:netstat -tunpl 或 netstat -tap

- 执行初始化安全脚本,默认root密码为空,设置root密码和其他选项:sudo mysql_secure_installation

进入MariaDB后,执行:

#进入数据库
sudo mysql -u root -p
#创建数据库,名为:giteadb,密码`gitea`
CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
#将数据库giteadb权限赋值给用户gitea
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea'@'localhost' IDENTIFIED BY 'gitea';
#刷新数据库
FLUSH PRIVILEGES;
#退出
q

2.2、二进制文件下载及验证

接着就可以开始安装了

建议先找个文件夹,我放在自己的code文件夹下,如果下载速度太慢,可以用迅雷先下载下来,再用winscp传到服务器文件内。

#进入自定义二进制文件下载文件夹
cd /mnt/all/共享/code/gitea
#下载gitea二进制文件
wget -O gitea-1.16.1-linux-amd64 https://dl.gitea.io/gitea/1.16.1/gitea-1.16.1-linux-amd64

wget -O gitea-1.16.1-linux-amd64.asc https://dl.gitea.io/gitea/1.16.1/gitea-1.16.1-linux-amd64.asc
#设置运行权限
chmod +x gitea

Gitea 使用GPG 密钥对所有二进制文件进行签名,以防止对二进制文件进行不必要的修改。要验证二进制文件,请下载以您下载的二进制文件结尾的签名文件,.asc文件,然后使用 GPG 命令行工具。

gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
gpg --verify gitea-1.16.1-linux-amd64.asc gitea-1.16.1-linux-amd64

验证签名,确保文件完整验证签名,确保文件完整

显示完好的签名,表明文件下载没有问题。

2.3、服务器环境设置

为了保证gitea可以作为Ubuntu服务器下一项服务可以开机自动运行,建议进行如下设置,如果只是偶尔使用,可以直接用非root用户运行二进制文件(直接在命令行`)

#在二进制文件所在文件下,用非root用户运行这行命令,程序就正常运行,可以在浏览器输入服务器IP+3000端口号下看到gitea服务
./gitea web

个人选择以系统服务方式运行,所以接着开始设置

检查服务器上是否安装了 Git。如果不是,请先安装它,Ubuntu18.04下默认是安装的。

git --version

git版本git版本

创建用户以运行 Gitea,直接按照教程设置用户名为git

#先切换root用户,需要输入密码确定
sudo -i
#在运行如下命令
adduser
--system
--shell /bin/bash
--gecos 'Git Version Control'
--group
--disabled-password
--home /home/git
git

将ubuntu设置为NAS——22.搭建gitea自用代码托管git应用(下)

接着创建所需要的目录

mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea

再将gitea二进制文件复制到全局位置(之前创建的/usr/local/bin/gitea)

cp /mnt/all/共享/code/gitea/gitea-1.16.1-linux-amd64 /usr/local/bin/gitea

最后就是创建系统服务方式运行gitea

sudo nano /etc/systemd/system/gitea.service

复制如下内容

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target

Wants=mariadb.service
After=mariadb.service

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

ctrl+o,回车确认修改,ctrl+x退出。

接着最后一步将gitea加入系统服务并启动:

sudo systemctl enable gitea
sudo systemctl start gitea

将gitea加入系统服务并启动将gitea加入系统服务并启动

2.4、打开服务器

在浏览器中打开服务器IP+3000端口号,就出现如下界面

打开服务器IP+3000端口号打开服务器IP+3000端口号

这里只需要设置数据库用户名、密码和数据库名称(数据库名称之前设置是giteadb)

设置数据库设置数据库

最后拉到最下面,可选设置自行安装,点击立即安装。

立即安装立即安装

稍等一小会,再在浏览器中输入服务器IP+3000端口号,就出现如下界面,注册后再登录就能正常使用了。

注册注册

登录登录

最后试验一下gitea服务是否可以开机自动重启服务,重启一下Ubuntu,再打开服务器IP+3000端口号,服务成功重启。

重启后重启后

3、gitea连接SSH使用

上篇docker下安装的gitea服务SSH连接和代码上传修改由于容器映射问题,设置相对复杂,所以上篇采用http方式上传修改代码,而直接二进制搭建的gitea可以方便使用ssh。

同样首先再自己win主机安装git,上篇也介绍过,直接参考相关教程,推荐看看菜鸟教程。

首先生成本机(即win主机下或主要编辑代码的主机,也可以是Ubuntu服务器)的用于连接gitea用的key,在git命令行下输入,其中"youremail@example.com"替换为自己的gitea下注册的邮箱

ssh-keygen -t rsa -C "youremail@example.com"

之后会要求确认路径和输入密码,使用默认的一路回车就行,成功的话会在如下图位置生成 .ssh 文件夹,进去,打开id_rsa.pub ,复制里面的 key 。

生成key生成key

记事本打开id_rsa.pub文件,就可以查看里面的key,复制全部内容,粘贴到gitea网页的SSH密钥处。

查看查看

设置SSH设置SSH

复制key复制key

添加成功添加成功

测试是否成功,输入以下命令:

ssh -T git@gitea服务器IP

如下内容表明已经成功

成功SSH成功SSH

先创建gitea仓库,创建名称为code,后面git命令需要用到

创建仓库创建仓库

出现命令介绍出现命令介绍

若本地已有需要的代码需要同步到gitea服务器,就可以用以下相关命令操作,推送代码到gitea

git remote add origin git@gitea服务器IP:yangmouren/code.git
# git remote add origin git@192.168.50.119:yangmouren/code.git
git push -u origin master

推送成功。

推送成功推送成功

打开网址就能看到推送情况了

gitea上可以查看推送情况gitea上可以查看推送情况

总结

本篇重点介绍采用直接安装二进制文件方式安装gitea的流程,并按照官方教程设置gitea作为系统服务可以开机启动,并且设置了SSH可以将自己本地代码同步git到Ubuntu服务器中的gitea上面,从此可以愉快地学习编程并在gitea页面上面管理和备份代码了。

后记

欢迎大家查阅前期《将ubuntu设置为NAS》相关文章,可以关注、点赞、打赏和交流评论 。

将ubuntu设置为NAS——1. Transmission-daemon安装

将ubuntu设置为NAS——2. 新增硬盘挂载

将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)

将ubuntu设置为NAS——3. 私人网盘nextcloud安装(中)

将ubuntu设置为NAS——5. docker与docker-compose的安装

将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)

将ubuntu设置为NAS——7. 私人网盘nextcloud升级

将ubuntu设置为NAS——8. nextcloud集成onlyoffice在线协同办公软件

将ubuntu设置为NAS——9. 远程命令行及PuTTY、WinScp与手机端Termux使用

将ubuntu设置为NAS——10. 虚拟机KVM及软路由LEDE安装

将ubuntu设置为NAS——11. docker可视化管理工具portainer安装与使用

将ubuntu设置为NAS——12.使用portainer安装为知笔记及为知笔

将ubuntu设置为NAS——13.搭建新型在线协同表格和信息管理工具Seatable

将ubuntu设置为NAS——14.尝试mergerfs合并多个物理硬盘

将ubuntu设置为NAS——15.安装seafile并集成onlyoffice

将ubuntu设置为NAS——16.qBittorrent server安装与卸载

将ubuntu设置为NAS——17.私人在线图书馆搭建

将ubuntu设置为NAS——18.搭建Jellyfin影音服务器(上)

将ubuntu设置为NAS——19.搭建 Jellyfin影音服务器(中)

将ubuntu设置为NAS——20.去中心化同步软件Syncthing同步文件

将ubuntu设置为NAS——21.搭建gitea自用代码托管git应用(上)

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/47263.html