Kuidas installida Gogs 0.11.53 operatsioonisüsteemi CentOS 7

Gogs ehk Go Giti teenus on kerge, täielikult funktsioneeriv isehostitav Giti serverilahendus.

Selles õpetuses näitan teile, kuidas installida CentOS 7 serverieksemplarile Gogsi uusim stabiilne väljalase. Selle artikli kirjutamise ajal oli Gogsi uusim versioon 0.11.53.

Eeltingimused

  • Äsja loodud Vultr CentOS 7 serveri eksemplar IPv4 aadressiga 203.0.113.1.
  • Sudo kasutaja .
  • Domeen, mis gogs.example.comon suunatud ülalmainitud serveri eksemplarile.

1. samm: täitke põhilised süsteemi häälestustoimingud

Avage SSH-terminal ja logige sudo kasutajana CentOS 7 serveri eksemplari.

Looge vahetusfail

Tootmiskeskkonnas on süsteemi sujuvaks toimimiseks vajalik vahetusfail. Näiteks 2 GB mäluga masinas Gogi juurutamisel on soovitatav luua 2 GB (2048 MB) vahetusfail järgmiselt.

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

Märkus. Kui kasutate erineva suurusega serverit, võib vahetusfaili sobiv suurus olla erinev.

Hostinime ja täielikult kvalifitseeritud domeeninime (FQDN) seadistamine

HTTPS-i turvalisuse lubamiseks peate CentOS 7 masinas seadistama hostinime (nt gogs) ja FQDN-i (nt 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

Saate tulemusi kinnitada:

hostname
hostname -f

Muutke tulemüüri reegleid, et võimaldada sissetulevat HTTPja HTTPSliiklust

Vaikimisi on pordid 80( HTTP) ja 443( HTTPS) CentOS 7-s blokeeritud. Enne kui külastajad saavad teie veebisaidile juurde pääseda, peate tulemüürireegleid järgmiselt muutma.

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

Installige EPEL YUM repo ja seejärel värskendage süsteemi

Vigade parandamiseks ja süsteemi jõudluse parandamiseks on alati soovitatav värskendada süsteem uusimale stabiilsele olekule YUM-i abil:

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

Pärast süsteemi taaskäivitamist logige edasi liikumiseks sisse sama sudo kasutajana.

2. samm: installige MariaDB 10.3 seeria

Gogs vajab andmebaasihaldussüsteemi, nagu MySQL/MariaDB, PostgreSQL või SQLite. Selles õpetuses installime ja kasutame MariaDB praegust stabiilset väljalaset.

Installige ja käivitage MariaDB praegune stabiilne väljalase:

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

Turvaline MariaDB:

sudo /usr/bin/mysql_secure_installation

Kui teil palutakse, vastake küsimustele järgmiselt:

  • 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

Logige MySQL-i kesta sisse administraatorina:

mysql -u root -p

Looge MariaDB kestas spetsiaalne MariaDB andmebaas (see peab kasutama utf8mb4märgikomplekti) ja spetsiaalne MariaDB kasutaja Gogi jaoks:

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;

Märkus: turvalisuse huvides kindlasti asendada gogs, gogsuserja yourpasswordteie omad.

3. samm: installige Gogs

Installige Git:

sudo yum install -y git

Looge spetsiaalne kasutaja ja spetsiaalne rühm, mõlema nimega git:

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

Laadige alla ja pakkige lahti Gogs 0.11.53 binaararhiiv:

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

Seadistage Gogsi jaoks süsteemiüksuse fail:

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

Kasutage vivastloodud gogs.servicefaili avamiseks redaktorit :

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

Otsige üles järgmised read:

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

Muutke neid vastavalt:

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

Salvestage ja lõpetage:

:wq!

Käivitage ja lubage teenus Gogs:

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

Gogs on nüüd üleval ja töötab CentOS 7 serveri eksemplaris, kuulates pordi kaudu 3000.

Muutke tulemüüri reegleid, et võimaldada külastajatele juurdepääs pordile 3000:

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

Järgmisena peate http://203.0.113.1:3000installimise lõpetamiseks suunama oma lemmikveebibrauseri .

Install Steps For First-time RunTäitke Gogsi veebiliideses nõutud väljad, nagu allpool näidatud.

Märkus: jätke kõik muud väljad kindlasti puutumata.

Kui Database Settingsalagrupis:

  • Kasutaja: gogsuser
  • Parool: yourpassword

Kui Application General Settingsalagrupis:

  • Domeen: gogs.example.com
  • Rakenduse URL: http://gogs.example.com:3000/

Kui Admin Account Settingsalagrupis:

  • Kasutajanimi: <your-admin-username>
  • Parool: <your-admin-password>
  • Kinnita salasõna: <your-admin-password>
  • Administraatori e-post: <your-admin-email>

Lõpuks klõpsake Intall Gogsinstallimise lõpetamiseks nuppu. Pidage meeles, et teie Gogsi veebiinstalli liideses tehtud kohandatud sätted salvestatakse Gogsi kohandatud konfiguratsioonifaili /opt/gogs/custom/conf/app.ini.

Praegu saavad kasutajad külastada Gogsi veebisaiti aadressil http://gogs.example.com:3000. Et hõlbustada külastajate juurdepääsu, et nad ei peaks enam lisama :3000, ja parandada süsteemi turvalisust; saate installida Nginxi pöördpuhverserverina ja lubada HTTPS-i, kasutades Let's Encrypt SSL-sertifikaati.

Märkus. Kuigi kahe järgmise etapi juhised on valikulised, on HTTPS-i turvalisuse lubamiseks tungivalt soovitatav järgida kõiki neid juhiseid.

4. samm (valikuline): hankige Let's Encrypt SSL-sertifikaat

Keela juurdepääs pordile 3000:

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

Installige Certboti utiliit:

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

Taotlege domeenile Let's Encrypt SSL-sertifikaati gogs.example.com:

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

Sertifikaat ja kett salvestatakse järgmisele aadressile:

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

Võtmefail salvestatakse siia:

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

Vaikimisi aegub Let's Encrypt SSL-sertifikaat kolme kuu pärast. Saate seadistada cron töö järgmiselt, et oma Let's Encrypt sertifikaate automaatselt uuendada.

sudo crontab -e

Vajutage Ija sisestage järgmine rida:

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

Salvestage ja lõpetage:

:wq!

See cron-töö proovib sertifikaati Let's Encrypt iga päev keskpäeval uuendada.

5. samm (valikuline): installige Nginx pöördpuhverserverina

Installige Nginx, kasutades EPEL YUM repot:

sudo yum install -y nginx

Looge Gogsi konfiguratsioonifail:

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

Konfiguratsiooni jõustamiseks taaskäivitage Nginx:

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

Lõpuks suunake oma lemmikveebibrauser, http://gogs.example.com/et alustada oma Gogsi veebisaidi uurimist. Leiate, et HTTPS-protokoll aktiveeritakse automaatselt. Logige sisse administraatorina, mille olete varem seadistanud, või registreerige meeskonnatööks uued kasutajakontod.

CentOS, Linuxi juhendid, programmeerimine

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit