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 [email protected] -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.


Instaloni Plesk në CentOS 7

Instaloni Plesk në CentOS 7

Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave

Si të instaloni Squid Proxy në CentOS

Si të instaloni Squid Proxy në CentOS

Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Microweber në CentOS 7

Si të instaloni Microweber në CentOS 7

Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni Mattermost 4.1 në CentOS 7

Si të instaloni Mattermost 4.1 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth

Le të enkriptojmë në Plesk

Le të enkriptojmë në Plesk

Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata

Lejon enkriptimin në cPanel

Lejon enkriptimin në cPanel

Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj

Si të instaloni Concrete5 në CentOS 7

Si të instaloni Concrete5 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe

How to Install Review Board on CentOS 7

How to Install Review Board on CentOS 7

Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet

Si të instaloni YOURLS në CentOS 7

Si të instaloni YOURLS në CentOS 7

YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth

Vendosja e një serveri Half Life 2 në CentOS 6

Vendosja e një serveri Half Life 2 në CentOS 6

Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou

Si të instaloni Laravel GitScrum në CentOS 7

Si të instaloni Laravel GitScrum në CentOS 7

Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.

Si të instaloni PowerDNS në CentOS

Si të instaloni PowerDNS në CentOS

Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur

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.

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.

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ë.

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ë