GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come eseguire il tuo server Git con GitlabHQ su Ubuntu 14.04

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.

Non garantisco che questo funzionerà per te!

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 ​​-v
ruby 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-rdoc
Recupero: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'

Scarica il pacchetto e installalo:

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


Modifica la password originale:


Questa sarà la tua pagina di benvenuto predefinita.


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

Panels
  1. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

  2. Come installare WordPress con lo stack LAMP su Ubuntu 16.04

  3. Come installare un server di posta con PostfixAdmin su Ubuntu 20.04

  4. Come installare WordPress con lo stack LAMP su Ubuntu 20.04

  5. Come proteggere il tuo server Ubuntu con CSF Firewall

Come installare HTTP Git Server con Nginx su Ubuntu 18.04 LTS

Come eseguire Tomcat Server all'avvio su Ubuntu Server

Come configurare Git Server su Ubuntu 20.04

Gestisci il tuo sito Web di condivisione video con YouPHPTube su Debian 10 Buster

Come eseguire il proprio server dei nomi con ISPConfig e providerdomain.de (Schlund)

Procedura:proteggere il tuo server Ubuntu o Debian con IPTables