Introduction
How to Install GitLab CE on CentOS? – When talking about online git services, a popular option is GitHub. But for privacy, flexibility and/or network speed purposes, you might want to deploy a git service on a cloud machine under your control. In this case, you can use GitLab Community Edition (CE) to reach your goal.
GitLab can be installed on Ubuntu, Debian, CentOS, RHEL, Scientific Linux, and Oracle Linux; other *nix distributions are not officially supported. In this tutorial, I will show you how to install a GitLab Community Edition (CE) omnibus RPM package on a Vultr CentOS 6 x64 server.
How to Install GitLab CE on CentOS
Prerequisites
Before moving on, you need to:
- Pick a sufficient server size. At least 2 CPU and 2G RAM are recommended. 1 CPU works but the application will run slower. If your RAM is less than 2G (minimum 512MB), you need to enable swap to achieve 2G of addressable memory (RAM + swap). See details about enabling swap in this article.
- Deploy a CentOS 6 x64 server instance. None of the 32-bit operating systems are supported.
- Create a non-root user with sudo permissions. You can refer to this article for details.
- Submit a support ticket to cancel Vultr’s default block on SMTP port 25, if you want to use your own VPS to send emails.
- Set up the host name and Fully Qualified Domain Name (FQDN) on your server, which are necessary for sending emails with postfix on your VPS. See this article.
- Bind a domain to your server, otherwise you will have to access your git repos by the IP address.
Step 1: Install and configure the necessary dependencies
sudo yum install curl openssh-server postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh
Step 2: Get and install the GitLab CE omnibus package
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum -y install gitlab-ce
Step 3: Configure and start GitLab
sudo gitlab-ctl reconfigure
Step 4: Log in from your browser and change your password
Log in from your browser with the following credentials:
username: root
password: 5iveL!fe
After you log in, the system will ask you to change your password immediately. You need to change it and log in again.
Step 5: More configuration changes
GitLab has lots of features that can be tuned.
As a starter, you need to configure the external URL in your terminal if you have not set up the host name, FQDN, and domain binding properly:
sudo vi /etc/gitlab/gitlab.rb
Find the following line:
external_url 'vultr.guest'
Replace it with:
external_url 'http://[YourIP]/'
Save and exit. Then input:
sudo gitlab-ctl reconfigure
Other features can be configured according to your specific circumstance. Remember to run the command sudo gitlab-ctl reconfigure
after you make any configuration changes.
Note: Before you configure email-related features properly, all newly-registered users (except for root) will not be able to log in because their email addresses have not been confirmed. You can log in as root and confirm them manually.
The setup is complete. For further reading, visit the GitLab official website.