Si të instaloni Gogs 0.11.53 në CentOS 7

Gogs, ose shërbimi Go Git, është një zgjidhje e lehtë, plotësisht funksionale e vetë-strehuar e serverit Git.

Në këtë tutorial, unë do t'ju tregoj se si të instaloni versionin më të fundit të qëndrueshëm të Gogs, në një shembull të serverit CentOS 7. Në kohën e shkrimit, versioni më i fundit i Gogs është 0.11.53.

Parakushtet

  • Një shembull i serverit të sapokrijuar Vultr CentOS 7 me një adresë IPv4 203.0.113.1.
  • Një përdorues sudo .
  • Një domen gogs.example.comqë drejtohet në shembullin e serverit të përmendur më sipër.

Hapi 1: Kryeni detyrat bazë të konfigurimit të sistemit

Hapni një terminal SSH dhe regjistrohuni në shembullin e serverit CentOS 7 si përdorues sudo.

Krijo një skedar shkëmbimi

Në një mjedis prodhimi, kërkohet një skedar shkëmbimi për funksionimin e qetë të sistemit. Për shembull, kur vendosni Gogs në një makinë me 2 GB memorie, rekomandohet të krijoni një skedar shkëmbimi 2 GB (2048 MB) si më poshtë:

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

Shënim: Nëse jeni duke përdorur një madhësi të ndryshme të serverit, madhësia e duhur e skedarit të shkëmbimit mund të jetë e ndryshme.

Konfiguro emrin e hostit dhe emrin plotësisht të kualifikuar të domenit (FQDN)

Për të aktivizuar sigurinë HTTPS, duhet të konfiguroni një emër hosti (si p.sh. gogs) dhe një FQDN (si p.sh. gogs.example.com) në makinën 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

Ju mund të konfirmoni rezultatet:

hostname
hostname -f

Modifikoni rregullat e murit të zjarrit për të lejuar trafikun në hyrje HTTPdhe atëHTTPS

Si parazgjedhje, portat 80( HTTP) dhe 443( HTTPS) janë të bllokuara në CentOS 7. Ju duhet të modifikoni rregullat e murit të zjarrit si më poshtë përpara se vizitorët të mund të hyjnë në faqen tuaj të internetit:

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

Instaloni repon EPEL YUM dhe më pas përditësoni sistemin

Për të rregulluar gabimet dhe për të përmirësuar performancën e sistemit, rekomandohet gjithmonë të përditësoni sistemin në statusin më të fundit të qëndrueshëm duke përdorur YUM:

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

Pasi sistemi të rindizet, identifikohuni përsëri si i njëjti përdorues sudo për të vazhduar më tej.

Hapi 2: Instaloni Serinë MariaDB 10.3

Gogs ka nevojë për një sistem të menaxhimit të bazës së të dhënave, si MySQL/MariaDB, PostgreSQL ose SQLite. Në këtë tutorial, ne do të instalojmë dhe përdorim versionin aktual të qëndrueshëm të MariaDB.

Instaloni dhe filloni lëshimin aktual të qëndrueshëm të 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

Siguro MariaDB:

sudo /usr/bin/mysql_secure_installation

Kur ju kërkohet, përgjigjuni pyetjeve siç tregohet më poshtë:

  • 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

Hyni në guaskën MySQL si rrënjë:

mysql -u root -p

Në guaskën MariaDB, krijoni një bazë të dhënash të dedikuar MariaDB (duhet të jetë duke përdorur grupin e utf8mb4karaktereve) dhe një përdorues të dedikuar MariaDB për 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;

Shënim: Për qëllime sigurie, sigurohuni që të zëvendësoni gogs, gogsuserdhe yourpasswordme ato tuajat.

Hapi 3: Instaloni Gogs

Instaloni Git:

sudo yum install -y git

Krijoni një përdorues të dedikuar dhe një grup të dedikuar, të dy të emërtuar git:

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

Shkarkoni dhe hiqni arkivin binar 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

Konfiguro një skedar të njësisë së sistemit për Gogs:

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

Përdorni viredaktorin për të hapur gogs.serviceskedarin e krijuar rishtazi :

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

Gjeni linjat e mëposhtme:

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

Ndryshoni ato përkatësisht:

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

Ruani dhe hiqni dorë:

:wq!

Filloni dhe aktivizoni shërbimin Gogs:

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

Gogs tani do të funksionojë dhe do të funksionojë në shembullin e serverit CentOS 7, duke dëgjuar në port 3000.

Modifikoni rregullat e murit të zjarrit për të lejuar aksesin e vizitorëve në port 3000:

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

Më pas, duhet të drejtoni shfletuesin tuaj të preferuar të internetit për http://203.0.113.1:3000të përfunduar instalimin.

Install Steps For First-time Runndërfaqen e internetit Gogs , plotësoni fushat e kërkuara siç tregohet më poshtë.

Shënim: Sigurohuni që t'i lini të gjitha fushat e tjera të paprekura.

Database Settingsseksionin:

  • Përdoruesi: gogsuser
  • Fjalëkalimi: yourpassword

Application General Settingsseksionin:

  • Domeni: gogs.example.com
  • URL e aplikacionit: http://gogs.example.com:3000/

Admin Account Settingsseksionin:

  • Emri i përdoruesit: <your-admin-username>
  • Fjalëkalimi: <your-admin-password>
  • Konfirmo fjalëkalimin: <your-admin-password>
  • Email-i i administratorit: <your-admin-email>

Në fund, klikoni Intall Gogsbutonin për të përfunduar instalimin. Mos harroni se cilësimet tuaja të personalizuara të bëra në ndërfaqen e instalimit në ueb të Gogs do të ruhen në skedarin e konfigurimit të personalizuar të Gogs /opt/gogs/custom/conf/app.ini.

Për momentin, përdoruesit mund të vizitojnë faqen e internetit të Gogs në http://gogs.example.com:3000. Për të lehtësuar aksesin e vizitorëve, në mënyrë që ata të mos kenë më nevojë të shtojnë :3000, dhe për të përmirësuar sigurinë e sistemit; mund të instaloni Nginx si një përfaqësues të kundërt dhe të aktivizoni HTTPS duke përdorur një certifikatë Let's Encrypt SSL.

Shënim: Megjithëse udhëzimet në dy hapat e mëposhtëm janë opsionale, rekomandohet shumë që të kryhen të gjitha këto udhëzime për të mundësuar sigurinë HTTPS.

Hapi 4 (opsionale): Merrni një certifikatë Let's Encrypt SSL

Mos lejo hyrjen në port 3000:

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

Instaloni programin Certbot:

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

Aplikoni për një certifikatë Let's Encrypt SSL për domenin gogs.example.com:

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

Certifikata dhe zinxhiri do të ruhen në sa vijon:

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

Skedari kyç do të ruhet këtu:

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

Si parazgjedhje, certifikata Let's Encrypt SSL do të skadojë për tre muaj. Mund të konfiguroni një punë cron si më poshtë për të rinovuar automatikisht certifikatat tuaja Let's Encrypt:

sudo crontab -e

Shtypni Idhe futni rreshtin e mëposhtëm:

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

Ruani dhe hiqni dorë:

:wq!

Kjo punë cron do të përpiqet të rinovojë certifikatën Let's Encrypt çdo ditë pasdite.

Hapi 5 (Opsionale): Instaloni Nginx si një përfaqësues të kundërt

Instaloni Nginx duke përdorur repon EPEL YUM:

sudo yum install -y nginx

Krijo një skedar konfigurimi për 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

Rinisni Nginx për të vënë në fuqi konfigurimin tuaj:

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

Më në fund, drejtojeni shfletuesin tuaj të preferuar të internetit për http://gogs.example.com/të filluar të eksploroni faqen tuaj të internetit të Gogs. Do të zbuloni se protokolli HTTPS aktivizohet automatikisht. Identifikohu si administrator që konfigurove më herët ose regjistro llogari të reja përdoruesish për punën ekipore.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë