3 min read

SonarQube Kurulum Rehberi

SonarQube Kurulum Rehberi

Bu rehber, SonarQube'un Ubuntu üzerinde nasıl kurulacağını adım adım açıklamaktadır.

SonarQube, yazılım geliştirme süreçlerinde kod kalitesini analiz eden ve iyileştiren bir araçtır. Geliştiricilerin kodlarını analiz ederek hataları, güvenlik açıklarını ve performans sorunlarını tespit etmelerine yardımcı olur. Ayrıca, kod standartlarına uyumu kontrol ederek sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerine entegre edilebilir. SonarQube, çeşitli programlama dillerini destekler ve kullanıcı dostu bir arayüze sahip olması sayesinde ekiplerin daha verimli çalışmasını sağlar. Kod kalitesini artırarak yazılım projelerinin sürdürülebilirliğini ve güvenilirliğini artırmayı amaçlar.

1. Sistem Güncellemeleri

Öncelikle, sisteminizi güncelleyerek başlayın:

apt-get update -y && apt-get upgrade -y

2. Hostname ve Hosts Dosyasını Düzenleme

Hostname’i ayarlayın ve hosts dosyasına ekleme yapın:

hostnamectl set-hostname sonarqube.homelab
nano /etc/hosts

Aşağıdaki satırı ekleyin:

192.168.88.131 sonarqube.homelab sonarqube

3. Ön Gereksinimler

/etc/sysctl.conf dosyasını düzenleyin ve aşağıdaki ayarları ekleyin:

nano /etc/sysctl.conf

Aşağıdaki satırları ekleyin veya düzenleyin:

vm.max_map_count=524288
fs.file-max=131072
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

Ayarları uygulamak için şu komutu çalıştırın:

sysctl -p

4. Limits Ayarları

Sistem limitlerini ayarlamak için limits.conf dosyasını düzenleyin:

sudo nano /etc/security/limits.conf

Aşağıdaki satırları ekleyin:

sonar   -   nofile   65536
sonar   -   nproc    4096

5. Gerekli Paketlerin Kurulumu

Wget, unzip ve Java'yı kurun:

sudo apt-get install wget unzip -y
sudo apt-get install openjdk-17-jdk -y
sudo apt-get install openjdk-17-jre -y

6. PostgreSQL Kurulumu

PostgreSQL'i kurun ve başlatın:

sudo apt-get -y install postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql

PostgreSQL için şifre belirleyin:

passwd postgres

PostgreSQL kullanıcı alanına geçiş yapın:

su - postgres

Yeni bir kullanıcı oluşturun:

createuser sonar

PostgreSQL kabuğuna geçin:

psql

SonarQube veritabanı için yeni kullanıcıya şifre verin:

ALTER USER sonar WITH ENCRYPTED PASSWORD 'sonar';

Yeni bir veritabanı oluşturun:

CREATE DATABASE sonarqube OWNER sonar;

Kullanıcıya veritabanı üzerinde tüm ayrıcalıkları verin:

GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonar;

PostgreSQL kabuğundan çıkın:

\q

Kullanıcı alanına geri dönmek için:

exit

7. SonarQube Binaries Kurulumu

SonarQube ikili dosyalarını indirin ve kurun:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.1.69595.zip
sudo unzip sonarqube-9.9.1.69595.zip -d /opt
sudo mv /opt/sonarqube-9.9.1.69595 /opt/sonarqube

8. Kullanıcı ve Grup Oluşturma

SonarQube'u çalıştıracak kullanıcı ve grup oluşturun:

sudo groupadd sonar
sudo useradd -c "user to run SonarQube" -d /opt/sonarqube -g sonar sonar
sudo chown sonar:sonar /opt/sonarqube -R

SonarQube konfigürasyon dosyasını düzenleyin:

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

Aşağıdaki satırları ekleyin veya düzenleyin:

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

SonarQube başlangıç dosyasını düzenleyin:

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

RUN_AS_USER satırını aşağıdaki şekilde değiştirin:

RUN_AS_USER=sonar

9. SonarQube Logları

SonarQube loglarını kontrol etmek için:

tail /opt/sonarqube/logs/sonar.log

10. Systemd Servisi Yapılandırma

SonarQube servisini ayarlamak için bir servis dosyası oluşturun:

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

Aşağıdaki içerikleri ekleyin:

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

[Service]
Type=forking

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

User=sonar
Group=sonar
Restart=always

LimitNOFILE=65536
LimitNPROC=4096

[Install]
WantedBy=multi-user.target

SonarQube servisini başlatın ve otomatik başlatma ayarı yapın:

sudo systemctl start sonar
sudo systemctl enable sonar
sudo systemctl status sonar

11. Erişim

SonarQube web arayüzüne erişim sağlamak için konfigürasyon dosyasını tekrar düzenleyin:

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

Aşağıdaki satırı ekleyin veya düzenleyin:

sonar.web.port=9000

SonarQube kurulumunuz tamamlandı. Artık web tarayıcınız üzerinden http://sonarqube.homelab:9000 adresine giderek SonarQube arayüzüne erişebilirsiniz.