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 theroot user
. We recommend acting as anon-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
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.