Cómo instalar la versión china de gitlab en el servidor ubuntu 14.04
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 p>
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
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`; p>
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-serversudo 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" p>
sudo -u git -H git config --global user.email "example@example.com"
sudo -u git -H git config --global core.autocrlf entrada p>
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 p>
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 p>
Después de cambiar el contenido del archivo correctamente, puede reiniciar el servicio gitlab:
sudo service gitlab restart.