Com instal·lar Gogs 0.11.53 a CentOS 7

Gogs, o servei Go Git, és una solució de servidor Git totalment funcional i lleugera.

En aquest tutorial, us mostraré com instal·lar la darrera versió estable de Gogs, en una instància de servidor CentOS 7. En el moment d'escriure, l'última versió de Gogs és la 0.11.53.

Requisits previs

  • Una instància de servidor Vultr CentOS 7 de nova creació amb una adreça IPv4 203.0.113.1.
  • Un usuari de sudo .
  • Un domini gogs.example.comapuntat a la instància del servidor esmentada anteriorment.

Pas 1: realitzeu tasques bàsiques de configuració del sistema

Obriu un terminal SSH i inicieu sessió a la instància del servidor CentOS 7 com a usuari sudo.

Creeu un fitxer d'intercanvi

En un entorn de producció, es requereix un fitxer d'intercanvi per a un bon funcionament del sistema. Per exemple, quan es desplega Gogs en una màquina amb 2 GB de memòria, es recomana crear un fitxer d'intercanvi de 2 GB (2048 MB) de la manera següent:

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

Nota: si utilitzeu una mida de servidor diferent, la mida adequada del fitxer d'intercanvi pot ser diferent.

Configura el nom d'amfitrió i el nom de domini totalment qualificat (FQDN)

Per habilitar la seguretat HTTPS, heu de configurar un nom d'amfitrió (com ara gogs) i un FQDN (com ara gogs.example.com) a la màquina 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

Podeu confirmar els resultats:

hostname
hostname -f

Modifiqueu les regles del tallafoc per permetre l'entrada HTTPi el HTTPStrànsit

De manera predeterminada, els ports 80( HTTP) i 443( HTTPS) estan bloquejats a CentOS 7. Heu de modificar les regles del tallafoc de la manera següent abans que els visitants puguin accedir al vostre lloc web:

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

Instal·leu el repo EPEL YUM i, a continuació, actualitzeu el sistema

Per corregir errors i millorar el rendiment del sistema, sempre es recomana actualitzar el sistema a l'estat estable més recent mitjançant YUM:

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

Després de reiniciar el sistema, torneu a iniciar sessió amb el mateix usuari de sudo per continuar.

Pas 2: instal·leu la sèrie MariaDB 10.3

Gogs necessita un sistema de gestió de bases de dades, com ara MySQL/MariaDB, PostgreSQL o SQLite. En aquest tutorial, instal·larem i utilitzarem la versió estable actual de MariaDB.

Instal·leu i inicieu la versió estable actual de 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

MariaDB segur:

sudo /usr/bin/mysql_secure_installation

Quan se us demani, responeu a les preguntes tal com es mostra a continuació:

  • 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

Inicieu sessió al shell de MySQL com a root:

mysql -u root -p

A l'intèrpret d'ordres MariaDB, creeu una base de dades MariaDB dedicada (ha d'utilitzar el utf8mb4conjunt de caràcters) i un usuari MariaDB dedicat per a 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;

Nota: Per raons de seguretat, assegureu-vos de reemplaçar el gogs, gogsuseri yourpasswordamb els seus propis.

Pas 3: instal·leu Gogs

Instal·leu Git:

sudo yum install -y git

Creeu un usuari dedicat i un grup dedicat, tots dos anomenats git:

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

Baixeu i descomprimiu l'arxiu binari de 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

Configureu un fitxer d'unitat systemd per a Gogs:

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

Utilitzeu l' vieditor per obrir el gogs.servicefitxer acabat de crear :

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

Troba les línies següents:

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

Modifiqueu-los respectivament:

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

Desa i surt:

:wq!

Inicieu i activeu el servei Gogs:

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

Ara Gogs estarà en funcionament a la instància del servidor CentOS 7, escoltant al port 3000.

Modifiqueu les regles del tallafoc per permetre l'accés dels visitants al port 3000:

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

A continuació, heu d'apuntar el vostre navegador web preferit http://203.0.113.1:3000per acabar la instal·lació.

A la Install Steps For First-time Runinterfície web de Gogs , ompliu els camps obligatoris tal com es mostra a continuació.

Nota: assegureu-vos de deixar tots els altres camps sense tocar.

A la Database Settingssecció:

  • Usuari: gogsuser
  • Contrasenya: yourpassword

A la Application General Settingssecció:

  • Domini: gogs.example.com
  • URL de l'aplicació: http://gogs.example.com:3000/

A la Admin Account Settingssecció:

  • Nom d'usuari: <your-admin-username>
  • Contrasenya: <your-admin-password>
  • Confirma la contrassenya: <your-admin-password>
  • Correu electrònic de l'administrador: <your-admin-email>

Finalment, feu clic al Intall Gogsbotó per acabar la instal·lació. Recordeu que la vostra configuració personalitzada feta a la interfície d'instal·lació web de Gogs s'emmagatzemarà al fitxer de configuració personalitzada de Gogs /opt/gogs/custom/conf/app.ini.

De moment, els usuaris poden visitar el lloc web de Gogs a http://gogs.example.com:3000. Amb l'objectiu de facilitar l'accés dels visitants, de manera que ja no necessiten afegir :3000, i millorar la seguretat del sistema; podeu instal·lar Nginx com a servidor intermediari invers i habilitar HTTPS mitjançant un certificat SSL Let's Encrypt.

Nota: tot i que les instruccions dels dos passos següents són opcionals, és molt recomanable dur a terme totes aquestes instruccions per habilitar la seguretat HTTPS.

Pas 4 (opcional): obteniu un certificat SSL Let's Encrypt

No permetre l'accés al port 3000:

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

Instal·leu la utilitat 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

Sol·liciteu un certificat SSL Let's Encrypt per al domini gogs.example.com:

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

El certificat i la cadena es desaran al següent:

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

El fitxer de claus es desarà aquí:

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

De manera predeterminada, el certificat SSL Let's Encrypt caducarà en tres mesos. Podeu configurar un treball de cron com a continuació per renovar automàticament els vostres certificats Let's Encrypt:

sudo crontab -e

Premeu Ii introduïu la línia següent:

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

Desa i surt:

:wq!

Aquest treball cron intentarà renovar el certificat Let's Encrypt cada dia al migdia.

Pas 5 (Opcional): instal·leu Nginx com a servidor intermediari invers

Instal·leu Nginx mitjançant el repo EPEL YUM:

sudo yum install -y nginx

Creeu un fitxer de configuració per a 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

Reinicieu Nginx per tal de posar en pràctica la vostra configuració:

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

Finalment, http://gogs.example.com/apunteu al vostre navegador web preferit per començar a explorar el vostre lloc web de Gogs. Trobareu que el protocol HTTPS s'activa automàticament. Inicieu la sessió com a administrador que heu configurat anteriorment o registreu nous comptes d'usuari per treballar en equip.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació