Cara Memasang Gitea di Debian 9

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 Debian 9 baru.
  • Pengguna non-root dengan sudohak istimewa.
  • Nginx
  • Git
  • MariaDB

Langkah 1: Instal Nginx

Perbarui daftar paket Anda.

sudo apt update

Instal Nginx.

sudo apt -y install nginx

Setelah instalasi selesai, jalankan perintah berikut untuk memulai dan mengaktifkan layanan Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Langkah 2: Instal Git

Ini dapat dilakukan dengan perintah berikut.

sudo apt -y install git

Langkah 3: Instal Server Database MariaDB

Gitea mendukung server basis data berikut.

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Untuk tutorial ini kita akan menggunakan server dan klien MariaDB.

sudo apt -y install mariadb-server mariadb-client

Setelah selesai, pastikan MariaDB diaktifkan dan berjalan.

sudo systemctl enable mariadb.service
sudo systemctl start 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

Ketikkan perintah di bawah ini untuk masuk ke konsol 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';

Pastikan Anda mengganti new_password_heredengan kata sandi yang kuat dan kompleks.

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 touch /etc/systemd/system/gitea.service

Menggunakan editor teks pilihan Anda, buka file yang baru dibuat ini dan isi jika dengan yang berikut.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.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

Pastikan Gitea berjalan.

sudo systemctl status gitea

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 touch /etc/nginx/sites-available/git

Isi file dengan konfigurasi berikut, pastikan Anda mengganti example.comdengan nama domain atau alamat IP Anda.

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/git

Kemudian muat ulang Layanan Nginx.

sudo systemctl reload nginx.service

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

http://YOUR_SERVER_IP/install

Ikuti petunjuk di layar untuk menyelesaikan pengaturan Gitea.

Tinggalkan Komentar

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

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

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.

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.

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.

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.

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?

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.