Cómo instalar y configurar SonarQube en CentOS 7
SonarQube es una plataforma de código abierto para la inspección continua de la calidad del código. Se utiliza para realizar revisiones automáticas con análisis estático de código para detectar errores, olores de código y vulnerabilidades de seguridad en más de 20 lenguajes de programación.
Aquí vamos a instalar y configurar SonarQube 7.9.x LTS con Oracle JAVA 11, PostgreSQL 10.x, Nginx y Vamos a cifrar Certificados.
- Instalación y configuración de SonarQube en CentOS
- 1. Actualizar sistema
- 2. Deshabilitar SELinux
- 3. Establezca el nombre de host en el servidor.
- 4. Requisito previo
- 5. Agregar configuración del sistema
- 6. Instale Oracle Java 11
- 7. Instale PostgreSQL 10
- 8. Descarga y configura SonarQube
- 9. Configure el proxy inverso
- 10. Configurar SSL
- 11. DNS
- 12. Modificar las reglas del cortafuegos
- 13. Explorar Sonarqube
- 14. Página de inicio de sesión
Instalación y configuración de SonarQube en CentOS
Ejecute los siguientes comandos utilizando el usuario root.
1. Actualizar sistema
yum update
2. Deshabilitar SELinux
Abra la configuración de SELinux y edite el archivo:
vim /etc/sysconfig/selinux
Cambie "SELINUX = enforcing" a "SELINUX = disabled".
Guardar y salir del archivo.
3. Establezca el nombre de host en el servidor.
vim /etc/hostname
Si vim no está disponible, instale el comando vim primero.
yum install vim -y
Luego reinicia el sistema.
reboot
4. Requisito previo
Puede consultar el documento oficial para obtener información completa.
- Java (Oracle JRE 11 o OpenJDK 11)
- PostgreSQL 10 o 9.3–9.6
Requisitos de hardware
- Servidor con 2GB o más RAM
- Configuración de sistemas para Linux
vm.max_map_count es mayor o igual a 262144
fs.file-max es mayor o igual a 65536
el usuario que ejecuta SonarQube puede abrir al menos 65536 descriptores de archivo
el usuario que ejecuta SonarQube puede abrir al menos 4096 subprocesos
5. Agregar configuración del sistema
Edite el archivo "sysctl.conf":
vim /etc/sysctl.conf
Agrega las siguientes líneas:
vm.max_map_count=262144 fs.file-max=65536
Guardar y salir del archivo.
6. Instale Oracle Java 11
Descargue Oracle JDK 11 desde aquí.
Antes de descargar, se redirigirá al inicio de sesión de Oracle. Si tiene una cuenta, úsela o cree una nueva.
Puede descargar el paquete rpm a su máquina y cargarlo en el servidor de sonda.
O puede utilizar los siguientes pasos:
a) Puede copiar el enlace de descarga de las descargas del navegador web.
b) Luego vaya a su servidor y descargue usando el comando "wget".
wget https://download.oracle.com/otn/java/jdk/11.0.5+10/e51269e04165492b90fa15af5b4eb1a5/jdk-11.0.5_linux-x64_bin.rpm?AuthParam=1573886978_5511f6acaa0b321333446e8e838c1045
c) Si el comando "wget" no está disponible en su sistema, instálelo usando el siguiente comando:
yum install wget -y
Cambie el nombre del archivo descargado.
mv jdk-11.0.5_linux-x64_bin.rpm?AuthParam=1573886978_5511f6acaa0b321333446e8e838c1045 jdk-11.0.5_linux-x64_bin.rpm
Instale Oracle JDK:
yum localinstall jdk-11.0.5_linux-x64_bin.rpm
Java instalado en la siguiente ubicación:
cd /usr/java/
Agregue variables de entorno de Java:
vim /etc/bashrc
Agregue las siguientes líneas al final del archivo:
export JAVA_HOME=/usr/java/jdk-11.0.5/ export JRE_HOME=/usr/java/jdk-11.0.5/jre PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
Guarde y salga del archivo y verifique la versión de Java.
java -version
7. Instale PostgreSQL 10
Puede ver las descargas de distribuciones basadas en Redhat aquí.
Instale el repositorio primero:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Instalar servidor:
yum install postgresql10-server postgresql10-contrib
Inicialice la base de datos:
/usr/pgsql-10/bin/postgresql-10-setup initdb
Modifique el archivo pg_hba.conf; cambie "peer" a "trust" y "idnet" a "md5".
vim /var/lib/pgsql/10/data/pg_hba.conf
Una vez realizada la modificación, el archivo debe ser el siguiente:
Para iniciar el servicio y configurarlo en el arranque, habilite PostgreSQL en el arranque del sistema:
systemctl enable postgresql-10
Verifique el estado del servicio e inícielo.
systemctl status postgresql-10
systemctl start postgresql-10
Cambie la contraseña predeterminada del usuario de Postgres:
passwd postgres
Cambie al usuario de Postgres.
su - postgres
Crea un nuevo usuario.
createuser sonar
Cambie al shell de PostgreSQL.
psql
Establezca una contraseña para el usuario recién creado para la base de datos de SonarQube:
ALTER USER sonar WITH ENCRYPTED password 'd98ffW@123?Q';
Cree una nueva base de datos para la base de datos PostgreSQL.
CREATE DATABASE sonar OWNER sonar;
Salga del shell psql.
q
Salga del usuario "postgres".
exit
8. Descarga y configura SonarQube
Vamos a descargar el paquete en el directorio "opt". Así que cambia de directorio
cd /opt
Aquí vamos a utilizar la versión 7.9.x LTS y se puede descargar aquí.
I. Descargar la última versión de LTS
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
II. Entonces descomprime
unzip sonarqube-7.9.1.zip
Si abrir la cremallera comando no disponible. Instalar en pc abrir la cremallera.
yum install unzip -y
III. Renombrar carpeta
mv sonarqube-7.9.1 sonarqube
IV. Modifique el "archivo sonar.properties".
vim /opt/sonarqube/conf/sonar.properties
Encuentra las siguientes líneas. Luego, elimine el comentario y modifique los valores.
sonar.jdbc.username=sonar sonar.jdbc.password=d98ffW@123?Q sonar.jdbc.url=jdbc:postgresql://localhost/sonar
sonar.web.host=127.0.0.1 sonar.web.port=9000 sonar.web.javaOpts=-server -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError sonar.search.javaOpts=-server -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError
Configuración de la ruta de almacenamiento de Elasticsearch:
sonar.path.data=/var/sonarqube/data sonar.path.temp=/var/sonarqube/temp
Guardar y salir del archivo.
V. Crear un usuario para la sonda
useradd sonar
Configurar la clave:
passwd sonar
VI. Modificar los permisos de la carpeta
chown -R sonar:sonar /opt/sonarqube
Cree las siguientes carpetas y conceda permiso:
mkdir -p /var/sonarqube/data mkdir -p /var/sonarqube/temp
chown -R sonar:sonar /var/sonarqube
VII. Configurar Sonarqube como servicio
vim /etc/systemd/system/sonarqube.service
Agregue el siguiente contenido al archivo:
Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=forking ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop LimitNOFILE=65536 LimitNPROC=4096 User=sonar Group=sonar Restart=on-failure [Install] WantedBy=multi-user.target
Vuelva a cargar el demonio “systemctl” y habilite la sonda en el arranque del sistema.
systemctl daemon-reload
systemctl enable sonarqube.service
Inicie el servicio y verifique su estado.
systemctl start sonarqube.service
systemctl status sonarqube.service
VIII. ubicación del archivo de registro
cd /opt/sonarqube/logs/
tail -f /opt/sonarqube/logs/sonar.log
tail -f /opt/sonarqube/logs/web.log
tail -f /opt/sonarqube/logs/es.log
tail -f /opt/sonarqube/logs/ce.log
9. Configure el proxy inverso
Instale Nginx, inicie el servicio y habilítelo en el arranque del sistema.
yum install -y nginx
systemctl start nginx systemctl enable nginx
10. Configurar SSL
Habilite epel repo e instale certbot.
yum install – y epel-release
yum install certbot python2-certbot-nginx
Ejecute el siguiente comando para obtener un certificado y haga que Certbot edite su configuración de Nginx automáticamente para entregarla, activando el acceso HTTPS en un solo paso.
certbot --nginx
El comando hará preguntas. Luego agregue los detalles necesarios de acuerdo con eso.
Una vez finalizada la instalación, abra nginx.conf.
vim /etc/nginx/nginx.conf
Debería ver la configuración de certbot SSL.
Luego, agregue el siguiente contenido a los Bloques de ubicación.
location / { proxy_pass "http://127.0.0.1:9000"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }
Guardar y salir del archivo. El archivo modificado se ve a continuación:
Verifique la sintaxis de nginx:
nginx -t
Reinicie nginx:
systemctl restart nginx
11. DNS
Luego vaya a su administrador de DNS y agregue un registro A para su servidor de sonda.
A Domain Name Server IP
12. Modificar las reglas del cortafuegos
Si tiene el firewall habilitado, ejecute el siguiente comando para abrir el tráfico https.
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
Si necesita abrir la sonda para una IP específica, ejecute el siguiente comando:
firewall-cmd --permanent --zone=public --add-rich-rule=" rule family="ipv4" source address="122.43.8.188/32" port protocol="tcp" port="443" accept"
firewall-cmd --reload
13. Explorar Sonarqube
Vaya a su navegador y escriba su nombre de dominio.
eg:- https://sonar.fosslinux.com/
Luego haga clic en "iniciar sesión".
14. Página de inicio de sesión
El nombre de usuario y la contraseña predeterminados es "admin".
Tablero
Ahora configuramos SonarQube con éxito. En nuestros próximos artículos, veremos cómo integrar SonarQube con Jenkins.
Deja una respuesta