Advance

Tutorial Install and use SonarQube on Ubuntu 20.04

Tutorial Install and use SonarQube on Ubuntu 20.04

Sonar is a quality source code management tool for applications. This tool is able to cover and analyze programming quality in seven areas of design, coding rules, documentation, duplication, unit tests, complexity, and program errors. Sonar has the ability to combine metrics to produce statistical reports. This tool can use to analyze source code in almost all programming languages. In this article, we are going to teach you about Tutorial Install and use SonarQube on Ubuntu 20.04. You can visit the packages available in Eldernode if you wish to purchase an Ubuntu VPS server.

Introduction to SonarQube

In general, using SonarQube has the following benefits:

_ Continuous inspection: With the help of SonarQube, the quality of the code can systematically improve.

_ Identifying deceptive problems: With the help of this program, deceptive problems such as not referring to an empty pointer and logical errors can check and identify.

_ Integration with DevOps: Using webhooks and internal RestAPI of this software, all DevOps tools such as manufacturing systems, CI engines, and development pipelines can be integrated.

_ Centralized quality: With the help of this program, the quality of the whole project control process can be managed centrally

Also among the SonarQube features are the following:

1- Support for source analysis of programs written in multiple languages ​​such as Python, Javascript, Java, etc.

2- Support for source analysis of database functions and procedures written in PL/SQL and TSQL languages

3- Support for client-side source analysis such as JavaScript, CSS, HTML, etc.

4- Support for source analysis of mobile applications under platforms such as Android and iOS

5- Analysis of programming quality from different perspectives such as design, coding principles, amount of documentation, reusability, and complexity

6- Provide multiple graphs and statistics to identify programming bugs

7- Provide comprehensive reports of code analysis results

In the next section, we will teach you how to Install SonarQube on Ubuntu 20.04. Please join us.

Recommended Article: How To Install Flatpak On Ubuntu 20.04 LTS

How to Install Java on Ubuntu 20.04

Given that one of the prerequisites for installing SonarQube is installing Java, so in this section, we intend to teach you how to install Java. To do this, just follow the steps below.

You must first update the system using the following command:

apt update

In the next step, if you want to use JRE, you can use the following command:

apt install default-jre

You can also use the following command if you want to use OpenJDK:

apt install default-jdk

How to Install and Setup Database for SonarQube on Ubuntu 20.04

The interesting thing to know is that SonarQube supports PostgreSQL, Oracle, or MSSQL for Windows systems. In this section, we are going to teach you how to install PostgreSQL. You can install PostgreSQL using the following command:

apt install postgresql postgresql-contrib

Now you should log in as a PostgreSQL superuser and Create SonarQube PostgreSQL Database and Database User using the following commands:

sudo -Hiu postgres
createuser sonaradmin
createdb -O sonaradmin sonarqubedb
psql
ALTER USER sonaradmin WITH ENCRYPTED password 'changeme';
\q
exit

After you have successfully created and launched the PostgreSQL database, you should now enable the secure computing filter. It is important to note that the Seccomp filter is usually enabled by default on Ubuntu 20.04. But you can use the following command to check if Seccomp is present in your kernel:

grep SECCOMP /boot/config-$(uname -r)

Finally, another prerequisite for installing SonaQube is the Fontconfig and FreeType fonts that are used to generate SonarQube executable reports. You can use the following command to install them:

apt install fontconfig-config libfreetype6

How to Install SonarQube on Ubuntu 20.04

In this section, we want to teach you step by step how to install SonarQube on Ubuntu 20.04. To do this, just follow the steps below.

In the first step, you have to download SonarQube. To get the download link, you can refer to the SonarQube binaries page. Then download SonarQube using the following command:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.7.0.41497.zip

After you have successfully downloaded the file, you must now extract it by executing the following commands:

apt install zip
unzip sonarqube-8.7.0.41497.zip -d /opt/

You can also rename SonarQube to delete the version number:

mv /opt/sonarqube{-8.7.0.41497,}

After you can install SonarQube, you can now create a SonarQube system account by performing the following steps. One thing to keep in mind is that SonarQube should not run as root. So you need to create a non-admin account to run SonarQube:

useradd -M -d /opt/sonarqube/ -r -s /bin/bash sonarqube

Eventually, you should set the ownership of the /opt/sonarqube to sonar user created above using the following command:

chown -R sonarqube: /opt/sonarqube

Configure SonarQube on Ubuntu 20.04

After you have successfully installed SonarQube, you can configure it at this stage. So you can configure the database connection details according to your PostgreSQL settings above. Just open the configuration file with one of the text editors. Here we use the vim text editor:

vim /opt/sonarqube/conf/sonar.properties

After making the following changes to the configuration file, you can save it and exit it:

# DATABASE  ...  # User credentials.  ...  sonar.jdbc.username=sonaradmin  sonar.jdbc.password=changeme  ...  #----- PostgreSQL 9.3 or greater  # By default the schema named "public" is used. It can be overridden with the parameter "currentSchema".  #sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema  sonar.jdbc.url=jdbc:postgresql://localhost/sonarqubedb

How to Run and Use SonarQube on Ubuntu 20.04

In this section, we will teach you how to run and use SonarQube. You can start SonarQube in standalone mode using the following script bypassing the start option. as in the following script start, it is better to use the systemd service unit:

/opt/sonarqube/bin/linux-x86-64/sonar.sh

You can create a SonarQube Systemd Service Unit file using the following commands:

Note: Replace the path, /opt/sonarqube/lib/sonar-application-8.7.0.41497.jar, in the following commands:

cat > /etc/systemd/system/sonarqube.service << 'EOL'  [Unit]  Description=SonarQube service  After=syslog.target network.target    [Service]  Type=simple  User=sonarqube  Group=sonarqube  PermissionsStartOnly=true  ExecStart=/bin/nohup java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-8.7.0.41497.jar  StandardOutput=syslog  LimitNOFILE=131072  LimitNPROC=8192  TimeoutStartSec=5  Restart=always  SuccessExitStatus=143    [Install]  WantedBy=multi-user.target  EOL

In the next step you have to reload the systemd configurations using the following command:

systemctl daemon-reload

We recommend that you use the following commands to set the maximum number of memory maps for elasticsearch in the next step:

echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
sysctl -p

If you have followed all the steps in this tutorial correctly, you can now easily run and enable SonarQube using the following command:

systemctl enable --now sonarqube

You now need to install one of the Apache or Nginx web servers to access the SonarQube web interface. Here we install the Nginx server using the following command:

apt install nginx -y

You can now enable the SonarQube Nginx site by running the following command:

ln -s /etc/nginx/sites-available/sonarqube /etc/nginx/sites-enabled/

Finally, you need to restart Nginx using the following command:

systemctl restart nginx

The important thing to keep in mind is that open port 80/TCP on the firewall or port 443/TCP:

ufw allow "Nginx Full"

You can access SonarQube using the following URL:

http://sonarqube-server-host-IP-or-hostname

 

SonarQube login page

 

In the image below, you can see the SonarQube dashboard:

 

sonarqube dashboard

 

Recommended Article: How to install LEMP stack on Ubuntu 20.04

Conclusion

SonarQube Open-Source Software is a powerful tool for automatically scanning code, detecting bugs and programming errors and code vulnerabilities in more than 20 programming languages such as Java, C#, JavaScript, C/C++, and PHP. In this article, we tried to teach you to step by step how to Install and use SonarQube on Ubuntu 20.04.

We Are Waiting for your valuable comments and you can be sure that it will be answered in the shortest possible time.

Leave Your Comment

Your email address will not be published.

We are by your side every step of the way

Think about developing your online business; We will protect it compassionately

We are by your side every step of the way

+18054214518

7 days a week, 24 hours a day