레이블이 역량인 게시물을 표시합니다. 모든 게시물 표시
레이블이 역량인 게시물을 표시합니다. 모든 게시물 표시

2024년 9월 8일 일요일

시놀로지 컨테이너(Docker) 활용 Redmine 설치하기 (24년 9월 기준)

나는 컴퓨터를 잘 못하는 일반인이다. 하지만 다른 사람들이 가진 수준의 이해력을 가지고 있다고 믿기에 필요한 것들이 있으면 학습을 하고 나의 지식으로 만드는 편이다.


최근 나는 회사에서 부서를 옮긴 후 완전 새로운 시작인지라 일하는 방식에 있어 변화를 일으키기로 했다. 


하지만 바로 일에 적용한다면 많은 문제점에 도달할 것으로 예상되어 

일단 내 개인 생활 변화를 일으키고 이 변화에 대한 부작용 등을 검토 및 보완한 후

이를 회사 생활에 도입하기로 했는데,


그 중에 하나가 인생을 Project Base로 관리하기였다.


그런데, Project base로 관리하려면, Project 관리 툴을 사용해야 할 것 같았다.


그래서 프로젝트 관리 프로그램을 찾다보니 Redmine 이라는 오픈소스 기반 프로그램을 알게되었고

이 Redmine 이라는 것을 설치하기 위해 여기저기 검색을 하게 되었다.


참고로 윈도우에 설치하는 법은 매우 간단한데... 그건 나중에 다루기로 하고...

내가 운영하는 환경인 시놀로지에 도커(Docker) 또는 컨테이너(Container) 라고 부르는 환경에 

이 Redmine을 깔게 되었는데... 


대부분 22년 이전 자료이다 보니 현재의 내 상황과 맞지 않는 부분이 많아서 이를 정리해 봐야겠다는 생각이 들었다.


자, 나 같은 컴맹도 한다. 지금부터 설명을 시작한다.


1. 시놀로지 DSM으로 접속해서 웹 서비스와 Container Manager를 설치한다.

2. 웹 서비스를 실행하여 문제없이 작동하는 것을 확인한 후 (포트 개방 등)

3. Container Manager어플을 열고 왼쪽 탭에서 레지스트리를 누른 후 

    MariaDB와 Redmine를 검색하여 설치한다.

4. 그 다음 왼쪽 탭에서 컨테이너를 누르면 Redmine과 MariaDB 을 생성할 수 있는데,

    먼저 MariaDB의 설정에 들어가서 아래 그림과 같이 설정을 한다.

    (아래 붉은색으로 가린 부분은 사용자명, 패드워드이므로 개별적으로 알아서 입력한다)



5. 그리고 Redmine을 생성하고 아래와 같이 포트 설정 및 볼륨 설정을 해준다 



6. 또한 더 아래로 내려가서 추가로 설명할 수 있는 부분



참고로 다른 블로그에서 본 내용 중에 DB를 Postgress 를 사용하는 것이 있어서

처음에 DB로 Postgress 를 이용하려고 했는데, 

이상하게 redmine이 실행되지 않아서 MariaDB를 사용했더니 잘된다.


------


Redmine 설치 과정

  1. 시놀로지 DSM 접속
    • 웹 브라우저를 통해 시놀로지 NAS의 DSM(DiskStation Manager)에 접속
  2. 필수 패키지 설치
    • 패키지 센터에서 "Web Station"과 "Container Manager" 패키지 설치.
  3. 웹 서비스 설정
    • Web Station을 실행하여 웹 서버가 정상 작동하는지 확인
    • 필요한 경우 포트 개방 등 설정
  4. Docker 이미지 다운로드
    • Container Manager 앱을 실행
    • 왼쪽 메뉴에서 "레지스트리" 선택 후 MariaDB와 Redmine 이미지를 검색 및 다운로드
  5. MariaDB 컨테이너 생성
    • "컨테이너" 메뉴에서 MariaDB 컨테이너를 생성
    • 환경 변수 설정:MYSQL_ROOT_PASSWORD: (원하는 루트 비밀번호 설정)MYSQL_DATABASE: redmineMYSQL_USER: (원하는 사용자명)MYSQL_PASSWORD: (원하는 비밀번호)
  6. Redmine 컨테이너 생성
    • Redmine 컨테이너를 생성 및 설정:포트 설정: 호스트 포트를 원하는 번호로 지정 (예: 10080)볼륨 설정: /home/redmine/files를 NAS의 원하는 경로와 연결
    • 환경 변수 설정:REDMINE_DB_MYSQL: (MariaDB 컨테이너 이름) REDMINE_DB_DATABASE: redmine REDMINE_DB_USERNAME: (MariaDB에서 설정한 사용자명)REDMINE_DB_PASSWORD: (MariaDB에서 설정한 비밀번호)
  7. 컨테이너 실행
    • 설정이 완료되면 두 컨테이너를 차례로 실행
  8. Redmine 접속
    • 웹 브라우저에서 "http://(NAS IP 주소):(설정한 포트)"로 접속하여 Redmine이 정상 작동하는지 확인

AI 가 알려준 주의사항

  • PostgreSQL 대신 MariaDB를 사용한 것은 좋은 선택, 때로는 특정 데이터베이스와의 호환성 문제가 발생할 수 있기 때문
  • 보안을 위해 사용자명과 비밀번호는 반드시 강력하고 고유한 것으로 설정
  • Redmine 데이터의 백업을 위해 볼륨 설정은 매우 중요합니다. 정기적인 백업 계획 수립 필요


2023년 5월 6일 토요일

[협력 전략 MBA #6] 성공적인 제휴를 위해 해야 할 것들 (5. 운영 및 갈등)

 협력 전략에 대하여 아래의 글을 참고해 보자


The Renaissance Man: [협력 전략 MBA #1] 기업 전략의 성공 위한 다양한 전략들... (trmcap.blogspot.com)


협력 전략의 단계로서 1. 전략적 타당성 검증, 2. 파트너 정합성 검증, 3. 제휴 디자인을 이야기 했는데





1. 전략적 타당성 검증은 아래의 글을 참고하면 되고


2. 파트너 정합성 검증은 아래의 글을 참고하면 되며



3. 제휴의 디자인은 아래의 글을 참고하시고



마지막으로 4. 사업 시작에 있어서의 관리 및 통제는 아래를 참고하자



그러면 JV 운영 과정에서의 갈등은 어떻게 관리할 것인가?
여기에 대해서 이야기 코자 한다.



먼저 JV에서 갈등은 필연적이다. 갈등이 없을 수 없고 이를 없애는 것이
좋은 것도 아니다. (다시 말해 건전한 갈등은 필수 불가결이고 갈등은 관리해야 한다)

그러면 이 갈등을 어떻게 해결해야 할까?

아래와 같은 방법을 생각해 보자.

1. 파트너사들의 목표 일치화
   (Win-Win 전략은 너무 당연한 이야기)

2. 당사자들 간의 적절한 의사소통 보장
   (타협은 필수적이고 타협하고 싶지 않으면 JV를 해서는 안됨)

3. 갈등 해결을 위한 표준 절차 개발
   (갈등 상황에서 해결을 위한 표준 절차가 있으면 좋음)

4. 자사의 이익극대화 보다는 모든 당사자들의 이익을 고려
   (모든 stakeholder 가 이익을 유사하게 받을 수 있도록 설계해야 함)

5. 상대방의 관점을 신속하게 이해
   (갈등 존재 자체를 없앨 수는 없어도 상대방의 견해를 이해하면
    그 다음 단계가 쉬움 - 공감능력)

6. 의사결정시, 현지 관리자들의 권한을 강화
   (현지에서 잠정적으로 체결된 협의가 HQ에서 받아들여지지 않으면
    협상을 다시 해야하며 이럴 때는 분쟁으로 발생하는 경향이 있음)

7. 다른 국가 문화에 대한 포용력과 이해력을 높임
8. 모든 당사자가 합작투자 기업 운영에 몰입하고 있음을 보장
9. 미래 발생할 수 있는 갈등을 방지하기 위한 방안에 대해 논의

7~9번은 너무 당연한 내용이라서 추가 설명은 생략!

















[협력 전략 MBA #5] 성공적인 제휴를 위해 해야 할 것들(4. 관리 및 통제)

 협력 전략에 대하여 아래의 글을 참고해 보자


The Renaissance Man: [협력 전략 MBA #1] 기업 전략의 성공 위한 다양한 전략들... (trmcap.blogspot.com)


협력 전략의 단계로서 1. 전략적 타당성 검증, 2. 파트너 정합성 검증, 3. 제휴 디자인을 이야기 했는데





1. 전략적 타당성 검증은 아래의 글을 참고하면 되고


2. 파트너 정합성 검증은 아래의 글을 참고하면 되며



3. 제휴의 디자인은 아래의 글을 참고하면 된다.



이렇게 성공적인 제휴를 위해 해야 할 것들을 단계적으로 알아봤는데,

이제 실제로 JV에 진입을 한 다음에는 어떻게 해야하는가?


그렇다. 사업을 추진해야 하고 그 사업에 대한 관리 그리고 통제이다.



이러한 관점에서 JV에 대한 관리/통제 메커니즘은 일반적으로 아래와 같다.





이렇게 전반적인 성공적인 제휴를 위해 해야 할 것들을 점검해 봤다.

이러한 단계 등을 한번에 정리하자면


1. 전략적 타당성 검증
- Complementarity (상보성)
- Congruity (일치)

2. 파트너 정합성 검증
- Capability (능력)
- Comfort (편안함)
- Commitment (몰입)
- Compatibility (양립성)

3. 제휴 디자인
- Co-Equal (균등)
- Split (분할)

4. 관리 및 통제


로 될 것 같다

[협력 전략 MBA #4] 성공적인 제휴를 위해 해야 할 것들 3. 제휴 디자인

협력 전략에 대하여 아래의 글을 참고해 보자


The Renaissance Man: [협력 전략 MBA #1] 기업 전략의 성공 위한 다양한 전략들... (trmcap.blogspot.com)




협력 전략의 단계로서 1. 전략적 타당성 검증, 2. 파트너 정합성 검증, 3. 제휴 디자인을 이야기 했는데





1. 전략적 타당성 검증은 아래의 글을 참고하면 되고


2. 파트너 정합성 검증은 아래의 글을 참고하면 된다.




이제는 3. 제휴의 디자인을 어떻게 할 것인지 대해 이야기코자 한다.



JV 협력을 위한 설계를 위해서는 먼저 Scope을 잡아야 하는데... 



그리고 JV 협정서류에는 아래의 내용들이 반드시 포함되어야 한다.

1. 투자 방식
2. 이사회 구성 방식
3. 투자기업 명칭
4. 생산 규모 및 생산 방식
5. 투자기업 설립 장소 또는 소재지
6. 설비와 기술의 내용
7. 사업의 세부 내용
8. 지적 재산권에 대한 권리와 의무
9. 투자 규모 및 기간
10. 자금 조달 방안 및 합작/합자 비율
11. 이윤 분배 방식 및 경영 방식
12. 조직 구조 및 분쟁 해결 방식
13. 현지 주재원의 급여 체계
14. JV 종결에 대한 사항


특히 마지막에 있는 JV 종결에 대한 사항이 매우 중요하다.

마치 결혼할 때 이혼에 대한 세부사항 등을 정한다니... 
이상할 수 있지만, 미리 해놓지 않으면 나중에 법적 다툼에 직면하게 될 수 있다.


위의 정리가 끝난 후 조직을 구성하고 통제의 방식을 짤 때
1. 독점적 통제(Dominant Control)
2. 공유된 통제(Shared Control)
3. 분할된 통제(Split Control)
등이 고려될 수 있다.







위의 방식 중에서 분할된 통제의 경우가 가장 높은 성과를 내는 것으로 나타났고
독점적 통제와 공유된 통제는 분할된 통제보다 낮고 둘 다 비슷한 성과 수준을 보여준다.


다만, 공유된 통제 및 독점적 통제가 더 효과적인 경우가 있는데
완전 새로운 신기술 개발 등에 각 업체가 전력을 다해야 하는 경우 등이 그렇다


또한 소유 구조의 경우 50:50 이 가장 이상적으로 보이는데 
일반적으로 소유 구조에 따른 성과는 아래와 같다.





[협력 전략 MBA #3] 성공적인 제휴를 위해 해야 할 것들 2. 파트너 정합성

아래 2개의 글을 통해 협력 전략에 대한 내용을 다루고 있다 


협력 전략이라는 무엇인지는 아래의 글을 참고하면 된다.


The Renaissance Man: [협력 전략 MBA #1] 기업 전략의 성공 위한 다양한 전략들... (trmcap.blogspot.com)




협력 전략의 단계로서 1. 전략적 타당성 검증, 2. 파트너 정합성 검증, 3. 제휴 디자인을 이야기 했는데





1. 전략적 타당성 검증은 아래의 글을 참고하면 된다.


이제 파트너 정합성 검증이다.

파트너들은 기본적으로 그들의 협력이 생존하고 안정적으로 성장하기를 원한다.
하지만 어떤 파트너들은 다른 동기를 가지고 있을 수 있고
나와 동일한 지향적인 목표를 가지지 않을 수 있다.

그래서 우리는 파트너에게 원하는 것과 파트너가 우리에게 원하는 것에 대한
Fit을 고려해야 한다.

그러면 파트너는 어떻게 선정할 것인가?

아래를 참고하자.



1. 소유 기술
   파트너가 소유한 것(기술 및 자원 등 역량)과
   JV가 성공하기 위해 필요한 것을 구별해야 한다



2. 접근성
   파트너가 협력에 집중할 수 있는지를 확인하고
   파트너가 소유한 것에 대해 내가 접근할 수 있는가를 봐야 한다.





3. 양립 가능성
   파트너와 함께 할 수 있는가에 대한 내용인데
   함께 일하기에 편안한가? 능력은 있는가?에 대한 내용이다.



Comfort vs Competence 가 중요하다.


위의 내용을 풀어보자면

파트너가 능력없고 친절하지 않으면 호로새끼
능력없으나 친절하면 호구
능력있고 친절하지 않으면 호랭이
능력도 있고 친절하면 호인이라고 볼 수 있다.

개인적인 판단으로...
파트너로써 호랭이보다는 호구가 더 나을 수 있는데...

JV 파트너가 능력이 있으나 협력에 호의적이지 않을 때
사실상 함께 일을 도모하기 어려운 상태라는 뜻이다.
(그리고 이건 사람도 같지 않을까?)


그럼, 위와 같은 상태를 어떻게 알 수 있는가?

1. 잠재적 파트너사를 방문해 본다
2. 상호 업무 스타일을 '테스트' 해보기 위해 소규모 프로젝트를 함께 해본다
    (Pilot Project)

위와 같이 하는 이유는 상대방에 대해
일반적인 비즈니스 협상만 하는 것으로는 알기 어렵기 때문이다.


하지만...
편안함은 유사성이 높을수록 높지만
역량은 유사성이 없을수록 보완성이 높을 수 있다.
(It depends 정도로 생각해보자)



일반적으로 기업 수준의 양립성을 이야기하는데....
기업은 사람으로 구성된 조직 이다 보니...

위와 같은 양립 가능성에도 다차원 Case가 발생할 수 있는데

예를 들면 Director 수준에서는 양립되나
그 하위 Manager 간 문제가 발생할 수도 있다





정리하자면...

합작파트너에 대해서는 아래의 내용을 평가해야 한다.

1. 합작 동기 및 목적
2. 기술 능력
3. 자본 능력
4. 대정부 교섭능력
5. 규모 및 성장 가능성
6. 신뢰도 및 윤리성
7. 최고 경영자의 관리능력
8. 협상력 차이
9. 마케팅 혹은 유통망의 이용가능성
10. 현지 정부 및 현지 대기업에의 판매 가능성