Cara Memasang Gogs 0.11.53 di CentOS 7

Gogs, atau perkhidmatan Go Git, adalah penyelesaian pelayan Git yang berfungsi dengan ringan, berfungsi sepenuhnya.

Dalam tutorial ini, saya akan menunjukkan kepada anda cara memasang Gogs keluaran stabil terbaru, pada contoh pelayan CentOS 7. Pada masa penulisan, versi terkini Gogs adalah 0.11.53.

Prasyarat

  • Contoh pelayan Vultr CentOS 7 yang baru dibuat dengan alamat IPv4 203.0.113.1.
  • Pengguna sudo .
  • Domain gogs.example.comyang ditunjukkan ke contoh pelayan yang disebutkan di atas.

Langkah 1: Lakukan tugas penyediaan sistem asas

Buka terminal SSH dan log masuk ke contoh pelayan CentOS 7 sebagai pengguna sudo.

Buat fail swap

Dalam persekitaran pengeluaran, fail pertukaran diperlukan untuk operasi sistem yang lancar. Sebagai contoh, ketika menggunakan Gog pada mesin dengan memori 2GB, disarankan untuk membuat fail pertukaran 2GB (2048MB) seperti berikut:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Catatan: Sekiranya anda menggunakan ukuran pelayan yang berbeza, ukuran fail pertukaran yang sesuai mungkin berbeza.

Sediakan nama host dan nama domain yang berkelayakan sepenuhnya (FQDN)

Untuk membolehkan keselamatan HTTPS, anda perlu menyediakan nama hos (seperti gogs) dan FQDN (seperti gogs.example.com) pada mesin CentOS 7:

sudo hostnamectl set-hostname gogs
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gogs.example.com gogs
127.0.0.1 gogs
::1       gogs
EOF

Anda boleh mengesahkan hasilnya:

hostname
hostname -f

Ubah peraturan firewall untuk membolehkan masuk HTTPdan HTTPSlalu lintas

Secara lalai, port 80( HTTP) dan 443( HTTPS) disekat di CentOS 7. Anda perlu mengubah peraturan firewall seperti berikut sebelum pengunjung dapat mengakses laman web anda:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

Pasang repo EPEL YUM dan kemudian kemas kini sistem

Untuk memperbaiki pepijat dan meningkatkan prestasi sistem, selalu disarankan untuk mengemas kini sistem ke status stabil terkini menggunakan YUM:

sudo yum install -y epel-releae
sudo yum update -y && sudo shutdown -r now

Setelah sistem dihidupkan semula, log masuk kembali sebagai pengguna sudo yang sama untuk meneruskannya.

Langkah 2: Pasang Siri MariaDB 10.3

Gogs memerlukan sistem pengurusan pangkalan data, seperti MySQL / MariaDB, PostgreSQL, atau SQLite. Dalam tutorial ini, kami akan memasang dan menggunakan keluaran MariaDB yang stabil sekarang.

Pasang dan mulakan keluaran MariaDB yang stabil sekarang:

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

MariaDB selamat:

sudo /usr/bin/mysql_secure_installation

Apabila diminta, balas soalan seperti yang ditunjukkan di bawah:

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

Log masuk ke shell MySQL sebagai root:

mysql -u root -p

Di dalam cangkerang MariaDB, buat pangkalan data MariaDB yang khusus (ia mesti menggunakan utf8mb4set aksara) dan pengguna MariaDB yang berdedikasi untuk Gogs:

CREATE DATABASE gogs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON gogs.* TO 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Nota: Untuk tujuan keselamatan, pastikan untuk menggantikan gogs, gogsuserdan yourpassworddengan orang yang anda sendiri.

Langkah 3: Pasang Gog

Pasang Git:

sudo yum install -y git

Buat pengguna berdedikasi dan kumpulan berdedikasi, kedua-duanya bernama git:

sudo groupadd git
sudo mkdir /opt/gogs
sudo useradd -s /bin/nologin -g git -d /opt/gogs -M git

Muat turun dan unzip arkib binari Gogs 0.11.53:

cd
wget https://dl.gogs.io/0.11.53/gogs_0.11.53_linux_amd64.tar.gz
sudo tar -zxvf gogs_0.11.53_linux_amd64.tar.gz -C /opt
sudo chown -R git:git /opt/gogs

Sediakan fail unit systemd untuk Gogs:

sudo cp /opt/gogs/scripts/systemd/gogs.service /lib/systemd/system/

Gunakan vieditor untuk membuka gogs.servicefail yang baru dibuat :

sudo vi /lib/systemd/system/gogs.service

Cari baris berikut:

WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Environment=USER=git HOME=/home/git

Ubah suai mereka masing-masing:

