How To Set up and Configure GitLab on CentOS 7

GitLab is a web-based open supply Git repository supervisor written in Ruby together with wiki, problem administration, code evaluate, monitoring, and steady integration and deployment. It allows builders to construct, deploy and run their purposes.

There are three completely different editions of GitLab accessible, Neighborhood Version (CE), Enterprise Version (EE), and a GitLab-hosted model.

If you wish to transfer your initiatives away from GitHub then, you must positively attempt GitLab. It may possibly import initiatives and points from completely different sources together with GitHub, which makes the migration course of hassle-free. The GitLab interface is well-designed, clear, intuitive and near GitHub’s by way of person expertise and performance.

There are a number of methods to put in GitLab relying in your necessities and choice. This tutorial covers the steps crucial for putting in and configuring GitLab (CE) on a CentOS 7 system utilizing the Omnibus packages.


This tutorial assumes that you’ve a recent CentOS 7 set up.

In response to the GitLab necessities web page, it’s endorsed to make use of a server with:

  • at the very least 4GB of RAM reminiscence
  • 2 cores
  • at the very least 2GB of swap house.
  • (non-obligatory) Area or subdomain pointing to the server IP tackle.

For a further layer of safety, it’s endorsed to arrange a primary firewall. You possibly can comply with the steps in our HHow to Set Up a Firewall with FirewallD on CentOS 7 information.

The person you might be logging in as should have sudo privileges to have the ability to set up packages.

Putting in Required Dependencies

Refresh the native bundle index and set up the dependencies with the next instructions:

sudo yum set up curl policycoreutils-python openssh-server

To ensure that GitLab to have the ability to ship notification emails, you possibly can both set up and use Postfix or use some transactional mail service equivalent to SendGrid, MailChimp, MailGun or SES by which case you possibly can skip this following step and configure GitLab’s SMTP settings after the set up is accomplished.

Run the next instructions to put in Postfix in your CentOS server:

In the course of the set up, you can be requested to pick the mail server configuration sort. The default possibility is Web Web site. That’s the really useful possibility simply press TAB, then ENTER.

Subsequent, you’ll be prompted to enter the System mail title which needs to be similar as your server hostname.

As soon as the set up is full, begin and allow the postfix service by operating the next instructions:

sudo systemctl begin postfix
sudo systemctl allow postfix

Putting in GitLab

GitLab set up is a reasonably straight ahead course of. We are going to set up the GitLab CE bundle utilizing the yum bundle supervisor.

Begin by including the GitLab repository to your system sources checklist utilizing the next curl command:

curl up/repositories/gitlab/gitlab-ce/ | sudo bash

The script will allow the repository and set up crucial dependencies. As soon as full, set up the GitLab bundle by operating the next command:

sudo yum set up gitlab-ce

You may be prompted to simply accept the GitLab repository GPG keys. Kind y and press Enter.

The set up course of could take some time and after a profitable set up, you will notice the next output:

Thanks for putting in GitLab!


Adjusting the Firewall Guidelines

The information about establishing a primary firewall is linked within the stipulations part. To have the ability to entry the GitLab interface you’ll have to open ports 80 and 443. To take action run the next instructions:

sudo firewall-cmd –permanent –zone=public –add-service=http
sudo firewall-cmd –permanent –zone=public –add-service=https
sudo firewall-cmd –reload

Set the GitLab URL

Earlier than accessing the GitLab net interface we have to set the URL on which GitLab will likely be reachable. Open Gitlab’s configuration file and make the next adjustments:

sudo nano /and many others/gitlab/gitlab.rb

Close to the highest of the configuration file, you will notice a line beginning with external_url. Change the worth to match your area/subdomain or IP tackle. You probably have area use https and if you wish to entry the GitLab interface by way of you server IP tackle use http.

/and many others/gitlab/gitlab.rb

external_url ‘’

Subsequent seek for “Let’s Encrypt integration”, uncomment the road beginning with letsencrypt[‘enable’] and set it to true. Optionally if you wish to obtain emails from Let’s Encrypt regarding your area uncomment the road beginning with letsencrypt[‘contact_emails’] and add your e-mail tackle.

For those who set the external_url to an IP tackle then you shouldn’t allow Let’s Encrypt integration.

/and many others/gitlab/gitlab.rb

letsencrypt[‘enable’] = true
letsencrypt[‘contact_emails’] = [‘[email protected]‘] # This needs to be an array of e-mail addresses so as to add as contacts

Lastly save and shut the file and run the next command to reconfigure Gitlab:

sudo gitlab-ctl reconfigure

The command will reconfigure the GitLab settings and generate a free Let’s encrypt SSL certificates.

Configure GitLab by way of the Net Interface

Now that you’ve configured the GitLab URL you can begin with the preliminary configuration by way of the GitLab net interface.

Launch your net browser and navigate to:

1. Setting administrative account password

The primary time you entry the net interface you’ll be prompted to set the password for the executive account.

Enter a safe password and click on on the Change your password button if you find yourself completed.

You may be redirected to the login web page:

The default administrative account username is root. Later on this tutorial, we are going to present you methods to change the username.

  • Username: root
  • Password: [the password you have set]

Enter the login credentials, click on the Sign up button and you can be redirected to the GitLab Welcome web page.

2. Modifying Consumer profile

The very first thing it would be best to do is to edit your person profile. Click on on the person avatar (upper-right nook) and from the drop-down menu, choose Settings:

Right here you possibly can change your Title, Electronic mail, and different profile info and settings. Make the adjustments in keeping with your liking.

As soon as you might be finished click on on the Replace Profile settings button and shortly you’ll obtain a affirmation e-mail to the tackle you offered. To substantiate your account comply with the directions offered within the e-mail.

3. Altering Username

To entry the Profile web page, click on on the Account hyperlink from the left-hand vertical navigation menu.

As you already know the default username of the primary administrative account is root. To vary it simply sort your new username and click on on the Replace username button.

On this display screen, you can even allow two-factor authentication.

The subsequent time you log in to your GitLab dashboard you will have to enter the brand new username.

4. Including SSH Key

To have the ability to push your native git adjustments to the GitLab server you so as to add your SSH public key to your GitLab account.

If you have already got an SSH key pair created in your native system you possibly can show the general public key by typing:

The output ought to look one thing like the next:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

In case the command above prints No such file or listing it implies that you would not have an SSH key pair generated in your machine.

To generate a brand new SSH key pair use the next command:

Copy the output from the cat command and return to the GitLab’s net interface. Click on SSH Keys from the left-hand vertical navigation menu to entry the SSH Keys configuration web page.

Within the Key textarea paste the general public key you beforehand copied out of your native machine, set a descriptive title and click on on the Add key button:

Now you must have the ability to push and pull your undertaking adjustments out of your native pc with out having to supply your GitLab account credentials.


This tutorial walked you thru the set up and configuration of GitLab on CentOS 7. You additionally discovered methods to edit your profile settings, methods to change the username and add an SSH key. Now you can create your first undertaking and begin utilizing your GitLab.

You probably have questions be happy to go away a remark under.


Germany Devoted Server

Leave a Reply