도커 레드마인 설치/외부postgresql 연동

  1. docker-compose.yml
version: '3.7'

services:
   redmine:
      image: 'sameersbn/redmine:latest'
      ports:
         - '8282:80'
      environment:
         - DB_ADAPTER=postgresql
         - DB_HOST=192.168.0.6
         - DB_PORT=5432
         - DB_NAME=redmine
         - DB_USER=redmine
         - DB_PASS=abc1234!
      volumes:
         - '/data/data/docker/redmine:/home/redmine/data'
      container_name: 'redmine-container'

기존 postgresql이 설치되어 있는 서버에 레드마인을 도커로 설치하기 위한 방법이다.
그다지 어렵지는 않다.
단순히 yml 파일 만들어서 실행만 시키면 된다.

docker-compose up -d

도커 실행후 8282번 포트로 접속하면 초기 레드마인 접속 화면이 나온다.
http://IP:8282
초기 아이디/비밀번호는 admin/admin 으로 이후 수정한다.

os 자체 방화벽도 open 해야한다.
위에 설정에선 8282번 포트를 오픈한다.

  • sudo iptables -I INPUT 1 -p tcp --dport 8082 -j ACCEPT
  • sudo iptables -I OUTPUT 1 -p tcp --dport 8082 -j ACCEPT

    또는
  • firewall-cmd –permanent –zone=public –add-port=8282/tcp
  • firewall-cmd –reload

독일은 가야겠고

일단 독일에 간다고 결론은 냈다.
그럼 이제 남은게 뭐가 있나 생각을 했다.
결혼하고 가야지 아무래도 양가댁에서 허락을 해주겠지.
지금까지 뭐 내가 부모님 허락 맡고 아프리카를 다녀온것도 아니고….인도..파키스탄을 다녀온것도 아니지만 이번엔 몇년 단위로 나가는 것이니 조금이나마 형식은 갖춰야 하는게 도리라 생각을 한다.
물론 여자도 혼자 독일 간다고 하면, 아니 오빠랑 함께 간다고 하면 절대 집안에서 허락해줄리는 없고, 허락없이 나갈 여친도 아니었으니 말이다.

결혼식을 올리려니 돈이 필요했다.
남자가 가지고 있는 자금을 모조리 모아밨다.
집 보증금, 약간의 적금, 보험 해지금, 구입했던 차도 팔고, 이렇쿵 저렇쿵 해서 모아보니 거의 1억이라는 현금이 내 통장에 있을수 있었다.
인생 사십몇년을 살고 내가 가진 현금이 고작 1억이라니.
이거 모조리 없애버리면 나는 진짜 빈털털이다.

예식장을 잡는다.
처음엔 웨딩 포토는 필요없다고 했지만 그래도 찍는게 나을듯 싶어 웨딩 포토도 찍는다.
식당에서 양가댁 식구들만 밥 먹고 조촐하게 식은 대신하려 했지만 ‘한국의 집’을 식장으로 예약을 하게된다.
청첩장은 여자가 전공을 살려 직접 만든다.
역시 업으로 하는 사람이라 잘 만든다.
그렇게 청첩장을 뿌리고 한국 전통 예식을 올린다.

아름다운 집에서 아름다운 날에 무사히 예식은 진행되지만 끝나는 시간이 다가올수록 그 남자의 부모님 얼굴이 굳어 간다.
굳어 간다.
굳어 간다.

이 시간이 지나면 아들은 이전과는 그들과 가까이 있을수 없음을 받아들여야 하니 말이다.

언젠가 남자는 그 엄마에게 말을 했었다.
” 엄마 난 만약 내 마누라랑 엄마랑 함께 물에 빠지면 내 마누라 먼저 살리고 볼거다. 혹시나 서운해 하진 마세요. 그리고 분명히 엄마도 구할테니….”
물론 그 어머니는 그게 당연하다고 맞장구는 쳐주셨지만 사람인지라 그래도 ….그래도다.

예식이 끝나고 첫번째 유럽행 비행기에 오른다.
그 남자도 그 여자도 유럽은 처음이다.
그 남자는 교회만 있을 유럽은 뭐하러 가냐며 다른 사람들을 핀잔 줬던 사람이었다.
그 여자는 평생의 소원이 유럽을 가보는거…그 중에 파리에 가보는게 소원중 하나였던 사람이다.

그들은 그렇게 평생에 생각지도 못했던 독일로 신혼여행을 먼저 간다.
뮌헨으로.

ssh 세션 꽉 차서 로그인 안될때

가끔 다른 계정은 접속이 되는데 특정 계정은 서버에 접속이 되지 않는 경우가 있다.
일반 계정이 안되서 시스템 관리자에게 문의 해보면 시스템 관리자는 루트 계정으로 접속 잘 되는데요? 라면서 괜히 일반 계정 패스워드를 바꿔주고 난리를 치는 경우가 있다.

이런 경우엔 해당 계정으로 로그인 하려고 하면 인증에러가 난다.

십중팔구 해당 계정에 대한 세션 갯수 초과로 막힌거다.

이럴땐 루트 계정으로

vi /etc/security/limits.conf
계정 – nproc 100000

위에 두줄 추가하면 된다.
혹시나 안되면 정확한 문법은 구굴신께~

리눅스 서버간 폴더 동기화

리눅스 서버를 두대 세대 운영하다 보면 특정 폴더를 실시간 동기화 해야 할때가 있다.

보통 예전엔 rsync를 사용해서 했지만 centos5 버전 이후에는 커널급에서 지원하는 lsyncd 를 사용하나 보다.

설정은 쉽다.

#yum install epel-release –y

#yum install lsyncd lua rsync

# vi /etc/lsyncd.conf

settings {
        logfile = "/var/log/lsyncd/lsyncd.log",
        statusFile = "/var/log/lsyncd/lsyncd-status.log",
        statusInterval = 20
    }

sync {
    default.rsync,
    source="/data",
    target="192.168.0.5:/data",
    delay = 1,
    rsync = {
        compress = true,
        acls = true,
        verbose = true,
        rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no" }
}

위와 같이 패키지 설치하고 설정화일을 자신의 환경에 맞춰서 설정후
#systemctl start lsyncd
#systemctl enable lsyncd

하면 끝이다.

1번서버의 특정 폴더에서 변한것이 있으면 곧바로 2번(위에 설정에서는 192.168.0.5:/data 폴더로)서버로 동기화 된다.

물론 2번 서버에서 1번 서버로 동기화가 필요하면 2번 서버에도 동일하게 설정해주면 된다.

추가)20201015
혹시 동기화 중에 비정상적이면
1. systemctl status lsyncd 메세지 확인
2. echo 65536 > /proc/sys/fs/inotify/max_user_watches 또는
sysctl fs.inotify.max_user_watches=65536 명령어로 커널값 조절.
3. 부팅후에도 적용되도록
vi /etc/sysctl.conf
fs.inotify.max_user_watches=65536
입력후 저장.
4. 그리고 systemctl restart lsyncd

낯선 곳 낯선 기억

여자 : 오빠 나 고딩때 못했던 미술 공부하고 싶어.

남자 : 오~ 그래 좋은 생각이야….홍대 갈꺼야? 아님 어디?

여자 : 아니…독일 가고 싶어….교수님도 내가 독일이 어울린데…

남자 : 엥? 독일????  음… 그래…그럼 가서 공부해….학비랑 생활비는 내가 벌어서 보내줄께.

여자 ; 나 혼자 못가. 무서워. 오빠랑 같이 가지 않으면 안돼.

남자 : 아냐….누군가 돈을 벌어야 하자나.. 생활비는 어떡할꺼야.

여자 : 몰라. 암튼 오빠랑 함께 안가면 못가.

남자 : 아니 …내가 여기서 일하면 생활비랑 학비 보내주면 훨씬 나을 것 같은데?

여자 : 안됀다고…

남자 : 음….그럼 나한테 시간을 좀 줘. 일주일만.

그렇게 독일에 대해서 검색을 한다. 믿을건 인터넷. 우리에겐 인터넷이 있었다.

그간 업무와 취미에만 사용했던 인터넷을 이젠 우리의 생활을 위해서 꿈을 위해서 사용하게 되었다.

일주일간 잠을 이룰수가 없었다.

안정적으로 다니던 직장과 연봉을 그만두고 가야하나.

여수에 계신 부모님한테는 어떻게 말씀을 드려야 하나.

내 친구들은 다 버려야 하나.

더군다나 고딩때 3년 하고 말았던 독일어는 어떻게 해결 할것인가.

난 영어라고는 생존 영어 그 이상 이하도 아닌데?

앞이 캄캄했다.

하지만.

여자에게 언제나 말했었다.

“ 꿈 없는 젊음은 젊음이 아니다.’ 라고 누군가 말한게 있었다며….

여자가 이제야 가진 꿈.

태어나서 처음 해보고 싶은게 생겼단다.

독일 가자는 말을 할 때 그 반짝이던 눈빛을 외면할 순 없었다.

아니.

그 눈빛 하나만으로 이미 난 그 자리에서 독일행 항공권을 발권하고 있었을지도 모르겠다.

생각한다던 일주일은 핑계일뿐.

차근 차근 생각을 한다.

가장 문제는 돈과 독일어.

돈!!!

보험을 정리하고, 집 보증금을 정리하고, 그간 사 모았던 카메라, 노트북, 앰프, 스피커 등등등을 저분하고 모으면 거의 1억은 준비 할 수 있었다.

독일어!!

곧바로 강남에 있는 독일어 학원을 등록한다.

여자와 남자는 기초반부터 차근 차근 등록한다.

남자는 태어나서 처음으로 다니는 학원이다.

학원이라고는 운전면허 학원 다녀본게 전부라고 한다.

여자는 학원에서 애들을 오랫동안 가르친 경험이 있어서 학원이 낯설진 않나 보다.

첫 독일어 수업

첫 독일어 수업에 대한 기억이 없다.

하지만 느낌은 있다.

아~베~체~데~ 를 먼저 가르칠거라고 생각했지만 그 강사는 그냥 읽기부터 했다.

물론 샬롸샬롸 독일어로 자기를 소개하고 어쩌고 저쩌고를 말한 후 한국어로 대충의 뉘앙스를 설명해준다.

남자는 그나마 고딩때 독일어 수업이 조금씩 생각나나 보다.

당시 독일어 시험도 곧잘 점수가 좋았다고 한다.

하지만 근 25년이 지난 지금 독일어를 다시 하는거라 생초보나 다름없겠지.

여자는 역시 불안한 눈빛이 영역하다.

첫 수업 후 역시 그녀의 말은 빗나가지 않는다.

“오빠~ 나 독일어 할 수 있을까? 너무 어려운데. ㅠㅠ”

그렇다. 문명인이 사용하는 언어중에 가장 어려운 언어중 하나가 독일어라고 했다.

우린 그런 언어를 배우려고 하고 있고, 그런 언어를 사용하는 나라에 가서, 그 나라 사람들속에 섞여서 살아가려고 하고 있는 것이다.

그때가 아마 12월로 기억한다. 이듬해 6월에 우린 결혼을 했으니 말이다.

인테리어 마무리

거의 2주하고도 3일.
그리고 아직도 자질구레한것들이 남아있지만 그래도 95% 이상 마무리가 되서
이사까지 무사히 마무리 지었다.
3일휴가와 주말 2일 합쳐 5일간 와이프와 둘이 아침나절부터 자정까지 쓸고 닦고 하고 있지만 아직까지 곳곳에 남아있는 도배풀이나 그런것들이 눈에 거슬리기는 하다.

하지만 이것만으로도 행복하다.
생각으로만 그려왔던 것의 95%까지는 완성이 되어서 너무 좋다.