반응형

안녕하세요 가야태자 @talkit 입니다. 

리눅스/Linux Slack 대체 프로그램 Mattermost를 설치해보자. How to install Mattermost on Ubuntu Linux https://talkit.tistory.com/695

위글에 이어서 ^^ 지금 현재 저는 성공 했습니다. 위에 보이시겠지만, ^^

https 모드로 동작하고 있습니다. 

지금 현재 조금 더 공부해야 할 것은 NGINX 프록시로 설정하는 부분입니다. 이부분은 또 성공 하면 글을 쓰도록 하고 제가 성공한 부분이 mattermost를 직접 https로 운영하는 것을 알려 드리겠습니다. 

1. 우선, 도메인을 하나 사셔야 합니다. 

요즘 저는 https://www.hosting.kr 에서 도메인을 구매하고 있습니다. 저렴 합니다. ^^

2. certbot라는 프로그램을 깔아야 합니다. 

무료 SSL 인증서인 Let's Encrypt 스크립트를 이용해서 진행할 계획이어서 certbot을 설치 해야 합니다. 

sudo apt update
sudo apt install certbot python3-certbot-nginx

NGINX는 안까셔도 될 것 같지만, ^^

저는 궁극적으로 nginx위에 https를 올리고 mattermost를 운영하고 싶어서 일단 설치 했습니다. 

3. http로 성공한 mattermost에 접속 하셔서 다음과 같이 설정 합니다. 

System Console에 접속 하셔야 하구요.

ENVIRONMENT > Web Server 항목의 내용은 변경 해야 합니다. 

1) Site URL을 https://구매한도메인:443 으로 변경하시고

2) Listen Address를 :443으로 변경 하십시오.

3) Fordward port 80 to 443 을 true로

4) Connection Security를 TLS로 변경 하십시오.

5) Use Let's Encrypt를 true로 변경하십시오.

일단 이렇게 하시면 끝입니다. 

그리고 맨 아래에 Save 버튼을 클릭 합니다. 

sudo setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost

위 명령어를 이용해서 mattermost가 1000번대 이하의 포트에서 실행 되도록 바꾸줍니다. 

저는 이것 때문에 한동한 고생했습니다. 고생하지 마시기를 저도, 매뉴얼을 제대로 안읽는 스타일이라서 ^^

sudo systemctl restart mattermost

mattermost를 재시작 또는 시작 해주시면 됩니다. 

그러면, 설치가 잘 될 것으로 생각 됩니다. 

이게 NGINX하고 충돌이 일어 납니다. 이건 아직 해결을 못했습니다. 

NGINX가 깔려 있지 않는 곳에서 운영 가능 합니다. 

일단 NGINX를 안쓰시면 ^^ 

sudo systemctl stop nginx
sudo systemctl disable nginx

위명령어로 nginx를 끄고, 자동실행이 안되게 하십시오.

Mattermost만 운영할때이고, 다른 사이트와 같이 운영해야하면 일단 저는 http로 사용하시는 것을 권해 드려야겠네요.

NGINX 관련 설정이 성공하면 다시 글을 작성하겠습니다. 

감사합니다. 

 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

오늘은 NGINX의 SSL 설정 마지막 입니다. 

일반적으로 저는 아파치에 SSL설정을 많이 했습니다. 

그런데 무료로 한게 아니고 대부분 돈을 내고 인증서를 샀습니다. 그리고 1년에 한번 갱신하는 형태로 진행을 했습니다. 

그런데, Let's Encrypt는 무료이고 3개월에 한번씩 갱신을 해줘야 합니다. 

 Crontab의 사용법

오늘은 간단한 사용법을 알려 드리고, Crontab 만으로 다른 글을 하나 더 적도록 하겠습니다. 

crontab에 스케쥴을 등록해보자. 

sudo crontab -e

음 위 명령어를 입력 합니다. 

 sudo crontab -e
[sudo] password for talkit:
no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.tiny
  3. /bin/ed

Choose 1-3 [1]:

crontab 을 처음 수행하면 무슨 편집기로 편집 할꺼냐고 묻습니다. 

저희는 vi를 쓸줄 안다고 생각하고 ^^

2번을 선택 합니다. ^^

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
~
~
~
~

위와 같이 나올껍니다. 

vi는 계속 알려 드려야 하는데 일단 

:$를 입력하시고 엔터 치십시오

그러면 맨 마지막줄로 갈껍니다. 

그리고 o 키를 누르신 다음

0 5 * * * /usr/bin/certbot renew --quiet

요렇게 해주면 인증서 만료일이 30일이내면 자동으로 매일 새벽 5시에 인증서를 갱신합니다. 자동 갱신 후에는 다시 30일이 남아야 갱신을 하겠죠 ^^

그런데, 여기서 힌트를 하나 얻어야 합니다. 

저 같은경우는 늘 컴퓨터를 켜두는 편이긴 한데 켜두질 않는 경우는 수동으로 하면 되겠지요 ^^

수동 재 갱신도 

/usr/bin/certbot renew

이렇게 해주면 될 것 같습니다. ^^

글을 적을 꺼리가 많아져서 좋네요 ^^

오늘은 여기까지 하구요.

또 다음 글에서 뵙겠습니다. 

감사합니다. 

 

반응형
반응형


오늘은 툴을 소개 하는 자리입니다.


다른 블로그에서 많이 다루셨지만, 제가 하는 일이 웹쪽일이다 보니. 또 한번 다루게 되었구요.


조만간, 사용법으로 한번더 찾아 뵙겠습니다.


Apache JMeter는 순수한 Java로 만들어진 기능과 성능 테스트를 위한 도구 입니다.  원래는 웹의 성능을 위한 테스트 도구로 만들어 졌는데, 지금은 웹 뿐만 아니라 다른 테스트도 수행을 할 수 있다고, 공식 사이트에서 이야기 하고 있습니다.


공식 사이트는 http://jmeter.apache.org/ 입니다. 


파일을 받으시거나, 매뉴얼이 필요하시면 위 사이트에 가시면 영어로^^ 잘 나와 있습니다.


저는 JMeter를 이용해서 웹 밖에 테스트 해본적이 없습니다만, 공식 사이트에 따르면, 아래와 같은 것을 테스트 할 수 있다고 되어 있습니다. 


일단 로드 밸런싱 테스트 즉, 과부하를 줄 수 있는 테스트는 아래와 같은 프로토콜을 지원 합니다.


  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
  • SOAP / REST Webservices
  • FTP
  • Database via JDBC
  • LDAP
  • Message-oriented middleware (MOM) via JMS
  • Mail - SMTP(S), POP3(S) and IMAP(S)
  • Native commands or shell scripts
  • TCP
  • Java Objects

이건 저도 모르던 사실입니다. JMeter를 성능 테스트 도구로 밖에 써보질 않아서 


웹이든, 네이티브 앱이든, 컴파일과 디버깅을 지원한다고 되어있네요 ^^;;


그리고, 확장성이 뛰어 나다고 되어 있습니다. 플러그인 형태의 툴들을 개발 해서 사용하 수 있다고 나와 있습니다.


오랫만에 IT 관련 글을 썼네요 ^^;;


조만간 JMeter를 어떻게 웹 부하테스트에 사용하는지로 찾아 뵙겠습니다. 


즐거운 하루 되십시오.



반응형

+ Recent posts