Как установить SonarQube на Ubuntu 16.04
Это руководство существует для этих версий ОС
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 16.04 (Xenial Xerus)
На этой странице
- Предпосылки
- Начало работы
- 1. Установите Java
- 2 Установите Apache и MariaDB
- 3. Настройка MariaDB
- 4 Установите SonarQube
- 5. Настройте Apache в качестве обратного прокси-сервера.
- 6 Доступ к веб-интерфейсу SonarQube
- Заключение
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. Теперь вы можете легко развернуть его в производственной среде. Не стесняйтесь комментировать меня, если вам нужна помощь.