Поиск по сайту:

Как установить SonarQube на Ubuntu 16.04


Это руководство существует для этих версий ОС

  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 16.04 (Xenial Xerus)

На этой странице

  1. Предпосылки
  2. Начало работы
  3. 1. Установите Java
  4. 2 Установите Apache и MariaDB
  5. 3. Настройка MariaDB
  6. 4 Установите SonarQube
  7. 5. Настройте Apache в качестве обратного прокси-сервера.
  8. 6 Доступ к веб-интерфейсу SonarQube
  9. Заключение

SonarQube — это бесплатная платформа системы управления качеством с открытым исходным кодом, которую можно использовать для автоматизации проверки кода. Он может анализировать файлы исходного кода, рассчитывать набор показателей и отображать результат на веб-панели инструментов. Он написан на языке Java, а также поддерживает другие языки, такие как Perl, PHP и Ruby. По умолчанию SonarQube поддерживает базу данных h2, но не масштабируется. Таким образом, вы можете интегрировать SonarQube с другими серверами баз данных, такими как MSSQL, PostgreSQL, Oracle и MySQL. SOnarQube поставляется с множеством плагинов, которые автоматически интегрируют исходный код из репозиториев. Это позволяет разработчикам обнаруживать ошибки и уязвимости, а также уменьшать запахи кода на более чем 20 различных языках. Вы можете легко интегрировать SolarQube со средами разработки Eclipse, Visual Studio и IntelliJ IDEA с помощью подключаемых модулей SonarLint.

В этом руководстве мы узнаем, как установить SonarQube на сервер Ubuntu 16.04.

Предпосылки

  • В вашей системе установлен свежий сервер Ubuntu 16.04.
  • Минимум 4 ГБ ОЗУ.
  • Пользователь без полномочий root с привилегиями sudo.

Начиная

Перед запуском рекомендуется обновить базовую систему до последней версии. Вы можете сделать это, выполнив следующую команду:

sudo apt-get update -y
sudo apt-get upgrade -y

После обновления вашей системы вы можете приступить к установке Java.

1 Установите Java

Sonarqube — это приложение на основе Java, поэтому сначала вам необходимо установить Java 8. По умолчанию Java 8 недоступна в репозитории Ubuntu. Вы можете установить Java 8, добавив репозиторий webupd8team PPA в свою систему.

Сначала добавьте PPA, выполнив следующую команду:

sudo add-apt-repository ppa:webupd8team/java

Затем обновите репозиторий с помощью следующей команды:

sudo apt-get update -y

После обновления репозитория вы можете установить Java 8, выполнив следующую команду:

sudo apt-get install oracle-java8-installer -y

После установки Java вы можете проверить версию Java с помощью следующей команды:

java -version

Вы должны увидеть следующий вывод:

Java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

Как только вы закончите, вы можете перейти к следующему шагу.

2 Установите Apache и MariaDB

Вам также потребуется установить Apache и MariaDB, потому что мы будем использовать Apache для обратного прокси и MariaDB в качестве базы данных. Вы можете установить их оба, выполнив следующую команду:

sudo apt-get install apache2 mariadb-server -y

После завершения установки запустите службы Apache и MariaDB и включите их при загрузке с помощью следующей команды:

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysql

После того, как Apache и MariaDB установлены и работают, вы можете перейти к следующему шагу.

3 Настройте MariaDB

По умолчанию установка MariaDB не защищена, поэтому вам необходимо защитить установку MariaDB. Вы можете сделать это, запустив скрипт mysql_secure_installation:

sudo mysql_secure_installation

В этом процессе вам будет предложено установить пароль root, удалить анонимных пользователей, запретить удаленный вход в систему root и удалить тестовую базу данных. Ответьте на все вопросы, как показано ниже:

Enter current password for root (enter for none):
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Как только MariaDB будет защищена, войдите в оболочку MariaDB с помощью следующей команды:

mysql -u root -p

Введите пароль root при появлении запроса, затем создайте базу данных для SonarQube:

MariaDB [(none)]> CREATE DATABASE sonardb;

Затем создайте нового пользователя базы данных и предоставьте ему соответствующие привилегии в отношении созданной вами базы данных.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON sonardb.* TO 'sonar'@'localhost' IDENTIFIED BY 'yourpassword';

Затем примените изменения к привилегиям базы данных с помощью следующей команды:

MariaDB [(none)]> FLUSH PRIVILEGES;

Наконец, выйдите из оболочки MariaDB с помощью следующей команды:

MariaDB [(none)]> \q

После настройки базы данных можно переходить к следующему шагу.

4 Установите SonarQube

Вы можете загрузить последнюю версию SonarQube с их официального сайта. Вы можете скачать его с помощью команды wget:

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

После завершения загрузки разархивируйте загруженный архив с помощью следующей команды:

sudo unzip sonarqube-6.4.zip -d /opt

Затем переименуйте каталог с помощью следующей команды:

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

Далее вам нужно будет изменить основной файл конфигурации SonarQube sonar.properties:

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

Внесите следующие изменения:

##Database User credentials:
sonar.jdbc.username=sonar
sonar.jdbc.password=yourpassword
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

Сохраните и закройте файл, затем создайте служебный файл systemd для SonarQube.

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

Добавьте следующие строки:

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

[Service]
Type=forking

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

User=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

Сохраните файл, когда закончите, затем запустите службу SonarQube и включите ее запуск при загрузке с помощью следующей команды:

sudo systemctl start sonar
sudo systemctl enable sonar

Процесс SonarQube занимает некоторое время для завершения создания базы данных и заполнения данных. Вы можете проверить статус SonarQube с помощью следующей команды:

sudo systemctl status sonar

Вы также можете следить за процессом, просматривая содержимое файла /opt/sonar/logs/sonar.log. Как только вы закончите, вы можете перейти к следующему шагу.

5 Настройте Apache в качестве обратного прокси

По умолчанию SonarQube прослушивает порт 9000. Здесь мы будем использовать apache в качестве обратного прокси-сервера, чтобы к SonarQube можно было получить доступ через порт 80:

Сначала включите прокси-модуль apache с помощью следующей команды:

sudo a2enmod proxy
sudo a2enmod proxy_http

Затем создайте новый файл виртуального хоста для SonarQube с помощью следующей команды:

sudo nano /etc/apache2/sites-available/sonar.conf

Добавьте следующие строки:

<VirtualHost *:80>
    ServerName 192.168.15.189
    ServerAdmin 
    ProxyPreserveHost On
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://localhost:9000/
    TransferLog /var/log/apache2/sonar_access.log
    ErrorLog /var/log/apache2/sonar_error.log
</VirtualHost>

Сохраните и закройте файл, затем включите новый виртуальный хост, выполнив следующую команду:

sudo a2ensite sonar

Наконец, перезапустите службу Apache с помощью следующей команды:

sudo systemctl restart apache2

6 Доступ к веб-интерфейсу SonarQube

Все необходимые компоненты установлены и настроены. Теперь пришло время получить доступ к веб-интерфейсу SonarQube.

Прежде чем получить к нему доступ, вам необходимо разрешить порт 80 через брандмауэр UFW. По умолчанию UFW отключен в Ubuntu, поэтому вам нужно сначала включить его. Вы можете включить его, выполнив следующую команду:

sudo ufw enable

После включения брандмауэра UFW вы можете разрешить порт 80 через UFW, выполнив следующую команду:

sudo ufw allow 80/tcp

Теперь вы можете проверить состояние брандмауэра UFW, выполнив следующую команду:

sudo ufw status

Теперь откройте веб-браузер и перейдите по URL-адресу http://192.168.15.189, вы должны увидеть следующий экран:

Теперь нажмите на кнопку «Войти», вы должны увидеть следующий экран:

Войдите в систему с именем пользователя по умолчанию как \admin\ и паролем как \admin\, вы должны увидеть следующий экран:

После входа в панель управления SonarQube нажмите кнопку «Администрирование» > «Система» > «Информация о системе». Вы должны увидеть текущую системную информацию на следующем экране:

Затем нажмите кнопку «Администрирование» > «Система» > «Центр обновлений». Вы должны увидеть все установленные плагины на следующем экране:

Здесь вы можете обновить существующие плагины, а также установить доступные плагины. После установки или обновления необходимых плагинов вам нужно будет нажать кнопку «Перезагрузить», чтобы перезапустить систему и обновить изменения.

Заключение

В приведенном выше руководстве мы научились устанавливать SonarQube в Ubuntu 16.04 и базовому использованию SonarQube. Теперь вы можете легко развернуть его в производственной среде. Не стесняйтесь комментировать меня, если вам нужна помощь.