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

2022-03-04 15:33:15 11点赞 44收藏 2评论

前言

上篇介绍利用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应用(上)

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2485.01元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1799元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1299元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1290.51元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1699元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起
2评论

  • 精彩
  • 最新
  • debian11是否可以参考

    校验提示文案

    提交
    可以的,二进制文件原理差不多,具体可以看看官方教程,部分设置不太一样

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
44
扫一下,分享更方便,购买更轻松