En este tutorial, le mostraremos cómo instalar Gogs en CentOS 7. Para aquellos de ustedes que no lo sabían, Gogs es un servicio Git autohospedado gratuito y de código abierto escrito en el lenguaje de programación Go. Es muy similar a GitLab y pretende ser la forma más fácil y sencilla de configurar un servicio Git autohospedado en su entorno de desarrollo.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Te mostraré la instalación paso a paso de Gogs en un servidor CentOS 7.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:CentOS 7.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar Gogs en CentOS 7
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
yum clean all yum -y update
Paso 2. Instale el servidor LAMP.
Se requiere un servidor de pila LAMP de CentOS 7. Si no tiene LAMP instalado, puede seguir nuestra guía aquí. Además, instale los módulos PHP necesarios:
yum -y install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel
Paso 3. Instalación de Gogs en CentOS.
Primero, cree un nuevo usuario del sistema para Gogs:
sudo adduser --home /opt/gogs --shell /bin/bash --comment 'Gogs application' gogs
Luego, descargue el binario de Gogs desde la página Github de Gogs usando el siguiente comando:
sudo wget https://github.com/gogs/gogs/releases/download/v0.11.86/linux_amd64.tar.gz tar xvf linux_amd64.tar.gz --strip-components=1 -C /opt/gogs
Tendremos que cambiar algunos permisos de carpetas:
sudo chown -R gogs:gogs /opt/gogs/
Luego, copie el systemd
archivo de unidad:
sudo cp /opt/gogs/scripts/systemd/gogs.service /etc/systemd/system/
Abra el archivo de la unidad usando su editor de texto favorito:
sudo nano /etc/systemd/system/gogs.service
Agregue las siguientes líneas:
[Unit] Description=Gogs After=syslog.target After=network.target After=mariadb.service mysqld.service postgresql.service memcached.service redis.service [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 Type=simple User=gogs Group=gogs WorkingDirectory=/opt/gogs ExecStart=/opt/gogs web Restart=always Environment=USER=gogs HOME=/opt/gogs # Some distributions may not support these hardening directives. If you cannot start the service due # to an unknown option, comment out the ones not supported by your version of systemd. ProtectSystem=full PrivateDevices=yes PrivateTmp=yes NoNewPrivileges=true [Install] WantedBy=multi-user.target
Ahora, podemos reiniciar Gogs para que se produzcan los cambios:
sudo systemctl daemon-reload sudo systemctl start gogs sudo systemctl enable gogs
Paso 4. Configuración de MariaDB para Gogs.
De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB utilizando mysql_secure_installation
texto. debe leer y debajo de cada paso cuidadosamente que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y accederá a MariaDB seguro:
mysql_secure_installation
Configúralo así:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
A continuación, debemos iniciar sesión en la consola de MariaDB y crear una base de datos para los Gogs. Ejecute el siguiente comando:
mysql -u root -p
Esto le pedirá una contraseña, así que ingrese su contraseña raíz de MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para Instalación de Gogs:
MariaDB [(none)]> CREATE SCHEMA `gogs` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; MariaDB [(none)]> GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost' IDENTIFIED BY 'Your-Strong-Password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit;
Paso 5. Acceso a Gogs.
Gogs estará disponible en el puerto HTTP 3000 de manera predeterminada. Abra su navegador favorito y vaya a http://your-domain.com:3000/install
o http://yout-server-ip:3000/install
y complete los pasos necesarios para finalizar la instalación. Si está utilizando un firewall, abra el puerto 3000 para habilitar el acceso al panel de control.
¡Felicitaciones! Ha instalado Gogs con éxito. Gracias por usar este tutorial para instalar Gogs en sistemas CentOS 7. Para obtener ayuda adicional o información útil, le recomendamos que visite el sitio web oficial de Gogs.