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


Instal·leu Plesk a CentOS 7

Instal·leu Plesk a CentOS 7

Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades

Com instal·lar Squid Proxy a CentOS

Com instal·lar Squid Proxy a CentOS

Squid és un popular programa Linux gratuït que us permet crear un servidor intermediari web de reenviament. En aquesta guia, veureu com instal·lar Squid a CentOS per convertir-vos-hi

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Introducció Lighttpd és una bifurcació d'Apache destinada a ser molt menys intensiu en recursos. És lleuger, d'aquí el seu nom, i és bastant senzill d'utilitzar. Instal·lant

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Icinga2 és un sistema de supervisió potent i, quan s'utilitza en un model de client mestre, pot substituir la necessitat de controls de monitoratge basats en NRPE. El mestre-client

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta

Com instal·lar Microweber a CentOS 7

Com instal·lar Microweber a CentOS 7

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Com instal·lar Vanilla Forum a CentOS 7

Com instal·lar Vanilla Forum a CentOS 7

Utilitzeu un sistema diferent? Vanilla Forum és una aplicació de fòrum de codi obert escrita en PHP. És totalment personalitzable, fàcil d'utilitzar i admet externa

Com instal·lar Mattermost 4.1 a CentOS 7

Com instal·lar Mattermost 4.1 a CentOS 7

Utilitzeu un sistema diferent? Mattermost és una alternativa autoallotjada de codi obert al servei de missatgeria Slack SAAS. En altres paraules, amb Mattermost, ca

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Què necessitareu Un Vultr VPS amb almenys 1 GB de RAM. Accés SSH (amb privilegis d'arrel/administrador). Pas 1: instal·lació de BungeeCord Primer de tot

Permet xifrar a Plesk

Permet xifrar a Plesk

El tauler de control de Plesk inclou una integració molt agradable per Lets Encrypt. Lets Encrypt és un dels únics proveïdors SSL que ofereix certificats complets

Permet xifrar a cPanel

Permet xifrar a cPanel

Lets Encrypt és una autoritat de certificació dedicada a proporcionar certificats SSL de manera gratuïta. cPanel ha creat una integració perfecta perquè tu i el teu client

Com instal·lar Concrete5 a CentOS 7

Com instal·lar Concrete5 a CentOS 7

Utilitzeu un sistema diferent? Concrete5 és un CMS de codi obert que ofereix moltes característiques distintives i útils per ajudar els editors a produir continguts fàcilment i

Com instal·lar el tauler de revisió a CentOS 7

Com instal·lar el tauler de revisió a CentOS 7

Utilitzeu un sistema diferent? Review Board és una eina gratuïta i de codi obert per revisar el codi font, la documentació, les imatges i molts més. És un programari basat en web

Configura lautenticació HTTP amb Nginx a CentOS 7

Configura lautenticació HTTP amb Nginx a CentOS 7

En aquesta guia, aprendràs a configurar l'autenticació HTTP per a un servidor web Nginx que s'executa a CentOS 7. Requisits Per començar, necessitareu el

Com instal·lar GoAccess a CentOS 7

Com instal·lar GoAccess a CentOS 7

Utilitzeu un sistema diferent? GoAccess és un analitzador de registres web de codi obert. Podeu utilitzar-lo per analitzar els registres en temps real al terminal o

Com instal·lar YOURLS a CentOS 7

Com instal·lar YOURLS a CentOS 7

YOURLS (Your Own URL Shortener) és una aplicació d'anàlisi de dades i escurçament d'URL de codi obert. En aquest article, tractarem el procés d'instal·lació

Com instal·lar i configurar ArangoDB a CentOS 7

Com instal·lar i configurar ArangoDB a CentOS 7

Utilitzeu un sistema diferent? Introducció ArangoDB és una base de dades NoSQL de codi obert amb un model de dades flexible per a documents, gràfics i claus-valors. És

Utilitzant Etckeeper per al control de versions de /etc

Utilitzant Etckeeper per al control de versions de /etc

Introducció El directori /etc/ té un paper crític en el funcionament d'un sistema Linux. La raó d'això és perquè gairebé totes les configuracions del sistema

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Molts administradors de sistemes gestionen grans quantitats de servidors. Quan s'hagi d'accedir als fitxers a través de diferents servidors, inicieu sessió a cadascun individualment ca

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.

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.

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.

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ó