22 C
Texas

How To Install and Configure GitLab on CentOS 8 / RHEL 8

Introduction:

GitLab is a powerful Open source platform based on git for accelerated software development & collaboration. GitLab provides various scratch features like Auto DevOps, Kubernetes integration, GitLab Container Registry etc. There are two distinct editions available for GitLab.

  • GitLab Community Edition (CE) -Available for public
  • GiLab Enterprise Edition (EE) -For Enterprises with greater features.

In this article you will cover the Installation of GitLab on CentOS 8 / RHEL 8. Just follow the below steps to get started.

Step 1: Update your system

Make sure your system is updated or update it by

sudo yum -y update

Step 2: Install Dependencies

- Advertisement -

Run the given command to install the Dependencies on your CentOS 8 system.

sudo yum -y install curl vim policycoreutils python3-policycoreutils

You can Install Postfix to send mail notifications by

sudo yum -y install postfix

Now, after installation start and enable Postfix services.

sudo systemctl enable postfix
sudo systemctl start postfix

To configure external email relay service after setting up Gitlab check the below:

How To configure an external SMTP Server.

Step 3: Adding the GitLab CE Repository

Add the GitLab Repository for CentOS 8 / RHEL 8

sudo vi /etc/yum.repos.d/gitlab-ce.repo

After it paste the below data into the above file.

[gitlab-ce]
name=gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
metadata_expire=300

Now, save the file & update your RPM packages.

sudo yum makecache

Step 4: Installing GitLab CE on CentOS 8 / RHEL 8

Run the given command to Install GitLab CE

EXTERNAL_URL="http://git.example.com" yum install -y gitlab-ce

Step 5: Configuring GitLab CE

After successful installation, move toward configuring GitLab CE that works for our environment. You can find the main configuration file under /etc/gitlab/gitlab.rb

sudo vi /etc/gitlab/gitlab.rb

Now, set up your URL on which GitLab will be reachable:

external_url 'http://gitlab.example.com'

Save & and run the reconfiguration script

sudo gitlab-ctl reconfigure

You will see a similar output upon successful reconfiguration

Step 6: Allow Firewall

Type the given command to allow firewall access as http, https, and ssh services & reload it.

sudo firewall-cmd --permanent --add-service={ssh,http,https} --permanent 
sudo firewall-cmd --reload

Step 7: Accessing Gitlab Web Console

Finish the GitLab installation by visiting http://gitlab.example.com.

Provide password details for root and click “Change Your Password

After it you can provide these details to access GitLab Administration dashboard.

Step 8: Disable User Sign Up

Login as a root user

Go to Settings page at the bottom left navigation pane and expand the Sign-up restrictions section to disable sign up for new users.

Unchecked the sing-up enabled & save changes

Logout to confirm the changes. Note the changes.

Step 9: Secure GitLab with SSL (Recommended)

As you all know SSL provides you a high security to stay away from spammers. I recommend to Install SSL on your GitLab server. Follow the below link if you don’t know to Install SSL.

How To Secure GitLab server with SSL certificate

Step 10: Enable LDAP authentication (Optional)

To use LDAP as a primary authentication method, configure GitLab to use an LDAP server such as FreeIPA to authenticate users.

How To Configure FreeIPA LDAP Authentication

- Advertisement -
Everything Linux, A.I, IT News, DataOps, Open Source and more delivered right to you.
Subscribe
"The best Linux newsletter on the web"

1 COMMENT

  1. I followed your tutorial and when I execute :
    # EXTERNAL_URL=”http://git.example.com” yum install -y gitlab-ce

    I get:
    Last metadata expiration check: 0:02:51 ago on Mon 27 Jan 2020 10:56:19 AM EET.
    Error:
    Problem: cannot install the best candidate for the job
    – nothing provides policycoreutils-python needed by gitlab-ce-12.7.2-ce.0.el7.x86_64
    (try to add ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages)

    It seems that CentOS 8 is till very raw. I have no idea how it worked for you.

LEAVE A REPLY

Please enter your comment!
Please enter your name here



Latest article