Centos7.4下gitlab迁移及通过docker启动gitlab服务

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Centos7.4下gitlab迁移及通过docker启动gitlab服务 - joshua317的博客

目录

0.安装docker并运行

1.查看原有gitlab的版本

2.拉取Gitlab镜像,在docker镜像仓库中,查找对应的版本

3.启动容器

4.备份原有数据

5.拷贝数据

6.在docker运行的git服务器上,登录进入容器

7.Gitlab仓库恢复

8.手动备份

9.使配置生效

10.启动Gitlab服务,在容器中执行

11.定时任务执行备份

12.扩展

12.1 GitLab概述

12.2 GitLab和GitHub的区别

12.3 Git相关概念

12.4 Gitlab的版本:

12.5 GitLab配置

12.6 Gitlab相关目录

12.7 GitLab服务构成

12.8 Gitlab设置中文

12.9 Gitlab备份

12.10 Gitlab相关命令

12.11 GitLab服务修改root密码

12.12 Docker安装

12.13 设置容器开机自启动


背景:

1)原有的gitlab服务器是通过yum install 进行安装,版本为12.9.9

2)新的gitlab服务器要求使用docker运行gitlab服务

3)需要旧的gitlab服务器进行迁移,然后在新的gitlab服务器上通过docker正常运行

解决思路:

1)在新的服务器上安装docker,并启动

2)在新的服务器上拉取gitlab镜像,并运行

3)在旧的服务器上备份gitlab数据,并拷贝到新的服务器上面

4)在新的服务器上的容器里面,停止相关服务,进行数据恢复

5)重新加载配置,使配置生效,并重新启动容器内的gitlab服务

环境:

系统环境:CentOS7.4

# uname -a
Linux gitlab 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.4.1708 (Core) 
Release:        7.4.1708
Codename:       Core

0.安装docker并运行

#0 卸载旧版本,较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

#1 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2

#2 设置docker仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#3 安装docker-ce
yum install docker-ce docker-ce-cli containerd.io

#启动
systemctl start docker

1.查看原有gitlab的版本

注意:新服务器上的gitlab的版本号必须与创建备份时的gitlab版本号相同。

方式一:

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

方式二:

在gitlab后台中查看,在部署的域名后面加上help

http://xxx.xxx.com/help

2.拉取Gitlab镜像,在docker镜像仓库中,查找对应的版本

在新的服务器上拉取gitlab镜像

镜像地址:https://hub.docker.com/r/gitlab/gitlab-ce/

#拉取镜像
docker pull gitlab/gitlab-ce:12.9.9-ce.0
查看镜像
# docker images
REPOSITORY         TAG           IMAGE ID       CREATED        SIZE
hello-world        latest        feb5d9fea6a5   9 months ago   13.3kB
gitlab/gitlab-ce   12.9.9-ce.0   82c989350edd   2 years ago    1.92GB

3.启动容器

docker run -itd \
--publish 80:80 \
-v /data/gitlab/etc:/etc/gitlab \
-v /data/gitlab/etc:/etc/gitlab \
-v /data/gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce:12.9.9-ce.0
<think>好的,用户想在CentOS系统上安装和配置Nextcloud。我需要根据提供的引用信息来整理步骤。首先,用户提到的引用有四种部署方式:LNMP、Docker、snap和宝塔面板。但用户可能更倾向于手动部署或者使用宝塔,需要明确他们的需求。不过问题中没有特别说明,所以应该覆盖主要方法。 引用1提到有两种主要方式:LNMP和Docker,用户需要选择其中一种。接下来引用2、3是关于手动配置LNMP环境的步骤,而引用4是宝塔面板的安装方法。用户可能需要详细的步骤,所以应该分情况说明。 首先,手动部署LNMP环境需要安装必要的软件包,比如Nginx、MariaDB、PHP和相关扩展。引用3中提到启用remi-php80,所以PHP版本要7.4以上。然后配置数据库,调整PHP设置,下载并解压Nextcloud,设置权限,最后通过浏览器完成安装。这部分需要确保步骤正确,比如修改php.ini和调整目录权限。 另一个方法是使用宝塔面板,引用4详细说明了如何安装宝塔,配置LNMP环境,创建站点,上传Nextcloud文件,设置伪静态等。这种方法可能更简单,适合不熟悉命令行的用户。 还需要注意权限问题,比如引用2中使用chown将目录所有权给Apache用户,但如果是Nginx的话,可能需要改为nginx用户。同时,伪静态规则和PHP扩展如fileinfo、opcache的安装也是关键步骤。 用户可能会遇到的问题包括PHP版本过低、权限配置错误、缺少扩展等,需要提醒检查这些点。此外,SSL证书配置和防火墙设置也是部署后的重要步骤,应该包含在配置部分。 总结下来,回答应该分为手动部署和宝塔面板两种方法,每个步骤清晰,并包含注意事项。同时生成相关问题,如优化性能、迁移数据、常见错误解决等,帮助用户进一步了解。</think>### CentOS系统安装配置Nextcloud的详细步骤 ### 一、基于LNMP环境的手动部署(推荐生产环境) 1. **环境准备** ```bash # 启用PHP 8.0仓库 yum install -y epel-release yum-utils yum-config-manager --disable 'remi-php*' yum-config-manager --enable remi-php80[^3] # 安装基础组件 yum install -y nginx mariadb-server php-fpm php-cli php-mysqlnd php-gd php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-opcache ``` 2. **数据库配置** ```bash systemctl start mariadb mysql_secure_installation mysql -u root -p > CREATE DATABASE nextcloud; > CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'your_password'; > GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost'; ``` 3. **PHP参数调整** ```bash vi /etc/php.ini # 修改以下参数: upload_max_filesize = 16G post_max_size = 16G memory_limit = 512M opcache.enable=1 opcache.interned_strings_buffer=8 ``` 4. **部署Nextcloud** ```bash cd /var/www/html wget https://download.nextcloud.com/server/releases/latest.zip unzip latest.zip chown apache:apache -R nextcloud[^2] # 如果使用nginx则改为nginx:nginx ``` 5. **Nginx配置示例** ```nginx server { listen 80; server_name cloud.yourdomain.com; root /var/www/html/nextcloud; location ~ ^/(data|config|.ht|db_structure.xml|README) { deny all;[^4] } location / { try_files $uri $uri/ /index.php$request_uri; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` ### 二、使用宝塔面板快速部署(适合新手) 1. **安装宝塔面板** ```bash yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh[^4] ``` 2. **环境配置** - 登录面板后选择LNMP环境(PHP≥7.0) - 安装PHP扩展:fileinfo、opcache[^4] 3. **创建网站** - 添加站点后下载Nextcloud安装包 - 上传并解压到网站根目录 - 设置伪静态规则 ### 三、初始化配置 1. 访问`http://服务器IP/nextcloud` 2. 填写管理员账户和数据库信息 3. 完成安全加固: ```bash sudo -u apache php occ config:system:set trusted_domains 1 --value=cloud.yourdomain.com ``` ### 四、后期维护 1. **数据目录迁移** ```bash vi /var/www/html/nextcloud/config/config.php 'datadirectory' => '/mnt/storage/nextcloud_data' ``` 2. **HTTPS配置** 建议使用Let's Encrypt免费证书
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值