Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como instalar y configurar pfSense Squid Transparent Proxy

DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso
El ancho de banda nunca es suficiente y mas en las oficinas. Por mas ancho que sea el canal mas estrecho pareciera que es y esto es debido al incremento de aplicaciones web, las videoconferencias, la telefonía ip y así un sin fin de cosas que se transmiten por internet. Ahora, la solución no siempre es contratar un canal mas "ancho" (incrementando gastos) sino poner políticas y optimizar su uso con herramientas como la que veremos hoy en este articulo, un pfSense Squid transparent proxy. Dentro de los proxy el mas popular es Squid; este lo veremos en servidores y firewalls optimizando el uso del canal WAN (Internet) y hoy lo instalaremos y configuraremos en pfSense 2.3.x.
Debo aclarar que esta solución para que funcione bien hay que ir la ajustando en el pasar de los días y así dependiendo de nuestras necesidades, llevarla a optimizar nuestra salida a internet. Después de esta breve introduccion comencemos con este pfsense tutorial paso a paso.

Requerimientos


Instalamos pfSense Squid Proxy

-Abrimos un browser y navegamos al dashboard de nuesto firewall pfSense logeandonos con la cuenta admin. Ya allí nos vamos al menu System - Package Manager y le damos click
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso


                                           Como configurar OpenVPN en pfSense paso a paso

-Damos click en Available Packages. Se nos mostrara un listado de paquetes que podemos instalar. Escribimos squid en la caja de texto Search term y presionamos Enter
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Damos click al botón verde +Install de squid
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Se nos pide confirmación de la instalación del paquete pfSense-pkg-squid. Damos click al botón Confirm
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Terminando la instalación vamos al menu Services - Squid Proxy Server y le damos click
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

Configuramos pfSense transparent Squid Proxy

-Comenzamos configurando el cache antes que todo. Damos click a la pestaña Local Cache. A continuación veremos varios parámetros, solo diré cuales cambiaremos y los demás, los dejamos con sus valores default
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Colocamos el espacio a usar por squid proxy en Hard Disk Cache Size (en este caso destino 5120mb), separo 1024mb para memoria RAM en Memory Cache Size (como buena política no usar mas del 50% de la memoria total de nuestro servidor ya que squid siempre en su momento puede usar mas)
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Damos click al botón Save
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Vamos a la pestaña General. Activamos:

  • Enable Squid Proxy
  • Keep Settings/Data
  • Allow Users on interface


DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Seguimos activando opciones:

  • Transparent HTTP Proxy


DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Seguimos activando opciones:

  • Enable Access Logging
  • Rotate Logs: 10 (cantidad de días a los que se rota el log)
  • Error Language: es (idioma en que se mostraran los errores de paginas) 
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Mas opciones. Al terminar damos click al botón Save

  • Visible Hostname (nombre del equipo mostrado en errores de paginas)
  • Administrator's Email: email del administrador de squid proxy
  • Suppress Squid Version (recomendable por motivos de seguridad, no le facilitemos a alguien que nos quiera atacar saber que versión usamos)
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-A partir de este momento ya se esta ejecutando pfsense transparent squid proxy. En la esquina superior derecha veremos una serie de iconos que nos permiten, reiniciar el servicio, pararlo, etc
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

Verificamos Squid Proxy

-Si damos click al icono de servicios veremos el listado de servicios ejecutándose en pfsense firewall, todos, no solo el de squid
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Devolviendonos al menu de Squid proxy damos click a la pestaña Real Time y allí veremos los logs en tiempo real
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

Configuramos Squid Transparent proxy https


-Otra posibilidad útil es poder filtrar también las paginas web seguras (ahora que se esta haciendo lo posible porque todas sean con https). Vamos al menu System - Cert Manager
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-En la pagina que nos aparece de la pestaña CAs damos click al botón +Add
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Modificamos los siguientes campos. Al terminar damos click al botón Save

  • Descriptive name: Nombre descriptivo, cualquiera
  • Method: Create an internal Certificate Authority
  • Key length (bits): 2048
  • Digest Algorithm: sha256
  • Lifetime (days): 3650 (vigencia en días)
  • Country Code: CO (en mi caso CO es Colombia)
  • State or Province: Distrito capital (Estado o provincia)
  • City: Bogota (Ciudad)
  • Organization: Empresa u organización
  • Email Address: email del administrador
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Ya tenemos creado un CA para Squid Proxy
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Nos devolvemos al menu de squid proxy y en la pestaña General modificamos. Al terminar damos click al botón Save

  • Enable SSL Filtering
  • CA: elegimos el CA que acabamos de crear
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

Activamos antivirus Clamav en pfSense Squid Proxy

-Una opcion mas que util, utilizar antivirus en nuestro squid proxy. Modificamos las siguientes opciones

  • Enable Squid antivirus check using ClamAV
  • Damos click al botón Update AV (actualizamos firmas de virus)
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

-Mas opciones a modificar. Al terminar damos click al botón Save

  • Exclude Audio/Video Stream (los paranoicos lo activaran, yo no lo creo necesario)
  • ClamAV Database Update: (cada cuanto verificara si hay nuevas firmas de virus por descargar)
  • Regional ClamAV Database Update Mirror: United States (escoge el mas cercano, sera de donde se descargaran las firmas de virus)
DriveMeca instalando y configurando pfSense Squid Transparent Proxy paso a paso

Se por experiencia que los primeros días serán difíciles porque estarás monitoreando y ajustando la configuracion de tu proxy transparent (con muchos usuarios quejándose). Pero vale la pena ya que optimizaras el uso del ancho de banda. Ya usas squid proxy? en modo transparent o con puerto? en que servidor lo usas, Linux Ubuntu server, acaso en Linux Centos?.

Quieres apoyarme? El conocimiento es gratis pero...igual tengo gastos. Puedes donarme dinero por medio de PayPal.

Donar 25 USD

Aun tienes dudas y quieres preguntarme algo que por email no crees posible? ahora puedes agendar una cita virtual conmigo (por medio de hangout de google), haz click aquí para agendar cita conmigo. Bien, hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.


Share/Bookmark

Como actualizar pfSense 2.3 a su ultima versión en pocos minutos

DriveMeca actualizando firewall pfSense 2.3.x paso a paso
Los firewalls son como las puertas de las casas, si no mantienes sus cerraduras, bisagras y demás, es como si no estuvieran, casi que es igual que si mantuvieras la puerta abierta. La comparación viene porque hoy en este articulo te mostrare el paso a paso de como actualizar de versión tu pfSense 2.3 a la ultima versión disponible. Con esta acción corregirás errores (bugs) y mejoraras la seguridad de tu firewall por lo cual es algo, diría que obligatorio dentro de tus tareas de mantenimiento a pfSense.
La actualizacion del firmware de pfSense la haremos desde la cuenta admin via web y al terminar nos quedaremos sin salida a internet mientras el equipo reinicia. Ahora si, comencemos este tutorial de pfSense en español.

Requerimientos


-Abrimos un browser y navegamos a la pagina web de pfSense y nos conectamos como admin. Ya en el dashboard principal veremos en el bloque Version una nubesita azul con una flecha indicándonos que hay un nuevo firmware disponible para actualizar nuestro firewall opensource. Le damos click

                                         

DriveMeca actualizando firewall pfSense 2.3.x paso a paso

-Seguidamente pasaremos a otra pagina donde veremos la versión actual de nuestro pfSense y la versión que esta disponible de firmware para descargar e instalar. Le damos click al botón verde Confirm
DriveMeca actualizando firewall pfSense 2.3.x paso a paso

-Comienza la descarga e instalación de nuevos paquetes del firmware de nuestro firewall, hora de ir por un café ;-). Un cambio que se agradece con la versión 2.3.x es que veremos en todo momento que paquete se esta descargando o instalando con una barra de estado, algo que las versiones anteriores no mostraban y no sabíamos si estaba o no haciendo el proceso
DriveMeca actualizando firewall pfSense 2.3.x paso a paso

