Come eseguire il tuo server Git con GitlabHQ su Ubuntu 14.04
Questo documento descrive come installare e configurare Git e GitHub. Questi sono ottimi strumenti per gestire e amministrare tutta una serie di repository Git e le autorizzazioni associate. Quindi, queste rimangono vere benedizioni per gli utenti che scrivono software open source, tuttavia, quando scrivono un software closed source potrebbe non essere comodo affidare il codice a un server di terze parti. Per ottenere la flessibilità e il controllo tanto necessari su cose come Github/BitBucket senza ospitare i repository git su server esterni al controllo degli utenti, GitLab rimane una manna dal cielo!
GitLab è uno strumento meraviglioso che offre un'interfaccia basata sul Web semplice e intuitiva ma potente per i repository Git sul tuo server, vale a dire GitHub. Gli utenti sono liberi di ospitarlo sul proprio server cloud, controllare l'accesso in modo personalizzato e l'unico fattore che limita le dimensioni del repository è lo spazio di archiviazione integrato del server.
1 Nota preliminare
Questo tutorial è basato sul server Ubuntu 14.04, quindi dovresti configurare un'installazione di base del server Ubuntu 14.04 prima di continuare con questo tutorial. Il sistema dovrebbe avere un indirizzo IP statico. Uso 192.168.0.100 come indirizzo IP in questo tutorial e server1.example.com come nome host. Tutto il software necessario deve essere installato per far funzionare GitLab. Pertanto, coloro che utilizzano un VPS (droplet) esistente/una distribuzione Linux completamente diversa potrebbero dover affrontare interruzioni, espressamente con versioni incompatibili di Python e Ruby. Pertanto, è imperativo avere Ruby 2.0 e Python 2.7 installato all'inizio.
2 Installazione di Ruby 2.0 o superiore, Python 2.7 e Bundler Gem
Installeremo prima le preconfigurazioni prima delle configurazioni di Git Hub. Il processo per l'installazione dei pacchetti richiesti è stato spiegato di seguito.
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:gli utenti devono assicurarsi che Ruby 1.8 non sia installato sul proprio sistema, anche se è probabile che lo sia su un Ubuntu 14.04 predefinito
Puoi controllare la tua versione di Python come segue (nel mio caso è Python 2.7.6):
python --versione
[email protected]:~# python --version
Python 2.7.6
[email protected]:~#
Questo può essere fatto come mostrato di seguito, installando Ruby 2.1.2, Ruby può essere installato come segue:
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
Inoltre controlleremo la versione di Ruby come:
rubino -v
[email protected]:/tmp/ruby/ruby-2.1.2# ruby -vruby 2.1.2p95 (2014-05-08 revisione 45877) [x86_64-linux]
esempio@unixlinux. in linea:/tmp/ruby/ruby-2.1.2#
Successivamente installeremo Bundler Gem come segue:
gem install bundler --no-ri --no-rdoc
[email protected]:/tmp/ruby/ruby-2.1.2# gem install bundler --no-ri --no-rdocRecupero:bundler-1.6.5.gem (100%)
Bundler-1.6.5 installato con successo
1 gem installata
[email protected]:/tmp/ruby/ruby-2.1.2#
Ora creeremo un utente user=git per Gitlab da utilizzare in ulteriori configurazioni, come segue:
adduser --disabled-login --gecos 'GitLab' git
3 Installazione della shell GitLab
Scaricheremo la shell GitLab usando il seguente comando:
cd /home/git
sudo -u git -H git clone 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.example config.yml
Inoltre faremo un backup del file originale config.yml.example e lo copieremo in config.yml. Modifica il file come segue:
vi config.yml
Ora dobbiamo cambiare il valore da gitlab_url:"http://localhost/" in git value come mostrato:
# 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"
[....]
Ora eseguiremo la shell GitLab installata come segue:
sudo -u git -H ./bin/install
Avrà un output come questo:
[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:true
[email protected]:/home/git/gitlab-shell#
4 Installazione di Mariadb per GitLab
Ora configureremo GitLab per utilizzare un Mariadb da utilizzare nel backend. Il primo passo è installare Mariadb con il comando riportato di seguito. Durante il processo di installazione, ti verrà chiesto di impostare una password di root MySQL, che puoi impostare secondo le tue preferenze, tuttavia devi prendere nota della stessa per utilizzarla nei passaggi successivi.
apt-get install mariadb-server mariadb-client libmariadbclient-dev
Nuova password per l'utente "root" di MariaDB:<--mariadbpassword
Ripeti la password per l'utente "root" di MariaDB:<--mariadbpassword
Creazione database Gitlab:
mysql -u root -p
Nel prompt di Mariadb usa database=gitlabdb user=gitlabuser e password=gitlabuserpassword:
CREATE DATABASE gitlabdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON gitlabdb.* TO 'gitlabuser'@'localhost' IDENTIFIED BY 'gitlabuserpassword';
elimina privilegi;
chiudi
Ora procederemo per l'installazione come segue:
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
Proprio come con la configurazione della shell GitLab, se hai un dominio configurato per il VPS, devi modificare config.yml per utilizzare quel dominio (come mostrato nel comando riportato di seguito):
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
[...]
Qui, ti viene anche richiesto di impostare alcune autorizzazioni per i file Linux, configurare Gitconfig dell'utente git e impostare GitLabconfig e directory per l'utente git (come mostrato di seguito):
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
Successivamente, dobbiamo dire a GitLab di utilizzare l'utente gitlab Mariadb che avevi impostato in precedenza. Per questo, modificheremo il file config/database.ymlfile (come mostrato di seguito):
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"
[...]
Inserisci i valori come hai fornito al momento della creazione del database, i valori sopra riportati potrebbero differire se hai utilizzato altri valori al momento della creazione del database. Modifica i permessi del file come:
sudo -u git -H chmod o-rwx config/database.yml
Ora possiamo installare alcune gemme in più necessarie e questo potrebbe essere un passaggio abbastanza lungo (come mostrato di seguito):
cd /home/git/gitlab
gem install charlock_holmes --version '0.6.9.4'
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 # Seleziona 'Sito Internet', usando invece sendmail funziona anche, exim ha problemi
Qui richiederà l'input dell'utente, seleziona Sito Internet, usa la posta di sistema come server1.example.com Puoi anche usare sendmail invece di installare postfix. In questo caso l'exim non funziona. Quindi installa git lab:
dpkg -i gitlab_7.1.1-omnibus-1_amd64.deb
Modifica il file di configurazione per aggiungere il nostro nome host, ad esempio hostname=server1.example.com:vi /etc/gitlab/gitlab.rb
[....]
#external_url 'http://gitlab.example.com' external_url 'http://server1.example.com'
Riconfigurare quindi l'avvio di GitLab come segue:
gitlab-ctl riconfigura
Puoi sfogliare la pagina di accesso all'indirizzo http://192.168.0.100/users/sign_on utilizzare le credenziali come username=root e password=5iveL!fe
Questa sarà la tua pagina di benvenuto predefinita.
5 link
- gitlab:https://about.gitlab.com/
- ubuntu:http://www.ubuntu.com/