Table of Contents
1. Install and Configure necessary dependencies
2. Add the GitLab mirror repository and install it
2.1 Use the official mirror to install
2.2 Use domestic mirror installation (recommended)
3. Configure and start GitLab
4. Access
5. Port conflict problem
6. Uninstall GitLab
Home Operation and Maintenance CentOS How to build GitLab on CentOS7

How to build GitLab on CentOS7

Jul 02, 2021 pm 02:10 PM
centos7 gitlab

Environment requirements: at least 4G of memory, GitLab is very memory-consuming

1. Install and Configure necessary dependencies

On CentOS systems, the following command will open HTTP and SSH access in the system firewall.

$ sudo yum install -y curl policycoreutils-python openssh-server
$ sudo systemctl enable sshd
$ sudo systemctl start sshd
$ sudo firewall-cmd --permanent --add-service=http
$ sudo systemctl reload firewalld
Copy after login

Install Postfix, which is used to send emails. Select 'Internet Site' during the installation of Postfix.

$ sudo yum install postfix
$ sudo systemctl enable postfix
$ sudo systemctl start postfix
Copy after login

You can also configure a custom SMTP server.

2. Add the GitLab mirror repository and install it

gitlab-ce is the community version, free
gitlab-ee is the enterprise version, paid

2.1 Use the official mirror to install

$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

$ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce # 安装 GitLab
Copy after login

If you are prompted that the connection has timed out, you can use Tsinghua University Open Source Software Mirror Station: https://mirror.tuna.tsinghua .....
After entering the website, there are detailed installation steps, just follow the installation.

Here is an introduction to using Tsinghua University open source software mirror station in CentOSInstallation:
Restore the yum source first, delete the gitlab-ce source:

$ ls -l /etc/yum.repos.d/ # 查看源配置项
$ mv /etc/yum.repos.d/gitlab_gitlab-ce.repo /etc/yum.repos.d/gitlab_gitlab-ce.repo.bak # 备份源配置项(也可以直接删除 rm)
Copy after login

New /etc/yum.repos.d/gitlab-ce.repo, the content is

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
Copy after login

Execute again

$ sudo yum makecache
$ sudo yum install gitlab-ce
Copy after login

After installation, the /opt/gitlab/ directory structure

/opt/gitlab/
├── backups
├── git-data
│   └── repositories
│       └── root
├── gitlab-ci
│   └── builds
├── gitlab-rails
│   ├── etc
│   ├── shared
│   │   ├── artifacts
│   │   ├── lfs-objects
│   │   └── pages
│   ├── sockets
│   ├── tmp
│   ├── upgrade-status
│   ├── uploads
│   └── working
├── gitlab-shell
├── gitlab-workhorse
├── logrotate
│   └── logrotate.d
├── nginx
│   ├── client_body_temp
│   ├── conf
│   ├── fastcgi_temp
│   ├── logs -> /var/log/gitlab/nginx
│   ├── proxy_cache
│   ├── proxy_temp
│   ├── scgi_temp
│   └── uwsgi_temp
├── postgresql
│   └── data
│       ├── base
│       │   ├── 1
│       │   ├── 12918
│       │   ├── 12923
│       │   └── 16385
│       ├── global
│       ├── pg_clog
│       ├── pg_multixact
│       │   ├── members
│       │   └── offsets
│       ├── pg_notify
│       ├── pg_serial
│       ├── pg_snapshots
│       ├── pg_stat_tmp
│       ├── pg_subtrans
│       ├── pg_tblspc
│       ├── pg_twophase
│       └── pg_xlog
│           └── archive_status
└── redis
Copy after login

3. Configure and start GitLab

Startup command

$ sudo gitlab-ctl reconfigure # 首次启动也要用此命令。重新加载配置并启动
$ sudo gitlab-ctl start # 启动
$ sudo gitlab-ctl stop # 停止
Copy after login

/etc/gitlab/ Directory structure:

/etc/gitlab/
├── gitlab.rb
├── gitlab-secrets.json
└── ssl
    └── trusted-certs
Copy after login

The basic configuration of gitLab is concentrated in the /etc/gitlab/gitlab.rb file , for the function and configuration of each parameter, please refer to the configuration instructions on the official website.
Configuration parameters:

### Advanced settings
# unicorn['listen'] = 'localhost'
# unicorn['port'] = 8090 #默认是8080端口


nginx['listen_port'] = 8081  # gitlab nginx 端口。默认端口为:80 

external_url 'http://192.168.137.129' # clone时显示的地址,gitlab 的域名
Copy after login

Configuration:

$ sudo gitlab-ctl stop # 先停止 GitLab 服务 
$ vim /etc/gitlab/gitlab.rb # 修改配置文件
Copy after login

After making any changes, save and exit, enter one by one on the command line The following command makes the configuration effective

Start the database, otherwise reconfigure will report an error

$ sudo gitlab-ctl restart postgresql
$ sudo gitlab-ctl reconfigure
$ sudo gitlab-ctl start
Copy after login

4. Access

The default administrator account of the system is root. When accessing GitLab for the first time, you will be asked Initialize the password of the administrator account.

5. Port conflict problem

After installation, you will find a problem; gitlab is actually a web; it comes with nginx; if you are also a server, the above Apache or nginx will be installed; then the port will conflict;

Just change the default port of nginx that comes with gitlab

6. Uninstall GitLab

$ sudo gitlab-ctl stop # 停止
$ sudo rpm -e gitlab-ce # 卸载
$ ps aux | grep gitlab # 查看守护进程
$ kill -9 18777 # 杀掉守护进程
$ find / -name gitlab | xargs rm -rf # 删除所有包含gitlab的文件
Copy after login

For more centos-related technical articles, please visit the centos tutorial column!

The above is the detailed content of How to build GitLab on CentOS7. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CentOS7 various version image download addresses and version descriptions (including Everything version) CentOS7 various version image download addresses and version descriptions (including Everything version) Feb 29, 2024 am 09:20 AM

When loading CentOS-7.0-1406, there are many optional versions. For ordinary users, they don’t know which one to choose. Here is a brief introduction: (1) CentOS-xxxx-LiveCD.ios and CentOS-xxxx- What is the difference between bin-DVD.iso? The former only has 700M, and the latter has 3.8G. The difference is not only in size, but the more essential difference is that CentOS-xxxx-LiveCD.ios can only be loaded into the memory and run, and cannot be installed. Only CentOS-xxx-bin-DVD1.iso can be installed on the hard disk. (2) CentOS-xxx-bin-DVD1.iso, Ce

Steps to enter CentOS 7 emergency repair mode Steps to enter CentOS 7 emergency repair mode Jan 13, 2024 am 09:36 AM

Open the centos7 page and appear: welcome to emergency mode! afterloggingin, type "journalctl -xb" to viewsystemlogs, "systemctlreboot" toreboot, "systemctldefault" to tryagaintobootintodefaultmode. giverootpasswordformaintenance(??Control-D???): Solution: execute r

How to use GitLab for project document management How to use GitLab for project document management Oct 20, 2023 am 10:40 AM

How to use GitLab for project document management 1. Background introduction In the software development process, project documents are very important information. They can not only help the development team understand the needs and design of the project, but also provide reference to the testing team and customers. In order to facilitate version control and team collaboration of project documents, we can use GitLab for project document management. GitLab is a version control system based on Git. In addition to supporting code management, it can also manage project documents. 2. GitLab environment setup First, I

How to access and clean junk files in /tmp directory in CentOS 7? How to access and clean junk files in /tmp directory in CentOS 7? Dec 27, 2023 pm 09:10 PM

There is a lot of garbage in the tmp directory in the centos7 system. If you want to clear the garbage, how should you do it? Let’s take a look at the detailed tutorial below. To view the list of files in the tmp file directory, execute the command cdtmp/ to switch to the current file directory of tmp, and execute the ll command to view the list of files in the current directory. As shown below. Use the rm command to delete files. It should be noted that the rm command deletes files from the system forever. Therefore, it is recommended that when using the rm command, it is best to give a prompt before deleting the file. Use the command rm-i file name, wait for the user to confirm deletion (y) or skip deletion (n), and the system will perform corresponding operations. As shown below.

How to set password rules in centos7? How to set password rules in centos7 How to set password rules in centos7? How to set password rules in centos7 Jan 07, 2024 pm 01:17 PM

Set password rules for security reasons Set the number of days after which passwords expire. User must change password within days. This setting only affects created users, not existing users. If setting to an existing user, run the command "chage -M (days) (user)". PASS_MAX_DAYS60#Password expiration time PASS_MIN_DAYS3#Initial password change time PASS_MIN_LEN8#Minimum password length PASS_WARN_AGE7#Password expiration prompt time Repeat password restriction use [root@linuxprobe~]#vi/etc/pam.d/system-auth#nearline15:

Centos offline installation of Chinese version of GitLab Centos offline installation of Chinese version of GitLab Feb 19, 2024 am 11:36 AM

1. Download the gitlab installation package. Download the latest Chinese version of the gitlab installation package from [Tsinghua University Open Source Software Mirror Station]. The installation package comes with a simplified Chinese localization package. Download the latest gitlab installation package from [gitlab official website]. 2. Install gitlab, take gitlab-ce-14.9.4-ce.0.el7.x86_64 as an example, upload it to the centos server and use yum to install gitlabyum-yinstallgitlab-ce-14.3.2-ce.0.el7.x86_64. rpm uses yum to install gityum-yinstallgit#Install git and modify the gitlab configuration file vi

How to install mbstring extension under CENTOS7? How to install mbstring extension under CENTOS7? Jan 06, 2024 pm 09:59 PM

1.UncaughtError:Calltoundefinedfunctionmb_strlen(); When the above error occurs, it means that we have not installed the mbstring extension; 2. Enter the PHP installation directory cd/temp001/php-7.1.0/ext/mbstring 3. Start phpize(/usr/local/bin /phpize or /usr/local/php7-abel001/bin/phpize) command to install php extension 4../configure--with-php-config=/usr/local/php7-abel

How to modify and set the default shortcut keys of CentOS7? How to modify and set the default shortcut keys of CentOS7? Jan 09, 2024 pm 06:14 PM

When the default shortcut keys conflict with the keys of the software you are using or you need to use the shortcut keys according to your own habits, you have to modify and set the default shortcut keys. How to modify the default shortcut keys of CentOS7? Let’s take a look at the detailed tutorial below. 1. Start the Centos7 system in the virtual machine and enter the desktop. 2. Click Applications->System Tools->Settings in the upper left corner. 3. Enter the setting interface and click the device. 4. Select Keyboard and click any item on the right. And press the shortcut key to be set on the keyboard to change its shortcut key (note that some cannot be changed!) 5. After the change, as shown below, finally click Settings, so that the shortcut key setting modification is completed.

See all articles