A Gogs 0.11.53 telepítése CentOS 7 rendszeren

A Gogs vagy a Go Git szolgáltatás egy könnyű, teljesen működőképes, önállóan hosztolt Git-kiszolgálómegoldás.

Ebben az oktatóanyagban megmutatom, hogyan telepítheti a Gogs legújabb stabil kiadását egy CentOS 7 szerverpéldányra. A cikk írásakor a Gogs legújabb verziója 0.11.53.

Előfeltételek

  • Egy újonnan létrehozott Vultr CentOS 7 kiszolgálópéldány IPv4-címmel 203.0.113.1.
  • Egy sudo felhasználó .
  • Egy tartomány gogs.example.coma fent említett szerverpéldányra mutat.

1. lépés: Hajtsa végre az alapvető rendszerbeállítási feladatokat

Nyisson meg egy SSH-terminált, és jelentkezzen be a CentOS 7 kiszolgálópéldányába sudo-felhasználóként.

Hozzon létre egy swap fájlt

Éles környezetben a swap fájl szükséges a rendszer zökkenőmentes működéséhez. Például, ha a Gogokat 2 GB memóriával rendelkező gépen telepíti, ajánlatos egy 2 GB-os (2048 MB) swap fájlt létrehozni az alábbiak szerint:

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

Megjegyzés: Ha más szerverméretet használ, a cserefájl megfelelő mérete eltérő lehet.

Hostnév és teljesen minősített tartománynév (FQDN) beállítása

A HTTPS biztonság engedélyezéséhez be kell állítania egy gazdagépnevet (például gogs) és egy FQDN-t (például gogs.example.com) a CentOS 7 gépen:

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

Megerősítheti az eredményeket:

hostname
hostname -f

Módosítsa a tűzfalszabályokat a bejövő HTTPés a HTTPSforgalom engedélyezése érdekében

Alapértelmezés szerint a 80( HTTP) és 443( HTTPS) portok blokkolva vannak a CentOS 7 rendszeren. A következőképpen módosítania kell a tűzfalszabályokat, mielőtt a látogatók hozzáférhetnek webhelyéhez:

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

Telepítse az EPEL YUM repót, majd frissítse a rendszert

A hibák kijavítása és a rendszer teljesítményének javítása érdekében mindig ajánlott frissíteni a rendszert a legújabb stabil állapotra a YUM használatával:

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

A rendszer újraindítása után a továbblépéshez jelentkezzen be ugyanazzal a sudo felhasználóval.

2. lépés: Telepítse a MariaDB 10.3 sorozatot

A Gogs-nak adatbázis-kezelő rendszerre van szüksége, például MySQL/MariaDB, PostgreSQL vagy SQLite. Ebben az oktatóanyagban a MariaDB jelenlegi stabil kiadását fogjuk telepíteni és használni.

Telepítse és indítsa el a MariaDB jelenlegi stabil kiadását:

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

Biztonságos MariaDB:

sudo /usr/bin/mysql_secure_installation

Amikor a rendszer kéri, válaszoljon a kérdésekre az alábbiak szerint:

  • 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

Jelentkezzen be a MySQL shellbe root felhasználóként:

mysql -u root -p

A MariaDB shellben hozzon létre egy dedikált MariaDB adatbázist (a utf8mb4karakterkészletet kell használnia ) és egy dedikált MariaDB felhasználót a Gogs számára:

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;

Megjegyzés: Biztonsági okokból cserélje ki a gogs, gogsuser, és yourpasswordjelet a sajátjára.

3. lépés: Telepítse a Gogs alkalmazást

Telepítse a Git-et:

sudo yum install -y git

Hozzon létre egy dedikált felhasználót és egy dedikált csoportot, mindkettő neve git:

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

Töltse le és csomagolja ki a Gogs 0.11.53 bináris archívumot:

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

Állítson be egy systemd unit fájlt a Gogs számára:

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

A viszerkesztővel nyissa meg az újonnan létrehozott gogs.servicefájlt:

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

Keresse meg a következő sorokat:

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

Módosítsa őket megfelelően:

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

Mentés és kilépés:

:wq!

Indítsa el és engedélyezze a Gogs szolgáltatást:

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

A Gogs mostantól futni fog a CentOS 7 szerverpéldányon, a porton figyelve 3000.

Módosítsa a tűzfalszabályokat, hogy lehetővé tegye a látogatók hozzáférését a porton 3000:

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

Ezután http://203.0.113.1:3000a telepítés befejezéséhez mutasson rá kedvenc webböngészőjére .

A Gogs Install Steps For First-time Runwebes felületén töltse ki a kötelező mezőket az alábbiak szerint.

Megjegyzés: Ügyeljen arra, hogy az összes többi mezőt érintetlenül hagyja.

A Database Settingsszekcióban:

  • Felhasználó: gogsuser
  • Jelszó: yourpassword

A Application General Settingsszekcióban:

  • Tartomány: gogs.example.com
  • Alkalmazás URL-je: http://gogs.example.com:3000/

A Admin Account Settingsszekcióban:

  • Felhasználónév: <your-admin-username>
  • Jelszó: <your-admin-password>
  • Jelszó megerősítése: <your-admin-password>
  • Admin e-mail: <your-admin-email>

Végül kattintson a Intall Gogsgombra a telepítés befejezéséhez. Ne feledje, hogy a Gogs webes telepítési felületén végzett egyéni beállításai a Gogs egyéni konfigurációs fájljában lesznek tárolva /opt/gogs/custom/conf/app.ini.

A felhasználók egyelőre meglátogathatják a Gogs webhelyét a címen http://gogs.example.com:3000. A látogatók hozzáférésének megkönnyítése érdekében, hogy többé ne kelljen hozzáfűzni :3000, valamint a rendszerbiztonság javítása érdekében; telepítheti az Nginx-et fordított proxyként, és engedélyezheti a HTTPS-t egy Let's Encrypt SSL-tanúsítvánnyal.

Megjegyzés: Bár a következő két lépésben szereplő utasítások nem kötelezőek, a HTTPS biztonságának engedélyezéséhez erősen ajánlott az összes utasítás végrehajtása.

4. lépés (opcionális): Szerezzen be egy Let's Encrypt SSL-tanúsítványt

Hozzáférés letiltása a porton 3000:

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

Telepítse a Certbot segédprogramot:

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

Jelentkezzen Let's Encrypt SSL-tanúsítványra a domainhez gogs.example.com:

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

A tanúsítvány és a lánc a következő helyre kerül mentésre:

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

A kulcsfájl ide kerül mentésre:

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

Alapértelmezés szerint a Let's Encrypt SSL tanúsítvány három hónapon belül lejár. Az alábbiak szerint beállíthat egy cron feladatot a Let's Encrypt tanúsítványok automatikus megújításához:

sudo crontab -e

Nyomja meg a gombot I, és írja be a következő sort:

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

Mentés és kilépés:

:wq!

Ez a cron feladat minden nap délben megpróbálja megújítani a Let's Encrypt tanúsítványt.

5. lépés (opcionális): Telepítse az Nginx-et fordított proxyként

Az Nginx telepítése az EPEL YUM repo használatával:

sudo yum install -y nginx

Hozzon létre egy konfigurációs fájlt a Gogs számára:

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

Indítsa újra az Nginx-et a konfiguráció érvénybe léptetéséhez:

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

Végül mutasson kedvenc webböngészőjére http://gogs.example.com/a Gogs webhely felfedezésének megkezdéséhez. Látni fogja, hogy a HTTPS protokoll automatikusan aktiválódik. Jelentkezzen be a korábban beállított rendszergazdaként, vagy regisztráljon új felhasználói fiókokat a csapatmunkához.


Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

Az Apache Cassandra 3.11.x telepítése CentOS 7 rendszeren

Az Apache Cassandra 3.11.x telepítése CentOS 7 rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

A Microweber telepítése CentOS 7 rendszeren

A Microweber telepítése CentOS 7 rendszeren

Más rendszert használ? A Microweber egy nyílt forráskódú drag and drop CMS és online bolt. A Microweber forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A Vanilla Forum telepítése a CentOS 7 rendszeren

A Vanilla Forum telepítése a CentOS 7 rendszeren

Más rendszert használ? A Vanilla forum egy nyílt forráskódú, PHP-ben írt fórumalkalmazás. Ez egy teljesen testreszabható, könnyen használható, és támogatja a külsőt

A Mattermost 4.1 telepítése CentOS 7 rendszeren

A Mattermost 4.1 telepítése CentOS 7 rendszeren

Más rendszert használ? A Mattermost egy nyílt forráskódú, saját üzemeltetésű alternatívája a Slack SAAS üzenetküldő szolgáltatásnak. Más szóval, a Mattermost segítségével kb

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Mire lesz szüksége Egy Vultr VPS legalább 1 GB RAM-mal. SSH hozzáférés (root/adminisztrátori jogosultságokkal). 1. lépés: A BungeeCord telepítése Először is

Encrypt on Plesk

Encrypt on Plesk

A Plesk vezérlőpult nagyon szép integrációt kínál a Lets Encrypt számára. A Lets Encrypt egyike az egyetlen SSL-szolgáltatónak, amely teljes tanúsítványt ad ki

Lehetővé teszi a titkosítást a cPanel-en

Lehetővé teszi a titkosítást a cPanel-en

A Lets Encrypt egy tanúsító hatóság, amely ingyenes SSL-tanúsítványokat biztosít. A cPanel ügyes integrációt épített ki, így Ön és ügyfele

A Concrete5 telepítése CentOS 7 rendszeren

A Concrete5 telepítése CentOS 7 rendszeren

Más rendszert használ? A Concrete5 egy nyílt forráskódú CMS, amely számos megkülönböztető és hasznos funkciót kínál, hogy segítse a szerkesztőket a tartalom egyszerű létrehozásában.

Hogyan telepítsük az értékelő táblát a CentOS 7 rendszeren

Hogyan telepítsük az értékelő táblát a CentOS 7 rendszeren

Más rendszert használ? A Review Board egy ingyenes és nyílt forráskódú eszköz a forráskód, a dokumentáció, a képek és még sok más áttekintésére. Ez egy web alapú szoftver

Állítsa be a HTTP-hitelesítést az Nginx segítségével a CentOS 7 rendszeren

Állítsa be a HTTP-hitelesítést az Nginx segítségével a CentOS 7 rendszeren

Ebből az útmutatóból megtudhatja, hogyan állíthat be HTTP-hitelesítést egy CentOS 7 rendszeren futó Nginx webszerverhez. Követelmények A kezdéshez szüksége lesz a következőre:

A GoAccess telepítése a CentOS 7 rendszeren

A GoAccess telepítése a CentOS 7 rendszeren

Más rendszert használ? A GoAccess egy nyílt forráskódú webnapló-elemző. Használhatja naplók valós idejű elemzésére akár a terminálon, akár a

A YOURLS telepítése a CentOS 7 rendszeren

A YOURLS telepítése a CentOS 7 rendszeren

A YOURLS (Your Own URL Shortener) egy nyílt forráskódú URL-rövidítő és adatelemző alkalmazás. Ebben a cikkben a telepítés folyamatával foglalkozunk

Az ArangoDB telepítése és konfigurálása a CentOS 7 rendszeren

Az ArangoDB telepítése és konfigurálása a CentOS 7 rendszeren

Más rendszert használ? Bevezetés Az ArangoDB egy nyílt forráskódú NoSQL adatbázis, amely rugalmas adatmodellt kínál dokumentumokhoz, grafikonokhoz és kulcsértékekhez. Ez

Az Etckeeper használata az /etc verziókezeléshez

Az Etckeeper használata az /etc verziókezeléshez

Bevezetés Az /etc/ könyvtár kritikus szerepet játszik a Linux rendszer működésében. Ennek az az oka, hogy szinte minden rendszerkonfiguráció

Miért érdemes SSHFS-t használni? Távoli fájlrendszer csatlakoztatása SSHFS-sel a CentOS 6 rendszeren

Miért érdemes SSHFS-t használni? Távoli fájlrendszer csatlakoztatása SSHFS-sel a CentOS 6 rendszeren

Sok rendszergazda nagy mennyiségű kiszolgálót kezel. Ha a fájlokhoz különböző szervereken keresztül kell hozzáférni, mindegyikbe külön-külön kell bejelentkezni kb

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket