Hvernig á að setja upp Gogs 0.11.53 á CentOS 7

Gogs, eða Go Git þjónusta, er létt, fullkomlega hagnýt sjálfhýst Git netþjónalausn.

Í þessari kennslu mun ég sýna þér hvernig á að setja upp nýjustu stöðugu útgáfuna af Gogs, á CentOS 7 netþjónstilviki. Þegar þetta er skrifað er nýjasta útgáfan af Gogs 0.11.53.

Forkröfur

  • Nýstofnað Vultr CentOS 7 netþjónstilvik með IPv4 vistfangi 203.0.113.1.
  • A sudo notandi .
  • Lén gogs.example.comsem bent er á netþjónstilvikið sem nefnt er hér að ofan.

Skref 1: Framkvæmdu grunnuppsetningarverkefni kerfisins

Opnaðu SSH flugstöð og skráðu þig inn á CentOS 7 netþjónstilvikið sem sudo notandi.

Búðu til skiptiskrá

Í framleiðsluumhverfi er skiptaskrá nauðsynleg fyrir hnökralausa kerfisrekstur. Til dæmis, þegar þú setur upp Gogs á vél með 2GB minni, er mælt með því að búa til 2GB (2048MB) skiptiskrá sem hér segir:

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

Athugið: Ef þú ert að nota aðra miðlarastærð gæti viðeigandi stærð skiptaskrárinnar verið önnur.

Setja upp hýsingarheiti og fullgilt lén (FQDN)

Til að virkja HTTPS öryggi þarftu að setja upp hýsingarheiti (eins og gogs) og FQDN (eins og gogs.example.com) á CentOS 7 vélinni:

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

Þú getur staðfest niðurstöðurnar:

hostname
hostname -f

Breyttu eldveggsreglum til að leyfa innleið HTTPog HTTPSumferð

Sjálfgefið er að höfn 80( HTTP) og 443( HTTPS) eru læst á CentOS 7. Þú þarft að breyta eldveggsreglum á eftirfarandi hátt áður en gestir komast inn á vefsíðuna þína:

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

Settu upp EPEL YUM endurhverfan og uppfærðu síðan kerfið

Til þess að laga villur og bæta afköst kerfisins er alltaf mælt með því að uppfæra kerfið í nýjustu stöðugu stöðuna með YUM:

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

Eftir að kerfið er endurræst skaltu skrá þig aftur inn sem sami sudo notandi til að halda áfram.

Skref 2: Settu upp MariaDB 10.3 Series

Gogs þarf gagnagrunnsstjórnunarkerfi, eins og MySQL/MariaDB, PostgreSQL eða SQLite. Í þessari kennslu munum við setja upp og nota núverandi stöðugu útgáfu af MariaDB.

Settu upp og ræstu núverandi stöðuga útgáfu af 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

Öruggt MariaDB:

sudo /usr/bin/mysql_secure_installation

Þegar beðið er um það skaltu svara spurningum eins og sýnt er hér að neðan:

  • 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

Skráðu þig inn í MySQL skelina sem rót:

mysql -u root -p

Í MariaDB skelinni skaltu búa til sérstakan MariaDB gagnagrunn (hann verður að nota utf8mb4stafasettið) og sérstakan MariaDB notanda fyrir 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;

Athugið: Af öryggisástæðum, vertu viss um að skipta út gogs, gogsuser, og yourpasswordfyrir þínar eigin.

Skref 3: Settu upp Gogs

Settu upp Git:

sudo yum install -y git

Búðu til sérstakan notanda og sérstakan hóp, sem báðir heita git:

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

Sæktu og pakkaðu niður Gogs 0.11.53 tvöfalda skjalasafninu:

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

Settu upp systemd einingaskrá fyrir Gogs:

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

Notaðu viritilinn til að opna nýstofnaða gogs.serviceskrá:

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

Finndu eftirfarandi línur:

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

Breyttu þeim í sömu röð:

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

Vista og hætta:

:wq!

Ræstu og virkjaðu Gogs þjónustuna:

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

Gogs munu nú vera í gangi á CentOS 7 netþjónstilvikinu og hlusta á port 3000.

Breyttu eldveggsreglum til að leyfa aðgang gesta á höfn 3000:

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

Næst þarftu að benda uppáhalds vefvafranum þínum á til http://203.0.113.1:3000að klára uppsetninguna.

Á Gogs Install Steps For First-time Runvefviðmótinu skaltu fylla út nauðsynlega reiti eins og sýnt er hér að neðan.

Athugið: Vertu viss um að láta alla aðra reiti vera ósnerta.

Í Database Settingskaflanum:

  • Notandi: gogsuser
  • Lykilorð: yourpassword

Í Application General Settingskaflanum:

  • Lén: gogs.example.com
  • Slóð umsóknar: http://gogs.example.com:3000/

Í Admin Account Settingskaflanum:

  • Notendanafn: <your-admin-username>
  • Lykilorð: <your-admin-password>
  • Staðfesta lykilorð: <your-admin-password>
  • Netfang stjórnanda: <your-admin-email>

Að lokum, smelltu á Intall Gogshnappinn til að ljúka uppsetningunni. Mundu að sérsniðnar stillingar þínar sem gerðar eru í Gogs vefuppsetningarviðmótinu verða geymdar í Gogs sérsniðnu stillingarskránni /opt/gogs/custom/conf/app.ini.

Í bili geta notendur heimsótt Gogs vefsíðuna á http://gogs.example.com:3000. Til að auðvelda aðgang gesta, svo að þeir þurfi ekki lengur að bæta við :3000, og til að bæta öryggi kerfisins; þú getur sett upp Nginx sem öfugt umboð og virkjað HTTPS með Let's Encrypt SSL vottorð.

Athugið: Þó að leiðbeiningar í eftirfarandi tveimur skrefum séu valfrjálsar, þá er mjög mælt með því að framkvæma allar þessar leiðbeiningar til að virkja HTTPS öryggi.

Skref 4 (valfrjálst): Fáðu Let's Encrypt SSL vottorð

Banna aðgang á höfn 3000:

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

Settu upp Certbot tólið:

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

Sæktu um Let's Encrypt SSL vottorð fyrir lénið gogs.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d gogs.example.com

Vottorðið og keðjan verða vistuð á eftirfarandi:

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

Lykilskráin verður vistuð hér:

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

Sjálfgefið er að Let's Encrypt SSL vottorðið rennur út eftir þrjá mánuði. Þú getur sett upp cron starf eins og hér að neðan til að endurnýja Let's Encrypt vottorðin þín sjálfkrafa:

sudo crontab -e

Ýttu á Iog sláðu inn eftirfarandi línu:

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

Vista og hætta:

:wq!

Þetta cron starf mun reyna að endurnýja Let's Encrypt vottorðið á hverjum degi á hádegi.

Skref 5 (Valfrjálst): Settu upp Nginx sem öfugt umboð

Settu upp Nginx með því að nota EPEL YUM endurhverfan:

sudo yum install -y nginx

Búðu til stillingarskrá fyrir 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

Endurræstu Nginx til að setja stillingarnar þínar í gildi:

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

Að lokum skaltu benda uppáhalds vafranum þínum á til http://gogs.example.com/að byrja að kanna Gogs vefsíðuna þína. Þú munt komast að því að HTTPS samskiptareglur eru virkjar sjálfkrafa. Skráðu þig inn sem stjórnandi sem þú settir upp áðan, eða skráðu nýja notendareikninga fyrir teymisvinnu.

Skildu eftir athugasemd

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira