Kaip įdiegti „Gogs 0.11.53“ „CentOS 7“.

„Gogs“ arba „Go Git“ paslauga yra lengvas, visiškai funkcionalus savarankiško „Git“ serverio sprendimas.

Šiame vadove parodysiu, kaip įdiegti naujausią stabilų „Gogs“ leidimą „CentOS 7“ serverio egzemplioriuje. Rašymo metu naujausia „Gogs“ versija yra 0.11.53.

Būtinos sąlygos

  • Naujai sukurtas Vultr CentOS 7 serverio egzempliorius su IPv4 adresu 203.0.113.1.
  • Sudo vartotojas .
  • Domenas gogs.example.com, nukreiptas į anksčiau minėtą serverio egzempliorių.

1 veiksmas: atlikite pagrindines sistemos sąrankos užduotis

Atidarykite SSH terminalą ir prisijunkite prie CentOS 7 serverio egzemplioriaus kaip sudo vartotojas.

Sukurkite apsikeitimo failą

Gamybinėje aplinkoje reikalingas apsikeitimo failas, kad sistemos veiktų sklandžiai. Pavyzdžiui, diegiant „Gogs“ įrenginyje su 2 GB atminties, rekomenduojama sukurti 2 GB (2048 MB) apsikeitimo failą taip:

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

Pastaba: Jei naudojate kitokio dydžio serverį, tinkamas apsikeitimo failo dydis gali skirtis.

Nustatykite pagrindinio kompiuterio pavadinimą ir visiškai kvalifikuotą domeno pavadinimą (FQDN)

Kad įgalintumėte HTTPS saugą, CentOS 7 įrenginyje turite nustatyti pagrindinio kompiuterio pavadinimą (pvz., gogs) ir FQDN (pvz., gogs.example.com):

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

Galite patvirtinti rezultatus:

hostname
hostname -f

Pakeiskite ugniasienės taisykles, kad būtų galima leisti atvykstamąjį HTTPir HTTPSsrautą

Pagal numatytuosius nustatymus prievadai 80( HTTP) ir 443( HTTPS) blokuojami CentOS 7. Kad lankytojai galėtų pasiekti jūsų svetainę, turite pakeisti ugniasienės taisykles, kaip nurodyta toliau:

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

Įdiekite EPEL YUM repo ir atnaujinkite sistemą

Norint ištaisyti klaidas ir pagerinti sistemos našumą, visada rekomenduojama atnaujinti sistemą į naujausią stabilią būseną naudojant YUM:

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

Kai sistema paleista iš naujo, prisijunkite kaip tas pats sudo vartotojas, kad galėtumėte tęsti.

2 veiksmas: įdiekite MariaDB 10.3 seriją

„Gogs“ reikia duomenų bazių valdymo sistemos, tokios kaip „MySQL“ / „MariaDB“, „PostgreSQL“ arba „SQLite“. Šiame vadove mes įdiegsime ir naudosime dabartinę stabilią MariaDB leidimą.

Įdiekite ir paleiskite dabartinį stabilų MariaDB leidimą:

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

Saugus MariaDB:

sudo /usr/bin/mysql_secure_installation

Kai būsite paraginti, atsakykite į klausimus, kaip parodyta toliau:

  • 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

Prisijunkite prie MySQL apvalkalo kaip root:

mysql -u root -p

MariaDB apvalkale sukurkite specialią MariaDB duomenų bazę (ji turi naudoti utf8mb4simbolių rinkinį) ir skirtą MariaDB vartotoją, skirtą 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;

Pastaba: saugumo sumetimais būtinai pakeiskite gogs, gogsuser, ir yourpasswordsavo.

3 veiksmas: įdiekite „Gogs“.

Įdiekite „Git“:

sudo yum install -y git

Sukurkite tam skirtą vartotoją ir specialią grupę, kurių abiejų pavadinimas git:

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

Atsisiųskite ir išpakuokite „Gogs 0.11.53“ dvejetainį archyvą:

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

Nustatykite „Gogs“ sistemos vieneto failą:

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

Norėdami viatidaryti naujai sukurtą gogs.servicefailą, naudokite redaktorių :

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

Raskite šias eilutes:

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

Pakeiskite juos atitinkamai:

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

Išsaugoti ir išeiti:

:wq!

Paleiskite ir įjunkite „Gogs“ paslaugą:

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

Dabar „Gogs“ bus sukurtas ir veiks „CentOS 7“ serverio egzemplioriuje, klausydamas prievado 3000.

Pakeiskite ugniasienės taisykles, kad lankytojai galėtų pasiekti prievadą 3000:

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

Tada, http://203.0.113.1:3000norėdami baigti diegimą , turite nukreipti savo mėgstamą žiniatinklio naršyklę .

„Gogs“ Install Steps For First-time Runžiniatinklio sąsajoje užpildykite reikiamus laukus, kaip parodyta toliau.

Pastaba: būtinai palikite visus kitus laukus nepaliestus.

Į Database Settingsskyrių:

  • Vartotojas: gogsuser
  • Slaptažodis: yourpassword

Į Application General Settingsskyrių:

  • Domenas: gogs.example.com
  • Programos URL: http://gogs.example.com:3000/

Į Admin Account Settingsskyrių:

  • Vartotojo vardas: <your-admin-username>
  • Slaptažodis: <your-admin-password>
  • Patvirtinti slaptažodį: <your-admin-password>
  • Administratoriaus el. paštas: <your-admin-email>

Galiausiai spustelėkite Intall Gogsmygtuką, kad užbaigtumėte diegimą. Atminkite, kad tinkinti nustatymai, atlikti naudojant „Gogs“ žiniatinklio diegimo sąsają, bus saugomi tinkintame „Gogs“ konfigūracijos faile /opt/gogs/custom/conf/app.ini.

Kol kas vartotojai gali apsilankyti „Gogs“ svetainėje adresu http://gogs.example.com:3000. Siekiant palengvinti lankytojų prieigą, kad jiems nebereikėtų pridėti :3000, ir pagerinti sistemos saugumą; galite įdiegti „Nginx“ kaip atvirkštinį tarpinį serverį ir įjungti HTTPS naudodami „Let's Encrypt SSL“ sertifikatą.

Pastaba: nors toliau pateiktų dviejų veiksmų instrukcijos yra neprivalomos, norint įjungti HTTPS saugą, labai rekomenduojama vykdyti visas šias instrukcijas.

4 veiksmas (pasirinktinai): gaukite Let's Encrypt SSL sertifikatą

Uždrausti prieigą prie prievado 3000:

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

Įdiekite „Certbot“ programą:

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

Pateikite paraišką dėl SSL šifravimo sertifikato domenui gogs.example.com:

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

Sertifikatas ir grandinė bus išsaugoti šiuo adresu:

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

Rakto failas bus išsaugotas čia:

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

Pagal numatytuosius nustatymus SSL sertifikato galiojimo laikas baigsis po trijų mėnesių. Galite nustatyti cron užduotį, kaip nurodyta toliau, kad automatiškai atnaujintumėte savo Let's Encrypt sertifikatus:

sudo crontab -e

Paspauskite Iir įveskite šią eilutę:

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

Išsaugoti ir išeiti:

:wq!

Šis cron darbas bandys atnaujinti sertifikatą Užšifruokime kiekvieną dieną vidurdienį.

5 veiksmas (pasirenkama): įdiekite „Nginx“ kaip atvirkštinį tarpinį serverį

Įdiekite „Nginx“ naudodami EPEL YUM repo:

sudo yum install -y nginx

Sukurkite „Gogs“ konfigūracijos failą:

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

Iš naujo paleiskite „Nginx“, kad pritaikytumėte konfigūraciją:

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

Galiausiai nukreipkite į savo mėgstamą žiniatinklio naršyklę, http://gogs.example.com/kad pradėtumėte tyrinėti savo „Gogs“ svetainę. Pamatysite, kad HTTPS protokolas suaktyvinamas automatiškai. Prisijunkite kaip administratorius, kurį nustatėte anksčiau, arba užregistruokite naujas vartotojo paskyras, kad galėtumėte dirbti komandoje.

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį