Cara Memasang SonarQube di CentOS 7

SonarQube adalah alat sumber terbuka untuk pembangunan sistem yang berkualiti. Ia ditulis dalam Java dan menyokong pelbagai pangkalan data. Ini menyediakan kemampuan untuk memeriksa kod secara berterusan, menunjukkan kesihatan aplikasi, dan menyoroti masalah yang baru diperkenalkan. Ia mengandungi penganalisis kod yang dilengkapi untuk mengesan masalah yang rumit. Ia juga mudah disatukan dengan DevOps.

Dalam tutorial ini, kami akan memasang versi terbaru SonarQube di CentOS 7.

Catatan: Dokumen ini telah dikemas kini sejak penerbitan asalnya. Lihat bahagian "Errata" dalam nota kaki.

Prasyarat

  • Instance pelayan Vultr 64-bit CentOS 7 dengan RAM sekurang-kurangnya 2 GB.
  • Pengguna sudo .

Langkah 1: Lakukan kemas kini sistem

Sebelum memasang sebarang pakej pada contoh pelayan CentOS, disarankan untuk mengemas kini sistem. Log masuk menggunakan pengguna sudo dan jalankan arahan berikut untuk mengemas kini sistem.

sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now

Setelah sistem selesai boot semula, log masuk semula sebagai pengguna sudo dan teruskan ke langkah seterusnya.

Langkah 2: Pasang Java

Muat turun pakej RPM Oracle SE JDK dengan menaip:

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

Pasang pakej yang dimuat turun dengan menaip:

sudo yum -y localinstall jdk-8u131-linux-x64.rpm

Anda kini boleh memeriksa versi Java dengan mengetik:

java -version

Langkah 3: Pasang dan konfigurasikan PostgreSQL

Pasang repositori PostgreSQL dengan menaip:

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Pasang pelayan pangkalan data PostgreSQL dengan menjalankan:

sudo yum -y install postgresql96-server postgresql96-contrib

Inisialisasi pangkalan data:

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Edit /var/lib/pgsql/9.6/data/pg_hba.confuntuk membolehkan pengesahan berasaskan MD5.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Cari baris berikut dan ubah peerke trustdan idnetke md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Setelah dikemas kini, konfigurasi akan kelihatan seperti yang ditunjukkan di bawah.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Mulakan pelayan PostgreSQL dan aktifkan untuk memulakan secara automatik pada waktu boot dengan menjalankan:

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Tukar kata laluan untuk pengguna PostgreSQL lalai.

sudo passwd postgres

Beralih kepada postgrespengguna.

su - postgres

Buat pengguna baru dengan menaip:

createuser sonar

Beralih ke shell PostgreSQL.

psql

Tetapkan kata laluan untuk pengguna yang baru dibuat untuk pangkalan data SonarQube.

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

Buat pangkalan data baru untuk pangkalan data PostgreSQL dengan menjalankan:

CREATE DATABASE sonar OWNER sonar;

Keluar dari psqlcengkerang:

\q

Beralih kembali ke pengguna sudo dengan menjalankan exitperintah.

Langkah 4: Muat turun dan konfigurasikan SonarQube

Muat turun arkib fail pemasang SonarQube.

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

Anda sentiasa boleh mencari pautan ke aplikasi versi terbaru di halaman muat turun SonarQube .

Pasang unzip dengan menjalankan:

sudo yum -y install unzip

Unzip arkib menggunakan arahan berikut.

sudo unzip sonarqube-6.4.zip -d /opt

Namakan semula direktori:

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

Buka fail konfigurasi SonarQube menggunakan penyunting teks kegemaran anda.

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

Cari baris berikut.

#sonar.jdbc.username=
#sonar.jdbc.password=

Tolak dan berikan nama pengguna dan kata laluan PostgreSQL pangkalan data yang telah kami buat sebelumnya. Ia kelihatan seperti:

sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword

Seterusnya, cari:

#sonar.jdbc.url=jdbc:postgresql://localhost/sonar

Tanggalkan baris, simpan fail dan keluar dari editor.

Langkah 5: Konfigurasikan perkhidmatan Systemd

SonarQube boleh dimulakan secara langsung menggunakan skrip permulaan yang disediakan dalam pakej pemasang. Untuk kemudahan, anda harus menyediakan fail unit Systemd untuk SonarQube.

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

Isi fail dengan:

[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=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

Mulakan aplikasi dengan menjalankan:

sudo systemctl start sonar

Aktifkan perkhidmatan SonarQube untuk bermula secara automatik pada waktu boot.

sudo systemctl enable sonar

Untuk memeriksa sama ada perkhidmatan berjalan, jalankan:

sudo systemctl status sonar

Langkah 5: Konfigurasikan proksi terbalik

Secara lalai, SonarQube mendengarkan localhost di port 9000. Dalam tutorial ini, kami akan menggunakan Apache sebagai proksi terbalik sehingga aplikasi dapat diakses melalui port HTTP standard. Pasang pelayan web Apache dengan menjalankan:

sudo yum -y install httpd

Buat tuan rumah maya yang baru.

sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf

Isi fail dengan:

<VirtualHost *:80>  
    ServerName sonar.yourdomain.com
    ServerAdmin [email protected]
    ProxyPreserveHost On
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://localhost:9000/
    TransferLog /var/log/httpd/sonar.yourdomain.com_access.log
    ErrorLog /var/log/httpd/sonar.yourdomain.com_error.log
</VirtualHost>

Mulakan Apache dan aktifkan secara automatik pada waktu boot:

sudo systemctl start httpd
sudo systemctl enable httpd

Langkah 6: Konfigurasikan firewall

Benarkan port HTTP yang diperlukan melalui firewall sistem.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Mulakan perkhidmatan SonarQube:

sudo systemctl start sonar

Anda juga perlu melumpuhkan SELinux:

sudo setenforce 0

SonarQube dipasang di pelayan anda, akses papan pemuka di alamat berikut.

http://sonar.yourdomain.com

Log masuk menggunakan akaun pentadbir permulaan, admindan admin. Anda kini boleh menggunakan SonarQube untuk terus menerus menganalisis kod yang telah anda tulis.


Errata

Sekiranya memasang SonarQube 7.1 (atau yang lebih baru), buat perubahan di bawah kerana versi Elasticsearch yang lebih baru tidak dapat dijalankan sebagai pengguna root.

  • Kemas kini kebenaran: chown -R sonar:sonar /opt/sonarqube
  • Ubah suai /opt/sonarqube/bin/linux-x86-64/sonar.sh, ubah #RUNASmenjadi " sonar".
  • Ubah suai /etc/systemd/system/sonar.service, ubah kumpulan pengguna menjadi " sonar".


Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut