Colección de citas famosas - Colección de firmas - ¿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 y la instalación y configuración es muy problemática, pero hay un paquete de instalación tonto, /gitlab, y la dirección del código es /larryli/gitlab.

Entonces, lo que quiero hacer en este artículo es instalar gitlab desde el código fuente sin instalar el paquete Fool.

Gitlab tiene oficialmente un documento de descripción:/ce/install/installation.html. Este artículo básicamente sigue este documento. La diferencia es que este artículo usa apache en lugar de nginx.

Los pasos de instalación son los siguientes:

1. Paquete subordinado

2. Ruby

3.

4. Inicialización de la base de datos

5. Redis

Código fuente 6.gitlab

7. Gangsters callejeros

Este artículo puede Para 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-contraseña contraseña [[ -encryption] -start

El comando anterior creará un dispositivo. Si no hay otros dispositivos de acceso telefónico, este dispositivo será ppp0. Puede ver en ifconfig que la opción "-encrypt" es opcional porque algunos servidores no la admiten y le indicarán que se requiere MPPE pero la negociación entre pares falló. Al crear, puede utilizar la opción "-start" para ver el estado de la conexión.

Después de reiniciar, la conexión VPN creada por pptpsetup no será válida. Si desea eliminar la conexión VPN sin reiniciar:

Sudo pptpsetup -remove VPN name

Después de crear la conexión VPN, debe habilitarla y agregarla a la lista de enrutamiento:

p>

Nombre de Sudo pon VPN

sudo ruta agregar desarrollo predeterminado ppp0

Deshabilitar la conexión VPN a través de:

Sudo poff nombre de VPN< /p >

Comencemos con el texto:

1. Paquete subordinado

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

sudo taskel install light-server

Se le pedirá que ingrese la contraseña raíz de MySQL durante la instalación, que será utilizada abajo.

Las siguientes son las dependencias:

sudo apt-get install flex bison ruby ​​build-essential zlib 1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses 5 - dev libffi-dev curl OpenSSH-server redis-server check install libxml 2-dev libxslt-dev libcurl 4-OpenSSL-dev libicu-dev log rotar python-docutils pkg-config cmake libkrb 5-dev nodejs git-core

Nota: Ruby está instalado en el interior, que debería ser la versión 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, así que instálela primero y luego desinstálela. Además, existe Ruby 2.0 en la biblioteca de software de Ubuntu 14.04, pero no se puede utilizar para mediciones reales. Instalemos Ruby desde el código fuente.

2. Ruby

Descargar, compilar e instalar (eliminar Ruby 1.9.1 antes de la instalación):

curl-L-progress/ce/install /base de datos _ MySQL html

sudo apt-get install-y servidor MySQL cliente MySQL libmysql cliente-dev

mysql -u root -p

Ingrese MySQL Inicie sesión con la contraseña de root y luego:

mysql & gtCree el usuario "git"@"localhost" identificado por "$contraseña";

Recuerde cambiar el Reemplace "$contraseña" con la contraseña real, luego:

mysql & gtSET Storage_engine = INNODB

mysql & gtCree la base de datos si no existe ` gitlabhq_production ` conjunto de caracteres predeterminado `utf8 ` COLLATE `utf8_unicode_ci `;

mysql & gtGRANT SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR, CREAR, SOLTAR, INDICE, ALTERAR, BLOQUEAR TABLAS EN 'git labhq_production'. * TO ' git ' @ ' localhost

mysql & gt\q

5. Redis

Redis parece ser una base de datos que almacena claves, yo no. No lo sé, de todos modos, instálelo paso a paso:

Instalar redis-server

sudo CP/etc/redis/redis . p>

Sed·'s/^puerto. */puerto 0/'/etc/redis/redis . conf . orig | sudo tee/etc/redis/redis .conf 'Socket UNIX/var/run/redis/redis'. sudo tee-a/etc/redis/redis . conf

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

sudo service 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 desea cambiar, consulte el manual oficial. El proceso para obtener el código fuente chino es el siguiente:

cd /home/git

sudo-u git-H git clone/Larry Li/git lab

.

No sé si es por GFW o qué. Un repositorio clonado de git puede ser lento o lento. Yo uso una VPN, que es más rápida.

Una vez completado el clon de git, puedes comprobar la versión que desees.

Al momento de escribir este artículo (2065438 + 22 de abril de 2005), puede:

sudo -u git -H git check 7-7-zh

Luego configurar el código fuente

cd /home/git/gitlab

sudo -u git -H CP config/gitlab . ejemplo config/gitlab

sudo chown - R git log/

sudo chown -R git tmp/

sudo chmod -R u+rwX, go-w log/

sudo chmod - R u +rwX tmp/

sudo -u git -H mkdir /home/git/git lab-satellite

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

sudo chmod -R u+rwX tmp/pids/

sudo chmod -R u+rwX tmp/sockets/

sudo chmod -R u+rwX public/upload

sudo -u git -H CP config/unicorn . ejemplo de configuración/unicorn . /initializer/rack _ attack . ejemplo config/initializer/rack _ attack

sudo -u git -H git config -global nombre de usuario "GitLab"

sudo-u. git-H git config-global usuario . correo electrónico " ejemplo @ ejemplo . com "

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

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

Por supuesto, puede cambiar example@example.com a su dirección de correo electrónico. La configuración en el archivo yml anterior es básicamente la misma. para cambiar; luego, configure el nombre de usuario y la contraseña de la base de datos:

sudo-u git CP config/database . editor config/database.yml

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

Luego, instala gemas:

sudo -u git -H instalación-implementación del paquete-no es necesario desarrollar y probar postgres aws

Este paso debe usar VPN, porque el malvado GFW bloquea rubygems.org, por lo que le indicará que la conexión ha sido restablecida por el compañero, etc., lo que lleva mucho tiempo. Si su máquina es multinúcleo, también puede agregar el mismo parámetro -jN que make, 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, pila RAILS_ENV=production.

Inicia el servicio gitlab:

Inicia el servicio sudo gitlab

7. Street hooligans

Descarga el archivo de configuración de Apache:/git lab-org /git lab-recipes/blob/master/web-server/Apache/git lab-Apache 2.4 .conf.

Coloque "ProxyPassReverse" en

/"Cambiar a "ProxyPassReverse"

/git lab-org/git lab-recipes/raw/master/we b -server/Apache/git lab-Apache 2.4 . conf

mv git lab-Apache 2.4 . conf 001-git lab

Editor 001-gitlab.conf. Modificación)

sudo CP 001-git lab . conf/etc/Apache 2/sites-available

CD/etc/Apache 2/sites-enabled

sudo rm 000-default.conf

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

Además, el módulo proxy necesita. estar habilitado para implementar la función de Proxy inverso; de lo contrario, indicará que "ProxyPassReverse" no es válido

CD/etc/Apache 2/MODS-enabled

sudo ln -s../MODS -disponible/proxy.conf proxy.conf

sudo ln -s../MODS-available/proxy .cargar proxy

sudo ln -s../MODS-available. /proxy _connect.load proxy_connect .cargar

sudo ln -s../MODS-available/proxy_http .cargar proxy_http . rewrite.load rewrite.load

Reiniciar apache:

sudo service apache2 se reinicia

Luego, verifique si la configuración es correcta:

sudo -u git -H bundle exec rake git lab:check RAILS _ ENV = production

Si todos los resultados están en verde, puedes acceder a ellos.

Nombre de usuario de inicio de sesión: root, contraseña inicial: 5iveL! (Reino Unido) Educación continua

Finalmente configure el correo electrónico, modifique /home/git/git lab/config/git lab yml, donde "email_from:" es una dirección de correo electrónico válida; lab/config/environments/production .rb, donde " config . action _ mailer . delivery _ método = " es ":SMTP ";

sudo -u git -H CP SMTP_settings.Rb.sample SMTP_settings.Rb

Luego modifique el contenido del archivo correctamente y luego reinicie el servicio gitlab:

el servicio sudo gitlab se reinicia