Cómo configurar Gogs en Ubuntu 15.04
Gogs (Go Git Service) un servicio Git autohospedado indoloro escrito en Go. Como está construido con Go, automáticamente obtenemos su compatibilidad multiplataforma que admite, incluidos Linux, Mac OS y Windows. Gogs tiene una huella realmente baja, por lo que es fácil con pocos recursos del sistema. En este artículo, lo guiaremos con pasos simples y lo pondremos en funcionamiento en Ubuntu 15.04 con su interfaz web, panel de administración y todas sus funciones operativas, donde preferiblemente puede alojar sus códigos debido a sus muchas características excelentes, fáciles de usar y acceso.
Requerimientos básicos
Para configurar Gogs, necesitamos una actualización del sistema operativo con sus recursos básicos y los siguientes paquetes obligatorios.
- MySQL versión 5.1 o superior.
- git (bash) versión 1.8.0 o superior
Configuraremos la instalación de gogs y sus configuraciones dentro del siguiente entorno como un usuario general con privilegios de sudo.
Gogs (Servicio Go Git) | |
Sistema operativo base | Ubuntu 15.04 (GNU / Linux 3.19.0-15-genérico x86_64) |
Base de datos | mysql Ver 14.14 Distrib 5.6.24, para debian-linux-gnu (x86_64) |
Vamos | go1.4.2.linux-amd64.tar.gz |
Git | git versión 2.1.4 |
RAM y CPU | 2 GB, 1,0 GHz |
Disco duro | 30 GB |
Actualizacion del sistema
Antes de comenzar con la instalación, debemos asegurarnos de que nuestro sistema esté actualizado, siempre podemos hacerlo usando el siguiente comando.
root@ubuntu-15:~#apt-get update
Crear nuevo usuario
Vamos a crear un nuevo usuario que usaremos para toda la configuración e instalación bajo este usuario.
root@ubuntu-15:~# adduser git
Otorga privilegios de superusuario al usuario «git»
root@ubuntu-15:~# visudo # User privilege specification root ALL=(ALL:ALL) ALL git ALL=(ALL:ALL) ALL
Iniciar proceso de instalación
Primero, debemos instalar los requisitos previos necesarios para la configuración de Gogs.
Instalación de Git
Ubuntu 15.04 viene con la última versión de git preinstalada, por lo que no es necesario volver a instalarla. Podemos verificar su versión usando el siguiente comando.
git@ubuntu-15:~$ git --version git version 2.1.4
Instalación de la base de datos MySQL
En estos pasos instalará el servidor mysql y luego creará una nueva base de datos y un usuario que servirá como base de datos de Gogs.
Paso 1: instale mysql usando apt-get
git@ubuntu-15:~$ sudo apt-get install mysql-server mysql-server-5.6
git@ubuntu-15:~$sudo systemctl status mysql
git@ubuntu-15:~$ sudo mysql --version mysql Ver 14.14 Distrib 5.6.24, for debian-linux-gnu (x86_64) using EditLine wrapper
Paso 2: elige la contraseña de root
Durante el proceso de instalación, le pedirá la contraseña de usuario root de mysql, así que elija una contraseña segura.
Paso 3: Cree una nueva base de datos y un usuario para Gogs de la siguiente manera:
git@ubuntu-15:~$ sudo mysql -u root -p Enter password: mysql> SET GLOBAL storage_engine="InnoDB"; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin; Query OK, 1 row affected (0.00 sec) mysql> CREATE USER 'gogs'@'localhost' IDENTIFIED by 'gogs123'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost' IDENTIFIED BY 'gogs123'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> q Bye
Ir a la instalación
Instalaremos el paquete go (bash) en un directorio separado para que no interactúe con futuras actualizaciones del administrador de paquetes del sistema.
Paso 1: cree un nuevo directorio y descargue la última versión de Go
git@ubuntu-15:~$ sudo mkdir local git@ubuntu-15:~$ cd local/ git@ubuntu-15:~/local$ pwd /home/git/local git@ubuntu-15:~/local$ sudo wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz
Paso 2: expanda el paquete en el mismo directorio ~ / local
git@ubuntu-15:~/local$ sudo tar xf go1.4.2.linux-amd64.tar.gz git@ubuntu-15:~/local$ ls go go1.4.2.linux-amd64.tar.gz
Paso 3: Escriba «go» en la terminal y verá su manual de línea de comando como
Configurar el entorno para Go
Aquí necesitamos crear un entorno para que el usuario de git configure sus rutas que corresponden a nuestro sistema.
Comienza la instalación de Gogs
Ahora estamos en el punto de comenzar la instalación de Gogs usando la herramienta de línea de comando de código fuente Go.
Paso 1: Ejecute el comando Get de Go para descargar Gogs
git@ubuntu-15:~/local$ go get -u github.com/gogits/gogs
Paso 2: cambie el directorio y cree el programa principal
git@ubuntu-15:~/local$ cd $GOPATH/src/github.com/gogits/gogs git@ubuntu-15:~/go/src/github.com/gogits/gogs$ go build
Paso 3: Prueba de instalación de Gogs
Ejecute el siguiente comando para asegurarse de que gogs esté funcionando bien y si no ve ningún mensaje de error, simplemente presione Ctrl-c para detener Gogs, también puede acceder a él en su navegador web localhost con su IP y puerto 3000, pero es mejor que no para iniciar la instalación en este punto para evitar errores.
git@ubuntu-15:~$ cd $GOPATH/src/github.com/gogits/gogs git@ubuntu-15:~/go/src/github.com/gogits/gogs$ ./gogs web
Instalación de Nginx
Necesitamos instalar Nginx para usarlo como un proxy inverso para que podamos vincular nuestro nombre de dominio a Gogs.
Así que comencemos con su instalación y luego lo configuraremos para Gogs.
Paso 1: Instale Nginx con el comando apt-get como
git@ubuntu-15:~$ sudo apt-get install nginx git@ubuntu-15:~$ sudo systemctl status nginx git@ubuntu-15:~$ sudo nginx -V nginx version: nginx/1.6.2 (Ubuntu)
Paso 2: configurar Nginx
git@ubuntu-15:~$ sudo vi /etc/nginx/sites-available/default # Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name 172.25.10.179; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. proxy_pass http://localhost:3000; try_files $uri $uri/ =404; } }
Paso 3: Ahora reinicie el servicio Niginx y verifique su estado
git@ubuntu-15:~$ systemctl restart nginx
Inicio de Gogs como servicio
Para configurar Gogs se inicia automáticamente como un servicio en ejecución en el back-end, lo haremos instalando un paquete Supervisor.
Paso 1: Instalar Supervisor con apt-get
git@ubuntu-15:~$ sudo apt-get install supervisor git@ubuntu-15:~$ systemctl status supervisor
Paso 2: reconfigurar Supervisor
Después de instalar el supervisor, ahora configúrelo según nuestro entorno y necesidades. Comencemos con la creación de un nuevo directorio para los registros y luego agreguemos el archivo supervisod.conf como:
git@ubuntu-15:~$ sudo mkdir -p /var/log/gogs git@ubuntu-15:~$ sudo vi /etc/supervisor/supervisord.conf [program:gogs] directory=/home/git/go/src/github.com/gogits/gogs/ command=/home/git/go/src/github.com/gogits/gogs/ web autostart=true autorestart=true startsecs=10 stdout_logfile=/var/log/gogs/stdout.log stdout_logfile_maxbytes=1MB stdout_logfilebackups=10 stdout_capture_maxbytes=1MB stderr_logfile=/var/log/gogs/stderr.log stderr_logfile_maxbytes=1MB stderr_logfile_backups=10 stderr_capture_maxbytes=1MB environment = HOME="/home/git", USER="git"
Paso 3: reinicie el servicio de supervisor y verifique su estado
Finalizar la configuración de instalación de Gogs
Gogs se ha configurado con su configuración inicial y configuraciones con otros paquetes requeridos. Ahora solo necesitamos realizar unos pocos pasos de instalación la primera vez que se ejecuta.
Vamos a abrir su navegador web y acceder a gogs con su IP de host local como:
http://localhost:3000/install http://172.25.10.179:3000/install
Elija las configuraciones adecuadas en su tipo de base de datos, nombre de usuario y contraseña. Luego, después de crear una cuenta de administrador, simplemente haga clic en Instalar Gogs, eso es todo.
Bienvenido a Gogs
Creemos sus repositorios
Has creado tu primer repositorio en Gogs
Panel de Gogs
Clonar repositorio local con SSH
También podemos clonar cualquier repositorio usando su panel de control. Solo necesitamos obtener el enlace del repositorio deseado y luego SSH en el otro sistema y luego, usando el comando git clone, podemos obtenerlo fácilmente en otro sistema.
También podemos comentar usando los comandos git commit y git push para transmitir nuestros comentarios en los repositorios maestros.
Conclusión
Gogs es un gran servicio de alojamiento de git y mucho más poderoso que Github. Es un servicio de alojamiento de git ligero, fácil de configurar, multiplataforma y con características favorablemente comparables a Gitlab / Github. Así que definitivamente recomiendo a Gogs como su servicio de autohospedaje de git.