GitBucket es una aplicación web realizada en Java™ para gestionar proyectos GIT, con una API compatible con GitHub.
Atención: Se configura la máquina virtual con 512M, ya que esta aplicación no funciona con 128M/256M.
Se comienza instalando el paquete jdk (no tiene dependencias), utilizando el «script» jdk-config, con los comandos siguientes:
./jdk-config install pkgadd jdk#1.8.0_391-0.pkg.tar.gz
Se termina la sesión, y se vuelve a realizar el login, java
debería estar incluido en el path (se puede comprobar con java -version
).
Se instala el paquete gitbucket.
Esto ha realizado una instalación básica, que utiliza la base de datos H2 integrada. Si no se va a instalar postgres, se puede iniciar con:
/etc/rc.d/gitbucket start
Una vez iniciado se puede conectar con un navegador web, utilizando http y el puerto 8080. Los credenciales para administración son root/root
.
Se recomienda utilizar una base de datos externa, en lugar de la integrada H2, en este caso se ha elegido PostgreSQL. Este paso es opcional.
Se instala el paquete postgresql9 (no tiene dependencias), utilizando el «script» postgresql9-install, con el comando siguiente:
./postgresql9-install
Se inicia el servidor:
/etc/rc.d/postgresql start
En el shell se ejecuta lo siguiente (se teclea el contenido en rojo):
root@server:~ # su - postgres postgres@server:~ $ psql psql (9.6.24) Type "help" for help. postgres=# CREATE DATABASE gitbucket; CREATE DATABASE postgres=# CREATE USER gitbucket_user WITH ENCRYPTED PASSWORD 'xxxx'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE gitbucket TO gitbucket_user; GRANT postgres=# GRANT CONNECT ON DATABASE gitbucket TO gitbucket_user; GRANT postgres=# \q postgres@server:~ $ exit logout root@server:~ # _
En la carpeta /var/gitbuckect
se crea el archivo database.conf
conteniendo:
db { url = "jdbc:postgersql://localhost/gitbucket" user = "gitbucket_user" password = "xxxx· }
Se inicia con:
/etc/rc.d/gitbucket start
Se puede conectar con un navegador web, utilizando http y el puerto 8080. Los credenciales para administración son root/root
.
Se hace una instalación de Apache según se indica en Web con PHP (ingnorando las indicaciones para PHP si no es necesario) e instalando los servidores virtuales.
Se define un servidor virtual con el archivo siguiente (en /etc/apache/vhosts
):
<IfModule ssl_module> <VirtualHost *:80> ServerName git.example Redirect / https://git.example/ </VirtualHost> <VirtualHost *:443> ServerName git.example AllowEncodedSlashes On ProxyPreserveHost On ProxyPass / http://localhost:8080/ retry=0 ProxyPassReverse / http://localhost:8080/ </VirtualHost> </IfModule>
Nota: Si el nombre del servidor virtual coincide con el nombre del servidor real, en http.conf
es necesario indicar un serverName distinto (por ejemplo localhost
).