DevEnjoy

One Step Closer

ubuntu

Ubuntu 14.04에서 Sonarqube 6.7.1 service 등록

2018년 1월 26일 by YongPwi 1 Comment

Sonarqube를 처음 설치하였는데 얼마전부터 업데이트가 되고서는 elasticsearch를 내부적으로 사용하면서

root 권한으로 실행이 불가능하다.

그래서 ubuntu service에 등록시키고 서버가 시작될때 자동으로 시작되게 하고 싶은데

user 권한이 아닌 root 권한으로 실행되어서 해결 방법 찾음

기존에는 sysv-rc-conf를 사용하여서 sysv-rc-conf 문제일지도 모르겠다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// service 등록
nano /etc/systemd/system/sonar.service

// 해당 주석 하위부터 입력 후 저장
[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking

ExecStart=/opt/sonarqube-6.7.1/bin/linux-x86-64/sonar.sh start  // sonarqube 설치경로 지정
ExecStop=/opt/sonarqube-6.7.1/bin/linux-x86-64/sonar.sh stop

User=ubuntu // user를 root가 아닌 일반 사용 user로 등록
Group=ubuntu  // user를 root가 아닌 일반 사용 user로 등록
Restart=always

[Install]
WantedBy=multi-user.target

service 파일을 등록하였으면

실제 서비스에 등록해준다.

1
sudo systemctl enable sonar

그리고 서버를 재시작하면 sonarqube가 자동으로 실행됨!

참고링크

Posted in: AWS, Programing, Ubuntu Tagged: elasticsearch, service, sonarqube, ubuntu

Omnibus Gitlab CE 설치형 8.5에서 10.4로 업데이트

2018년 1월 25일 by YongPwi Leave a Comment

회사에서 Omnibus Gitlab CE 8.5.1 버전을 설치해서 사용한지 2년 정도 지났다.

업데이트를 진행하다가 어마무시한 삽질한 경험에 흔적을,,,

– 삽질

Omnibus를 너무 신뢰한 나머지 난 바로 10.4로 업데이트 진행

하지만 여기서도 삽질을 좀 했는데 Gitlab 공식 업데이트 가이드는

1. 백업을 진행하고

2. 업데이트 진행

백업 진행시에는 /var/opt/gitlab/backups 의 경로가 default로 잡혀있다.

난 disk 공간이 부족하기 때문에 /etc/gitlab/gitlab.rb 파일의 backup 경로를 수정 하였다.

1
2
3
sudo nano /etc/gitlab/gitlab.rb

gitlab_rails['backup_path'] = "/repository/backup/gitlab" // backup 지정 경로

그리고 Gitlab에서 가이드대로 업데이트를 진행하였지만 난 진행되지 않았다.

문제점이 먼지 명확하게 이해는 되지 않았지만 버전을 명시하지 않아서 발생한걸로 예상된다.

1
2
3
4
5
6
7
8
9
10
11
// gitlab guide
sudo apt-get update && sudo apt-get install gitlab-ce

// 내가 진행한 방법
sudo apt-get update

// 업데이트 버전 확인
// https://packages.gitlab.com/gitlab/gitlab-ce
// 10.4.0의 trusty 버전으로 설치
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=10.4.0-ce.0

Omnibus 버전이라 설치는 매우 간단하다.

모든것을 알아서 설치해줌

설치가 완료되고 나면

1
sudo gitlab-ctl reconfigure

명령어를 입력하여 재설정을 진행한다.

이러고 사이트를 들어가니 502 에러? 500 에러? 아무튼 에러가 발생한다.

Gitlab에서 guide하고 있는 업데이트 방식은

현재 사용중인 major version의 최신 버전으로 업데이트를 하고 다음 major version 으로 업데이트 하는 방식을 권장한다.

나의 경우라면

8.5.1 -> 8.17.7 -> 9.4.5 -> 10.4.0

식으로 업데이트를 진행하면 된다.

https://docs.gitlab.com/ee/policy/maintenance.html

사실 위에 방법으로 업데이트 하고 Gitlab 사이트가 정상적으로 로드되고 로그인까지 정상!

데이터 또만 그대로 보존!

눈물을 흘렸는데 문제가 더 발생하였다.

브라우저 기반의 Gitlab 사이트는 정상적으로 사용 가능했지만

console에서 http, ssh 로 git 사용이 불가능한 상황이었다.

몇일을 구글링해서 삽질하다가 결국 Gitlab issue로 등록하여 문제를 해결하였다.

Omnibus Gitlab CE가 10 버전으로 업데이트되면서 내부적으로 많은 변화가 있었다.

그래서 gitaly 문제로 해당 문제가 발생하였다.

위에서 기본적인 Gitlab의 설정은 /etc/gitlab/gitlab.rb 파일로 관리한다고 하였는데

해당 파일을 열어보면 기본 설정을 입력하지 않으면 default로 적용된다.

## Build Artifacts
# gitlab_rails[‘artifacts_enabled’] = true
# gitlab_rails[‘artifacts_path’] = “/mnt/storage/artifacts”

## Git LFS
# gitlab_rails[‘lfs_enabled’] = true
# gitlab_rails[‘lfs_storage_path’] = “/mnt/storage/lfs-objects”

## ElasticSearch (EE only)
# gitlab_rails[‘elasticsearch_enabled’] = false
# gitlab_rails[‘elasticsearch_host’] = “localhost”
# gitlab_rails[‘elasticsearch_port’] = 9200

## GitLab Pages (EE only)
# gitlab_rails[‘pages_path’] = “/mnt/storage/pages”

그런데 gitaly의 사용설정 부분은 명시적으로 선언을 해주어야 한다.

나의 /etc/gitlab/gitlab.rb 에는 gitaly 관련 설정 구문이 없어서

기본으로 설정되겠지 했는데

1
2
3
4
5
6
7
8
9
sudo nano /etc/gitlab/gitlab.rb
// 하단 gitaly 사용 추가
gitaly ['enable'] = true

// /etc/gitlab/gitlab.rb 파일을 수정하고서는 설정을 반영하여야 한다.
sudo gitlab-ctl reconfigure

// 혹시 문제가 발생한다면 gitlab 재시작!
sudo gitlab-ctl restart

상위 처럼 명시적으로 사용으로 선언해주어야 Gitlab에 정상적으로 동작한다.

나와같은 삽질을 하는 분이 없길 바라며,,,

https://gitlab.com/gitlab-org/gitlab-ce/issues/42392

Posted in: AWS, Gitlab, Programing, Ubuntu Tagged: gitlab, omnibus, ubuntu, update

ubuntu에서 mysql 완전 삭제

2017년 7월 12일 by YongPwi Leave a Comment

매번 구글링만 하다가,,,

생각난김에 명령어 정리

1
2
3
4
5
6
7
sudo service mysql stop
sudo apt-get purge mysql-server
sudo apt-get purge mysql-common
sudo rm -rf /var/log/mysql
sudo rm rm -rf /var/log/mysql.*
sudo rm rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
Posted in: MySQL, Programing Tagged: delete, MySQL, ubuntu

AWS ELB와 Auto Scaling 연동, nginx

2016년 11월 8일 by YongPwi 1 Comment

%ec%8a%ac%eb%9d%bc%ec%9d%b4%eb%93%9c1

    • Webserver(Nginx)
      • IP : 설정 IP
      • Port : 8080
      • AWS ELB를 사용하면 ELB DNS 네임으로 접근 가능하기 때문에 사실 Webserver의 필요성은 높지 않다.
        하지만 도메인 이외의 서비스를 요청하는 회사가 있기 때문에 그리고 ELB는 고정 IP를 사용 불가하다. (2개의 IP를 할당 받으나 동적으로 변경 됨)
      • Nginx의 기능은 javascript api, webservice api 호출시 호출을 AWS ELB로 전달 해준다.
      • Nginx 설정 파일 경로
        • /etc/nginx 하위
          • /etc/nginx/site-enabled/gProxyServer
    • AWS ELB(Elastic Load Balancing)
      • WAS의 부하 분산
      • Nginx, WAS 와 8080 port를 통해서 통신
      • 60초 동안 ping 응답이 없으면 인스턴스 가동 확인 실패로 판단
      • WAS의 상태값에 따른 auto scaling 발동하게 되면 추가 삭제 instance는 자동으로 ELB의 인스턴스로 추가 된다.
      • DNS 주소로 직접 접근 가능
    • AWS Auto Scaling
      • WAS 인스턴스 상태에 따라서 Scaling 조절
      • 1 WAS 80% >= CPU 1분동안 평균 조건을 만족하면 1 WAS를 자동으로 증설
      • 1 WAS CPU 1분동안 평균 >= 20% 조건을 만족하면 1WAS를 자동으로 삭제
      • 추가 증설은 미리 설정해둔 AMI를 이용하여 생성한다.
        • AMI에는 초기 버전의 gProxyServer가 포함되어 있음
        • 기능 개선 및 개발소스 업데이트가 발생하면 Auto Scaling 세팅을 삭제 후 재작성 해야함
          • 이미지 및 초기 설치 script는 수정이 안됨
      • AMI 이용하여 instance 생성시 그룹 codeDeply(배포)를 위해서 IAM role을 CodeDeply-EC2로 설정 해줘야 한다.
      • 설정한 조건에 만족하지 않아서 Instance 즉시 추가, 삭제 가능(Auto Scaling Groups => 하단 메뉴중 Scaling Policies => Actions 메뉴)
Posted in: AWS, Nginx, Programing, Ubuntu Tagged: Auto Scaling, AWS, ELB, nginx, Tomcat, ubuntu

Ubuntu Gitlab http 방식으로 사용시 push commit error – Nginx

2016년 2월 25일 by YongPwi Leave a Comment

Ubuntu에 Gitlab을 http 방식으로 사용시

대량의 파일을 push 할 경우 Push large commit over http fails이 발생하게 된다.

원인은 nginx에서 받는 사이즈의 크기가 오버되어서 발생하는 문제이다.

1
2
3
4
5
6
7
8
// nginx 설정 파일 수정 (/etc/nginx/nginx.conf)
sudo nano /etc/nginx/nginx.conf

http {
   // 상위 또는 하단에 추가 해준다. (사이즈는 알아서 적당히~)
   # git http post request error
   client_max_body_size 1000M;
}
Posted in: Gitlab, Nginx, Programing, Ubuntu Tagged: commit, gitlab, nginx, ubuntu

Ubuntu 14.04 Gitlab 설치시 외부 Nginx 설정

2016년 2월 23일 by YongPwi Leave a Comment

Ubuntu 14.04에 Gitlab 설치시 내장되어 있는 nginx가 기본으로 설정된다.

하지만 nginx를 자체적으로 가지고 있을경우 Gitlab 설정에 nginx를 비활성화 시키고

사용하던 nginx에 붙일경우 권한 문제로 연동이 안되는 상황이 발생하였다.

그럴경우 gitlab 설정 파일에 nginx의 user 권한을 수정해주면 정상적으로 연동 가능하다.

1
2
3
4
5
6
7
8
9
// nginx 설정 파일 경로
// apt-get 설치시 default(/etc/nginx/nginx.conf)
sudo nano /etc/nginx/nginx.conf

// default
user  nginx;

// 변경
user www-data;

https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#using-a-non-bundled-web-server

Posted in: Programing, Ubuntu Tagged: gitlab, nginx, ubuntu

Ubuntu tomcat time 설정

2016년 2월 4일 by YongPwi Leave a Comment

최근에 AWS를 세팅하여서 사용하고 있었는데

처음 서버 세팅을 하여 아무 생각 없이 사용 하였는데 서버 time이 6시간이 느린것을 알게 되었다,,,

별 생각없이 쓰다가 tomcat에 올라간 서비스들의 log를 확인하다 보니 시간이 달라서 꽤나 신경 쓰였다,,,

오늘 생각난 김에 server time 설정하자 라고 해서 작업 했더니

server time은 잘 바뀌었는데 tomcat log에 찍히는 time은 안 바뀌더라,,,

좀 뒤져보다 해결해서 나중을 위해서 정리해 둔다,,,

  • Ubuntu server time 설정
1
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
  • tomcat time 설정

tomcat 설치 경로로 가서 bin 폴더 하위에 setenv.sh 파일이 있으면 해당 파일에 없으면 생성하여 환경 설정 해준다.

1
export CATALINA_OPTS=-Duser.timezone=Asia/Seoul
Posted in: Java, Programing Tagged: time, Tomcat, ubuntu

Calendar

6월 2025
일 월 화 수 목 금 토
« 4월    
1234567
891011121314
15161718192021
22232425262728
2930  

Recent Posts

  • ubuntu bastion 설정
  • Spring Boot properties 암호화
  • Git Repository Bitbucket과 Issue Tracker Redmine 연동 설정
  • Spring Security 동일 session 제어
  • Spring @Mock, @Mockbean, @InjectMock

Recent Comments

  • pzotov (Ubuntu 14.04에서 Sonarqube 6.7.1 service 등록)
  • cours de theatre paris (AWS ELB와 Auto Scaling 연동, nginx)
  • bayern munich (IntelliJ EAP Font rendering)
  • camiseta del chelsea (OS X에서 APP 아이콘 변경)
  • cheap football shirts replica (jQuery Ajax에서 json Array 직렬화)

Copyright © [the-year] [site-link].

Powered by [wp-link] and [theme-link].