Предуслови
Корак 1: Извршите ажурирање система
Корак 2: Инсталирајте Јава
Корак 3: Инсталирајте и конфигуришите ПостгреСКЛ
Корак 4: Преузмите и конфигуришите СонарКубе
Корак 5: Конфигуришите Системд услугу
Корак 5: Конфигуришите обрнути прокси
Корак 6: Конфигуришите заштитни зид
Штампарска грешка
СонарКубе је алат отвореног кода за развој система квалитета. Написан је на Јави и подржава више база података. Пружа могућности за континуирану проверу кода, приказивање здравља апликације и истицање новоуведених проблема. Садржи анализаторе кода који су опремљени за откривање лукавих проблема. Такође се лако интегрише са ДевОпс-ом.
У овом водичу ћемо инсталирати најновију верзију СонарКубе-а на ЦентОС 7.
Напомена: Овај документ је ажуриран од првобитне публикације. Погледајте одељак „Еррата“ у фуснотама.
Предуслови
- Вултр 64-битна ЦентОС 7 инстанца сервера са најмање 2 ГБ РАМ-а.
- : Судо корисника .
Пре инсталирања било ког пакета на инстанци сервера ЦентОС, препоручује се ажурирање система. Пријавите се користећи судо корисника и покрените следеће команде да бисте ажурирали систем.
sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now
Када систем заврши са поновним покретањем, пријавите се поново као судо корисник и пређите на следећи корак.
Корак 2: Инсталирајте Јава
Преузмите Орацле СЕ ЈДК РПМ пакет тако што ћете откуцати:
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"
Инсталирајте преузети пакет тако што ћете откуцати:
sudo yum -y localinstall jdk-8u131-linux-x64.rpm
Сада можете да проверите верзију Јаве тако што ћете откуцати:
java -version
Корак 3: Инсталирајте и конфигуришите ПостгреСКЛ
Инсталирајте ПостгреСКЛ спремиште тако што ћете откуцати:
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Инсталирајте ПостгреСКЛ сервер базе података тако што ћете покренути:
sudo yum -y install postgresql96-server postgresql96-contrib
Иницијализујте базу података:
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Уредите да /var/lib/pgsql/9.6/data/pg_hba.confбисте омогућили аутентификацију засновану на МД5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Пронађите следеће редове и промените peerу trustи idnetу 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
Једном ажурирана, конфигурација би требало да изгледа као приказана испод.
# 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
Покрените ПостгреСКЛ сервер и омогућите му да се аутоматски покреће при покретању тако што ћете покренути:
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Промените лозинку за подразумеваног корисника ПостгреСКЛ.
sudo passwd postgres
Пребаците се на postgresкорисника.
su - postgres
Креирајте новог корисника тако што ћете откуцати:
createuser sonar
Пређите на ПостгреСКЛ шкољку.
psql
Поставите лозинку за новокреираног корисника за базу података СонарКубе.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
Креирајте нову базу података за ПостгреСКЛ базу података тако што ћете покренути:
CREATE DATABASE sonar OWNER sonar;
Изађите из psqlљуске:
\q
Вратите се на судо корисника покретањем exitкоманде.
Преузмите архиву датотека за инсталацију СонарКубе-а.
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.4.zip
Увек можете потражити везу до најновије верзије апликације на страници за преузимање СонарКубе-а .
Инсталирајте распакујте тако што ћете покренути:
sudo yum -y install unzip
Распакујте архиву користећи следећу команду.
sudo unzip sonarqube-6.4.zip -d /opt
Преименујте директоријум:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
Отворите конфигурациону датотеку СонарКубе користећи свој омиљени уређивач текста.
sudo nano /opt/sonarqube/conf/sonar.properties
Пронађите следеће редове.
#sonar.jdbc.username=
#sonar.jdbc.password=
Одкоментирајте и наведите ПостгреСКЛ корисничко име и лозинку за базу података коју смо креирали раније. Требало би да изгледа овако:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
Затим пронађите:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Декоментирајте ред, сачувајте датотеку и изађите из уређивача.
СонарКубе се може покренути директно помоћу скрипте за покретање која се налази у пакету за инсталацију. Ради погодности, требало би да подесите Системд јединичну датотеку за СонарКубе.
sudo nano /etc/systemd/system/sonar.service
Попуните датотеку са:
[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
Покрените апликацију тако што ћете покренути:
sudo systemctl start sonar
Омогућите услугу СонарКубе да се аутоматски покрене при покретању.
sudo systemctl enable sonar
Да бисте проверили да ли је услуга покренута, покрените:
sudo systemctl status sonar
Подразумевано, СонарКубе слуша лоцалхост на порту 9000. У овом водичу ћемо користити Апацхе као обрнути прокси тако да се апликацији може приступити преко стандардног ХТТП порта. Инсталирајте Апацхе веб сервер тако што ћете покренути:
sudo yum -y install httpd
Креирајте нови виртуелни хост.
sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf
Попуните датотеку са:
<VirtualHost *:80>
ServerName sonar.yourdomain.com
ServerAdmin me@yourdomain.com
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>
Покрените Апацхе и омогућите му да се аутоматски покреће при покретању:
sudo systemctl start httpd
sudo systemctl enable httpd
Дозволите потребан ХТТП порт кроз заштитни зид система.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
Покрените услугу СонарКубе:
sudo systemctl start sonar
Такође ћете морати да онемогућите СЕЛинук:
sudo setenforce 0
СонарКубе је инсталиран на вашем серверу, приступите контролној табли на следећој адреси.
http://sonar.yourdomain.com
Пријавите се користећи почетни администраторски налог adminи admin. Сада можете користити СонарКубе за континуирану анализу кода који сте написали.
Штампарска грешка
Ако инсталирате СонарКубе 7.1 (или новији), унесите промене у наставку јер се новије верзије Еластицсеарцх-а не могу покренути као роот корисник.
- Ажурирајте дозволе:
chown -R sonar:sonar /opt/sonarqube
- Измени
/opt/sonarqube/bin/linux-x86-64/sonar.sh, промени #RUNASу " sonar".
- Измените
/etc/systemd/system/sonar.service, промените корисничку групу да буде " sonar".