GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar SonarQube en Ubuntu 16.04

SonarQube es una plataforma de sistema de gestión de calidad gratuita y de código abierto que se puede utilizar para automatizar la inspección de código. Puede analizar archivos de código fuente, calcular un conjunto de métricas y mostrar el resultado en el panel basado en la web. Está escrito en lenguaje Java y también es compatible con otros lenguajes como Perl, PHP y Ruby. De forma predeterminada, SonarQube admite la base de datos h2, pero no es escalable. Así que puedes integrar SonarQube con otros servidores de bases de datos como MSSQL, PostgreSQL, Oracle y MySQL. SOnarQube viene con muchos complementos, que integrarán el código fuente automáticamente desde los repositorios. Permite a los desarrolladores detectar errores y vulnerabilidades, así como disminuir los olores del código, en más de 20 idiomas diferentes. Puede integrar fácilmente SolarQube con los entornos de desarrollo Eclipse, Visual Studio e IntelliJ IDEA a través de los complementos de SonarLint.

En este tutorial, aprenderemos cómo instalar SonarQube en un servidor Ubuntu 16.04.

Requisitos

  • Instalación de un nuevo servidor Ubuntu 16.04 en su sistema.
  • Mínimo 4 GB de RAM.
  • Un usuario no root con privilegios sudo.

Cómo empezar

Antes de comenzar, se recomienda actualizar su sistema base con la última versión. Puede hacerlo ejecutando el siguiente comando:

sudo apt-get update -y
sudo apt-get upgrade -y

Después de actualizar su sistema, puede proceder a instalar Java.

1 Instalar Java

Sonarqube es una aplicación basada en Java, por lo que primero deberá instalar Java 8. Por defecto, Java 8 no está disponible en el repositorio de Ubuntu. Puede instalar Java 8 agregando el repositorio PPA webupd8team a su sistema.

Primero, agregue el PPA ejecutando el siguiente comando:

sudo add-apt-repository ppa:webupd8team/java

A continuación, actualice el repositorio con el siguiente comando:

sudo apt-get update -y

Una vez que el repositorio esté actualizado, puede instalar Java 8 ejecutando el siguiente comando:

sudo apt-get install oracle-java8-installer -y

Después de instalar Java, puede verificar la versión de Java con el siguiente comando:

java -version

Debería ver el siguiente resultado:

Java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

Una vez que haya terminado, puede continuar con el siguiente paso.

2 Instalar Apache y MariaDB

También deberá instalar Apache y MariaDB, porque usaremos Apache para el proxy inverso y MariaDB como base de datos. Puede instalar ambos ejecutando el siguiente comando:

sudo apt-get install apache2 mariadb-server -y

Una vez completada la instalación, inicie el servicio Apache y MariaDB y habilítelos para que se inicien en el arranque con el siguiente comando:

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysql

Una vez que Apache y MariaDB estén instalados y funcionando, puede continuar con el siguiente paso.

3 Configurar MariaDB

De forma predeterminada, la instalación de MariaDB no está protegida, por lo que deberá proteger la instalación de MariaDB. Puede hacer esto ejecutando el script mysql_secure_installation:

sudo mysql_secure_installation

En este proceso, se le pedirá que configure la contraseña de root, elimine usuarios anónimos, no permita el inicio de sesión de root de forma remota y elimine la base de datos de prueba. Responda todas las preguntas como se muestra a continuación:

Enter current password for root (enter for none):
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una vez que MariaDB esté protegido, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Ingrese su contraseña raíz cuando se le solicite, luego cree una base de datos para SonarQube:

MariaDB [(none)]> CREATE DATABASE sonardb;

A continuación, cree un nuevo usuario de base de datos y proporcione los privilegios apropiados a su usuario de base de datos sobre la base de datos que ha creado.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON sonardb.* TO 'sonar'@'localhost' IDENTIFIED BY 'yourpassword';

A continuación, aplique los cambios a los privilegios de la base de datos con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;

Finalmente, salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> \q

Una vez que la base de datos esté configurada, puede continuar con el siguiente paso.

4 Instalar SonarQube

Puede descargar la última versión de SonarQube desde su sitio web oficial. Puede descargarlo con el comando wget:

wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip

Una vez que se complete la descarga, descomprima el archivo descargado usando el siguiente comando:

sudo unzip sonarqube-6.4.zip -d /opt

A continuación, cambie el nombre del directorio con el siguiente comando:

sudo mv /opt/sonarqube-6.4 /opt/sonar

A continuación, deberá modificar el archivo de configuración principal de SonarQube sonar.properties:

