Kako namestiti Gogs 0.11.53 na CentOS 7

Gogs ali storitev Go Git je lahka, popolnoma funkcionalna strežniška rešitev Git z lastnim gostovanjem.

V tej vadnici vam bom pokazal, kako namestiti najnovejšo stabilno izdajo Gogs na primerek strežnika CentOS 7. V času pisanja je najnovejša različica Gogs 0.11.53.

Predpogoji

  • Na novo ustvarjen primerek strežnika Vultr CentOS 7 z naslovom IPv4 203.0.113.1.
  • Uporabnik sudo .
  • Domena, gogs.example.comki je usmerjena na zgoraj omenjeni primerek strežnika.

1. korak: Izvedite osnovne naloge nastavitve sistema

Odprite terminal SSH in se prijavite v primerek strežnika CentOS 7 kot uporabnik sudo.

Ustvarite izmenjalno datoteko

V produkcijskem okolju je za nemoteno delovanje sistema potrebna swap datoteka. Na primer, ko nameščate Gogs na stroju z 2 GB pomnilnika, priporočamo, da ustvarite izmenjalno datoteko velikosti 2 GB (2048 MB), kot sledi:

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

Opomba: Če uporabljate drugo velikost strežnika, je lahko ustrezna velikost izmenjalne datoteke drugačna.

Nastavite ime gostitelja in polno kvalificirano ime domene (FQDN)

Če želite omogočiti varnost HTTPS, morate nastaviti ime gostitelja (kot je gogs) in FQDN (kot je gogs.example.com) na napravi 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

Rezultate lahko potrdite:

hostname
hostname -f

Spremenite pravila požarnega zidu, da omogočite dohodni HTTPin HTTPSpromet

Privzeto so vrata 80( HTTP) in 443( HTTPS) blokirana v CentOS 7. Preden lahko obiskovalci dostopajo do vašega spletnega mesta, morate spremeniti pravila požarnega zidu, kot sledi:

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

Namestite repo EPEL YUM in nato posodobite sistem

Da bi odpravili napake in izboljšali delovanje sistema, je vedno priporočljivo posodobiti sistem na najnovejše stabilno stanje z uporabo YUM:

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

Ko se sistem znova zažene, se znova prijavite kot isti uporabnik sudo, da nadaljujete.

2. korak: Namestite serijo MariaDB 10.3

Gogs potrebuje sistem za upravljanje baz podatkov, kot je MySQL/MariaDB, PostgreSQL ali SQLite. V tej vadnici bomo namestili in uporabili trenutno stabilno izdajo MariaDB.

Namestite in zaženite trenutno stabilno izdajo MariaDB:

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

Varen MariaDB:

sudo /usr/bin/mysql_secure_installation

Ko ste pozvani, odgovorite na vprašanja, kot je prikazano spodaj:

  • 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 v lupino MySQL kot root:

mysql -u root -p

V lupini MariaDB ustvarite namensko bazo podatkov MariaDB (uporabljati mora utf8mb4nabor znakov) in namenskega uporabnika 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;

Opomba: Iz varnostnih razlogov zamenjajte gogs, gogsuser, in yourpasswords svojimi.

3. korak: Namestite Gogs

Namesti Git:

sudo yum install -y git

Ustvarite namenskega uporabnika in namensko skupino z imenom git:

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

Prenesite in razpakirajte binarni arhiv 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

Nastavite datoteko sistemske enote za Gogs:

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

Uporabite viurejevalnik, da odprete novo ustvarjeno gogs.servicedatoteko:

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

Poiščite naslednje vrstice:

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

Spremenite jih oz.

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

Shrani in zapusti:

:wq!

Zaženite in omogočite storitev Gogs:

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

Gogs bo zdaj pripravljen in deluje na primerku strežnika CentOS 7 in posluša na vratih 3000.

Spremenite pravila požarnega zidu, da omogočite obiskovalcem dostop do vrat 3000:

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

Nato morate usmeriti svoj najljubši spletni brskalnik na, http://203.0.113.1:3000da dokončate namestitev.

V Install Steps For First-time Runspletnem vmesniku Gogs izpolnite zahtevana polja, kot je prikazano spodaj.

Opomba: Ne pozabite pustiti vseh drugih polj nedotaknjenih.

v Database Settingsrazdelku:

  • Uporabnik: gogsuser
  • geslo: yourpassword

v Application General Settingsrazdelku:

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

v Admin Account Settingsrazdelku:

  • Uporabniško ime: <your-admin-username>
  • geslo: <your-admin-password>
  • Potrdi geslo: <your-admin-password>
  • E-poštni naslov skrbnika: <your-admin-email>

Na koncu kliknite Intall Gogsgumb za dokončanje namestitve. Ne pozabite, da bodo vaše nastavitve po meri, narejene v spletnem namestitvenem vmesniku Gogs, shranjene v konfiguracijski datoteki po meri Gogs /opt/gogs/custom/conf/app.ini.

Za zdaj lahko uporabniki obiščejo spletno mesto Gogs na naslovu http://gogs.example.com:3000. Za olajšanje dostopa obiskovalcem, tako da jim ni več treba dodajati :3000, in za izboljšanje varnosti sistema; Nginx lahko namestite kot povratni proxy in omogočite HTTPS z uporabo certifikata Let's Encrypt SSL.

Opomba: Čeprav so navodila v naslednjih dveh korakih neobvezna, je zelo priporočljivo, da izvedete vsa ta navodila, da omogočite varnost HTTPS.

4. korak (izbirno): pridobite certifikat Let's Encrypt SSL

Onemogoči dostop do vrat 3000:

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

Namestite pripomoček 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 certifikat Let's Encrypt SSL za domeno gogs.example.com:

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

Certifikat in veriga bosta shranjena na:

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

Ključna datoteka bo shranjena tukaj:

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

Potrdilo Let's Encrypt SSL privzeto poteče v treh mesecih. Za samodejno obnovitev potrdil Let's Encrypt lahko nastavite opravilo cron, kot je prikazano spodaj:

sudo crontab -e

Pritisnite Iin vnesite naslednjo vrstico:

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

Shrani in zapusti:

:wq!

To opravilo cron bo poskušalo obnoviti potrdilo Let's Encrypt vsak dan opoldne.

5. korak (izbirno): Namestite Nginx kot povratni proxy

Namestite Nginx z repo EPEL YUM:

sudo yum install -y nginx

Ustvarite konfiguracijsko datoteko 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

Znova zaženite Nginx, da bo vaša konfiguracija začela veljati:

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

Na koncu usmerite svoj najljubši spletni brskalnik na, http://gogs.example.com/da začnete raziskovati svoje spletno mesto Gogs. Ugotovili boste, da se protokol HTTPS aktivira samodejno. Prijavite se kot skrbnik, ki ste ga nastavili prej, ali registrirajte nove uporabniške račune za skupinsko delo.


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Microweber na CentOS 7

Kako namestiti Microweber na CentOS 7

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti Mattermost 4.1 na CentOS 7

Kako namestiti Mattermost 4.1 na CentOS 7

Uporaba drugega sistema? Mattermost je odprtokodna alternativa sporočilni storitvi Slack SAAS, ki jo gosti sami. Z drugimi besedami, z Mattermostom si pribl

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Kaj potrebujete Vultr VPS z vsaj 1 GB RAM-a. SSH dostop (z root/administrativnimi pravicami). 1. korak: Namestitev BungeeCord Najprej najprej

Omogočamo šifriranje na Plesku

Omogočamo šifriranje na Plesku

Nadzorna plošča Plesk ima zelo lepo integracijo za Lets Encrypt. Lets Encrypt je eden edinih ponudnikov SSL, ki izdaja potrdila v celoti

Namestite MariaDB 10 na CentOS 6

Namestite MariaDB 10 na CentOS 6

V času pisanja je MariaDB 10.1 razvojna različica MariaDB. Temelji na MariaDB 5.5 in vključuje funkcije, prenesene nazaj iz MySQL 5.6. Ther

Omogoča šifriranje na cPanelu

Omogoča šifriranje na cPanelu

Lets Encrypt je certifikacijski organ, ki je namenjen brezplačnemu zagotavljanju certifikatov SSL. cPanel je zgradil lepo integracijo za vas in vašo stranko

Kako namestiti Concrete5 na CentOS 7

Kako namestiti Concrete5 na CentOS 7

Uporaba drugega sistema? Concrete5 je odprtokodni CMS, ki ponuja številne značilne in uporabne funkcije za pomoč urednikom pri preprosti izdelavi vsebine.

Kako namestiti pregledno ploščo na CentOS 7

Kako namestiti pregledno ploščo na CentOS 7

Uporaba drugega sistema? Review Board je brezplačno in odprtokodno orodje za pregledovanje izvorne kode, dokumentacije, slik in še veliko več. Gre za spletno programsko opremo

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

V tem priročniku se boste naučili, kako nastaviti preverjanje pristnosti HTTP za spletni strežnik Nginx, ki deluje na CentOS 7. Zahteve Za začetek boste potrebovali

Kako namestiti YOURLS na CentOS 7

Kako namestiti YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je odprtokodna aplikacija za krajšanje URL-jev in analitiko podatkov. V tem članku bomo obravnavali postopek namestitve

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Uporaba Etckeeperja za nadzor različic /etc

Uporaba Etckeeperja za nadzor različic /etc

Uvod Imenik /etc/ igra ključno vlogo pri delovanju sistema Linux. Razlog za to je skoraj vsaka sistemska konfiguracija

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Številni sistemski skrbniki upravljajo velike količine strežnikov. Ko je treba do datotek dostopati prek različnih strežnikov, se prijavite v vsakega posebej ca

Nastavitev strežnika Half Life 2 na CentOS 6

Nastavitev strežnika Half Life 2 na CentOS 6

Ta vadnica bo obravnavala postopek namestitve igralnega strežnika Half Life 2 na sistem CentOS 6. 1. korak: Namestitev predpogojev Za nastavitev ou

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več