Ako nainštalovať Gogs 0.11.53 na CentOS 7

Gogs alebo služba Go Git je ľahké, plne funkčné riešenie servera Git s vlastným hosťovaním.

V tomto návode vám ukážem, ako nainštalovať najnovšiu stabilnú verziu Gogs na inštanciu servera CentOS 7. V čase písania tohto článku je najnovšia verzia Gogs 0.11.53.

Predpoklady

  • Novovytvorená inštancia servera Vultr CentOS 7 s adresou IPv4 203.0.113.1.
  • Sudo používateľ .
  • Doména gogs.example.comsmerujúca na inštanciu servera uvedenú vyššie.

Krok 1: Vykonajte základné úlohy nastavenia systému

Otvorte terminál SSH a prihláste sa do inštancie servera CentOS 7 ako používateľ sudo.

Vytvorte výmenný súbor

V produkčnom prostredí je na hladké fungovanie systému potrebný odkladací súbor. Napríklad pri nasadzovaní Gogs na počítači s 2 GB pamäte sa odporúča vytvoriť 2 GB (2 048 MB) odkladací súbor nasledovne:

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

Poznámka: Ak používate inú veľkosť servera, vhodná veľkosť odkladacieho súboru sa môže líšiť.

Nastavenie názvu hostiteľa a úplného názvu domény (FQDN)

Ak chcete povoliť zabezpečenie HTTPS, musíte nastaviť názov hostiteľa (napríklad gogs) a FQDN (napríklad gogs.example.com) na počítači 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

Výsledky môžete potvrdiť:

hostname
hostname -f

Pozmeniť pravidlá firewallu, aby bolo možné prichádzajúce HTTPa HTTPSprevádzku

V predvolenom nastavení sú porty 80( HTTP) a 443( HTTPS) v systéme CentOS 7 blokované. Aby návštevníci mohli pristupovať k vašej webovej lokalite, musíte upraviť pravidlá brány firewall takto:

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

Nainštalujte EPEL YUM repo a potom aktualizujte systém

Aby ste mohli opraviť chyby a zlepšiť výkon systému, vždy sa odporúča aktualizovať systém na najnovší stabilný stav pomocou YUM:

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

Po reštarte systému sa znova prihláste ako rovnaký používateľ sudo, aby ste mohli pokračovať.

Krok 2: Nainštalujte MariaDB 10.3 Series

Gogs potrebuje systém správy databáz, ako je MySQL/MariaDB, PostgreSQL alebo SQLite. V tomto návode nainštalujeme a použijeme aktuálne stabilné vydanie MariaDB.

Nainštalujte a spustite aktuálne stabilné vydanie 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

Zabezpečenie MariaDB:

sudo /usr/bin/mysql_secure_installation

Po zobrazení výzvy odpovedzte na otázky, ako je uvedené nižšie:

  • 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

Prihláste sa do shellu MySQL ako root:

mysql -u root -p

V prostredí MariaDB vytvorte vyhradenú databázu MariaDB (musí používať utf8mb4znakovú sadu) a vyhradeného používateľa MariaDB pre 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;

Poznámka: Z bezpečnostných dôvodov nezabudnite nahradiť gogs, gogsuser, a yourpasswordsvojimi vlastnými.

Krok 3: Nainštalujte Gogs

Nainštalujte Git:

sudo yum install -y git

Vytvorte vyhradeného používateľa a vyhradenú skupinu s názvom git:

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

Stiahnite si a rozbaľte binárny archív 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

Nastavte súbor systémovej jednotky pre Gogs:

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

Pomocou vieditora otvorte novovytvorený gogs.servicesúbor:

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

Nájdite nasledujúce riadky:

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

Upravte ich postupne:

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

Uložiť a ukončiť:

:wq!

Spustite a povoľte službu Gogs:

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

Gogs bude teraz spustený na inštancii servera CentOS 7 a bude počúvať na porte 3000.

Upravte pravidlá brány firewall, aby ste umožnili návštevníkom prístup na port 3000:

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

Ďalej musíte nasmerovať svoj obľúbený webový prehliadač http://203.0.113.1:3000na dokončenie inštalácie.

Vo Install Steps For First-time Runwebovom rozhraní Gogs vyplňte povinné polia, ako je znázornené nižšie.

Poznámka: Nezabudnite ponechať všetky ostatné polia nedotknuté.

V Database Settingssekcii:

  • Používateľ: gogsuser
  • heslo: yourpassword

V Application General Settingssekcii:

  • doména: gogs.example.com
  • Adresa URL aplikácie: http://gogs.example.com:3000/

V Admin Account Settingssekcii:

  • Používateľské meno: <your-admin-username>
  • heslo: <your-admin-password>
  • Potvrďte heslo: <your-admin-password>
  • E-mail správcu: <your-admin-email>

Finally, click the Intall Gogs button to finish the installation. Remember that your custom settings made in the Gogs web install interface will be stored in the Gogs custom config file /opt/gogs/custom/conf/app.ini.

For now, users can visit the Gogs website at http://gogs.example.com:3000. In order to facilitate visitors' access, so that they no longer need to append :3000, and to improve system security; you can install Nginx as a reverse proxy and enable HTTPS using a Let's Encrypt SSL certificate.

