GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo ejecutar su propio servidor Git con GitlabHQ en Ubuntu 14.04

Cómo ejecutar su propio servidor Git con GitlabHQ en Ubuntu 14.04

Este documento describe cómo instalar y configurar Git y GitHub. Estas son excelentes herramientas para gestionar y administrar una gran cantidad de repositorios de Git y los permisos asociados. Por lo tanto, estos siguen siendo verdaderas bendiciones para los usuarios que escriben software de código abierto; sin embargo, cuando escriben un software de código cerrado, es posible que no se sientan cómodos al confiar el código a un servidor de terceros. Para obtener la flexibilidad y el control que tanto se necesitan en cosas como Github/BitBucket sin alojar los repositorios de git en servidores que se encuentran fuera del control de los usuarios, ¡GitLab sigue siendo una bendición!

GitLab es una herramienta maravillosa que ofrece una interfaz basada en web simple y fácil de usar pero potente para los repositorios de Git en su servidor, a saber, GitHub. Los usuarios pueden alojarlo en su propio servidor en la nube, controlar el acceso de forma personalizada y el único factor que limita el tamaño del repositorio es el espacio de almacenamiento incorporado del servidor.

¡No emito ninguna garantía de que esto funcione para usted!

1 Nota Preliminar

Este tutorial se basa en el servidor Ubuntu 14.04, por lo que debe configurar una instalación básica del servidor Ubuntu 14.04 antes de continuar con este tutorial. El sistema debe tener una dirección IP estática. Uso 192.168.0.100 como mi dirección IP en este tutorial y server1.example.com como nombre de host. Todo el software necesario debe estar instalado para que GitLab funcione. Por lo tanto, aquellos que usan un VPS existente (droplet)/una distribución de Linux completamente diferente pueden enfrentar interrupciones, expresamente con versiones incompatibles de Python y Ruby. Por lo tanto, es imprescindible tener Ruby 2.0 y Python 2.7 instalado al principio.

2 Instalación de Ruby 2.0 o superior, Python 2.7 y Bundler Gem

Primero instalaremos las configuraciones previas antes de las configuraciones de Git Hub. El proceso para la instalación de los paquetes requeridos se explica a continuación.

apt-get update
apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2 -dev libxslt-dev libcurl4-openssl-dev libicu-dev

Nota:los usuarios deben asegurarse de que Ruby 1.8 no esté instalado en su sistema, aunque las posibilidades de que sea así en un Ubuntu 14.04 predeterminado son remotas

Puede verificar su versión de Python de la siguiente manera (en mi caso es Python 2.7.6):

python --versión

[email protected]:~# python --version
Python 2.7.6
[email protected]:~#

Esto se puede hacer como se muestra a continuación, instalando Ruby 2.1.2, Ruby se puede instalar de la siguiente manera:

mkdir /tmp/ruby &&cd /tmp/ruby
wget http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
tar zxvf ruby -2.1.2.tar.gz
cd ruby-2.1.2
./configure
make
make install

Además, comprobaremos la versión de Ruby como:

rubí -v

[email protected]:/tmp/ruby/ruby-2.1.2# ruby ​​-v
ruby 2.1.2p95 (2014-05-08 revisión 45877) [x86_64-linux]
ejemplo@unixlinux. en línea:/tmp/ruby/ruby-2.1.2#

A continuación instalaremos el Bundler Gem de la siguiente manera:

paquete de instalación de gemas --no-ri --no-rdoc

[email protected]:/tmp/ruby/ruby-2.1.2# gem install bundler --no-ri --no-rdoc
Obteniendo:bundler-1.6.5.gem (100%)
Instalado con éxito bundler-1.6.5
1 gema instalada
[email protected]:/tmp/ruby/ruby-2.1.2#

Ahora crearemos un usuario user=git para que Gitlab se use en otras configuraciones, de la siguiente manera:

agregar usuario --disabled-login --gecos 'GitLab' git

3 Instalación del GitLab Shell

Descargaremos el shell de GitLab usando el siguiente comando:

cd /home/git
sudo -u git -H clon de git https://github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell
sudo -u git -H git checkout v1.7.0
sudo -u git -H cp config.yml.ejemplo config.yml

Además, haremos una copia de seguridad del archivo original config.yml.example y lo copiaremos en config.yml. Edite el archivo de la siguiente manera:

vi config.yml

Ahora necesitamos cambiar el valor de gitlab_url:"http://localhost/" al valor de git como se muestra:

# GitLab user. git by default
user: git

# Url to gitlab instance. Used for api calls. Should end with a slash.
#gitlab_url: "http://localhost/"
gitlab_url:     "http://server1.example.com"

[....]

Ahora ejecutaremos el shell de GitLab instalado de la siguiente manera:

sudo -u git -H ./bin/install

Tendrá una salida como esta:

[email protected]:/home/git/gitlab-shell# sudo -u git -H ./bin/install
mkdir -p /home/git/repositories:true
mkdir -p /home /git/.ssh:true
chmod 700 /home/git/.ssh:true
touch /home/git/.ssh/authorized_keys:true
chmod 600 /home/git/. ssh/authorized_keys:true
chmod -R ug+rwX,o-rwx /home/git/repositories:true
find /home/git/repositories -type d -print0 | xargs -0 chmod g+s:verdadero
[email protected]:/home/git/gitlab-shell#

4 Instalación de Mariadb para GitLab

Ahora, configuraremos GitLab para usar Mariadb en el backend. El primer paso es instalar Mariadb con el comando que se indica a continuación. Durante el proceso de instalación, se le pedirá que configure una contraseña raíz de MySQL, que puede configurar según sus preferencias personales; sin embargo, debe tomar nota de la misma para usarla en los pasos posteriores.

apt-get install mariadb-server mariadb-client libmariadbclient-dev

Nueva contraseña para el usuario "root" de MariaDB:<--mariadbpassword
Repita la contraseña para el usuario "root" de MariaDB:<--mariadbpassword

Creación de base de datos Gitlab:

mysql -u raíz -p

En el aviso de Mariadb, use database=gitlabdb user=gitlabuser y password=gitlabuserpassword:

CREAR BASE DE DATOS gitlabdb CONFIGURACIÓN DE CARACTERES POR DEFECTO utf8 COLLATE utf8_unicode_ci;
CONCEDER SELECCIÓN, BLOQUEAR TABLAS, INSERTAR, ACTUALIZAR, ELIMINAR, CREAR, SOLTAR, ÍNDICE, ALTERAR EN gitlabdb.* A 'gitlabuser'@'localhost' IDENTIFICADO POR 'gitlabuserpassword';
vaciar privilegios;
salir

Ahora procederemos a la instalación de la siguiente manera:

cd /home/git
sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab
cd /home/git/gitlab
sudo -u git -H git checkout 6-0-stable
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

Al igual que con la configuración del shell de GitLab, si tiene un dominio configurado para el VPS, debe editar config.yml para usar ese dominio (como se muestra en el comando que se proporciona a continuación):

sudo -u git -H vi config/gitlab.yml

[...] 
## GitLab settings # gitlab: # ## Web server settings # host: localhost # port: 80 # https: false gitlab: ## Web server settings host: server1.example.com port: 80 https: false
[...]

Aquí, también debe establecer algunos permisos de archivo de Linux, configurar el Gitconfig del usuario de git y configurar algunos GitLabconfig y directorios para el usuario de git (como se muestra a continuación):

cd /home/git/gitlab
chown -R git log/
chown -R git tmp/
chmod -R u+rwX  log/
chmod -R u+rwX tmp /
sudo -u git -H mkdir /home/git/gitlab-satellites
sudo -u git -H mkdir tmp/pids/
sudo -u git -H mkdir tmp/sockets/
chmod -R u+rwX tmp/pids/
chmod -R u+rwX tmp/sockets/
sudo -u git -H mkdir public/uploads
chmod -R u +rwX  public/uploads
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email "[email protected]"
sudo -u git -H git config --global core.autocrlf input
sudo -u git cp config/database.yml.mysql config/database.yml

A continuación, debemos decirle a GitLab que use el usuario gitlab Mariadb que configuró anteriormente. Para ello, editaremos el archivo config/database.ymlfile (como se muestra a continuación):

sudo -u git -H vi config/database.yml

[...]
#production: # adapter: mysql2 # encoding: utf8 # reconnect: false # database: gitlabhq_production # pool: 10 # username: root # password: "secure password" production: adapter: mysql2 encoding: utf8 reconnect: false database: gitlabdb pool: 10 username: gitlabuser password: "gitlabuserpassword"
[...]

Ingrese los valores que proporcionó en el momento de la creación de la base de datos, los valores anteriores pueden diferir si ha utilizado otros valores en el momento de la creación de la base de datos. Cambie los permisos del archivo como:

sudo -u git -H chmod o-rwx config/database.yml

Ahora, podemos instalar algunas gemas más necesarias, y este puede ser un paso bastante largo (como se muestra a continuación):

cd /home/git/gitlab
gem install charlock_holmes --version '0.6.9.4'

Descargue el paquete e instálelo:

wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.1.1-omnibus-1_amd64.deb
apt-get install openssh-server
apt-get install postfix # Seleccione 'Sitio de Internet', usar sendmail en su lugar también funciona, exim tiene problemas

Aquí le pedirá alguna entrada al usuario, seleccione Sitio de Internet, use el correo del sistema como server1.example.com También puede usar sendmail en lugar de instalar postfix. En este caso, exim no funciona. A continuación, instale el laboratorio git:

dpkg -i gitlab_7.1.1-omnibus-1_amd64.deb

Edite el archivo de configuración para agregar nuestro nombre de host, es decir, hostname=server1.example.com:

vi /etc/gitlab/gitlab.rb


[....]
#external_url 'http://gitlab.example.com' external_url 'http://server1.example.com'

Luego reconfiguraremos el inicio de GitLab de la siguiente manera:

reconfigurar gitlab-ctl

Puede navegar por la página de inicio de sesión en http://192.168.0.100/users/sign_on use las credenciales como nombre de usuario=root y contraseña=5iveL!fe


Cambiar la contraseña original:


Esta será su página de bienvenida predeterminada.


5 Enlaces

  • gitlab:https://about.gitlab.com/
  • ubuntu:http://www.ubuntu.com/

Panels
  1. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 16.04

  2. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 20.04

  3. Cómo configurar un servidor de correo electrónico con Mail-in-a-Box en Ubuntu

  4. Cómo instalar WordPress con LAMP Stack en Ubuntu 16.04

  5. Cómo instalar un servidor de correo con PostfixAdmin en Ubuntu 20.04

Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 18.04 LTS

Cómo ejecutar el servidor Tomcat al inicio en el servidor Ubuntu

Cómo configurar el servidor Git en Ubuntu 20.04

Ejecute su propio sitio web para compartir videos con YouPHPTube en Debian 10 Buster

Cómo ejecutar su propio servidor de nombres con ISPConfig y providedomain.de (Schlund)

Cómo:asegurar su servidor Ubuntu o Debian con IPTables