In questo articolo, spiegheremo come installare GitBucket su un VPS Ubuntu 16.04 con Nginx come proxy inverso. GitBucket è una piattaforma Git basata su Scala con compatibilità API Github. Alcune delle caratteristiche principali includono repository Git pubblici e privati, sistema di plug-in, wiki, editor online, notifiche, ecc. Questa guida dovrebbe funzionare anche su altri sistemi VPS Linux, ma è stata testata e scritta per un VPS Ubuntu 16.04.
1. Accedi al tuo VPS tramite SSH
ssh user@vps_IP
2. Aggiorna il sistema e installa i pacchetti necessari
[user]$ sudo apt-get update && sudo apt-get -y upgrade [user]$ sudo apt-get install software-properties-common git nano wget
3. Installa Java 8
Per aggiungere il repository webupd8team all'elenco delle fonti e installare la versione più recente di Oracle Java 8 JDK, eseguire i seguenti comandi:
[user]$ sudo add-apt-repository ppa:webupd8team/java [user]$ sudo apt-get update [user]$ sudo apt-get install oracle-java8-installer
Per verificare se JAVA è stato installato correttamente sul tuo Ubuntu 16.04 VPS esegui java -version e l'output dovrebbe essere simile al seguente:
[user]$ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
4. Installa GitBucket
Crea un nuovo utente GitBucket:
[user]$ sudo adduser --gecos 'Gitbucket User' gitbucket
GitBucket memorizzerà tutti i repository git nella home directory dell'utente che avvierà l'applicazione.
Scarica l'ultimo gitbucket.war da Github. Al momento in cui scrivo, l'ultima versione è la 4.4.
[user]$ sudo wget -O /home/gitbucket/gitbucket.war https://github.com/gitbucket/gitbucket/releases/download/4.4/gitbucket.war [user]$ sudo chown -R gitbucket: /home/gitbucket
5. Crea un servizio systemd
Per creare un nuovo servizio systemd per GitBucket, apri il tuo editor preferito e crea un nuovo file:
[user]$ sudo nano /etc/systemd/system/gitbucket.service
e aggiungi le seguenti righe di codice:
[Unit] Description=GitBucket service After=syslog.target After=network.target [Service] User=gitbucket ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port=8080 --host=127.0.0.1 [Install] WantedBy=multi-user.target
Avvia il server GitBucket e impostalo per l'avvio automatico all'avvio:
[user]$ sudo systemctl enable gitbucket.service [user]$ sudo systemctl start gitbucket.service
Per verificare l'avvio dell'unità, eseguire systemctl status gitbucket.service
e dovresti vedere qualcosa come di seguito:
● gitbucket.service - GitBucket service Loaded: loaded (/etc/systemd/system/gitbucket.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2016-09-09 18:25:18 CDT; 2s ago Main PID: 3578 (java) CGroup: /system.slice/gitbucket.service └─3578 /usr/bin/java -jar /home/gitbucket/gitbucket.war --port=8080 --host=127.0.0.1
6. Installa e configura Nginx
Per installare l'ultima versione stabile di Nginx disponibile sui repository di Ubuntu, esegui:
[user]$ sudo apt-get -y install nginx
Genera un certificato SSL autofirmato:
[user]$ sudo mkdir -p /etc/nginx/ssl [user]$ cd /etc/nginx/ssl [user]$ sudo openssl genrsa -des3 -passout pass:x -out gitbucket.pass.key 2048 [user]$ sudo openssl rsa -passin pass:x -in gitbucket.pass.key -out gitbucket.key [user]$ sudo rm gitbucket.pass.key [user]$ sudo openssl req -new -key gitbucket.key -out gitbucket.csr [user]$ sudo openssl x509 -req -days 365 -in gitbucket.csr -signkey gitbucket.key -out gitbucket.crt
[utente]$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
Se non desideri ricevere avvisi associati ai certificati SSL autofirmati, puoi acquistare un certificato SSL affidabile qui.
Quindi, crea un nuovo blocco del server Nginx:
[user]$ sudo nano /etc/nginx/sites-available/myGitbucket.com
server { listen 443 ssl http2; server_name myGitbucket.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_buffers 4 32k; client_max_body_size 500m; # Big number is we can post big commits. client_body_buffer_size 128k; } ssl on; ssl_certificate /etc/nginx/ssl/gitbucket.crt; ssl_certificate_key /etc/nginx/ssl/gitbucket.key; ssl_dhparam /etc/nginx/ssl/dhparam.pem; ssl_session_timeout 5m; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; access_log /var/log/nginx/mygitbucket.access.log; error_log /var/log/nginx/mygitbucket.error.log; } server { listen 80; server_name myGitbucket.com; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; }
Attiva il blocco del server creando un collegamento simbolico :
[user]$ sudo ln -s /etc/nginx/sites-available/myGitbucket.com /etc/nginx/sites-enabled/myGitbucket.com
Testare la configurazione di Nginx e riavviare nginx:
[user]$ sudo nginx -t [user]$ sudo systemctl start nginx
Apri http://myGitbucket.com/ nel tuo browser web preferito e dovresti vedere la home page di GitBucket. Il nome utente e la password predefiniti sono entrambi root.
Questo è tutto. Hai installato con successo GitBucket sul tuo VPS Ubuntu 16.04. Per ulteriori informazioni su come gestire l'installazione di GitBucket, fare riferimento al sito Web ufficiale di GitBucket.
Ovviamente non devi installare GitBucket su Ubuntu 16.04, se utilizzi uno dei nostri servizi di hosting VPS ad alte prestazioni, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS . Se ti è piaciuto questo post, su come installare GitBucket su Ubuntu 16.04, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.