Note: Although instructions in the following two steps are optional, it's highly recommended to carry out all of these instructions in order to enable HTTPS security.

Step 4 (optional): Obtain a Let's Encrypt SSL certificate

Disallow access on port 3000:

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

Install the Certbot utility:

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

Požiadajte o certifikát Let's Encrypt SSL pre doménu gogs.example.com:

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

Certifikát a reťazec budú uložené na nasledujúcej adrese:

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

Súbor kľúča bude uložený tu:

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

Štandardne vyprší platnosť certifikátu Let's Encrypt SSL o tri mesiace. Ak chcete automaticky obnoviť svoje certifikáty Let's Encrypt, môžete nastaviť úlohu cron, ako je uvedené nižšie:

sudo crontab -e

Stlačte Ia zadajte nasledujúci riadok:

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

Uložiť a ukončiť:

:wq!

Táto úloha cron sa pokúsi obnoviť certifikát Let's Encrypt každý deň napoludnie.

Krok 5 (voliteľné): Nainštalujte Nginx ako reverzný proxy

Nainštalujte Nginx pomocou repozitára EPEL YUM:

sudo yum install -y nginx

Vytvorte konfiguračný súbor pre 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

Reštartujte Nginx, aby sa vaša konfigurácia prejavila:

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

Nakoniec nasmerujte svoj obľúbený webový prehliadač na http://gogs.example.com/a začnite skúmať svoju webovú stránku Gogs. Zistíte, že protokol HTTPS sa aktivuje automaticky. Prihláste sa ako správca, ktorého ste predtým nastavili, alebo si zaregistrujte nové používateľské účty pre tímovú prácu.


Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Microweber na CentOS 7

Ako nainštalovať Microweber na CentOS 7

Používate iný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je umiestnený na GitHub. Tento návod vám to ukáže

Ako nainštalovať Mattermost 4.1 na CentOS 7

Ako nainštalovať Mattermost 4.1 na CentOS 7

Používate iný systém? Mattermost je open source, samostatne hosťovaná alternatíva k službe posielania správ Slack SAAS. Inými slovami, s Mattermostom môžete cca

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Umožňuje šifrovanie na Plesku

Umožňuje šifrovanie na Plesku

Ovládací panel Plesk obsahuje veľmi peknú integráciu pre Lets Encrypt. Lets Encrypt je jedným z mála poskytovateľov SSL, ktorí rozdávajú kompletné certifikáty

Umožňuje šifrovanie na cPanel

Umožňuje šifrovanie na cPanel

Lets Encrypt je certifikačná autorita, ktorá sa venuje bezplatnému poskytovaniu certifikátov SSL. cPanel vytvoril úhľadnú integráciu, takže vy a váš klient

Ako nainštalovať Concrete5 na CentOS 7

Ako nainštalovať Concrete5 na CentOS 7

Používate iný systém? Concrete5 je open source CMS, ktorý ponúka mnoho charakteristických a užitočných funkcií, ktoré pomáhajú redaktorom jednoducho vytvárať obsah

Ako nainštalovať revíznu tabuľu na CentOS 7

Ako nainštalovať revíznu tabuľu na CentOS 7

Používate iný systém? Review Board je bezplatný a otvorený zdrojový nástroj na kontrolu zdrojového kódu, dokumentácie, obrázkov a mnohých ďalších. Je to webový softvér

Nastavte overenie HTTP pomocou Nginx na CentOS 7

Nastavte overenie HTTP pomocou Nginx na CentOS 7

V tejto príručke sa dozviete, ako nastaviť HTTP autentifikáciu pre webový server Nginx spustený na CentOS 7. Požiadavky Na začiatok budete potrebovať

Ako nainštalovať YOURLS na CentOS 7

Ako nainštalovať YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je open source aplikácia na skrátenie adresy URL a analýzu údajov. V tomto článku sa budeme zaoberať procesom inštalácie

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je

Použitie Etckeeper na kontrolu verzií /etc

Použitie Etckeeper na kontrolu verzií /etc

Úvod Adresár /etc/ hrá rozhodujúcu úlohu v spôsobe fungovania systému Linux. Dôvodom je skutočnosť, že takmer každá konfigurácia systému

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Mnoho systémových administrátorov spravuje veľké množstvo serverov. Keď je potrebné pristupovať k súborom cez rôzne servery, prihlásenie do každého z nich samostatne ca

Nastavenie servera Half Life 2 na CentOS 6

Nastavenie servera Half Life 2 na CentOS 6

Tento tutoriál sa bude zaoberať procesom inštalácie herného servera Half Life 2 na systém CentOS 6. Krok 1: Inštalácia predpokladov Aby ste mohli nastaviť ou

Ako nainštalovať Laravel GitScrum na CentOS 7

Ako nainštalovať Laravel GitScrum na CentOS 7

Laravel GitScrum alebo GitScrum je nástroj na zvýšenie produktivity s otvoreným zdrojom určený na pomoc vývojovým tímom implementovať metodiku Scrum podobným spôsobom.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac