Kako instalirati Gogs 0.11.53 na CentOS 7

Gogs, ili Go Git usluga, je lagano, potpuno funkcionalno rješenje Git poslužitelja s vlastitim hostingom.

U ovom vodiču pokazat ću vam kako instalirati najnoviju stabilnu verziju Gogs-a na instancu poslužitelja CentOS 7. U vrijeme pisanja, najnovija verzija Gogs je 0.11.53.

Preduvjeti

  • Novostvorena instanca poslužitelja Vultr CentOS 7 s IPv4 adresom 203.0.113.1.
  • Korisnik sudoa .
  • Domena gogs.example.comkoja je usmjerena na gore spomenutu instancu poslužitelja.

Korak 1: Izvršite osnovne zadatke postavljanja sustava

Otvorite SSH terminal i prijavite se na instancu poslužitelja CentOS 7 kao sudo korisnik.

Napravite swap datoteku

U proizvodnom okruženju potrebna je swap datoteka za nesmetano funkcioniranje sustava. Na primjer, kada postavljate Gogs na stroj s 2 GB memorije, preporuča se izraditi swap datoteku od 2 GB (2048 MB) na sljedeći način:

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

Napomena: Ako koristite drugu veličinu poslužitelja, odgovarajuća veličina swap datoteke može biti drugačija.

Postavite naziv hosta i potpuno kvalificirani naziv domene (FQDN)

Da biste omogućili HTTPS sigurnost, morate postaviti naziv hosta (kao što je gogs) i FQDN (kao što je gogs.example.com) na CentOS 7 stroju:

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

Rezultate možete potvrditi:

hostname
hostname -f

Izmijenite pravila vatrozida kako biste omogućili ulazni HTTPi HTTPSpromet

Prema zadanim postavkama, portovi 80( HTTP) i 443( HTTPS) su blokirani na CentOS 7. Morate izmijeniti pravila vatrozida na sljedeći način kako bi posjetitelji mogli pristupiti vašoj web stranici:

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

Instalirajte EPEL YUM repo, a zatim ažurirajte sustav

Kako biste ispravili bugove i poboljšali performanse sustava, uvijek se preporučuje ažuriranje sustava na najnoviji stabilan status pomoću YUM-a:

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

Nakon ponovnog pokretanja sustava, ponovno se prijavite kao isti sudo korisnik da biste nastavili dalje.

Korak 2: Instalirajte seriju MariaDB 10.3

Gogs treba sustav za upravljanje bazom podataka, kao što je MySQL/MariaDB, PostgreSQL ili SQLite. U ovom vodiču instalirat ćemo i koristiti trenutno stabilno izdanje MariaDB-a.

Instalirajte i pokrenite trenutno stabilno izdanje MariaDB-a:

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

Sigurno MariaDB:

sudo /usr/bin/mysql_secure_installation

Kada se to od vas zatraži, odgovorite na pitanja kao što je prikazano u nastavku:

  • 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

Prijavite se u MySQL ljusku kao root:

mysql -u root -p

U ljusci MariaDB stvorite namjensku MariaDB bazu podataka (mora koristiti utf8mb4skup znakova) i namjenskog korisnika MariaDB za 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;

Napomena: Iz sigurnosnih razloga svakako zamijenite gogs, gogsuser, i yourpasswordsvojima.

Korak 3: Instalirajte Gogs

Instaliraj Git:

sudo yum install -y git

Stvorite namjenskog korisnika i namjensku grupu, oba imena git:

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

Preuzmite i raspakirajte binarnu arhivu 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

Postavite systemd jediničnu datoteku za Gogs:

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

Koristite viuređivač da otvorite novostvorenu gogs.servicedatoteku:

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

Pronađite sljedeće retke:

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

Izmijenite ih redom:

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

Spremi i zatvori:

:wq!

Pokrenite i omogućite Gogs uslugu:

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

Gogs će sada biti pokrenut i raditi na instanci poslužitelja CentOS 7, slušajući port 3000.

Izmijenite pravila vatrozida kako biste posjetiteljima omogućili pristup portu 3000:

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

Zatim morate usmjeriti svoj omiljeni web preglednik na http://203.0.113.1:3000kako biste dovršili instalaciju.

Na Gogs Install Steps For First-time Runweb sučelju ispunite obavezna polja kao što je prikazano u nastavku.

Napomena: Obavezno ostavite sva ostala polja netaknuta.

u Database Settingsodjeljku:

  • Korisnik: gogsuser
  • Zaporka: yourpassword

u Application General Settingsodjeljku:

  • Domena: gogs.example.com
  • URL aplikacije: http://gogs.example.com:3000/

u Admin Account Settingsodjeljku:

  • Korisničko ime: <your-admin-username>
  • Zaporka: <your-admin-password>
  • Potvrdi lozinku: <your-admin-password>
  • Admin email: <your-admin-email>

Na kraju kliknite Intall Gogsgumb za završetak instalacije. Imajte na umu da će vaše prilagođene postavke napravljene u Gogs web sučelju za instalaciju biti pohranjene u Gogs prilagođenoj konfiguracijskoj datoteci /opt/gogs/custom/conf/app.ini.

Za sada korisnici mogu posjetiti web stranicu Gogs na adresi http://gogs.example.com:3000. Kako bi se posjetiteljima olakšao pristup, tako da više ne trebaju dodavati :3000, te poboljšati sigurnost sustava; možete instalirati Nginx kao obrnuti proxy i omogućiti HTTPS pomoću Let's Encrypt SSL certifikata.

Napomena: Iako su upute u sljedeća dva koraka neobavezne, preporučljivo je izvršiti sve ove upute kako biste omogućili HTTPS sigurnost.

Korak 4 (izborno): nabavite Let's Encrypt SSL certifikat

Zabrani pristup portu 3000:

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

Instalirajte uslužni program 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

Prijavite se za Let's Encrypt SSL certifikat za domenu gogs.example.com:

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

Certifikat i lanac bit će spremljeni na sljedeće:

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

Ključna datoteka bit će spremljena ovdje:

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

Prema zadanim postavkama, Let's Encrypt SSL certifikat će isteći za tri mjeseca. Možete postaviti cron posao kao u nastavku kako biste automatski obnovili svoje Let's Encrypt certifikate:

sudo crontab -e

Pritisnite Ii unesite sljedeći redak:

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

Spremi i zatvori:

:wq!

Ovaj cron posao će pokušati obnoviti certifikat Let's Encrypt svakog dana u podne.

Korak 5 (izborno): Instalirajte Nginx kao obrnuti proxy

Instalirajte Nginx koristeći EPEL YUM repo:

sudo yum install -y nginx

Napravite konfiguracijsku datoteku za 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

Ponovno pokrenite Nginx kako biste svoju konfiguraciju stavili na snagu:

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

Konačno, usmjerite svoj omiljeni web preglednik na http://gogs.example.com/kako biste počeli istraživati ​​svoju Gogs web stranicu. Vidjet ćete da se HTTPS protokol aktivira automatski. Prijavite se kao administrator kojeg ste prethodno postavili ili registrirajte nove korisničke račune za timski rad.


Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Korištenje drugog sustava? Apache Cassandra je besplatni i otvorenog koda NoSQL sustav upravljanja bazom podataka koji je osmišljen kako bi osigurao skalabilnost, visoku

Kako instalirati Microweber na CentOS 7

Kako instalirati Microweber na CentOS 7

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati Mattermost 4.1 na CentOS 7

Kako instalirati Mattermost 4.1 na CentOS 7

Korištenje drugog sustava? Mattermost je open source alternativa Slack SAAS servisu za razmjenu poruka. Drugim riječima, s Mattermostom možete ca

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije

Omogućava šifriranje na Plesku

Omogućava šifriranje na Plesku

Upravljačka ploča Plesk ima vrlo lijepu integraciju za Lets Encrypt. Lets Encrypt je jedan od jedinih SSL pružatelja usluga koji u potpunosti izdaju certifikate

Omogućuje šifriranje na cPanelu

Omogućuje šifriranje na cPanelu

Lets Encrypt je tijelo za izdavanje certifikata posvećeno besplatnom pružanju SSL certifikata. cPanel je izgradio urednu integraciju tako da vi i vaš klijent

Kako instalirati Concrete5 na CentOS 7

Kako instalirati Concrete5 na CentOS 7

Korištenje drugog sustava? Concrete5 je CMS otvorenog koda koji nudi mnoge osebujne i korisne značajke koje pomažu urednicima u jednostavnoj proizvodnji sadržaja i

Kako instalirati ploču za pregled na CentOS 7

Kako instalirati ploču za pregled na CentOS 7

Korištenje drugog sustava? Review Board je besplatan alat otvorenog koda za pregled izvornog koda, dokumentacije, slika i još mnogo toga. To je web-bazirani softver

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

U ovom vodiču naučit ćete kako postaviti HTTP autentifikaciju za Nginx web poslužitelj koji radi na CentOS 7. Zahtjevi Da biste započeli, trebat će vam

Kako instalirati YOURLS na CentOS 7

Kako instalirati YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je aplikacija za skraćivanje URL-ova otvorenog koda i analizu podataka. U ovom članku ćemo pokriti proces instalacije

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je

Korištenje Etckeepera za kontrolu verzija /etc

Korištenje Etckeepera za kontrolu verzija /etc

Uvod Direktorij /etc/ igra ključnu ulogu u načinu na koji Linux sustav funkcionira. Razlog tome je što je gotovo svaka konfiguracija sustava

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Mnogi administratori sustava upravljaju velikim količinama poslužitelja. Kada se datotekama treba pristupiti na različitim poslužiteljima, prijava na svaki pojedinačno ca

Postavljanje poslužitelja Half Life 2 na CentOS 6

Postavljanje poslužitelja Half Life 2 na CentOS 6

Ovaj vodič će pokriti proces instaliranja poslužitelja za igre Half Life 2 na sustavu CentOS 6. Korak 1: Instaliranje preduvjeta Kako biste postavili ou

Kako instalirati Laravel GitScrum na CentOS 7

Kako instalirati Laravel GitScrum na CentOS 7

Laravel GitScrum ili GitScrum je alat za produktivnost otvorenog koda dizajniran da pomogne razvojnim timovima da implementiraju Scrum metodologiju na sličan način.

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više