본문 바로가기

개발개발

Mattermost 개발환경 구축기

Mattermost 개발환경 구축기

react 를 학습하고 간단한 토이 프로젝트도 진행해보고 이제 무엇을 해볼까 고민하고 있던 차였는데, commetkim 님 블로그를 보고 Mattermost에 영업당해 버렸다. 슬랙같은 협업 툴에 대한 관심도 많았지만, gitlab 때도 그랬듯이 난 왠지 설치형 솔루션에 좀더 많은 관심이 간다. 게다가 클라이언트가 react 라니! 공부한 것을 써먹을 수 있을 것 같은 기대감에 부풀어 올라 블로그를 정독하기 시작했다.

그런데... 일단 CLA를 제출하기는 했는데... 여기서 어떻게 시작하란건지...

어찌 어찌 링크에 링크를 타다 보니 https://developers.mattermost.com/ 페이지에 도착했다! 눈에 Contribute란 단어가 팍 꽂혔다. 자신감 있게 Contribute 버튼을 클릭해서 Getting Started 페이지에 도달하였다!

가이드를 보면서 개발 환경을 구축해보는데... 시행착오를 많이 겪었기에 관련 부분에 대한 기록을 남겨본다. 생각보다 설치 가이드가 친절하지 않다. 각오를 하고 임하도록 하자.

  1. 설치 환경

    1. OS : windows 10 Home
  2. Server Setup (링크)

  3. Web app Setup (링크)

  4. 설치 잘 않될 때 참고 할 것

    1. 도커를 설치 시 윈10 Pro가 아니면 도커 Toolbox를 설치해야 함. 아무 생각 없이 윈도우용 도커를 선택했더니 윈도우가 HOME 이라 설치가 안된다. (도커 Toolbox)
    2. GO Lang 설치가 잘 않되 서 고생을 많이 했다. 도커는 git-bash를 사용해서 동작하는데 리눅스처럼 보여도 사실은 윈도우 시스템이므로 윈도우 버전을 설치해야 하는데 난 이걸 몰라서 리눅스용을 설치하는 어리석은 짓을 하고 말았다. 그리고 설치가 정상적으로 되더라도 go가 동작이 잘 안되기도 하므로 bin\go 명령어와 pkg\tool\windows_xxx\link 명령어가 동작하는지 체크를 해보자. 실행시 권한이 없다든지 액세스 할 수 없다면 다른 버전의 GO를 설치하자. msi 설치버전보다는 zip 압축 버전을 추천한다. 그리고 서버 실행시에 1.11 버전 이상이어야 오류가 없다. (GO)
    3. git, go, mattermost 소스가 설치되는 경로에 공백이 없도록 하자. 공백이 포함되어 있을 경우 make 명령어에서 오류가 발생한다.
    4. 윈도우 사용자명이 한글이면 영어로 변경하자. 이 부분은 확실하지 않지만 잘 설치가 않되서 시도해 본 방법 중 하나이다.
    5. git-bash 환경에서는 ln 심볼링링크가 잘 동작하지 않는다. 그래서 sever 디렉토리에서 "make run-client" 명령어가 제대로 동작하지 않는다. make 파일의 해당 부분을 주석 처리 한다.
    421 run-client: ## Runs the webapp.
    422   @echo Running mattermost client for development
    423
    424   #ln -nfs $(BUILD_WEBAPP_DIR)/dist client   <- 이부분 주석 처리
    425   cd $(BUILD_WEBAPP_DIR) && $(MAKE) run   
    

    그런 다음 윈도우 CMD 에서 해당 경로로 간 다음 mklink 명령어로 링크 폴더를 만들어준다

    mklink /d client "(YOUR PATH)/mattermost-webapp\dist" //경로는 절대경로
    

감동의 로그인 페이지!! 이 페이지 보기까지 1주일간 삽질했다. 근데 이제 어떻게 해야 하는 거냐...

"ws://localhost:5678/socketcluster/ 서버와 연결할 수 없습니다." 이 오류는 뭘까... 산넘어 산...