sudo nano /opt/sonar/conf/sonar.properties

Realice los siguientes cambios:

##Database User credentials:
sonar.jdbc.username=sonar
sonar.jdbc.password=yourpassword
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

Guarde y cierre el archivo, luego cree un archivo de servicio systemd para SonarQube.

sudo nano /etc/systemd/system/sonar.service

Agregue las siguientes líneas:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking

ExecStart=/opt/sonar/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonar/bin/linux-x86-64/sonar.sh stop

User=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

Guarde el archivo cuando haya terminado, luego inicie el servicio de SonarQube y habilítelo para que se inicie en el arranque con el siguiente comando:

sudo systemctl start sonar
sudo systemctl enable sonar

El proceso de SonarQube tarda un tiempo en finalizar para crear la base de datos y completar los datos. Puedes comprobar el estado de SonarQube con el siguiente comando:

sudo systemctl status sonar

También puede monitorear el proceso mirando el contenido del archivo /opt/sonar/logs/sonar.log. Una vez que haya terminado, puede continuar con el siguiente paso.

5 Configure Apache como proxy inverso

De forma predeterminada, SonarQube escucha en el puerto 9000. Aquí, usaremos apache como proxy inverso para que se pueda acceder a SonarQube mediante el puerto 80:

Primero, habilite el módulo proxy de apache con el siguiente comando:

sudo a2enmod proxy
sudo a2enmod proxy_http

A continuación, cree un nuevo archivo de host virtual para SonarQube con el siguiente comando:

sudo nano /etc/apache2/sites-available/sonar.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
    ServerName 192.168.15.189
    ServerAdmin [email protected]
    ProxyPreserveHost On
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://localhost:9000/
    TransferLog /var/log/apache2/sonar_access.log
    ErrorLog /var/log/apache2/sonar_error.log
</VirtualHost>

Guarde y cierre el archivo, luego habilite el nuevo host virtual ejecutando el siguiente comando:

sudo a2ensite sonar

Finalmente, reinicie el servicio de apache con el siguiente comando:

sudo systemctl restart apache2

6 Acceder a la interfaz web de SonarQube

Todos los componentes necesarios están instalados y configurados. Ahora es el momento de acceder a la interfaz web de SonarQube.

Antes de acceder, deberá permitir el puerto 80 a través del firewall UFW. De manera predeterminada, UFW está deshabilitado en Ubuntu, por lo que deberá habilitarlo primero. Puede habilitarlo ejecutando el siguiente comando:

sudo ufw enable

Una vez que el firewall UFW está habilitado, puede permitir el puerto 80 a través de UFW ejecutando el siguiente comando:

sudo ufw allow 80/tcp

Ahora puede comprobar el estado del cortafuegos UFW ejecutando el siguiente comando:

sudo ufw status

Ahora, abra su navegador web y vaya a la URL http://192.168.15.189 , debería ver la siguiente pantalla:

Ahora, haga clic en el botón "Iniciar sesión", debería ver la siguiente pantalla:

Inicie sesión con el nombre de usuario predeterminado como "admin" y la contraseña como "admin", debería ver la siguiente pantalla:

Una vez que haya iniciado sesión en el panel de control de SonarQube, haga clic en el botón Administración> Sistema> Información del sistema. Debería ver la información actual del sistema en la siguiente pantalla:

A continuación, haga clic en el botón Administración> Sistema> Centro de actualizaciones, debería ver todos los complementos instalados en la siguiente pantalla:

Aquí puede actualizar los complementos existentes y también instalar los complementos disponibles. Después de instalar o actualizar los complementos necesarios, deberá hacer clic en el botón "Reiniciar" para reiniciar el sistema y actualizar los cambios.

Conclusión

En el tutorial anterior, aprendimos a instalar SonarQube en Ubuntu 16.04 y al uso básico de SonarQube. Ahora puede implementarlo fácilmente en el entorno de producción. Siéntete libre de comentarme si necesitas ayuda.


Ubuntu
  1. Cómo instalar Java en Ubuntu Linux

  2. Cómo instalar Java 17 en Ubuntu 20.04

  3. Cómo instalar Java en Ubuntu 16.04

  4. Cómo instalar Java en Ubuntu 20.04

  5. Cómo instalar Java en Ubuntu 22.04

Cómo instalar MariaDB en Ubuntu 18.04 / Ubuntu 16.04

Cómo instalar MariaDB en Ubuntu 16.04

Cómo instalar Java en Ubuntu 18.04

Cómo instalar MariaDB en Ubuntu

¿Cómo instalar Java en Ubuntu 18.04?

Cómo instalar Java en Ubuntu 22.04