본문 바로가기

카테고리 없음

소나큐브 설치

그리고 zip 파일 압축해제를위해서 unzip 을 설치합니다.

cd /tmp

# 다운로드  
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.7.zip

# zip파일 압축 해제를 위한 unzip 설치
sudo apt-get install unzip

# zip파일 압축 해제
unzip sonarqube-7.7.zip

#파일 이동
mv sonarqube-7.7 /usr/local/src/sonarqube

 

2. Jdk 설치


SonarQube를 사용하려면 서버에 JDK도 설치 되어있어야 합니다만. 지원하는 JDKsms Open JDK 8 버젼만 지원합니다. 참고

그래서 Open JDK 8 버젼을 설치합니다.

# Open JDK 8 설치
sudo apt-get install openjdk-8-jdk

# Java 환경변수 설정
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")

# 환경변수 설정 내용 확인
echo $JAVA_HOME

 

3. 환경설정

#디렉터리 이동
cd /usr/local/src/sonarqube/

#환경설정 
vi conf/sonar.properties

 

sonar.properties파일을 위와같이 빨간색  쳐진부분처럼 수정해줍니다.

user명은 sonar로  하도록하겠습니다.

 

 

4.database 세팅

# postgresql을 설치합니다.
sudo apt-get install postgresql

# postgres로 계정을 바꿔줍니다.
sudo -i -u postgres

# postgresql의 쉘 커맨드를 실행합니다.
psql

#유저생성, db생성, db권한설정
CREATE USER sonar WITH ENCRYPTED PASSWORD 'sonar';
CREATE DATABASE sonar OWNER sonar;
ALTER ROLE sonar WITH createdb;
GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;

# 쉘 커맨드를 종료합니다.
CTRL + C

# 원래 계정으로 돌아갑니다.
exit


#재시작
#systemctl restart postgresql

 

 

5.기타 환경설정

 

db작업을 마치고 부팅서비스로 등록하도록 하겠습니다.

#service 생성 , system 디렉토리 없다면 생성
vi /usr/lib/systemd/system/sonar.service

파일안에 아래와같은 내용을 입력해주고 저장해줍니다.

[Unit]
Description=SonarQube Service
After=syslog.target
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/src/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/usr/local/src/sonarqube/bin/linux-x86-64/sonar.sh stop
ExecReload=/usr/local/src/sonarqube/bin/linux-x86-64/sonar.sh restart

[Install]
WantedBy=multi-user.target

wq

#데몬 재로드를 한뒤 부팅시 등록 및 실행
systemctl daemon-reload
systemctl enable sonar
systemctl start sonar

 방화벽 포트도  열어줍니다.

ufw allow 9000

 

그리고  다음 중요한것이 실행할때 루트계정으로 실행하면 실행되지  않습니다.

그러므로 sonar라는 계정을 생성해보도록 하겠습니다.

 

유저생성

#그룹생성
sudo groupadd sonar

#유저생성
sudo useradd -m -g sonar -d /usr/local/src/sonarqube -s /bin/bash -p sonar sonar

# -m 홈디렉토리생성, -g 그룹지정 ,-d 디렉토리 지정, -s  쉘지정, -p 패스워드 지정

소유권한 변경

#파일 소유권한 변경
sudo chown -R sonar:sonar /usr/local/src/sonarqube

##chown -R [owner name]:[group name] [filename or directory]

 

 

6. 실행

 

데몬으로 부팅시에 실행되지만, 직접 쉘로 실행해보도록 하겠습니다

 f

현재 유저 변경 

#현재 유저 변경 (switch user)
su - sonar
패스워드입력

 

소나큐브실행

#소나큐브 실행
./bin/linux-x86-64/sonar.sh console start

##(옵션 목록 : console | start | stop | restart | status | dump)