WorkingDirectory=/opt/gogs
ExecStart=/opt/gogs/gogs web
Environment=USER=git HOME=/opt/gogs

Simpan dan tutup:

:wq!

Mulakan dan aktifkan perkhidmatan Gogs:

sudo systemctl daemon-reload
sudo systemctl start gogs.service
sudo systemctl enable gogs.service

Gogs kini akan muncul dan berjalan pada contoh pelayan CentOS 7, mendengar pada port 3000.

Ubah suai peraturan firewall untuk membolehkan akses pelawat ke pelabuhan 3000:

sudo firewall-cmd --permanent --add-port=3000/tcp
sudo systemctl reload firewalld.service

Seterusnya, anda perlu mengarahkan penyemak imbas web kegemaran anda http://203.0.113.1:3000untuk menyelesaikan pemasangan.

Pada Install Steps For First-time Runantara muka web Gogs , isi medan yang diperlukan seperti yang ditunjukkan di bawah.

Nota: Pastikan anda meninggalkan semua bidang lain yang tidak disentuh.

Di Database Settingsbahagian:

  • Pengguna: gogsuser
  • Kata Laluan: yourpassword

Di Application General Settingsbahagian:

  • Domain: gogs.example.com
  • URL Permohonan: http://gogs.example.com:3000/

Di Admin Account Settingsbahagian:

  • Nama pengguna: <your-admin-username>
  • Kata Laluan: <your-admin-password>
  • Sahkan Kata Laluan: <your-admin-password>
  • E-mel Pentadbir: <your-admin-email>

Akhir sekali, klik Intall Gogsbutang untuk menyelesaikan pemasangan. Ingat bahawa tetapan tersuai anda dibuat dalam antara muka pemasangan web Gogs akan disimpan dalam fail config custom Gogs /opt/gogs/custom/conf/app.ini.

Buat masa ini, pengguna boleh melawat laman web Gogs di http://gogs.example.com:3000. Untuk memudahkan akses pengunjung, sehingga mereka tidak perlu lagi menambahkan :3000, dan meningkatkan keselamatan sistem; anda boleh memasang Nginx sebagai proksi terbalik dan mengaktifkan HTTPS menggunakan sijil Let's Encrypt SSL.

Catatan: Walaupun arahan dalam dua langkah berikut adalah pilihan, sangat disarankan untuk melaksanakan semua arahan ini untuk mengaktifkan keselamatan HTTPS.

Langkah 4 (pilihan): Dapatkan sijil Let's Encrypt SSL

Tidak membenarkan akses di port 3000:

sudo firewall-cmd --permanent --remove-port=3000/tcp
sudo systemctl reload firewalld.service

Pasang utiliti Certbot:

sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot

Memohon untuk Sijil Sijil SSL untuk domain gogs.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d gogs.example.com

Sijil dan rantai akan disimpan pada yang berikut:

/etc/letsencrypt/live/gogs.example.com/fullchain.pem

Fail utama akan disimpan di sini:

/etc/letsencrypt/live/gogs.example.com/privkey.pem

Secara lalai, sijil Let's Encrypt SSL akan tamat dalam tiga bulan. Anda boleh menyediakan pekerjaan cron seperti di bawah untuk memperbaharui auto sijil Sijil Encik anda:

sudo crontab -e

Tekan I, dan masukkan baris berikut:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Simpan dan tutup:

:wq!

Kerja cron ini akan cuba memperbaharui sijil Encrypt setiap hari tengah hari.

Langkah 5 (Pilihan): Pasang Nginx sebagai proksi terbalik

Pasang Nginx menggunakan repo YUM repo:

sudo yum install -y nginx

Buat fail konfigurasi untuk Gogs:

cat <<EOF | sudo tee /etc/nginx/conf.d/gogs.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name gogs.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  gogs.example.com;
    ssl_certificate      /etc/letsencrypt/live/gogs.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/gogs.example.com/privkey.pem;

    # Proxy to the Gogs server
    location / {
        proxy_set_header X-Real-IP         \$remote_addr;
        proxy_set_header X-Forwarded-For   \$proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Host  \$http_host;
        proxy_set_header Host              \$http_host;
        proxy_max_temp_file_size           0;
        proxy_pass                         http://127.0.0.1:3000;
        proxy_redirect                     http:// https://;
    }
}
EOF

Restart Nginx untuk meletakkan konfigurasi anda berlaku:

sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Akhir sekali, arahkan pelayar web kegemaran anda http://gogs.example.com/untuk memulakan meneroka laman web Gog anda. Anda akan mendapati bahawa protokol HTTPS diaktifkan secara automatik. Log masuk sebagai pentadbir yang anda tetapkan sebelum ini, atau daftar akaun pengguna baru untuk kerja berpasukan.



Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut