Red de conocimiento informático - Material del sitio web - Cómo instalar la versión china de gitlab en el servidor ubuntu 14.04

Cómo instalar la versión china de gitlab en el servidor ubuntu 14.04

Gitlab se basa en Ruby on Rails. Su instalación y configuración son muy problemáticas. Sin embargo, hay un paquete de instalación tonto, /gitlab, y la dirección del código es: /larryli/gitlab.

Y este artículo. No se trata de instalar el paquete de los tontos, sino de instalar la versión china de gitlab en el servidor ubuntu: /larryli/gitlab.

Entonces, lo que este artículo va a hacer no es instalar el paquete de instalación de los tontos. , sino para instalar gitlab desde el código fuente.

Gitlab tiene oficialmente un documento de instrucciones: /ce/install/installation.html, que es básicamente lo que sigue este artículo.

Los pasos de instalación son los siguientes:

1. Dependencias

2. Ruby

3. p>4 .Inicialización de la base de datos

5. Inicialización de la base de datos

5. Redis

6. Fuente de Gitlab

7. Apache

7.7.

Este artículo puede utilizar una conexión VPN. El método para crear una conexión VPN en la línea de comando es el siguiente:

sudo apt-get install pptp. -linux

sudo pptpsetup --create VPN name --server Dirección del servidor --nombre de usuario nombre de usuario --contraseña contraseña [--encrypt] --start

El comando anterior creará un dispositivo Si no hay otros dispositivos de acceso telefónico, este dispositivo será ppp0. Como puede ver en ifconfig, la opción "--encrypt" es opcional porque algunos servidores no la admiten. Se requiere pero la negociación entre pares falló al usar "--start". Cuando se crea la opción, puede ver el estado de la conexión.

La conexión VPN creada por pptpsetup caducará después de reiniciar. Si desea eliminar la conexión VPN sin reiniciar:

sudo pptpsetup --delete VPN name

Crear Después de conectar la VPN, debe habilitarla y agregarla a la lista de rutas:

sudo pon VPN name

sudo route add default dev ppp0

Para deshabilitar la conexión VPN:

sudo poff VPN name

Inicio del texto:

1. Paquete de dependencia

Instalé el servidor Ubuntu. 14.04 Puede elegir si desea instalar LAMP (Linux Apache MySQL PHP) durante la instalación. De lo contrario, puede utilizar el siguiente comando para instalarlo:

sudo taskel install lamp-server

Se le solicitará que ingrese la contraseña raíz de MySQL, que se utiliza a continuación.

Las siguientes son las dependencias:

sudo apt-get install flex bison ruby ​​build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi -dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake libkrb5-dev nodejs git-core

Nota: Instalar aquí es Ruby, la versión debería ser 1.9.1. gitlab requiere Ruby 2.0 o superior, pero la instalación de Ruby 2.0 o superior requiere una versión inferior de Ruby. Entonces lo instalamos primero y lo desinstalamos después. Además, Ubuntu 14.04 tiene Ruby 2.0 en los repositorios de software, pero no funciona como se probó, por lo que es mejor instalar Ruby desde la fuente.

2. Ruby

Descarga, compila e instala (elimina Ruby 1.9.1 antes de la instalación):

curl -L --progress /ce/ instalar /database_mysql.html

sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev

mysql -u root -p

Ingrese MySQL contraseña de root para iniciar sesión, luego:

mysqlgt; CREAR USUARIO 'git'@' localhost' IDENTIFICADO POR '$contraseña'

Luego, recuerde cambiar " $contraseña"; "Reemplazar con la contraseña real:

mysqlgt; SET Storage_engine=INNODB;

mysqlgt; CREAR BASE DE DATOS SI NO EXISTE `gitlabhq_production` CONJUNTO DE CARACTERES PREDETERMINADO `utf8` COLLATE `utf8_unicode_ci`;

mysqlgt; OTORGAR SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR, CREAR, ELIMINAR, INDICE, ALTERAR, BLOQUEAR TABLAS EN `gitlabhq_production`.* A 'git'@'localhost';

mysqlgt; \q

5.Redis

Redis parece usarse para almacenar claves de bases de datos, no lo sé. De todos modos, se instala de acuerdo con los pasos:

<. p >sudo apt-get install redis-server

sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig

sed ' s /^puerto .*/puerto 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf

echo 'unixsocket /var/run/redis/redis calcetín' | sudo tee -a /etc/ redis/redis.conf

echo 'unixsocketperm 770' | sudo tee -a /etc/redis/redis.conf

servicio sudo redis -server restart

sudo usermod -aG redis git

6. código fuente de gitlab

El código fuente de Gitlab está instalado en /home/git/gitlab de forma predeterminada Si es necesario Para realizar cambios, consulte el manual oficial. El proceso para obtener la versión china es el siguiente:

cd /home/git

sudo -u git -H git clone /larryli/gitlab.git

No lo sé. Debido a GFW o alguna otra razón, la velocidad del almacén de clones de git es muy lenta. Usé VPN para hacerlo más rápido.

Después de git clone, puedes comprobar la versión que desees. Al momento de escribir este artículo (22 de abril de 2015), puedes:

sudo -u git - H git checkout. 7-7-zh

Luego configura el código fuente

cd /home/git/ gitlab

sudo -u git -H cp config/gitlab .yml .ejemplo config/gitlab.yml

sudo chown -R git log/

sudo chown -R git tmp/

sudo chmod -R u rwX, ve -w log/

sudo chmod -R u rwX tmp/

sudo -u git -H mkdir /home/git/gitlab-satellites

sudo chmod u rwx, g=rx, o-rwx /home/git/gitlab-satellites

sudo chmod -R u rwX tmp/pids/

sudo chmod -R u rwX tmp/ sockets/

sudo chmod -R u rwX public/ uploads

sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb

sudo -u git -H cp config/initializers/rack_attack.rb. ejemplo config/initializers/rack_attack.rb

sudo -u git -H git config --global user.name "GitLab"

sudo -u git -H git config --global user.email "example@example.com"

sudo -u git -H git config --global core.autocrlf entrada

sudo -u git -H cp config/resque.yml.example config/resque.yml

Por supuesto, puedes cambiar ejemplo@example.com a tu correo electrónico; necesita cambiar la configuración en el archivo yml anterior, luego configure el nombre de usuario y la contraseña de la base de datos:

sudo -u git cp config/database.yml.mysql config/database.yml

sudo -u git -H editor config/database.

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

Luego, instala la gema:

sudo -u git -H instalación del paquete --deployment --sin prueba de desarrollo postgres aws

Este paso debe usar una VPN porque el malvado GFW bloquea rubygems.

Si su máquina es de múltiples núcleos, también puede agregar y crear el mismo parámetro -jN, donde N es igual al número de núcleos.

(Agregado el 2 de mayo de 2015)

Descubrí que Taobao ha creado un espejo doméstico de rubygrems.org, PILE RAILS_ENV=production

Inicie gitlab servicio:

sudo service gitlab start

7.apache

Descarga el archivo de configuración de Apache:/gitlab-org/gitlab-recipes/blob/master/web -server/ apache/gitlab-apache2.4.conf

Reemplace "ProxyPassReverse

/" con "ProxyPassReverse

/gitlab-org/gitlab-recipes/ raw/ master/web-server/apache/gitlab-apache2.4.conf

mv gitlab-apache2.4.conf 001-gitlab.conf

editor 001-gitlab.conf (Continuar con los cambios anteriores)

sudo cp 001-gitlab.conf /etc/apache2/sites-available

cd /etc/apache2/sites-enabled

sudo rm 000-default.conf

sudo ln -s ./sites-available/001-gitlab.conf 001-gitlab.conf

Además, debe habilitar el módulo proxy para la función de Proxy inverso; de lo contrario, el sistema le mostrará un mensaje como "ProxyPassReverse".

cd /etc/apache2/mods-enabled

sudo ln -s ./mods-available/proxy.conf proxy.conf

sudo ln -s .../mods-available/proxy.load proxy.load

sudo ln -s .../mods-available/proxy.load proxy.load

sudo ln -s .../mods-available/proxy_connect.load proxy_connect.load

sudo ln -s ./mods-available/proxy_http.load proxy_http.load

sudo ln -s .. ./mods-available/proxy_http.load proxy_http.load

sudo ln -s .../mods-available/rewrite.load rewrite.load

Reiniciar apache:

p>

sudo service apache2 restart

Luego, verifique si la configuración es correcta:

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

Si todos los resultados están en verde, tienes acceso. Nombre de usuario de inicio de sesión: root, contraseña inicial: 5iveL!fe

Finalmente, configure el correo electrónico. Modifique /home/git/gitlab/config/gitlab.yml para que "email_from:" se convierta en una dirección de correo electrónico válida; modifique /home/git/gitlab.yml para que "email_from:" se convierta en una dirección de correo electrónico válida; git/gitlab.yml, haga que "email_from:" sea una dirección de correo electrónico válida; modifique /home/git/gitlab.yml, haga que "email_from:" sea una dirección de correo electrónico válida. Modifique /home/git/gitlab/config/environments/production.rb para que "config.action_mailer.delivery_method=" sea una dirección de correo electrónico válida. ":smtp";Finalmente:

cd /home/git/gitlab/config/initializers

sudo -u git -H cp smtp_settings.rb.sample smtp_ settings.rb

Después de cambiar el contenido del archivo correctamente, puede reiniciar el servicio gitlab:

sudo service gitlab restart.