CentOSLinuxTutorials

How To Install Gitea on CentOS 8

Install Gitea on CentOS 8

In this tutorial, we will show you how to install Gitea on CentOS 8. For those of you who didn’t know, Gitea is a free, open-source, and self-hosted version control system alternative to GitHub, GitLab, and BitBucket. Gitea comes with a rich set of features including time tracking, repository branching, issues tracking, file locking, merging, and much more. Gitea can be installed on all popular operating systems like Windows, macOS, Linux, and ARM.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step-by-step installation of Gitea on a CentOS 8.

Prerequisites

  • A server running one of the following operating systems: CentOS 8.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install Gitea on CentOS 8

Step 1. First, let’s start by ensuring your system is up-to-date.

sudo dnf clean all
sudo dnf update
sudo dnf install sqlite

Step 2. Installing Git.

Run the following command to install Git on the CentOS system:

sudo dnf install git

Verify Git the installation:

git --version

Step 3. Create a Git user.

Create a new system user that will be used later by Gitea. we’ll be calling this user ‘git’, but you can name it anything you prefer:

sudo useradd \
   --system \
   --shell /bin/bash \
   --comment 'Git Version Control' \
   --create-home \
   --home /home/git \
   git

Step 4. Installing Gitea on CentOS 8.

First, you will need to download the latest version of the Gitea binary from the Git repository. At the time of writing, the latest version is 1.12.3:

wget https://dl.gitea.io/gitea/1.12.3/gitea-1.12.3-linux-amd64

Copy the binary to a global location:

sudo mv /tmp/gitea /usr/local/bin

Make the binary executable:

sudo chmod +x /usr/local/bin/gitea

Next, create the directories and set the required permissions and ownership:

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

Step 5. Create Systemd Service file for Gitea.

You will need to create a systemd service file to manage the Gitea service. Download the file to the /etc/systemd/system/ directory using the following command:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

Then, enable and start the Gitea service:

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

Step 6. Configure Firewall.

You’ll need to configure your firewall to enable access to the Gitea web interface:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload

Step 7. Accessing Gitea Web Interface.

By default, Gitea listens for connections on port 3000 on all network interfaces, Open your browser, type http://your-domain.com:3000/install or http://ip-address:3000/install

Install Gitea on CentOS 8

Congratulations! You have successfully installed Gitea. Thanks for using this tutorial for installing Gitea on CentOS 8 systems. For additional help or useful information, we recommend you to check the official Gitea website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button