<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aplikasi SonarQube - GoBlog</title>
	<atom:link href="https://blog.goreinnamah.com/blog/tag/aplikasi-sonarqube/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.goreinnamah.com</link>
	<description>LOG ALL LOGS</description>
	<lastBuildDate>Thu, 27 Aug 2020 04:51:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://blog.goreinnamah.com/wp-content/uploads/2017/01/cropped-1-150x150.jpg</url>
	<title>Aplikasi SonarQube - GoBlog</title>
	<link>https://blog.goreinnamah.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalasi SonarQube 7.9.1 di CentOS 7 Server</title>
		<link>https://blog.goreinnamah.com/blog/2020/08/27/instalasi-sonarqube-7-9-1-di-centos-7-server/</link>
		
		<dc:creator><![CDATA[Darius Go Reinnamah]]></dc:creator>
		<pubDate>Thu, 27 Aug 2020 04:51:13 +0000</pubDate>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Aplikasi SonarQube]]></category>
		<category><![CDATA[SonarQube]]></category>
		<category><![CDATA[SonarQube Centos]]></category>
		<category><![CDATA[SonarQube Centos 7 Server]]></category>
		<category><![CDATA[SonarQube di CentOS 7 Server]]></category>
		<guid isPermaLink="false">https://blog.goreinnamah.com/?p=4927</guid>

					<description><![CDATA[<p>SonarQube merupakan sebuah aplikasi open-source berbasis JAVA yang berfungsi untuk memeriksa kualitas kodingan yang kalian buat secara berkelanjutan. Jadi untuk kalian yang[...]</p>
<p>The post <a href="https://blog.goreinnamah.com/blog/2020/08/27/instalasi-sonarqube-7-9-1-di-centos-7-server/">Instalasi SonarQube 7.9.1 di CentOS 7 Server</a> first appeared on <a href="https://blog.goreinnamah.com">GoBlog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">SonarQube merupakan sebuah aplikasi <em>open-source </em>berbasis JAVA yang berfungsi untuk memeriksa kualitas kodingan yang kalian buat secara berkelanjutan. Jadi untuk kalian yang ingin tahu apakah kodingan kalian memiliki <em>bugs</em> atau <em>vulnerabilities </em>dan di-<em>review </em>secara otomatis, maka aplikasi SonarQube ini adalah jawaban yang tepat. Dan Kerennya lagi, SonarQube ini mendukung pemeriksaan hingga 20 bahasa pemrograman.</p>
<ul>
<li><strong><em>Baca Juga: <a href="https://blog.goreinnamah.com/blog/2020/08/03/instalasi-jenkins-di-centos-7-server/">Instalasi Jenkins 2.235 di CentOS 7 Server</a></em></strong></li>
</ul>
<p style="text-align: justify;">Sebelum melakukan instalasinya, ada beberapa hal yang perlu disiapkan, yaitu:</p>
<h3 style="text-align: justify;"><strong>1 &#8211; Persyaratan</strong></h3>
<p style="text-align: justify;"><strong>Software</strong></p>
<ul style="text-align: justify;">
<li>Java (OpenJDK 11)</li>
<li>PostgreSQL 10 atau 9.3-9.6</li>
</ul>
<p style="text-align: justify;"><strong>Hardware</strong></p>
<ul style="text-align: justify;">
<li>Server dengan RAM &gt;=2GB</li>
<li>System setting untuk Linux (vm.max_map_count &gt;=262144 dan fs.file-max &gt;= 65536)</li>
</ul>
<h3 style="text-align: justify;"><strong>2 &#8211; Lakukan Update System</strong></h3>
<p style="text-align: justify;">Caranya dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo yum update</strong></span></pre>
<h3><strong>3 &#8211; Menonaktifkan Selinux</strong></h3>
<p>Caranya dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo vi /etc/selinux/config</strong></span></pre>
<p>Ubah <em>&#8220;selinux=enforcing&#8221;</em> menjadi <em>&#8220;selinux=disabled&#8221;</em></p>
<pre><span style="color: #ff0000;"><strong>selinux=disabled</strong></span></pre>
<p>Untuk menonaktifkan selinux secara tidak permanen, jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo setenforce 0</strong></span></pre>
<p>Untuk melihat status dari selinux, jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sestatus</strong></span></pre>
<h3><strong>4 &#8211; Menambahkan System Settings</strong></h3>
<p>Seperti yang sudah dijelaskan di atas bahwa nilai vm.max_map_count &gt;=262144 dan fs.file-max &gt;= 65536. Untuk mengubahnya, jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo vi /etc/sysctl.conf</strong></span></pre>
<p>dan tambahkan</p>
<pre><span style="color: #ff0000;"><strong>vm.max_map_count=262144
fs.file-max=65536</strong></span></pre>
<figure id="attachment_4931" aria-describedby="caption-attachment-4931" style="width: 362px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-4931" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/sysctl.png" alt="" width="362" height="88" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/sysctl.png 362w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/sysctl-300x73.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/sysctl-360x88.png 360w" sizes="(max-width: 362px) 100vw, 362px" /><figcaption id="caption-attachment-4931" class="wp-caption-text">tambahkan kedua baris berikut</figcaption></figure>
<h3><strong>5 &#8211; Installing JAVA<br />
</strong></h3>
<p>Karena aplikasi ini berbasis JAVA, maka kalian harus melakukan instalasi openJDK. versi yang kalian butuhkan adalah versi 11. Untuk melakukannya, jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo yum update</strong></span>
<span style="color: #ff0000;"><strong>sudo yum install java-11-openjdk-devel</strong></span></pre>
<figure id="attachment_4935" aria-describedby="caption-attachment-4935" style="width: 1130px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" class="size-full wp-image-4935" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/1-OpenJDK-11.jpg" alt="" width="1130" height="498" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/1-OpenJDK-11.jpg 1130w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/1-OpenJDK-11-300x132.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/1-OpenJDK-11-1024x451.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/1-OpenJDK-11-768x338.jpg 768w" sizes="(max-width: 1130px) 100vw, 1130px" /><figcaption id="caption-attachment-4935" class="wp-caption-text">Instalasi openJDK11</figcaption></figure>
<p>apabila kalian memiliki lebih dari 1 versi openJDK dan sedang menggunakan versi sebelum versi 11, maka kalian harus mengubahnya dan menjadikan openJDK versi 11 sebagai yang <em>default. </em>Cara melakukannya adalah dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo update alternatives --config java</strong></span></pre>
<p>Pilih yang versi 11</p>
<figure id="attachment_4936" aria-describedby="caption-attachment-4936" style="width: 1434px" class="wp-caption alignnone"><img decoding="async" class="size-full wp-image-4936" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-java-default.png" alt="" width="1434" height="288" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-java-default.png 1434w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-java-default-300x60.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-java-default-1024x206.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-java-default-768x154.png 768w" sizes="(max-width: 1434px) 100vw, 1434px" /><figcaption id="caption-attachment-4936" class="wp-caption-text">Memilih versi openJDK kalau memang lebih dari 1</figcaption></figure>
<p>Untuk benar memastikan apakah openJDK11 yang menjadi versi <em>default, </em>jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>java -version</strong></span></pre>
<figure id="attachment_4937" aria-describedby="caption-attachment-4937" style="width: 1016px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4937" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-cek-versi-java.png" alt="" width="1016" height="146" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-cek-versi-java.png 1016w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-cek-versi-java-300x43.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-cek-versi-java-768x110.png 768w" sizes="auto, (max-width: 1016px) 100vw, 1016px" /><figcaption id="caption-attachment-4937" class="wp-caption-text">memeriksa versi java</figcaption></figure>
<h3><strong>6 &#8211; Instalasi PostgreSQL 10</strong></h3>
<p>PostgreSQL merupakan <em>database </em>yang akan digunakan oleh aplikasi SonarQube. Sebelum melakukan instalasinya, terlbeih dahulu kalian harus menambahkan repositorinya. Caranya dengan memasukkan perintah berikut:</p>
<pre><span style="color: #ff0000;"><strong>yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm</strong></span></pre>
<p>Jika sudah ditambahkan, baru instalasi paketnya dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>yum install postgresql10-server postgresql10-contrib</strong></span></pre>
<figure id="attachment_4939" aria-describedby="caption-attachment-4939" style="width: 1173px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4939" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-install-postgre.jpg" alt="" width="1173" height="462" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-install-postgre.jpg 1173w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-install-postgre-300x118.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-install-postgre-1024x403.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-install-postgre-768x302.jpg 768w" sizes="auto, (max-width: 1173px) 100vw, 1173px" /><figcaption id="caption-attachment-4939" class="wp-caption-text">Instalasi PostgreSQL</figcaption></figure>
<p>Berikutnya adalah inisialisasi <em>database. </em>Caranya dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>/usr/pgsql-10/bin/postgresql-10-setup initdb</strong></span></pre>
<figure id="attachment_4946" aria-describedby="caption-attachment-4946" style="width: 906px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4946" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-initdb.png" alt="" width="906" height="68" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-initdb.png 906w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-initdb-300x23.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-initdb-768x58.png 768w" sizes="auto, (max-width: 906px) 100vw, 906px" /><figcaption id="caption-attachment-4946" class="wp-caption-text">init db</figcaption></figure>
<p>Ubah file <em>pg_hba.conf; </em>Ganti kata <em>&#8220;peer&#8221; </em>menjadi &#8220;<em>trust&#8221; </em>dan <em>&#8220;ident&#8221; </em>menjadi <em>&#8220;md5&#8221;</em></p>
<pre><span style="color: #ff0000;"><strong>vi /var/lib/pgsql/10/data/pg_hba.conf</strong></span></pre>
<p><em>Sebelum</em></p>
<figure id="attachment_4942" aria-describedby="caption-attachment-4942" style="width: 661px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4942" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Sebelum.jpg" alt="" width="661" height="248" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Sebelum.jpg 661w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Sebelum-300x113.jpg 300w" sizes="auto, (max-width: 661px) 100vw, 661px" /><figcaption id="caption-attachment-4942" class="wp-caption-text">Sebelum diubah</figcaption></figure>
<p><em>Sesudah</em></p>
<figure id="attachment_4943" aria-describedby="caption-attachment-4943" style="width: 661px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4943" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/7-Sesudah.jpg" alt="" width="661" height="248" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/7-Sesudah.jpg 661w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/7-Sesudah-300x113.jpg 300w" sizes="auto, (max-width: 661px) 100vw, 661px" /><figcaption id="caption-attachment-4943" class="wp-caption-text">Sesudah diubah</figcaption></figure>
<p>Untuk membuat <em>service </em>PostgreSQL otomatis berjalan ketika <em>server </em>di-<em>restart, </em>jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo systemctl enable postgresql-10</strong></span></pre>
<figure id="attachment_4947" aria-describedby="caption-attachment-4947" style="width: 1472px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4947" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-enable-postgre.jpg" alt="" width="1472" height="234" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-enable-postgre.jpg 1472w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-enable-postgre-300x48.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-enable-postgre-1024x163.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-enable-postgre-768x122.jpg 768w" sizes="auto, (max-width: 1472px) 100vw, 1472px" /><figcaption id="caption-attachment-4947" class="wp-caption-text">enable PostgreSQL</figcaption></figure>
<p>Sekarang jalankan <em>service-</em>nya dan periksa statusnya dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>systemctl start postgresql-10</strong></span>
<span style="color: #ff0000;"><strong>systemctl status postgresql-10</strong></span></pre>
<figure id="attachment_4948" aria-describedby="caption-attachment-4948" style="width: 1472px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4948" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-start-and-status.jpg" alt="" width="1472" height="230" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-start-and-status.jpg 1472w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-start-and-status-300x47.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-start-and-status-1024x160.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-start-and-status-768x120.jpg 768w" sizes="auto, (max-width: 1472px) 100vw, 1472px" /><figcaption id="caption-attachment-4948" class="wp-caption-text">start dan memeriksa statusnya</figcaption></figure>
<p>Ganti <em>default password </em>dari Postgres <em>user </em>dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>passwd postgres</strong></span></pre>
<figure id="attachment_4951" aria-describedby="caption-attachment-4951" style="width: 1136px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4951" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-postgres-passwd.jpg" alt="" width="1136" height="228" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-postgres-passwd.jpg 1136w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-postgres-passwd-300x60.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-postgres-passwd-1024x206.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-postgres-passwd-768x154.jpg 768w" sizes="auto, (max-width: 1136px) 100vw, 1136px" /><figcaption id="caption-attachment-4951" class="wp-caption-text">Mengganti password default dari user postgres</figcaption></figure>
<p>Usai mengganti <em>password, </em>sekarang waktunya login dengan user postgres. Caranya:</p>
<pre><span style="color: #ff0000;"><strong>su - postgres</strong></span></pre>
<p>Buat <em>user </em>baru untuk SonarQube dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>createuser &lt;nama_user&gt;</strong></span></pre>
<p>Sekarang masuk ke dalam PostgreSQL <em>shell. </em>Caranya dengan mengetikkan perintah:</p>
<pre><strong><span style="color: #ff0000;">pgsql</span></strong></pre>
<p>Sekarang waktunya untuk membuat <em>password </em>baru untuk <em>user </em>yang baru saja kalian buat (untuk <em>database </em>SonarQube). Jalankan perintah:</p>
<pre><strong><span style="color: #ff0000;">alter user</span> &lt;nama_user&gt;<span style="color: #ff0000;"> with encrypted password</span> &lt;password_barunya&gt;<span style="color: #ff0000;">;</span></strong></pre>
<p>Sesudah itu, kalian bisa membuat <em>database </em>baru dengan <em>owner user </em>yang baru saja kalian buat. Caranya:</p>
<pre><strong><span style="color: #ff0000;">create database</span> &lt;nama_daatabase&gt; <span style="color: #ff0000;">owner</span> &lt;nama_user&gt;<span style="color: #ff0000;">;</span></strong></pre>
<figure id="attachment_4952" aria-describedby="caption-attachment-4952" style="width: 715px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4952" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/11-user-and-db.png" alt="" width="715" height="89" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/11-user-and-db.png 715w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/11-user-and-db-300x37.png 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /><figcaption id="caption-attachment-4952" class="wp-caption-text">Create password untuk user dan database</figcaption></figure>
<p>Keluar dari pgsql <em>shell </em>dan kemudian keluar dari <em>user </em>postgres. Ketik:</p>
<pre><span style="color: #ff0000;"><strong>\q</strong></span>
<span style="color: #ff0000;"><strong>exit</strong></span></pre>
<h3><strong>7 &#8211; Unduh dan Konfigur SonarQube</strong></h3>
<p>OpenJDK sudah terpasang, PostgreSQL juga sudah berjalan, kini saatnya mengunduh paaket SonarQube. Kali ini paket tersebut akan diunduh di folder <em>/opt. </em>Untuk mengunduhnya, silakan jalankan perintah berikut:</p>
<pre><span style="color: #ff0000;"><strong>cd /opt</strong></span></pre>
<p>versi yang akan digunakan pada postingan ini aadalah SonarQube versi 7.9.x LTS. Untuk versi lengkapnya bisa dilihat <a href="https://www.sonarqube.org/downloads/"><strong>DI SINI</strong></a></p>
<pre><span style="color: #ff0000;"><strong>wget -c https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip</strong></span></pre>
<figure id="attachment_4954" aria-describedby="caption-attachment-4954" style="width: 1152px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4954" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-unduh-Sonar.jpg" alt="" width="1152" height="251" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-unduh-Sonar.jpg 1152w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-unduh-Sonar-300x65.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-unduh-Sonar-1024x223.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-unduh-Sonar-768x167.jpg 768w" sizes="auto, (max-width: 1152px) 100vw, 1152px" /><figcaption id="caption-attachment-4954" class="wp-caption-text">Proses unduh paket</figcaption></figure>
<p>Setelah paket terunduh sempurna, waktunya untuk mengekstraknya. Caranya:</p>
<pre><span style="color: #ff0000;"><strong>unzip sonarqube-7.9.1.zip</strong></span></pre>
<p>Kemudian ubah nama direktorinya dari &#8216;sonarqube-7.9.1&#8217; menjadi &#8216;sonarqube&#8217; dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>mv sonarqube-7.9.1 sonarqube</strong></span></pre>
<p>Sekarang waktunya untuk memodifikasi file <em>sonar.properties. </em>Ada beberapa perubahan yang perlu dilakukan pada file tersebut. Diantaranya <em>username, password, </em>dan URL dari PostgreSQL. Perubahan yang perlu kalian lakukan adalah:</p>
<p><em>Temukan baris berikut, uncomment dan modifikasi nilainya</em></p>
<pre><strong><span style="color: #ff0000;">sonar.jdbc.username=</span>&lt;user_postgre&gt;
<span style="color: #ff0000;">sonar.jdbc.password=</span>&lt;password_user_postgre&gt;
<span style="color: #ff0000;">sonar.jdbc.url=jdbc:postgresql://</span>&lt;ip_postgre&gt;<span style="color: #ff0000;">/</span>&lt;db_postgre&gt;</strong></pre>
<figure id="attachment_4955" aria-describedby="caption-attachment-4955" style="width: 775px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4955" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-properties1.png" alt="" width="775" height="119" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-properties1.png 775w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-properties1-300x46.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-properties1-768x118.png 768w" sizes="auto, (max-width: 775px) 100vw, 775px" /><figcaption id="caption-attachment-4955" class="wp-caption-text">Perubahan properties yang pertama</figcaption></figure>
<pre><strong><span style="color: #ff0000;">sonar.web.host=</span>&lt;ip_akses&gt;
<span style="color: #ff0000;">sonar.web.port=</span>&lt;default_port&gt;
<span style="color: #ff0000;">sonar.web.javaOpts=-server -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-server -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError</span></strong></pre>
<figure id="attachment_4956" aria-describedby="caption-attachment-4956" style="width: 888px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4956" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/15-properties2.png" alt="" width="888" height="151" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/15-properties2.png 888w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/15-properties2-300x51.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/15-properties2-768x131.png 768w" sizes="auto, (max-width: 888px) 100vw, 888px" /><figcaption id="caption-attachment-4956" class="wp-caption-text">Perubahan konfigurasi yang kedua</figcaption></figure>
<pre><span style="color: #ff0000;"><strong>sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp</strong></span></pre>
<figure id="attachment_4957" aria-describedby="caption-attachment-4957" style="width: 1154px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4957" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-properties3.png" alt="" width="1154" height="92" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-properties3.png 1154w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-properties3-300x24.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-properties3-1024x82.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-properties3-768x61.png 768w" sizes="auto, (max-width: 1154px) 100vw, 1154px" /><figcaption id="caption-attachment-4957" class="wp-caption-text">perubahan properties yang ketiga</figcaption></figure>
<p>Jika sudah semua, simpan dan kemudian keluar dari editor yang kalian gunakan.</p>
<p>Untuk menjalankan <em>service </em>SonarQube ini, kalian akan membuat <em>user </em>di OS terlebih dahulu. Caranya:</p>
<pre><strong><span style="color: #ff0000;">useradd</span> &lt;nama_user&gt;</strong></pre>
<p>buat <em>password </em>untuk <em>user </em>tersebut.</p>
<pre><strong><span style="color: #ff0000;">passwd</span> &lt;nama_user&gt;</strong></pre>
<figure id="attachment_4959" aria-describedby="caption-attachment-4959" style="width: 886px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4959" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-password.jpg" alt="" width="886" height="230" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-password.jpg 886w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-password-300x78.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-password-768x199.jpg 768w" sizes="auto, (max-width: 886px) 100vw, 886px" /><figcaption id="caption-attachment-4959" class="wp-caption-text">Penambahan user dan pembuatan password untuk user tersebut</figcaption></figure>
<p>Ubah <em>folder permission </em>SonarQube yang ada di direktori <em>/opt </em>menjadi milik <em>user</em> yang baru saja kalian buat. Caranya:</p>
<pre><span style="color: #ff0000;"><strong>sudo chown -R<span style="color: #000000;"> &lt;user&gt;</span>:<span style="color: #000000;">&lt;group&gt;</span> /opt/sonarqube</strong></span></pre>
<p>Berikutnya adalah membuat direktori untuk <em>elasticsearch </em>yang sudah kalian tambahkan di <em>sonar.properties </em>tadi. Setelah itu, ubah kepemilikan direktori tersebut menjadi milik <em>user sonar. </em>Caranya:</p>
<pre><span style="color: #ff0000;"><strong>mkdir -p /var/sonarqube/data
mkdir -p /var/sonarqube/temp</strong></span></pre>
<pre><span style="color: #ff0000;"><strong>chown -R sonar:sonar /var/sonarqube</strong></span></pre>
<figure id="attachment_4961" aria-describedby="caption-attachment-4961" style="width: 820px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4961" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-group.png" alt="" width="820" height="112" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-group.png 820w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-group-300x41.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/17-user-group-768x105.png 768w" sizes="auto, (max-width: 820px) 100vw, 820px" /><figcaption id="caption-attachment-4961" class="wp-caption-text">perubahan kepemilikan dan pembuatan folder</figcaption></figure>
<p>Tahap berikutnya adalah membuat SonarQube ini menjadi sebuah <em>service. </em>Untuk mewujudkannya, buat sebuah file bernama <em>sonarqube.service </em>pada direktori <em>systemd </em>dan isi <em>file </em>tersebut dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>vi /etc/systemd/system/sonarqube.service</strong></span></pre>
<p>Tambahkan baris berikut:</p>
<pre><strong><span style="color: #ff0000;">[Unit]
Description=</span>SonarQube service
<span style="color: #ff0000;">After=</span>syslog.target network.target

<span style="color: #ff0000;">[Service]
Type=</span>forking
<span style="color: #ff0000;">ExecStart=</span>/opt/sonarqube/bin/linux-x86-64/sonar.sh start
<span style="color: #ff0000;">ExecStop=</span>/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
<span style="color: #ff0000;">LimitNOFILE=</span>65536
<span style="color: #ff0000;">LimitNPROC=</span>4096
<span style="color: #ff0000;">User=</span>sonar
<span style="color: #ff0000;">Group=</span>sonar
<span style="color: #ff0000;">Restart=</span>on-failure

<span style="color: #ff0000;">[Install]
WantedBy=</span>multi-user.target</strong></pre>
<figure id="attachment_4964" aria-describedby="caption-attachment-4964" style="width: 820px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4964" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-service-sonaar.jpg" alt="" width="820" height="456" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-service-sonaar.jpg 820w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-service-sonaar-300x167.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-service-sonaar-768x427.jpg 768w" sizes="auto, (max-width: 820px) 100vw, 820px" /><figcaption id="caption-attachment-4964" class="wp-caption-text">Isian untuk membuat sonar menjadi sebuah service</figcaption></figure>
<p><em>reload &#8220;systemctl&#8221; daemon </em>dan aktifkan sonar ketika <em>booting </em>dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>systemctl daemon-reload</strong></span>
<span style="color: #ff0000;"><strong>systemctl enable sonarqube.service</strong></span></pre>
<figure id="attachment_4965" aria-describedby="caption-attachment-4965" style="width: 1464px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4965" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-booting.jpg" alt="" width="1464" height="146" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-booting.jpg 1464w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-booting-300x30.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-booting-1024x102.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-booting-768x77.jpg 768w" sizes="auto, (max-width: 1464px) 100vw, 1464px" /><figcaption id="caption-attachment-4965" class="wp-caption-text">Cara mengaktifkan service SonarQube saat booting</figcaption></figure>
<p>Sekarang jalankan <em>service-</em>nya dan pantau hasilnya dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>systemctl start sonarqube.service</strong></span>
<span style="color: #ff0000;"><strong>systemctl status sonarqube.service</strong></span></pre>
<figure id="attachment_4967" aria-describedby="caption-attachment-4967" style="width: 1025px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4967" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-service.jpg" alt="" width="1025" height="339" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-service.jpg 1025w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-service-300x99.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-service-768x254.jpg 768w" sizes="auto, (max-width: 1025px) 100vw, 1025px" /><figcaption id="caption-attachment-4967" class="wp-caption-text">menjalankan service dan memeriksa statusnya</figcaption></figure>
<p>Sekaarang <em>service-</em>nya sudah berjalan.</p>
<h3><strong>8 &#8211; Modifikasi Aturan Firewall</strong></h3>
<p>Secara <em>default, </em>SonarQube akan berjalan di <em>port </em>9000. Apabila kalian memang menggunakan <em>port </em>tersebut dan ingin mengaksesnya dari luar, maka kalian harus membuat CentOS mengizinkan <em>port </em>tersebut. Caranya:</p>
<pre><span style="color: #ff0000;"><strong>firewall-cmd --zone=public --add-port=9000/tcp --permanent</strong></span>
<span style="color: #ff0000;"><strong>firewall-cmd --reload</strong></span>
<span style="color: #ff0000;"><strong>iptables-save</strong></span></pre>
<figure id="attachment_4968" aria-describedby="caption-attachment-4968" style="width: 1104px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4968" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-firewall.png" alt="" width="1104" height="142" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-firewall.png 1104w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-firewall-300x39.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-firewall-1024x132.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-firewall-768x99.png 768w" sizes="auto, (max-width: 1104px) 100vw, 1104px" /><figcaption id="caption-attachment-4968" class="wp-caption-text">Mengizinkan port 9000 untuk diakses dari luar</figcaption></figure>
<h3><strong>9 &#8211; Konfigurasi Reverse Proxy</strong></h3>
<p>Untuk &#8216;mempermudah&#8217; pengaksesan SonarQube ini, lebih baik bila ditambahkan Nginx di depan aplikasi sebagai <em>reverse proxy. </em>Cara melakukan instalasi Nginx menjadi <em>reverse proxy </em>adalah seperti berikut:</p>
<p>Install Nginx. Jalankan <em>service-</em>nya dan aktifkan secara otomatis saat <em>booting </em>dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo yum install -y nginx</strong></span></pre>
<figure id="attachment_4969" aria-describedby="caption-attachment-4969" style="width: 1118px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4969" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx.jpg" alt="" width="1118" height="280" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx.jpg 1118w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-300x75.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-1024x256.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-768x192.jpg 768w" sizes="auto, (max-width: 1118px) 100vw, 1118px" /><figcaption id="caption-attachment-4969" class="wp-caption-text">instalasi nginx</figcaption></figure>
<pre><span style="color: #ff0000;"><strong>sudo systemctl start nginx</strong></span>
<span style="color: #ff0000;"><strong>sudo systemctl enaable nginx</strong></span></pre>
<figure id="attachment_4970" aria-describedby="caption-attachment-4970" style="width: 1470px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4970" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-start-enable.png" alt="" width="1470" height="114" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-start-enable.png 1470w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-start-enable-300x23.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-start-enable-1024x79.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-start-enable-768x60.png 768w" sizes="auto, (max-width: 1470px) 100vw, 1470px" /><figcaption id="caption-attachment-4970" class="wp-caption-text">start dan enable nginx</figcaption></figure>
<p>Tahap berikutnya, setelah melakukan instalasi nginx, adalah dengan memasang SSL.  Untuk instalasi SSL menggunakan Certbot, silakan lihat caranya <a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-centos-7"><strong>DI SINI</strong></a></p>
<p>Jika sudah memiliki sertifikat untuk dipasang di Nginx, sekarang adalah waktunya untuk melakukan konfigurasinya. Buat sebuah konfigurasi di folder <em>conf.d</em></p>
<pre><span style="color: #ff0000;"><strong>sudo vi /etc/nginx/conf.d/sonar.conf</strong></span></pre>
<p>Masukkan konfigurasi berikut sebagai isinya:</p>
<pre><span style="color: #ff0000;"><strong>upstream <span style="color: #000000;">&lt;nama_upstream&gt;</span> {</strong></span>
<span style="color: #ff0000;"><strong>server 127.0.0.1:9000 fail_timeout=0;</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span>

<span style="color: #ff0000;"><strong>server {</strong></span>
<span style="color: #ff0000;"><strong>listen 80;</strong></span>
<span style="color: #ff0000;"><strong>server_name <span style="color: #000000;">&lt;nama_server&gt;</span>;</strong></span>
<span style="color: #ff0000;"><strong>return 301 https://<span style="color: #000000;">&lt;nama_server&gt;</span>$request_uri;</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span>


<span style="color: #ff0000;"><strong>server {</strong></span>
<span style="color: #ff0000;"><strong>listen 443 ssl;</strong></span>
<span style="color: #ff0000;"><strong>server_name <span style="color: #000000;">&lt;nama_server&gt;</span>;</strong></span>

<span style="color: #ff0000;"><strong>ssl_protocols TLSv1.2 TLSv1.3;</strong></span>
<span style="color: #ff0000;"><strong>ssl_prefer_server_ciphers on;</strong></span>
<span style="color: #ff0000;"><strong>ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED";</strong></span>

<span style="color: #ff0000;"><strong>add_header Strict-Transport-Security "max-age=31536000";</strong></span>

<span style="color: #ff0000;"><strong>ssl_certificate <span style="color: #000000;">&lt;lokasi_public_key&gt;</span>;</strong></span>
<span style="color: #ff0000;"><strong>ssl_certificate_key <span style="color: #000000;">&lt;lokasi_private_key&gt;</span>;</strong></span>

<span style="color: #ff0000;"><strong>gzip on;</strong></span>
<span style="color: #ff0000;"><strong>gzip_types text/plain text/css application/javascript application/json;</strong></span>
<span style="color: #ff0000;"><strong>gzip_vary on;</strong></span>

<span style="color: #ff0000;"><strong>location / {</strong></span>
<span style="color: #ff0000;"><strong>proxy_set_header Host $host:$server_port;</strong></span>
<span style="color: #ff0000;"><strong>proxy_set_header X-Real-IP $remote_addr;</strong></span>
<span style="color: #ff0000;"><strong>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</strong></span>
<span style="color: #ff0000;"><strong>proxy_set_header X-Forwarded-Proto $scheme;</strong></span>
<span style="color: #ff0000;"><strong>proxy_redirect http:// https://;</strong></span>
<span style="color: #ff0000;"><strong>proxy_pass http://<span style="color: #000000;">&lt;nama_upstream&gt;</span>;</strong></span>
<span style="color: #ff0000;"><strong># Required for new HTTP-based CLI</strong></span>
<span style="color: #ff0000;"><strong>proxy_http_version 1.1;</strong></span>
<span style="color: #ff0000;"><strong>proxy_request_buffering off;</strong></span>
<span style="color: #ff0000;"><strong>proxy_buffering off; # Required for HTTP-based CLI to work over SSL</strong></span>
<span style="color: #ff0000;"><strong>add_header 'X-SSH-Endpoint' '<span style="color: #000000;">&lt;nama_server&gt;</span>:50022' always;</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span></pre>
<p>Jika sudah, simpan dan kemudian keluar dari <em>editor </em>tersebut. Selanjutnya adalah memeriksa <em>syntax-</em>nya apakah sudah benar atau belum dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo nginx -t</strong></span></pre>
<figure id="attachment_4973" aria-describedby="caption-attachment-4973" style="width: 806px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4973" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-08-27-at-11.27.43.png" alt="" width="806" height="84" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-08-27-at-11.27.43.png 806w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-08-27-at-11.27.43-300x31.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-08-27-at-11.27.43-768x80.png 768w" sizes="auto, (max-width: 806px) 100vw, 806px" /><figcaption id="caption-attachment-4973" class="wp-caption-text">memeriksa syntax</figcaption></figure>
<p>Jika sudah oke, tidak ada masalaha sama sekali, <em>restart service nginx </em>dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo systemctl restart nginx</strong></span></pre>
<h3><strong>10 &#8211; Modifikasi Aturan Firewall</strong></h3>
<p>Jika <em>firewall </em>kalian diaktifkan, jalankan perintah berikut untuk mengizinkan <em>traffic https:</em></p>
<pre><span style="color: #ff0000;"><strong>firewall-cmd --zone=public --permanent --add-service=https</strong></span>
<span style="color: #ff0000;"><strong>firewall-cmd --reload</strong></span></pre>
<figure id="attachment_4974" aria-describedby="caption-attachment-4974" style="width: 1104px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4974" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-firewall.png" alt="" width="1104" height="114" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-firewall.png 1104w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-firewall-300x31.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-firewall-1024x106.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-firewall-768x79.png 768w" sizes="auto, (max-width: 1104px) 100vw, 1104px" /><figcaption id="caption-attachment-4974" class="wp-caption-text">konfigur firewall</figcaption></figure>
<h3><strong>11 &#8211; Akses SonarQube</strong></h3>
<p>Semua sudah kalian lakukan. Sekarang waktunya mengakses SonarQube melalui browser. Caranya:</p>
<pre><span style="color: #ff0000;"><strong>https://&lt;nama_server&gt;</strong></span></pre>
<figure id="attachment_4915" aria-describedby="caption-attachment-4915" style="width: 2776px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4915" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18.png" alt="" width="2776" height="544" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18.png 2776w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-300x59.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-1024x201.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-768x151.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-1536x301.png 1536w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-2048x401.png 2048w" sizes="auto, (max-width: 2776px) 100vw, 2776px" /><figcaption id="caption-attachment-4915" class="wp-caption-text">Halaman depan</figcaption></figure>
<p>Tekan <em>login </em>dan kalian akan dihadapkan dengan dengan <em>login page</em></p>
<figure id="attachment_4916" aria-describedby="caption-attachment-4916" style="width: 742px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4916" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.41.png" alt="" width="742" height="456" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.41.png 742w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.41-300x184.png 300w" sizes="auto, (max-width: 742px) 100vw, 742px" /><figcaption id="caption-attachment-4916" class="wp-caption-text">Halaman Login</figcaption></figure>
<p style="text-align: center;"><strong>*****</strong></p>
<p>Itu tadi cara melakukan instalasi SonarQube di Centos7 Server. Semoga informasinya bisa berguna ya <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h3><strong>Tambahan</strong></h3>
<p>Untuk memantau proses dari SonarQube, ada beberapa file log yang bisa kalian periksa:</p>
<ul>
<li>Service Logs
<pre><span style="color: #ff0000;"><strong>tail -100f /opt/sonarqube/logs/sonar.log</strong></span></pre>
</li>
<li>Web Server Logs
<pre><span style="color: #ff0000;"><strong>tail -100f /opt/sonarqube/logs/web.log</strong></span></pre>
</li>
<li>ElasticSearch Logs
<pre><span style="color: #ff0000;"><strong>tail -100f /opt/sonarqube/logs/es.log</strong></span></pre>
</li>
<li>Compute Engine Logs
<pre><span style="color: #ff0000;"><strong>tail -100f /opt/sonarqube/logs/ce.log
</strong></span></pre>
</li>
</ul><p>The post <a href="https://blog.goreinnamah.com/blog/2020/08/27/instalasi-sonarqube-7-9-1-di-centos-7-server/">Instalasi SonarQube 7.9.1 di CentOS 7 Server</a> first appeared on <a href="https://blog.goreinnamah.com">GoBlog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Instalasi SonarQube di Ubuntu Server 18.04</title>
		<link>https://blog.goreinnamah.com/blog/2020/08/09/instalasi-sonarqube-di-ubuntu-server-18-04/</link>
		
		<dc:creator><![CDATA[Darius Go Reinnamah]]></dc:creator>
		<pubDate>Sun, 09 Aug 2020 05:26:15 +0000</pubDate>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Aplikasi SonarQube]]></category>
		<category><![CDATA[instalasi SonarQube]]></category>
		<category><![CDATA[SonarQube]]></category>
		<category><![CDATA[SonarQube Ubuntu Server 18.04]]></category>
		<guid isPermaLink="false">https://blog.goreinnamah.com/?p=4883</guid>

					<description><![CDATA[<p>SonarQube merupakan sebuah tool open source berbasis Java yang akan membantu kalian dalam menganalisis kualitas kodingan dan juga membuat laporan atas hasil[...]</p>
<p>The post <a href="https://blog.goreinnamah.com/blog/2020/08/09/instalasi-sonarqube-di-ubuntu-server-18-04/">Instalasi SonarQube di Ubuntu Server 18.04</a> first appeared on <a href="https://blog.goreinnamah.com">GoBlog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">SonarQube merupakan sebuah <em>tool open source</em> berbasis <a href="https://id.wikipedia.org/wiki/Java">Java</a> yang akan membantu kalian dalam menganalisis kualitas kodingan dan juga membuat laporan atas hasil analisis tersebut. Aplikasi ini akan memindai kodingan kalian untuk mencari potensi bug dari kodingan tersebut, kerentanan, dan masalah pemeliharaan.</p>
<ul>
<li><strong><em>Baca Juga: <a href="https://blog.goreinnamah.com/blog/2020/08/03/instalasi-jenkins-di-centos-7-server/">Instalasi Jenkins di atas CentoS Server 7</a></em></strong></li>
</ul>
<p style="text-align: justify;">Setelah hasil dari pemindaian tersebut didapat, SonarQube akan memberikan info tersebut dalam bentuk sebuah laporan yang memungkinkan kalian untuk mengidentifikasi masalah yang ada pada kodingan kalian.</p>
<p style="text-align: justify;">Untuk melakukan instalasi SonarQube di Ubuntu Server 18.04, yang perlu kalian lakukan:</p>
<h3 style="text-align: justify;"><strong>Persyaratan</strong></h3>
<p style="text-align: justify;"><strong><em>Hardware</em></strong></p>
<ul style="text-align: justify;">
<li><em>Server </em>dengan RAM minimal 2GB</li>
</ul>
<p style="text-align: justify;"><em><strong>Software</strong></em></p>
<ul style="text-align: justify;">
<li>Java (<em>OpenJDK 11)</em></li>
<li>PostgreSQL 10 atau 9.3-9.6</li>
</ul>
<h3 style="text-align: justify;"><strong>1 &#8211; Lakukan System Update</strong></h3>
<p style="text-align: justify;">Sebelum melakukan instalasi paket yang mendukung, lebih baik jika kalian meng-<em>update </em>sistem kalian. Masuk ke dalam server kalian sebagai <em>sudo user </em>dan jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo apt update</strong></span>
<span style="color: #ff0000;"><strong>sudo apt dist-upgrade</strong></span></pre>
<h3 style="text-align: justify;">2 &#8211; Instalasi OpenJDK 11</h3>
<p style="text-align: justify;">Untuk melakukan instalasi OpenJDK 11, jalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo apt install default-jdk</strong></span></pre>
<figure id="attachment_4908" aria-describedby="caption-attachment-4908" style="width: 1920px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4908" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-java.jpg" alt="" width="1920" height="423" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-java.jpg 1920w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-java-300x66.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-java-1024x226.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-java-768x169.jpg 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/20-java-1536x338.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /><figcaption id="caption-attachment-4908" class="wp-caption-text">Instalasi OpenJDK 11</figcaption></figure>
<h3 style="text-align: justify;"><strong>3 &#8211; Instalasi dan konfigurasi PostgreSQL</strong></h3>
<p style="text-align: justify;">Instalasi repositori PostgreSQL:</p>
<pre><span style="color: #ff0000;"><strong>sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" &gt;&gt; /etc/apt/sources.list.d/pgdg.list'</strong></span>

<span style="color: #ff0000;"><strong>wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -</strong></span></pre>
<figure id="attachment_4886" aria-describedby="caption-attachment-4886" style="width: 1746px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4886" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-Postgre.png" alt="" width="1746" height="112" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-Postgre.png 1746w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-Postgre-300x19.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-Postgre-1024x66.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-Postgre-768x49.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/2-Postgre-1536x99.png 1536w" sizes="auto, (max-width: 1746px) 100vw, 1746px" /><figcaption id="caption-attachment-4886" class="wp-caption-text">repositori PostgreSQL</figcaption></figure>
<p style="text-align: justify;">Instalasi database PostgreSQL dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo apt-get -y install postgresql postgresql-contrib</strong></span></pre>
<figure id="attachment_4887" aria-describedby="caption-attachment-4887" style="width: 1491px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4887" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-Install-Postgre.png" alt="" width="1491" height="344" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-Install-Postgre.png 1491w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-Install-Postgre-300x69.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-Install-Postgre-1024x236.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/3-Install-Postgre-768x177.png 768w" sizes="auto, (max-width: 1491px) 100vw, 1491px" /><figcaption id="caption-attachment-4887" class="wp-caption-text">Instalasi Database PostgreSQL</figcaption></figure>
<p style="text-align: justify;">Jalankan PostgreSQL server dan buat <em>service-</em>nya berjalan secara otomatis saat <em>booting </em>dengan menjalankan:</p>
<pre><span style="color: #ff0000;"><strong>sudo systemctl start postgresql</strong></span>
<span style="color: #ff0000;"><strong>sudo systemctl enable postgresql</strong></span></pre>
<figure id="attachment_4888" aria-describedby="caption-attachment-4888" style="width: 1290px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4888" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-start-Postgre.png" alt="" width="1290" height="138" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-start-Postgre.png 1290w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-start-Postgre-300x32.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-start-Postgre-1024x110.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/4-start-Postgre-768x82.png 768w" sizes="auto, (max-width: 1290px) 100vw, 1290px" /><figcaption id="caption-attachment-4888" class="wp-caption-text">Menjalankan service PostgreSQL</figcaption></figure>
<p style="text-align: justify;"><em>Service </em>sudah berjalan, sekarang waktunya untuk mengganti <em>password default </em>dari PostgreSQL. Caranya:</p>
<pre><span style="color: #ff0000;"><strong>sudo passwd postgres</strong></span></pre>
<figure id="attachment_4891" aria-describedby="caption-attachment-4891" style="width: 460px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4891" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/5-password-postgre.png" alt="" width="460" height="138" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/5-password-postgre.png 460w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/5-password-postgre-300x90.png 300w" sizes="auto, (max-width: 460px) 100vw, 460px" /><figcaption id="caption-attachment-4891" class="wp-caption-text">Mengubah password PostgreSQL</figcaption></figure>
<p style="text-align: justify;">Sekarang masuk sebagai <em>user </em>postgres dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>su - postgres</strong></span></pre>
<p style="text-align: justify;">Buat <em>user </em>baru dengan mengetikkan:</p>
<pre><span style="color: #ff0000;"><strong>create user sonar</strong></span></pre>
<p style="text-align: justify;">Masuk ke <em>shell </em>PostgreSQL dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>psql</strong></span></pre>
<p style="text-align: justify;">Buatlah <em>password </em>baru untuk <em>user </em>yang baru saja dibuat. Perintahnya:</p>
<pre><span style="color: #ff0000;"><strong>alter user sonar with encrypted password '&lt;passwordnya&gt;';</strong></span></pre>
<figure id="attachment_4893" aria-describedby="caption-attachment-4893" style="width: 1158px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4893" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Create-user-sonar.jpg" alt="" width="1158" height="446" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Create-user-sonar.jpg 1158w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Create-user-sonar-300x116.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Create-user-sonar-1024x394.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/6-Create-user-sonar-768x296.jpg 768w" sizes="auto, (max-width: 1158px) 100vw, 1158px" /><figcaption id="caption-attachment-4893" class="wp-caption-text">Buat user sonar dan menentukan passwordnya</figcaption></figure>
<p style="text-align: justify;">Buat <em>database</em> baru dan <em>assign user </em>yang baru dibuat ke <em>database </em>tersebut dengan perintah:</p>
<pre><strong><span style="color: #ff0000;">create database sonar owner sonar;</span></strong></pre>
<p style="text-align: justify;">Keluar dari <em>shell </em>psql dan kembali ke <em>sudo user </em>dengan perintah</p>
<pre><span style="color: #ff0000;"><strong>\q</strong></span>
<span style="color: #ff0000;"><strong>exit</strong></span></pre>
<figure id="attachment_4895" aria-describedby="caption-attachment-4895" style="width: 834px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4895" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/7-Create-database-sonar.png" alt="" width="834" height="207" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/7-Create-database-sonar.png 834w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/7-Create-database-sonar-300x74.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/7-Create-database-sonar-768x191.png 768w" sizes="auto, (max-width: 834px) 100vw, 834px" /><figcaption id="caption-attachment-4895" class="wp-caption-text">Membuat database, keluar sheel dan kembali ke sudo user</figcaption></figure>
<h3 style="text-align: justify;"><strong>4 &#8211; Mengunduh dan Mengonfigurasi SonarQube</strong></h3>
<p style="text-align: justify;">Unduh file arsip Sonarqube dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>wget -c https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.4.1.35646.zip</strong></span></pre>
<figure id="attachment_4896" aria-describedby="caption-attachment-4896" style="width: 1918px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4896" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-unduh-sonarqube.png" alt="" width="1918" height="296" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-unduh-sonarqube.png 1918w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-unduh-sonarqube-300x46.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-unduh-sonarqube-1024x158.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-unduh-sonarqube-768x119.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/18-unduh-sonarqube-1536x237.png 1536w" sizes="auto, (max-width: 1918px) 100vw, 1918px" /><figcaption id="caption-attachment-4896" class="wp-caption-text">Mengunduh file SonarQube</figcaption></figure>
<p style="text-align: justify;">Untuk melihat versi paling terbaru dari SonarQube, kalian bisa melihat <strong><a href="https://www.sonarqube.org/downloads/">DI SINI</a></strong>.</p>
<p style="text-align: justify;"><em>Unzip </em>file tersebut dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo unzip</strong> <strong>sonarqube-8.4.1.35646.zip</strong></span></pre>
<figure id="attachment_4897" aria-describedby="caption-attachment-4897" style="width: 978px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4897" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-unzip.png" alt="" width="978" height="996" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-unzip.png 978w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-unzip-295x300.png 295w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/19-unzip-768x782.png 768w" sizes="auto, (max-width: 978px) 100vw, 978px" /><figcaption id="caption-attachment-4897" class="wp-caption-text">proses unzipping</figcaption></figure>
<p style="text-align: justify;">Jika sudah selesai, ubah nama direktori hasil <em>unzip </em>tersebut agar lebih mudah. Caranya:</p>
<pre><span style="color: #ff0000;"><strong>mv sonarqube-8.4.1.35646 sonarqube</strong></span></pre>
<figure id="attachment_4899" aria-describedby="caption-attachment-4899" style="width: 596px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4899" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-mv-sonarqube.png" alt="" width="596" height="58" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-mv-sonarqube.png 596w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/8-mv-sonarqube-300x29.png 300w" sizes="auto, (max-width: 596px) 100vw, 596px" /><figcaption id="caption-attachment-4899" class="wp-caption-text">mengubah nama direktori</figcaption></figure>
<p style="text-align: justify;">berikan <em>permission </em>kepada <em>user </em>untuk direktori <em>/opt/sonarqube:</em></p>
<pre><span style="color: #ff0000;"><strong>sudo chown -R user:user /opt/sonarqube</strong></span></pre>
<p style="text-align: justify;">Buka konfigurasi SonarQube menggunakan <em>editor </em>yang kalian suka:</p>
<pre><span style="color: #ff0000;"><strong>vi /opt/sonarqube/conf/sonar.properties</strong></span></pre>
<p style="text-align: justify;">dan temukan bagian:</p>
<pre><strong><span style="color: #ff0000;">#sonar.jdbc.username=</span></strong>
<strong><span style="color: #ff0000;">#sonar.jdbc.password=</span></strong></pre>
<p style="text-align: justify;">hapus tanda &#8216;pagar&#8217; (#) dan masukkan <em>username </em>dan <em>password </em>yang sudah kalian buat sebelumnya. Tampilannya kini menjadi:</p>
<pre><strong><span style="color: #ff0000;">sonar.jdbc.username=<span style="color: #000000;">sonar</span></span></strong>
<strong><span style="color: #ff0000;">sonar.jdbc.password=<span style="color: #000000;">&lt;passwordnya&gt;</span></span></strong></pre>
<p style="text-align: justify;">Berikutnya temukan koneksi PostgreSQL-nya:</p>
<pre><span style="color: #ff0000;"><strong>#sonar.jdbc.url=jdbc:postgresql://localhost/sonar</strong></span></pre>
<p style="text-align: justify;">dan ubah menjadi:</p>
<pre><span style="color: #ff0000;"><strong>sonar.jdbc.url=jdbc:postgresql://localhost/sonar</strong></span></pre>
<figure id="attachment_4901" aria-describedby="caption-attachment-4901" style="width: 990px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4901" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-username-password-db-sonarqube.jpg" alt="" width="990" height="650" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-username-password-db-sonarqube.jpg 990w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-username-password-db-sonarqube-300x197.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-username-password-db-sonarqube-768x504.jpg 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/9-username-password-db-sonarqube-120x80.jpg 120w" sizes="auto, (max-width: 990px) 100vw, 990px" /><figcaption id="caption-attachment-4901" class="wp-caption-text">Isi username, password dan koneksi DBnya</figcaption></figure>
<p style="text-align: justify;">Simpan konfigurasi tersebut jika sudah selesai. Dan yang terakhir, jalankan SonarQube dalam mode <em>server:</em></p>
<pre><strong><span style="color: #ff0000;">sonar.web.javaAdditionalOpts=</span>-server</strong></pre>
<figure id="attachment_4902" aria-describedby="caption-attachment-4902" style="width: 1022px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4902" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-server-mode.png" alt="" width="1022" height="72" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-server-mode.png 1022w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-server-mode-300x21.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/10-server-mode-768x54.png 768w" sizes="auto, (max-width: 1022px) 100vw, 1022px" /><figcaption id="caption-attachment-4902" class="wp-caption-text">server mode</figcaption></figure>
<h3 style="text-align: justify;"><strong>5 &#8211; Mengonfigurasi Service Systemd</strong></h3>
<p style="text-align: justify;">SonarQubda dapat dijalankan dengan secara langsung menggunakan <em>startup script </em>yang disediakan dalam paket <em>installer</em>-nya. Namun untuk alasan kenyamanan, kalian harus mengatur sendiri <em>systemd </em>untuk aplikasi ini. Caranya buat sebuah file dengan nama <em>sonar.service</em>:</p>
<pre><span style="color: #ff0000;"><strong>vi /etc/systemd/system/sonar.service</strong></span></pre>
<p style="text-align: justify;">Isi file tersebut dengan:</p>
<pre><span style="color: #ff0000;"><strong>[Unit] </strong></span>
<span style="color: #ff0000;"><strong>Description=SonarQube service </strong></span>
<span style="color: #ff0000;"><strong>After=syslog.target network.target </strong></span>

<span style="color: #ff0000;"><strong>[Service] </strong></span>
<span style="color: #ff0000;"><strong>Type=forking </strong></span>
<span style="color: #ff0000;"><strong>ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start </strong></span>
<span style="color: #ff0000;"><strong>ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop </strong></span>
<span style="color: #ff0000;"><strong>User=administrator </strong></span>
<span style="color: #ff0000;"><strong>Group=administrator </strong></span>
<span style="color: #ff0000;"><strong>Restart=always </strong></span>

<span style="color: #ff0000;"><strong>[Install] </strong></span>
<span style="color: #ff0000;"><strong>WantedBy=multi-user.target</strong></span></pre>
<figure id="attachment_4904" aria-describedby="caption-attachment-4904" style="width: 891px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4904" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/11-systemd.jpg" alt="" width="891" height="562" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/11-systemd.jpg 891w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/11-systemd-300x189.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/11-systemd-768x484.jpg 768w" sizes="auto, (max-width: 891px) 100vw, 891px" /><figcaption id="caption-attachment-4904" class="wp-caption-text">isi dari file sonar.service</figcaption></figure>
<p style="text-align: justify;">Nyalakan <em>service-</em>nya dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo systemctl start sonar</strong></span></pre>
<p style="text-align: justify;"><em>Enable </em><em>service-</em>nya secara otomatis saat <em>booting </em>dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo systemctl enable sonar</strong></span></pre>
<figure id="attachment_4905" aria-describedby="caption-attachment-4905" style="width: 1330px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4905" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/13-Enable-sonar.png" alt="" width="1330" height="58" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/13-Enable-sonar.png 1330w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/13-Enable-sonar-300x13.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/13-Enable-sonar-1024x45.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/13-Enable-sonar-768x33.png 768w" sizes="auto, (max-width: 1330px) 100vw, 1330px" /><figcaption id="caption-attachment-4905" class="wp-caption-text">enable it</figcaption></figure>
<p style="text-align: justify;">Untuk memeriksa <em>service-</em>nya, ketik perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo systemctl status sonar</strong></span></pre>
<figure id="attachment_4906" aria-describedby="caption-attachment-4906" style="width: 1980px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4906" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-Enable-sonar.png" alt="" width="1980" height="500" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-Enable-sonar.png 1980w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-Enable-sonar-300x76.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-Enable-sonar-1024x259.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-Enable-sonar-768x194.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/12-Enable-sonar-1536x388.png 1536w" sizes="auto, (max-width: 1980px) 100vw, 1980px" /><figcaption id="caption-attachment-4906" class="wp-caption-text">Jalankan service dan memeriksa statusnya</figcaption></figure>
<h3 style="text-align: justify;"><strong>6 &#8211; Mengatur Nginx</strong></h3>
<p style="text-align: justify;">Sekarang <em>server </em>SonarQube sudah berjalan, sekarang waktunya untuk mengonfigurasi Nginx. Lakukan instalasi Nginx dengan mengetikkan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo apt install nginx</strong></span></pre>
<figure id="attachment_4910" aria-describedby="caption-attachment-4910" style="width: 1916px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4910" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-install-nginx.png" alt="" width="1916" height="416" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-install-nginx.png 1916w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-install-nginx-300x65.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-install-nginx-1024x222.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-install-nginx-768x167.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/14-install-nginx-1536x333.png 1536w" sizes="auto, (max-width: 1916px) 100vw, 1916px" /><figcaption id="caption-attachment-4910" class="wp-caption-text">instalasi Nginx</figcaption></figure>
<p style="text-align: justify;">Buat file konfigurasi Nginx dengan <em>editor </em>yang kalian suka. Ketikkan:</p>
<pre><span style="color: #ff0000;"><strong>sudo vi /etc/nginx/sites-enabled/sonarqube</strong></span></pre>
<p style="text-align: justify;">Isi dengan:</p>
<pre><strong><span style="color: #ff0000;">server{</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>listen<span class="Apple-converted-space">      </span>9000;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>server_name sonarqube.developerinsider.co;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>access_log<span class="Apple-converted-space">  </span>/var/log/nginx/sonar.access.log;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>error_log <span class="Apple-converted-space">  </span>/var/log/nginx/sonar.error.log;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>proxy_buffers 16 64k;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>proxy_buffer_size 128k;</span></strong>

<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>location / {</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">        </span>proxy_pass<span class="Apple-converted-space">  </span>http://127.0.0.1:9000;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">        </span>proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">        </span>proxy_redirect off;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">        </span>proxy_set_header<span class="Apple-converted-space">    </span>Host<span class="Apple-converted-space">            </span>$host;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">        </span>proxy_set_header<span class="Apple-converted-space">    </span>X-Real-IP <span class="Apple-converted-space">      </span>$remote_addr;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">        </span>proxy_set_header<span class="Apple-converted-space">    </span>X-Forwarded-For $proxy_add_x_forwarded_for;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">        </span>proxy_set_header<span class="Apple-converted-space">    </span>X-Forwarded-Proto http;</span></strong>
<strong><span style="color: #ff0000;"><span class="Apple-converted-space">    </span>}</span></strong>
<strong><span style="color: #ff0000;">}</span></strong></pre>
<figure id="attachment_4912" aria-describedby="caption-attachment-4912" style="width: 1464px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4912" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-konfigurasi-nginx.jpg" alt="" width="1464" height="749" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-konfigurasi-nginx.jpg 1464w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-konfigurasi-nginx-300x153.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-konfigurasi-nginx-1024x524.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/21-konfigurasi-nginx-768x393.jpg 768w" sizes="auto, (max-width: 1464px) 100vw, 1464px" /><figcaption id="caption-attachment-4912" class="wp-caption-text">konfigurasi nginx</figcaption></figure>
<p style="text-align: justify;">Simpan file tersebut dan kemudian keluar. Pastikan konfigurasinya tidak memiliki <em>syntax </em>yang <em>error </em>dengan menjalankan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo nginx -t</strong></span></pre>
<figure id="attachment_4913" aria-describedby="caption-attachment-4913" style="width: 1152px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4913" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-t.jpg" alt="" width="1152" height="548" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-t.jpg 1152w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-t-300x143.jpg 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-t-1024x487.jpg 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/22-nginx-t-768x365.jpg 768w" sizes="auto, (max-width: 1152px) 100vw, 1152px" /><figcaption id="caption-attachment-4913" class="wp-caption-text">pemeriksaan syntax</figcaption></figure>
<p style="text-align: justify;">Jika kalian melihat ada <em>error, </em>segera perbaikai <em>error </em>tersebut dan kembali jalankan perintah <em>nginx -t. </em>Jika <em>error </em>sudah tidak ada, <em>restart service nginx </em>dengan perintah:</p>
<pre><span style="color: #ff0000;"><strong>sudo service nginx restart</strong></span></pre>
<figure id="attachment_4914" aria-describedby="caption-attachment-4914" style="width: 1642px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4914" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-Restart-Nginx.png" alt="" width="1642" height="658" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-Restart-Nginx.png 1642w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-Restart-Nginx-300x120.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-Restart-Nginx-1024x410.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-Restart-Nginx-768x308.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/16-Restart-Nginx-1536x616.png 1536w" sizes="auto, (max-width: 1642px) 100vw, 1642px" /><figcaption id="caption-attachment-4914" class="wp-caption-text">restart nginx</figcaption></figure>
<h3 style="text-align: justify;"><strong>7 &#8211; Pengaturan SonarQube</strong></h3>
<p style="text-align: justify;">Untuk mengatur proses finalisasi dari SonarQube, masuk ke browser dan akses nama domain atau IP dari <em>server </em>kalian.</p>
<pre><span style="color: #ff0000;"><strong>http://&lt;nama_domain atau IP&gt;</strong></span></pre>
<p style="text-align: justify;">Jika sudah melakukan proses finalisasi, kalian akan melihat tampilan seperti ini:</p>
<figure id="attachment_4915" aria-describedby="caption-attachment-4915" style="width: 2776px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4915" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18.png" alt="" width="2776" height="544" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18.png 2776w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-300x59.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-1024x201.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-768x151.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-1536x301.png 1536w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.18-2048x401.png 2048w" sizes="auto, (max-width: 2776px) 100vw, 2776px" /><figcaption id="caption-attachment-4915" class="wp-caption-text">Halaman depan</figcaption></figure>
<figure id="attachment_4916" aria-describedby="caption-attachment-4916" style="width: 742px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4916" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.41.png" alt="" width="742" height="456" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.41.png 742w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/Screen-Shot-2020-07-24-at-16.26.41-300x184.png 300w" sizes="auto, (max-width: 742px) 100vw, 742px" /><figcaption id="caption-attachment-4916" class="wp-caption-text">Halaman Login</figcaption></figure>
<h3 style="text-align: justify;"><strong>Tambahan</strong></h3>
<p style="text-align: justify;">Untuk memantau proses dari SonarQube, ada beberapa file log yang bisa kalian periksa:</p>
<ul style="text-align: justify;">
<li>Service Logs
<pre><strong><span style="color: #ff0000;">tail -100f /opt/sonarqube/logs/sonar.log</span></strong></pre>
</li>
<li>Web Server Logs
<pre><span style="color: #ff0000;"><strong>tail -100f /opt/sonarqube/logs/web.log</strong></span></pre>
</li>
<li>ElasticSearch Logs
<pre><span style="color: #ff0000;"><strong>tail -100f /opt/sonarqube/logs/es.log</strong></span></pre>
</li>
<li>Compute Engine Logs
<pre><span style="color: #ff0000;"><strong>tail -100f /opt/sonarqube/logs/ce.log</strong></span></pre>
</li>
</ul>
<h3 style="text-align: justify;"><strong>Beberapa Pesan Error</strong></h3>
<p style="text-align: justify;">Seperti yang sudah saya jelaskan tadi. Bila aplikasinya tidak berjalan, silakan kalian melihat log yang ada.</p>
<figure id="attachment_4918" aria-describedby="caption-attachment-4918" style="width: 1718px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4918" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/error-1.png" alt="" width="1718" height="548" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/error-1.png 1718w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/error-1-300x96.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/error-1-1024x327.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/error-1-768x245.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/error-1-1536x490.png 1536w" sizes="auto, (max-width: 1718px) 100vw, 1718px" /><figcaption id="caption-attachment-4918" class="wp-caption-text">service tidak berjalan dengan baik</figcaption></figure>
<p style="text-align: justify;">Berikut ini beberapa pesan <em>error </em>yang pernah saya dapatkan ketika menjalankan SonarQube:</p>
<ol style="text-align: justify;">
<li><strong>Dijalankan dengan </strong><em><em><strong>user root</strong><br />
</em></em></p>
<figure id="attachment_4919" aria-describedby="caption-attachment-4919" style="width: 1578px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4919" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/23-running-as-root.png" alt="" width="1578" height="394" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/23-running-as-root.png 1578w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/23-running-as-root-300x75.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/23-running-as-root-1024x256.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/23-running-as-root-768x192.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/23-running-as-root-1536x384.png 1536w" sizes="auto, (max-width: 1578px) 100vw, 1578px" /><figcaption id="caption-attachment-4919" class="wp-caption-text">Dijalankan dengan user root</figcaption></figure>
<p>Bila kalian melihat <em>error </em>seperti di atas, kalian harus membuat <em>user </em>untuk menjalankan SonarQube, memasukkan <em>user </em>tersebut ke dalam file <em>sonar.service </em>dan mengubah <em>user:group</em> foldernya dengan <em>user:group </em>yang baru saja kalian buat</li>
<li> <strong>Tidak menggunakan Java 11</strong>
<figure id="attachment_4920" aria-describedby="caption-attachment-4920" style="width: 1554px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4920" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-Java-11.png" alt="" width="1554" height="494" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-Java-11.png 1554w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-Java-11-300x95.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-Java-11-1024x326.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-Java-11-768x244.png 768w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/24-Java-11-1536x488.png 1536w" sizes="auto, (max-width: 1554px) 100vw, 1554px" /><figcaption id="caption-attachment-4920" class="wp-caption-text">Tidak menggunakan Java 11</figcaption></figure>
<p>Bila kalian melihat <em>error </em>seperti gambar di atas, yang perlu kalian lakukan adalah melakukan instalasi OpenJDK 11 dan menjadikannya <em>default. </em>Cara untuk melakukan instalasi OpenJDK 11 sudah saya berikan di awal tulisan.</li>
<li><strong>Permission</strong>
<figure id="attachment_4922" aria-describedby="caption-attachment-4922" style="width: 1268px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4922" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/25-Permission.png" alt="" width="1268" height="262" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/25-Permission.png 1268w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/25-Permission-300x62.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/25-Permission-1024x212.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/25-Permission-768x159.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /><figcaption id="caption-attachment-4922" class="wp-caption-text">wrong permission</figcaption></figure>
<p>Bila kalian melihat pesan <em>error </em>seperti gambar di atas, itu tandanya ada <em>permission </em>yang salah pada <em>file</em> atau <em>folder </em>yang disebutkan dalam log. Segera ubah <em>permissionnya.</em></li>
<li><strong>System Settings</strong>
<figure id="attachment_4923" aria-describedby="caption-attachment-4923" style="width: 1250px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-4923" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/26-memory.png" alt="" width="1250" height="158" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/26-memory.png 1250w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/26-memory-300x38.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/26-memory-1024x129.png 1024w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/26-memory-768x97.png 768w" sizes="auto, (max-width: 1250px) 100vw, 1250px" /><figcaption id="caption-attachment-4923" class="wp-caption-text">System settings</figcaption></figure>
<p>Jika kalian melihat pesan <em>error </em>di atas, maka ada beberapa parameter yang harus kalian ubah pada file <em>sysctl.conf. </em>Untuk menjalankan SonarQube, nilai <em>vm.max_map_count </em>&gt;=262144 dan nilai <em>fs.file-max</em><em> &gt;=65536.</em></p>
<p>Ubah nilai tersebut pada file <em>/etc/sysctl.conf </em>menggunakan <em>editor </em>yang kalian suka:</p>
<pre><span style="color: #ff0000;"><strong>vi /etc/sysctl.conf</strong></span></pre>
<p>Tambahkan:</p>
<pre><span style="color: #ff0000;"><strong>vm.max_map_count=262144
fs.file-max=65536
</strong></span></pre>
<p>dan kemudian jalankan:</p>
<pre><span style="color: #ff0000;"><strong>sysctl -p</strong></span></pre>
<p><figure id="attachment_4924" aria-describedby="caption-attachment-4924" style="width: 814px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-4924" src="https://blog.goreinnamah.com/wp-content/uploads/2020/08/27-fixing.png" alt="" width="814" height="104" srcset="https://blog.goreinnamah.com/wp-content/uploads/2020/08/27-fixing.png 814w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/27-fixing-300x38.png 300w, https://blog.goreinnamah.com/wp-content/uploads/2020/08/27-fixing-768x98.png 768w" sizes="auto, (max-width: 814px) 100vw, 814px" /><figcaption id="caption-attachment-4924" class="wp-caption-text">fixing</figcaption></figure></li>
</ol>
<p style="text-align: center;"><strong>*****</strong></p>
<p style="text-align: justify;">Itu tadi cara melakukan isntalasi SonarQube pada Ubuntu Server 18.04. Untuk cara penggunaannya, akan saya coba buat dalam postingan terpisah. Sampai jumpa di tutorial selanjutnya. Semoga informasi ini bisa berguna ya <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p><p>The post <a href="https://blog.goreinnamah.com/blog/2020/08/09/instalasi-sonarqube-di-ubuntu-server-18-04/">Instalasi SonarQube di Ubuntu Server 18.04</a> first appeared on <a href="https://blog.goreinnamah.com">GoBlog</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 0/260 objects using Memcached
Page Caching using Disk: Enhanced 
Database Caching using Memcached (Request-wide modification query)

Served from: blog.goreinnamah.com @ 2026-09-07 05:00:46 by W3 Total Cache
-->