Jira è un agile strumento di gestione dei progetti sviluppato da Atlassian che può essere utilizzato per il monitoraggio dei problemi, la gestione dei progetti e la correzione dei bug. Fornisce un'interfaccia web intuitiva che ti aiuta a tenere traccia dei problemi. Puoi pianificare, monitorare e gestire tutti i tuoi progetti di sviluppo software agile tramite un browser web. Può essere facilmente integrato con Confluence, Bitbucket e altri strumenti per sviluppatori.
In questa guida spiegherò come installare e configurare Jira su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Sul tuo server è configurata una password di root.
Installa Java
Jira è scritto in Java. Quindi dovrai installare Java sul tuo sistema. Puoi installarlo semplicemente eseguendo il seguente comando:
dnf install java-11-openjdk-devel -y
Dopo aver installato Java, verificare la versione installata di Java con il seguente comando:
java -version openjdk version "11.0.5" 2019-10-15 LTS OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)
Installa il server MySQL
Al momento della stesura di questo tutorial, Jira non supporta MySQL versione 8 e il server MariaDB. Quindi dovrai installare MySQL 5.7 nel tuo sistema.
Innanzitutto, dovrai disabilitare il repository AppStream predefinito di MySQL dal tuo sistema. Puoi disabilitarlo con il seguente comando:
dnf remove @mysql
dnf module reset mysql
dnf module disable mysql
Quindi, crea un nuovo file di repository per MySQL 5.7 con il seguente comando:
nano /etc/yum.repos.d/mysql-community.repo
Aggiungi le seguenti righe:
[mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 gpgcheck=0 [mysql-connectors-community] name=MySQL Connectors Community baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/ enabled=1 gpgcheck=0 [mysql-tools-community] name=MySQL Tools Community baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/ enabled=1 gpgcheck=0
Salva e chiudi il file quando hai finito. Quindi, installa MySQL 5.7 eseguendo il seguente comando:
dnf --enablerepo=mysql57-community install mysql-community-server
Una volta completata l'installazione, avvia il servizio MySQL e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:
systemctl start mysqld
systemctl enable mysqld
Dopo l'installazione, è stata generata una password di root MySQL temporanea. Puoi acquisire la password con il seguente comando:
grep 'A temporary password' /var/log/mysqld.log |tail -1
Dovresti ottenere il seguente output:
2020-02-15T08:35:33.127395Z 1 [Note] A temporary password is generated for [email protected]: -)g2o+)feIw4
Ricorda questa password perché ti servirà durante il processo di reimpostazione della password di root MySQL.
Successivamente, si consiglia di reimpostare la password di root MySQL predefinita. Puoi ripristinarlo con il seguente comando:
mysql_secure_installation
Ti verrà chiesto di fornire la tua password di root MySQL predefinita:
Enter password for user root:
Fornisci la password di root MySQL predefinita e premi Invio per impostare una nuova password come mostrato di seguito:
New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Digita Y e premi Invio per continuare e seguire le istruzioni come mostrato di seguito:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Configura il database MySQL
Successivamente, dovrai modificare alcune impostazioni di MySQL. Puoi farlo modificando il file my.cnf:
nano /etc/my.cnf
Aggiungi le seguenti righe nella sezione [mysqld]:
default-storage-engine=INNODB character_set_server=utf8mb4 innodb_default_row_format=DYNAMIC innodb_large_prefix=ON innodb_file_format=Barracuda innodb_log_file_size=2G sql_mode = NO_AUTO_VALUE_ON_ZERO
Salva e chiudi il file. Quindi, riavvia il servizio MySQL per implementare le modifiche:
systemctl restart mysqld
Quindi, accedi alla shell MySQL:
mysql -u root -p
Fornisci la tua password di root e crea un database e un utente per Jira con il seguente comando:
mysql> CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql> CREATE USER 'jira'@'localhost' IDENTIFIED BY '[email protected]';
Quindi, concedi i privilegi necessari al jiradb con il seguente comando:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on jiradb.* TO 'jira'@'localhost' IDENTIFIED BY '[email protected]';
Quindi, svuota i privilegi ed esci dalla shell MySQL con il seguente comando:
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Installa e configura Jira
Innanzitutto, scarica l'ultima versione del binario di installazione di Jira con il seguente comando:
wget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-8.6.0-x64.bin -O atlassian-jira-software.bin
Una volta scaricato, fornisci il permesso di esecuzione al file binario scaricato:
chmod +x atlassian-jira-software.bin
Quindi, esegui il comando seguente per avviare l'installazione:
./atlassian-jira-software.bin
Ti verranno richieste diverse domande come mostrato di seguito:
Unpacking JRE ... Starting Installer ... This will install Jira Software 8.6.0 on your computer. OK [o, Enter], Cancel [c]
Premi Invio per avviare l'installazione:
Click Next to continue, or Cancel to exit Setup. Choose the appropriate installation or upgrade option. Please choose one of the following: Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing Jira installation [3] 1
Digita 1 e premi Invio per esprimere l'installazione:
Details on where Jira Software will be installed and the settings that will be used. Installation Directory: /opt/atlassian/jira Home Directory: /var/atlassian/application-data/jira HTTP Port: 8080 RMI Port: 8005 Install as service: Yes Install [i, Enter], Exit [e]
Premi Invio per avviare l'installazione:
Extracting files ... Please wait a few moments while Jira Software is configured. Installation of Jira Software 8.6.0 is complete Start Jira Software 8.6.0 now? Yes [y, Enter], No [n]
Premi Invio per avviare il servizio Jira. Una volta completata l'installazione, dovresti ottenere il seguente output:
Please wait a few moments while Jira Software starts up. Launching Jira Software ... Installation of Jira Software 8.6.0 is complete Your installation of Jira Software 8.6.0 is now ready and can be accessed via your browser. Jira Software 8.6.0 can be accessed at http://localhost:8080 Finishing installation ...
Successivamente, dovrai scaricare e installare il connettore Java MySQL in Jira.
Innanzitutto, scarica il connettore MySQL con il seguente comando:
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.18.zip
Quindi, decomprimi il file scaricato e copialo nella directory di installazione di Jira con il seguente comando:
unzip mysql-connector-java-8.0.18.zip
cp mysql-connector-java-8.0.18/mysql-connector-java-8.0.18.jar /opt/atlassian/jira/lib
Quindi, riavvia il servizio Jira con il comando seguente per implementare le modifiche:
/etc/init.d/jira stop
/etc/init.d/jira start
Successivamente, dovrai configurare il connettore HTTP e definire il tuo proxy in Jira. Puoi configurarlo modificando il file /opt/atlassian/jira/conf/server.xml
nano /opt/atlassian/jira/conf/server.xml
Trova le seguenti righe:
<Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/>
E sostituiscilo con le seguenti righe:
<Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" bindOnInit="false" scheme="http" proxyName="jira.example.com" proxyPort="80"/>
Salva e chiudi il file, quindi riavvia il servizio Jira per applicare le modifiche:
/etc/init.d/jira stop
/etc/init.d/jira start
Configura Nginx come proxy inverso per Jira
Per impostazione predefinita, Jira viene eseguito sulla porta 8080. È una buona idea configurare Nginx come proxy inverso per Jira. Quindi puoi accedere a Jira usando la porta 80.
Innanzitutto, installa il server web Nginx con il seguente comando:
dnf install nginx -y
Dopo aver installato Nginx, avvia il servizio Nginx e abilitalo all'avvio dopo il riavvio del sistema:
systemctl start nginx
systemctl enable --now nginx
Quindi, crea un nuovo file di configurazione dell'host virtuale per Jira:
nano /etc/nginx/conf.d/jira.conf
Aggiungi le seguenti righe:
server { listen 80; server_name jira.example.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080; client_max_body_size 10M; } }
Salva e chiudi il file quando hai finito. Quindi, verifica Nginx per qualsiasi errore di sintassi con il seguente comando:
nginx -t
Dovresti ottenere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Infine, riavvia il servizio Jira e Nginx per applicare le modifiche:
/etc/init.d/jira stop
/etc/init.d/jira start
systemctl nginx restart
Configura SELinux e Firewall
Successivamente, dovrai consentire la porta 80 tramite il firewall. Puoi configurarlo con il seguente comando:
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
Per impostazione predefinita, SELinux è abilitato in CentOS 8. Si consiglia di disabilitarlo poiché potrebbe far funzionare correttamente l'applicazione Jira.
Puoi disabilitare SELinux modificando il file /etc/selinux/config:
nano /etc/selinux/config
Trova la riga seguente:
SELINUX=enforcing
E sostituiscilo con la seguente riga:
SELINUX=permissive
Salva e chiudi il file. Quindi, riavvia il sistema per applicare le modifiche:
Accedi al dashboard di Jira
Apri il tuo browser web e digita l'URL http://jira.example.com. Verrai reindirizzato alla seguente pagina:
Seleziona "Lo configurerò io stesso " e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Seleziona "Il mio database ", fornisci i dettagli del tuo database e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci il titolo dell'applicazione, l'URL e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci la tua chiave di licenza di prova e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci i dettagli del tuo account amministratore e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fai clic su Fine pulsante per completare l'installazione. Dovresti vedere la pagina di selezione della lingua:
Seleziona la lingua desiderata e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Scegli il tuo avatar e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fai clic su "Crea nuovo progetto " per creare il tuo primo progetto. Dovresti vedere la seguente pagina:
Seleziona "Sviluppo software Scrum " e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fare clic su Seleziona per selezionare il flusso di lavoro. Dovresti vedere la seguente pagina:
Fornisci il nome e la chiave del progetto, quindi fai clic su Invia pulsante. Dovresti vedere la dashboard di Jira nella pagina seguente:
Conclusione
Congratulazioni! hai installato e configurato correttamente Jira su CentoS 8. Ora puoi iniziare a esplorare Jira per sapere come funziona. Sentiti libero di chiedermi se hai domande.