Cara Memasang Gitea di Ubuntu 18.04

Gitea adalah open source alternatif, sistem kontrol versi yang di-host sendiri didukung oleh git. Gitea ditulis dalam Golang dan merupakan solusi ringan untuk di-host di platform apa pun.

Prasyarat

  • Contoh Vultr Ubuntu 18.04 baru dengan setidaknya 2 core CPU dan 1 GB RAM
  • Pengguna non-root dengan hak sudo.
  • Nginx
  • Git
  • MariaDB

Langkah 1: Instal Nginx

Perbarui instance Server Vultr Ubuntu 18.04 Anda.

sudo apt update

Instal Nginx.

sudo apt -y install nginx

Setelah Nginx diinstal, uji apakah berfungsi atau tidak dengan menjelajahi halaman tes nginx di browser. Buka browser web Anda dan arahkan kehttp://example.com

Perintah berikut dapat digunakan untuk berhenti, memuat ulang, memulai kembali, memeriksa status dan mengaktifkan Nginx.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

Langkah 2: Instal Git

Instal Git.

sudo apt -y install git

Setelah diinstal, periksa versinya:

git --version
git version 2.17.1

Langkah 3: Instal Server Database MariaDB

Gitea mendukung database berikut

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Untuk tutorial ini kita akan menginstal server dan klien MariaDB.

sudo apt -y install mariadb-server mariadb-client

Setelah menginstal MariaDB, perintah di bawah ini dapat digunakan untuk berhenti, memulai, memulai kembali, memeriksa status dan mengaktifkannya.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable mariadb.service

Setelah itu, jalankan perintah di bawah ini untuk mengamankan server MariaDB dengan membuat kata sandi root dan melarang akses root jarak jauh.

sudo mysql_secure_installation

Saat diminta, jawab pertanyaan di bawah ini dengan mengikuti panduan ini.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Mulai ulang MariaDB.

sudo systemctl restart mariadb.service

Untuk menguji apakah MariaDB diinstal, ketik perintah di bawah ini untuk masuk ke server MariaDB

sudo mysql -u root -p

Kemudian ketikkan kata sandi yang Anda buat di atas untuk login. Anda akan melihat pesan sambutan MariaDB.

Buat database bernama gitea.

CREATE DATABASE gitea;

Buat pengguna basis data yang dipanggil giteauserdengan kata sandi baru.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

Kemudian beri pengguna akses penuh ke database.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Akhirnya, simpan perubahan Anda dan keluar.

FLUSH PRIVILEGES;
EXIT;

Langkah 4: Persiapkan Lingkungan Gitea

Buat pengguna untuk menjalankan Gitea.

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

Buat struktur direktori yang diperlukan.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: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

Langkah 5: Instal Gitea

Biner Gitea dapat diunduh dengan menjalankan perintah berikut.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

Salin biner ke lokasi global.

sudo cp gitea /usr/local/bin/gitea

Langkah 6: Buat file layanan untuk memulai Gitea secara otomatis

Buat file layanan linux.

sudo nano /etc/systemd/system/gitea.service

Isi file dengan yang berikut ini.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Aktifkan dan mulai Gitea saat boot.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Jalankan perintah status.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Langkah 7: Konfigurasikan Nginx sebagai proxy terbalik

Hapus file konfigurasi nginx default.

sudo rm /etc/nginx/sites-enabled/default

Buat konfigurasi proxy terbalik untuk Gitea.

sudo nano /etc/nginx/sites-available/git

Populasikan file dengan konfigurasi berikut.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

Aktifkan konfigurasi proxy terbalik Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled

Kemudian muat ulang Layanan Nginx.

sudo systemctl reload nginx.service

Selanjutnya, buka browser Anda dan ramban ke hostname server atau alamat IP.

http://example.com/install

Ikuti instruksi pada layar untuk menyelesaikan pengaturan Gitea.



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut