有网友碰到这样的问题“基于Gitea搭建属于自己的Git服务”。小编为您整理了以下解决方案,希望对您有帮助:
解决方案1:
一、搭建环境和前提
搭建环境:
操作系统:CentOS7.6
Docker版本:docker-ce-18.09.9
LskyPro版本:1.6.3
MySQL版本:5.7
安装前提
Gitea可以使用MySQL、PostgreSQL、MSSQL、SQLite3作为数据库存储,如果你对其中某个数据库熟悉可以选择相应的数据库,我选择的是MySQL。
所以前提需要安装好Docker和MySQL,如果你已经有这两个环境了,那么可以跳过这个步骤;如果没有这两个环境小伙伴可以分别查看下面两篇文章。
安装Docker:https://www.itwxe.com/posts/ca1638ad/
安装MySQL:https://www.itwxe.com/posts/534f6d/
安装好MySQL之后需要创建数据库Gitea,后面配置需要用到,命令和截图如下:
#进入dockermysql容器dockerexec-itmysql/bin/bash#登录MySQLmysql-uroot-p#创建数据库lskycreatedatabaseifnotexistsgiteadefaultcharacterset='utf8mb4';#可选操作,创建一个用户名gitea密码123456的账号来专门连接gitea数据库,用户名密码自定义后要记住喽,后面配置要用到GRANTALLPRIVILEGESONgitea.*TO'gitea'@'%'IDENTIFIEDBY'123456';FLUSHPRIVILEGES;二、Docker安装Giteagitea官方中文文档地址:https://docs.gitea.io/zh-cn/install-with-docker/
启动gite容器运行命令:
dockerrun-d--restart=always--name=gitea-p10022:22-p13000:3000-v/itwxe/dockerData/gitea:/datagitea/gitea:1.14.6启动容器后我是需要结合域名来访问的,所以在域名服务商控制台配置域名映射后,Nginx配置参考如下:
server{listen443ssl;server_namegitea.itwxe.com;ssl_certificate/usr/local/nginx/ssl/any/fullchain.cer;ssl_certificate_key/usr/local/nginx/ssl/any/itwxe.com.key;ssl_session_cacheshared:SSL:1m;ssl_session_timeout30m;ssl_protocolsTLSv1TLSv1.1TLSv1.2;ssl_ciphersHIGH:!aNULL:!MD5:!EXPORT56:!EXP;ssl_prefer_server_cipherson;proxy_connect_timeout500;proxy_send_timeout500;proxy_read_timeout500;client_max_body_size50m;location/{proxy_passhttp://127.0.0.1:13000;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerX-Forwarded-Proto$scheme;proxy_set_headerREMOTE-HOST$remote_addr;}}配置完成后nginx-t验证配置是否正确,正确则nginx-sreload重新加载Nginx。
访问配置的域名,开始界面配置安装,其中几个地方要注意。
下面还有一些可选设置,按自己的需求设置就行了。
设置之后点击立即安装,安装完成之后就可以看到主界面长啥样了。
到了这一步Gitea就算搭建完成了,完成了之后呢,我们创建个仓库来看下是否可以正常上传。测试的仓库就用我博客代码来测试一下。
首先创建一个仓库,这个就不用多说了吧,全界面化操作,点点点就完事了,创建完成的界面和按钮如图。
然后本地就是Git操作了,如图也提示了怎么提交到远程仓库,这个就是Git基本功了,不多赘述,需要使用SSH方式操作的自行配置SSH,一般我都是https,个人提交结果如下。
到这里,基于Gitea搭建属于自己的Git服务就完成了。