-Al terminar la actualización (upgrade) nuestro pfSense 2.3.x se reiniciara automáticamente. Refrescamos la pagina web e ingresamos nuevamente como admin. En el dashboard en el bloque Version ya debe aparecernos el numero de la nueva versión y debajo que estamos ejecutando con la ultima versión.
DriveMeca actualizando firewall pfSense 2.3.x paso a paso

Nada complicado actualizar nuestro firewall opensource, cierto? Ya usas pfSense, cual versión? Si quieres mas artículos sobre este útil firewall basado en freebsd puedes hacer una busqueda aqui en mi blog (usando la caja de Buscar a la derecha) con la palabra pfsense, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.
Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Top razones por las que debes usar Linux

Top razones por las que debes usar Linux
Los equipos con sistemas operativos Linux cada vez son mas frecuentes, es ya imposible desconocer las ventajas de Linux sobre otros OS (Microsoft Windows, Mac OS) pero aun no te he convencido de usarlo como OS principal (o único), cierto?
Hoy te traigo el TOP 8 razones por las que debes usar Linux, vota por tus preferidas, ahora es tu turno.

Top razones por las que debes usar Linux

Top razones por las que debes usar Linux
Falto alguna razón para usar sistema operativo Linux, crees que alguna no es verdadera?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como cambiar zona horaria Linux paso a paso

DriveMeca cambiando la zona horaria en Linux paso a paso
El tiempo corre, también en los computadores y a veces sin darnos cuenta instalamos con una zona horaria que no es (o recibimos ya instalado con la que no es) la que necesitamos.
Porque es importante la zona horaria correcta, bien, tan sencillo como que no te llegaran mails de reportes con la hora correcta, tus scripts se ejecutaran a la hora que no es y podría seguir enumerandote casos en que debes tener bien configurada la hora de tu pc o servidor Linux. Ya con estos ejemplos seguro sabrás que hoy te hablare de como cambiar la zona horaria Linux paso a paso.
Veremos dos formas, para Linux Centos/RedHat o Linux Ubuntu server, dependiendo del OS, serán los comandos que usaras.

Requerimientos

Abrimos una consola de texto y dependiendo del OS ejecutamos los siguientes comandos

Zona horaria en Linux Centos / RedHat


-Hacemos una copia del archivo localtime actual
mv /etc/localtime /etc/localtime.old

Artículos recomendadosComo instalar paquetes del dvd de centos 7 de forma local
                                            Como configurar una dirección IP estática en Centos 7
                                            Configurando servicios en Linux Centos / RedHat

-Creamos un link simbólico, en mi caso la zona horaria es America/Bogota (-5), dependiendo del tuyo, sera el que coloques
ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime

-Verificamos que localtime apunte al archivo de nuestra zona horaria
ls -la /etc/localtime 
lrwxrwxrwx 1 root root 34 nov 11  2014 /etc/localtime -> /usr/share/zoneinfo/America/Bogota

-Ejecutamos el comando date para verificar la hora
date
mar may 10 14:24:13 COT 2016

Zona horaria en Linux Ubuntu server


-Hacemos una copia del localtime actual
sudo mv /etc/localtime /etc/localtime.old

Artículos recomendadosComo instalar interfaz grafica en Ubuntu server paso a paso
                                           Como configurar ip fija en Ubuntu Linux

-Creamos un link simbólico apuntando a nuestra zona horaria, dependiendo de donde este tu servidor Linux, sera la que coloques activa
sudo ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime

-Verificamos nuestra zona horaria actual en producción
sudo ls -la /etc/localtime
lrwxrwxrwx 1 root root 34 nov 11  2014 /etc/localtime -> /usr/share/zoneinfo/America/Bogota

-Probamos la fecha y hora de nuestro servidor Linux Ubuntu
date
mar may 10 14:24:13 COT 2016

Sin importar si usas Linux Centos / RedHat o Linux Ubuntu server, con los anteriores comandos ya debes tener tu equipo con el timezone correcto. Ya conocias como cambiar la zona horaria, alguna otra forma?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.
Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar LAMP en Linux Ubuntu server paso a paso

