Difference between revisions of "Sonar"
Line 131: | Line 131: | ||
+ | ===Apply changes=== | ||
− | + | You must restart Sonar to use the new settings. | |
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 142: | Line 142: | ||
− | Check that Sonar is up | + | Check that Sonar is up: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 155: | Line 155: | ||
− | + | =Apache2 proxy= | |
− | Sonar | + | |
− | + | Instead of opening port 9000, it's better to access Sonar through Apache2 proxy. | |
+ | |||
+ | To use the proxy rule, the target '''/sonar''' must match the root URL (see sonar.properties) | ||
+ | |||
+ | |||
+ | ==Apache2 configuration== | ||
+ | |||
+ | Edit configuration file: module or virtual host | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
vim /etc/apache2/mods-enabled/proxy.conf | vim /etc/apache2/mods-enabled/proxy.conf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Set the following: | ||
+ | |||
+ | <syntaxhighlight lang="apache"> | ||
# Proxy to a Java application running over Tomcat, with IP filter | # Proxy to a Java application running over Tomcat, with IP filter | ||
<Location /sonar> | <Location /sonar> | ||
Line 176: | Line 189: | ||
Require host 193.12.118.196 | Require host 193.12.118.196 | ||
</Location> | </Location> | ||
+ | </syntaxhighlight> | ||
− | Test Sonar | + | ==Test Sonar== |
− | + | ||
+ | * Default URL: http://localhost:9000/sonar | ||
+ | * Using Apache2 proxy: http://myServer/sonar | ||
The default user and password are “admin” and “admin“. | The default user and password are “admin” and “admin“. | ||
− | Logs | + | |
+ | |||
+ | =Logs= | ||
+ | |||
Sonar logs are in: | Sonar logs are in: | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
/opt/sonar/logs/sonar.log | /opt/sonar/logs/sonar.log | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | =Upgrade Sonar= | ||
− | |||
Sometimes when there are a lot of changes the new sonar version required some database change. | Sometimes when there are a lot of changes the new sonar version required some database change. | ||
− | The service will not be available until you go to http://myServer/sonar/setup | + | |
+ | |||
+ | The service will not be available until you go to '''http://myServer/sonar/setup''' | ||
+ | |||
+ | |||
You have to agree to the terms and upgrade database | You have to agree to the terms and upgrade database |
Revision as of 12:04, 10 September 2014
The following instructions are for Ubuntu 14.04 LTS.
You can find all these instructions and more on the Official how-to: http://sonar-pkg.sourceforge.net/
Contents
Requirements
You need to have a MySQL server available.
Installation (Ubuntu)
Get package
vim /etc/apt/sources.list
Add a new repository
deb http://downloads.sourceforge.net/project/sonar-pkg/deb binary/
Update packages list and install sonar
apt-get update
apt-get install sonar
Create SONAR database
SONAR needs to work with a database.
You can create a new MySQL database + MySQL user for it.
Step 1: Login to MySQL as ROOT
mysql -u root -p
Enter password:
Step 2: Create the Database
mysql > create database sonar;
Step 3: Verify that it’s there
mysql > show databases;
Step 4: Create the User
mysql > create user sonar;
Step 5: Grant privileges while assigning the password
mysql > grant all on sonar.* to 'sonar'@'localhost' identified by 'sonar';
Step 6: Apply changes
mysql > flush privileges;
Step 7: exit
mysql > quit;
Configure SONAR
Edit SONAR configuration file
vim /opt/sonar/conf/sonar.properties
Database configuration
Disable embedded H2DB and enable MySQL database, lines 20 to 40:
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
Port number and root context
Adjust port number and context
#sonar.web.host: 0.0.0.0
#sonar.web.port: 9000
sonar.web.context: /sonar
!!! This is VERY important that you uncomment and set the sonar.web.context !!!
Apply changes
You must restart Sonar to use the new settings.
service sonar restart
... wait for some times on 1st start (5 to 7 mn) !!
Check that Sonar is up:
netstat -pl --numeric | grep 9000
You should have:
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN xxxxx/java
Apache2 proxy
Instead of opening port 9000, it's better to access Sonar through Apache2 proxy.
To use the proxy rule, the target /sonar must match the root URL (see sonar.properties)
Apache2 configuration
Edit configuration file: module or virtual host
vim /etc/apache2/mods-enabled/proxy.conf
Set the following:
# Proxy to a Java application running over Tomcat, with IP filter
<Location /sonar>
ProxyPass http://localhost:9000/sonar
ProxyPassReverse http://localhost:9000/sonar
### Apache < 2.4
#Order allow,deny
#Allow from 127.0.0.1 192.168.1.0/24 193.12.118.196
### Apache 2.4
Require local
Require ip 192.168.1
Require host 193.12.118.196
</Location>
Test Sonar
- Default URL: http://localhost:9000/sonar
- Using Apache2 proxy: http://myServer/sonar
The default user and password are “admin” and “admin“.
Logs
Sonar logs are in:
/opt/sonar/logs/sonar.log
Upgrade Sonar
Sometimes when there are a lot of changes the new sonar version required some database change.
The service will not be available until you go to http://myServer/sonar/setup
You have to agree to the terms and upgrade database