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 admin@example.com -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.

Zanechať komentár

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.

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.

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.

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