DriveMeca instalando LAMP en Linux Ubuntu LTS
Una de las formas mas comunes en que usamos nuestros servidores es sirviendo paginas web. Esta configuracion es conocida por LAMP y viene de las iniciales Linux-Apache-MySQL-PHP. Para este articulo veremos como instalar y configurar un servidor Linux Ubuntu 16.04 LTS en modo LAMP (en vez de MySQL usaremos MariaDB) paso a paso de la forma mas sencilla y rapida.
Debo aclarar que LAMP no solo se ve en Linux Ubuntu, en todas las distribuciones Linux podemos instalar y configurar gracias a la "magia" del opensource con relativamente pocos cambios. Comencemos entonces con otro articulo de Ubuntu en español

Requerimientos



Instalamos dependencias

-Abrimos una consola y ejecutamos para instalar apache, mariadb y php en su versión 7
sudo apt install apache2 mariadb-server php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0

Activamos Apache 2


-Activamos el servicio para que ejecute cada vez que haga boot el servidor Linux y ejecutamos apache 2
sudo systemctl enable apache2.service
sudo systemctl start apache2.service

-Verificamos este ejecutandose el servicio de Apache 2
sudo systemctl status apache2.service
apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since dom 2016-05-01 17:22:24 COT; 24min ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/apache2.service
           ├─11573 /usr/sbin/apache2 -k start
           ├─11576 /usr/sbin/apache2 -k start
           ├─11577 /usr/sbin/apache2 -k start
           ├─11578 /usr/sbin/apache2 -k start
           ├─11579 /usr/sbin/apache2 -k start
           └─11580 /usr/sbin/apache2 -k start

may 01 17:22:23 xe systemd[1]: Stopped LSB: Apache2 web server.
may 01 17:22:23 xe systemd[1]: Starting LSB: Apache2 web server...
may 01 17:22:23 xe apache2[11555]:  * Starting Apache httpd web server apache2
may 01 17:22:24 xe apache2[11555]:  *
may 01 17:22:24 xe systemd[1]: Started LSB: Apache2 web server.
may 01 17:46:52 xe systemd[1]: Started LSB: Apache2 web server.

-Abrimos un browser en otro pc dentro de nuestra LAN y navegamos a la ip del servidor Linux
DriveMeca instalando LAMP en Linux Ubuntu LTS

Ya tenemos activo nuestro Apache2

Articulo recomendado: Como instalar interfaz grafica en Ubuntu server paso a paso

Activamos MariaDB

-En estos momentos en Linux Ubuntu Xenial Xerus al instalar Mariadb 10 no se pide la contraseña  de la cuenta root, por ello la borraremos directamente en la db para cambiarla
sudo mysql -u root
use mysql;
update user set plugin='' where User='root';
flush privileges;
quit;

-Aseguramos nuestra instalación de MariaDB colocándole contraseña a la cuenta root de MariaDB. Solo escribimos la contraseña y las demás preguntas las dejamos con el default
sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n]
New password: <---escribimos contraseña a la cuenta root de MariaDB
Re-enter new password: <---confirmamos contraseña a la cuenta root de MariaDB
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]
 - Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
 ... Failed!  Not critical, keep moving...
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

-Activamos el servicio de MariaDB y verificamos que este ejecutandose
sudo systemctl enable mysql.service
sudo systemctl status mysql.service
mysql.service - LSB: Start and stop the mysql database server daemon
   Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
   Active: active (running) since dom 2016-05-01 17:21:45 COT; 2h 17min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 27 (limit: 512)
   Memory: 83.5M
      CPU: 6.150s
   CGroup: /system.slice/mysql.service
           ├─4272 /bin/bash /usr/bin/mysqld_safe
           ├─4273 logger -p daemon err -t /etc/init.d/mysql -i
           ├─4417 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-log-error --pid-file
           └─4418 logger -t mysqld -p daemon error

may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.func                                         OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.gtid_slave_pos                               OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.help_category                                OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.help_keyword                                 OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.help_relation                                OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.help_topic                                   OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.host                                         OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.index_stats                                  OK
may 01 17:22:21 xe /etc/mysql/debian-start[4469]: mysql.innodb_index_stats                           OK
may 01 17:22:21 xe /etc/mysql/debian-start[11440]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Verificamos PHP y sus módulos


-Verificamos versión de PHP instalada
php -v
PHP 7.0.4-7ubuntu2 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

-Creamos un archivo php para verificar módulos
sudo vi /var/www/html/index.php
<?php
phpinfo();
?>

-Reiniciamos el servicio de Apache2
sudo systemctl restart apache2.service

-Abrimos un browser en otro pc en nuestra LAN y navegamos a la ip del servidor Linux Ubuntu LTS http://ip-server/index.php
DriveMeca instalando LAMP en Linux Ubuntu LTS


Ya tenemos un servidor Linux Ubuntu LTS con Apache, MariaDB y PHP 7 (comúnmente conocido como LAMP Ubuntu) listo para trabajar con nuestros proyectos web. Ya lo usas?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar y configurar Gogs en Linux Ubuntu server

DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server
Aunque lo neguemos, no siempre las mejores cosas son gratis en este mundo, y eso pasa a ratos en el opensource. Git de unos años para acá se ha vuelto muy popular en el ámbito de desarrollo y a su vez GitHub concentrando alrededor del mundo a los desarrolladores. Ahora, en algún momento puede que quieras tener tu propio servidor Git y allí llegamos al problema, GitHub no tiene versión para descargar e instalar en nuestra LAN (se pueden tener proyectos privados, pero debes pagar).
Menos mal estamos hablando de software opensource, donde todos los días nace una solución nueva llegando a nuestro tema del articulo de hoy, como instalar y configurar Gogs en un servidor Linux Ubuntu.
Gogs (Go Git Service) es una interfaz web para manejar repositorios Git algo mas fácil sin tener que conocer intricados comandos y con muchas facilidades.
Ya con esta breve introduccion veamos este articulo de Ubuntu en español.

Requerimientos



-Nuestro servidor para este articulo estara en la ip 192.168.1.163

-Instalamos dependencias y colocamos contraseña a la cuenta root de mariadb cuando lo pida
sudo apt-get install mariadb-server mercurial git supervisor
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

Articulo recomendado: Como instalar interfaz grafica en Ubuntu server paso a paso

-Creamos la db para gogs
mysql -u root -p
CREATE DATABASE gogsdb CHARACTER SET utf8;
exit;

-Agregamos al final de nuestro archivo .bashrc
vi ~/.bashrc
export GOPATH=/home/git/go
export GOROOT=/usr/local/src/go
export PATH=${PATH}:$GOROOT/bin

-Activamos las variables
source ~/.bashrc

-Descargamos desde este URL la ultima versión para Linux del lenguaje Go

wget -c https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz

-Descomprimimos el archivo
tar xzvf go1.6.2.linux-amd64.tar.gz

-Lo movemos al home de git
sudo mv go $GOROOT

-Descargamos por medio de go el ultimo gogs disponible
go get -d github.com/gogits/gogs

-Compilamos con go
cd $GOPATH/src/github.com/gogits/gogs
go build

-Creamos un directorio para logs
sudo mkdir -p /var/log/gogs

-Creamos un conf para supervisor, el encargado de ejecutar el servicio
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/gogs web
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/gogs/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=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"
user = git

-Reiniciamos el servicio
sudo service supervisor restart (Linux Ubuntu server 14.04)

sudo systemctl restart supervisor (Linux Ubuntu server 16.04)

-Verificamos este ejecutandose gogs
ps -ef | grep gogs
git      26831 26830  2 16:27 ?        00:00:00 /home/git/go/src/github.com/gogits/gogs/gogs web

-Miramos algo mas de su ejecucion
tail /var/log/gogs/stdout.log
2016/04/29 16:27:24 [W] Custom config '/home/git/go/src/github.com/gogits/gogs/custom/conf/app.ini' not found, ignore this if you're running first time
2016/04/29 16:27:24 [T] Custom path: /home/git/go/src/github.com/gogits/gogs/custom
2016/04/29 16:27:24 [T] Log path: /home/git/go/src/github.com/gogits/gogs/log
2016/04/29 16:27:24 [I] Gogs: Go Git Service 0.9.22.0425
2016/04/29 16:27:24 [I] Log Mode: Console(Trace)
2016/04/29 16:27:24 [I] Cache Service Enabled
2016/04/29 16:27:24 [I] Session Service Enabled
2016/04/29 16:27:24 [I] Run Mode: Development
2016/04/29 16:27:25 [I] Listen: http://0.0.0.0:3000

-Activamos permisos, creamos un directorio de logs dentro del home de los repositorios
sudo chown -R git.git /home/git/
sudo mkdir /usr/local/git/log
sudo chown git.git /usr/local/git/log

-Abrimos un browser y navegamos a http://192.168.1.163:3000/install ingresando los campos Database Type (MySQL), Host (127.0.0.1:3306), User (root) Password (contraseña del root de MySQL), Database Name (gogsdb), Application Name (Nombre de nuestro Gogs), Repository Root Path (path de donde almacenaremos los repo, en este caso /usr/local/git), Run User (git)
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Domain (ip del servidor), SSH Port (22), HTTP Port (3000), Application URL (http://192.168.1.163:3000), Log Path (/usr/local/git/log)
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Activamos opciones de Server and Other Services Settings y creamos una cuenta con privilegios de admin (no puede llamarse admin) en Admin Account Settings y damos click al botón Install Gogs
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Si seguiste los pasos, ya debes tener Gogs funcionando correctamente y nos debe mostrar la consola web
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Podemos personalizar nuestro perfil dándole click al botón gravatar de la derecha superior y entrando a Profile
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Como somos administradores podemos llegar al panel de configuracion y ver mas opciones de mantenimiento de nuestro Gogs
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Entre las tareas ya disponibles tenemos la de crear usuarios en el menu Users
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Ahora, para crear un repositorio vamos al URL http://192.168.1.163/repo/create y llenamos los campos. Terminamos dándole click al botón  Create Repository
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-La otra forma es darle click al símbolo + superior derecho y allí veremos la opción. Así luce nuestro nuevo repositorio en Gogs
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

-Ya te había comentado que puedes poner en Español la interfaz web de Gogs? Bien, damos click al botón inferior con forma de planeta y allí veremos los idiomas
DriveMeca instalando y configurando un servidor Git con Gogs en Linux Ubuntu server

Trabajando localmente un repositorio

-Para descargar o clonar un repositorio ejecutamos
drivemeca@cabrera-VAIO:~$ git clone http://192.168.1.163:3000/admgogs/Repositorio_de_prueba.git
Clonar en «Repositorio_de_prueba»...
Username for 'http://192.168.1.163:3000': admgogs
Password for 'http://admgogs@192.168.1.163:3000':
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
Checking connectivity... hecho.

-Ya tenemos una copia del repositorio en nuestro pc local
ls -la Repositorio_de_prueba/
total 56
drwxrwxr-x  3 drivemeca drivemeca  4096 may  2 17:24 .
drwxr-xr-x 50 drivemeca drivemeca  4096 may  2 17:23 ..
drwxrwxr-x  8 drivemeca drivemeca  4096 may  2 17:24 .git
-rw-rw-r--  1 drivemeca drivemeca  1552 may  2 17:24 .gitignore
-rw-rw-r--  1 drivemeca drivemeca 34570 may  2 17:24 LICENSE
-rw-rw-r--  1 drivemeca drivemeca    66 may  2 17:24 README.md

-Si modificamos el código en nuestra copia local, por ejemplo, cambiamos el README.md
cd Repositorio_de_prueba/
echo 'Me encanta Gogs, una forma amigable de manejar Git' >> README.md

-Publicamos los cambios al servidor Git con Gogs
git add --all && git commit -m "init commit" && git push origin master
[master 5c53be9] init commit
 1 file changed, 1 insertion(+), 1 deletion(-)
Username for 'http://192.168.1.163:3000': admgogs
Password for 'http://admgogs@192.168.1.163:3000':
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 350 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To http://192.168.1.163:3000/admgogs/Repositorio_de_prueba.git
   e47361f..5c53be9  master -> master

Un cambio del cielo a la tierra dirás cuando comiences a manejar tus repositorios por medio de Gogs, ya lo conocías, usas otra alternativa, cual?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.
Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark