Visual Studio Code에 git 설정

Visual Studio Code를 사용하여 javascript를 편집할 일이 생겼다.
(개인적으로 뭔가 해보고 싶은놈이 생겨서.. 소스 분석 및 테스트가 필요했다.)
편집툴이 뭐가 좋을까 고민하다가 Visual Studio Code를 선택했는데…

자잘 자잘하게 수정하다보니 어디를 고쳤는지 확인이 불가능해져서, git이 필요해졌다. svn만 사용하다보니.. git은 익숙하지 않은데 그것보다 어디있는지 찾을수가 없었다.

간단히 답을 드린다면, 위와 같이 설정에서 추가할 수가 있다.
그런데, 아무리 실행해도 실행이 되지 않는 것이였다.
(사실 Visual Studio Code를 다운받고 정상 실행이 안되서 좀 당황했었다.)
git 클라이언트를 설치했음에도 불구하고, git 설정이 되지 않은것처럼 보였다.
“난 개발자라고..” 분노가 치밀었다.

다른 블로그들을 보니 git scm을 설치하라고 하는데…
“난 개발자자나??” 라며 “macOS에는 디폴트로 git이 설치 되어 있는데??”라는 의심을 품었다.

git scm 설치 페이지

역시 이 문제가 아니였다.
스택오버플로어에 유능하신 분들이 내게 답을 주었다…
“새 맥북이라 XCode 설치를 완료 하지 않았기 때문이라는 것을”

Xcode 설치 완료후 정상 구동… 확인

그런데 또 다른 난관에 부딪혔다.

git 사용자 정보 설정창은 보이지 않았다.

어딨니? 로그인 하는 창아…

뭔가 싶어 SourceTree 를 설치해봤는데 정상동작 확인…
역시 설정문제라는 판단이 들어서 검색을 해보았더니… ㅠㅠ
역시 맘에 들지 않는 답변들만 있어서.. 아래 명령어로 가이드를 받아서 진행하면된다.

$ git commit
이메일 하고 사용자 이름 등록하면 실패가 나는데 아래와 같이 등록해주면 잘됨.

git config --global user.name "유저네임"

그리고, git commit을 다시 때려주면, git push를 하라고 함. 이때 패스워드 입력하면 잘됨.

참고로 시놀로지 나스 git 접속 방법은 다음과 같다.

ssh://(NAS에생성했던계정)@(NAS의 DDNS):(포워딩한 port)/volume1/homes/(사용자계정폴더)/(Repository 폴더명)

SSL인증서 적용하기(03) – Let’s Encrypt Ubuntu 자동 갱신


글 정리중.

학습목표

  1. 3개월 단위로 재갱신을 해야 하는 SSL 인증서를 자동으로 갱신되게 구성한다.
  2. 자동으로 구동은 cron/crontab을 사용

crontab 스케쥴 확인

crontab에 설정되어 있는 스케쥴이 있는지 확인해보자.

# crontab -l
-su: crontab: command not found

현재 crontab 명령어를 실행해보면 없는 명령어라고 한다. crontab을 설치부터 해야할것 같다.

crontab 설치

# apt-get install -y cron

설치 완료후 확인
# crontab -l
no crontab for root

이제 cron 설치는 끝났다. 간단하게 cron에 대해서 학습하고 넘어가자.

crontab 기본 명령어와 설명

사실 우리는 cron을 설치했다. crontab을 설치하지 않았다는거다.
일반적인 개발자들은 crontab으로 스케쥴 관리를 한다고 말하곤 한다. cron은 뭐고 crontab은 뭐야??!

우리가 설치한 cron은 스케쥴러 데몬이고, crontab은 cron 데몬이 사용할 일정리스트라고 인지하면 쉽게 이해가 갈것이라고 생각한다.
cron 데몬은 crontab에 적혀있는 일정을 기억하고 있다가, 적혀있는 일정에 맞춰서 명령어를 수행해준다.

이제 명령어를 살펴보자.

작업스케쥴 보기
# crontab -l
no crontab for root

작업스케쥴 모두 삭제
# crontab -r
no crontab for root

작업스케쥴 수정
# crontab -e
no crontab for root - using an empty one

작업 스케쥴 일정표

[minute] [hour] [day] [month] [weekday] [command]

minute : 0 - 59
hour : 0 - 23
day : 1 - 31
month : 1 - 12
weekday : 0 - 6 (0 : 일요일)
command : 명령어

기타
*는 매분/매시간/매일/매달/매일이라는 의미
,는 여러개의 옵션을 줄때 사용. 1,2 1분과 2분 등
-는 연속된 범위를 나타냅
*/숫자 숫자마다 반복

두달에 한번씩 인증서 갱신을 한다면!

예제> 0 3 2 * * letsencrypt renew; service apache2 restart;

매달 3시 0분 2일에 command를 수행한다는 내용

이제 인증서가 잘 갱신되는지 지켜보는일만 남았다.

Ubuntu에 SFTP를 붙여보자

학습목표

  • FTP/SFTP의 차이점
  • Ubuntu에 FTP 설정

FTP / SFTP는 무엇인가?

FTP (File Transfer Protocol)
SFTP (Secure File Transfer Protocol)

그냥 이름만 풀이해서 보자면 보안이 강화된 파일 전송 프로토콜로 보인다. 안전하게 사용할수 있는 프로토콜이라면, 우리는 무엇을 써야 할까? 당연히 SFTP를 사용해야 하는 것이 맞을 것이다.

SFTP에는 3가지가 보이며, 우리의 생각과는 다른것들이 있다.

  • SFTP (SSL File Transfer Protocol)
  • SecureFTP (FTP/SSH)
  • FTPS (or FTP/SSL)

위에 나열된 것들에 대해서도 설명을 해볼까 했는데, 오랫만에 접속해서 해야 할것들이 많아서 일단은 생략 한다.

Ubuntu에 SFTP 설정

현재 우분투 서버에는 추가적인 설정 없이 SFTP 사용이 가능한 상황이다. SFTP 접속이 가능한 클라이언트를 설치 해야 하는데, 예전에는 파일질라를 주로 사용했었다.

그런데 지금은 자꾸 돈을 내라고 하고, 월정액으로 쓰라고 해서 무료 클라이언트를 찾아보았는데, 오늘자 기준으로 Cyberduck이 괜찮은것 같아 소개 한다.

참고로 포트는 다음과 같다.

FTP port : 21
SFTP port : 22

뭐 이번 글에서는 툴소개 정도로 끝이 나버렸네…
추가적으로 우분투내 sftp 설정은 아래 파일에서 좀더 세부화시킬수 있다.

SFTP 설정을 할수 있는 파일
# vi /etc/ssh/sshd_config 
ssh 재기동 명령
# service ssh reload

참고 사이트

  1. https://cyberduck.io 싸이버덕 다운 받는 url

SSL인증서 적용하기(02) – 우분투 SSL 적용하기

우분투에서 SSL 인증서 적용 목표

  1. Let’s encrypt 패키지 설치
  2. Let’s Encrypt에서 인증서 발급
  3. 발급된 인증서 확인
  4. crontab을 사용하여 자동으로 업데이트 기능 적용
  5. 참조사이트 추가

이제서야 돌고 돌아서 우분투에 SSL을 적용하는 시점에 다다랐다. 한가지씩 따라해보면서 SSL 적용을 해보자.

1 Let’s encrypt 패키지 설치

# apt-get install letsencrypt
Reading package lists... Done
....

2 인증서 발급하기

HTTP로 접속이 가능한 상태에서 인증서를 발급받고 HTTPS 설정을 완료할 것이다.

# letsencrypt certonly --webroot --webroot-path=/var/www/html -d magpiebros.com

몇번의 실패가 반복되었는데.. 원인은 webroot-path의 경로가 올바르지 않아서였다. 다른 사이트들을 참조해보다가.. 다시 한번 시도 해보니 정상 인증서가 발급되었다. 쿨럭…

3 발급된 인증서 확인

ls /etc/letsencrypt/live/도메인명/
README  cert.pem  chain.pem  fullchain.pem  privkey.pem

cert.pem : 인증서
chain.pem : 인증서 발급자 파일
fullchain.pem : cert.pem + chain.pem
privacy.pem : 개인키


위와 같이 발급된것이 확인된다면, 일단은 어려운 고비는 넘겼다.
이제 발급받은 인증서를 서버에 적용할 차례이다.

글이 너무 길어져서 아파치에 적용하는 글은 새로운 글로 시작하려 한다.
변변찮은 글재주를 가진 글을 읽어주신 분께 감사를 드린다.

참고링크

시놀로지 HTTPS 환경설정

해야할 것들

  • 시놀로지 HTTPS 환경설정

시놀로지 Https 환경 설정

필요한 설정이 아닌경우 최대한 변경을 하지 않는 구성으로 유지하는 방향으로 진행할 것이다.

아래의 옵션을 활성화 해준다.

  1. HTTP 연결시 HTTPS로 리다이렉션 옵션 활성화
  2. HTTP/2 활성화

HTTP/2는 무엇인가?

HTTP/2(Hypertext Transfer Protocol Version 2)는 HTTP프로토콜의 두 번째 버전이다. SPDY에 기반하고 있으며, 국제 인터넷 표준화 기구(IETF)에서 개발되고 있다. 1997년 RFC 2068로 표준이 된 HTTP 1.1을 개선한 것으로, 2014년 12월 표준안 제안(Proposed Standard)으로 고려되어, 2015년 2월 17일 IESG에서 제안안으로 승인되었다. 2015년 5월, RFC 7540로 공개되었다.

참고 사이트

  1. https://www.popit.kr/나만-모르고-있던-http2

SSL인증서 적용하기(01) – SSL 인증서 간략 설명

현재 내 블로그는 SSL인증서 구성이 정상적으로 이루어지지 않아서, “안전하지 않음”이라는 위험문구가 나타나고 있는 상태이다.

당신이 보는 시점에 따라 녹색의 안전 좌물쇠가 표시되어져 있을 수도 있겠지만 말이다.

(녹색 자물쇠가 표시되어 있다면, 이 글은 신뢰할만한 글이라는 이야기로 받아들여도 될것이다.)

대부분의 질문과 답변 그리고 정보라고 적혀있는 사이트들은 다음과 같은 이야기들이였다.

“이렇게 해봐. 될껄? 안되면 구글 검색 다시 해보시고… 그래도 안되면 스택오버플로어 가서 검색하고 그래도 안되면 당신 운영체제를 다시 설치해봐”

맥파이의 생각

위와 같이 도움도 되지 않고, 그냥 명령어 몇개 따라서 실행해보고 되면 모두 잊어버리는 그런 블로그가 되고 싶지는 않다. 그렇기 때문에 당신이 원하는 답만 툭툭 던져주고 끝내지 않고, 뭔가 얻어갈수 있는 그런 내용들로 채울려고 노력할 것이다.

오늘은 너무 늦었으니..

내일 뀌뚤이(우리아들 애칭??)가 나에게 자유로운 시간을 줄때, 글을 이어가겠다.

이틀이 지나버렸다.

다시 글을 이어가겠다.

SSL(Secure Sockets Layer)는 넷스케이프 내비게이터의 보안 유지 기술이다.

Layer는 계층 단위로 보는것이 이해하기 편한데, 통신위에 Secure Socket 계층이 한단계 더 있어서 보안적인 측면이 한단계 더 높아졌다고 이해한다면, 간략한 이해는 될것으로 보인다.

SSL 인증서의 장점 및 역할

  • 통신 내용이 노출, 변경되는 것을 방지
  • 클라이언트가 접속하려는 서버가 신뢰 할 수 있는 서버인지 확인가능
  • SSL 통신에 사용할 공개키를 클라이언트에게 제공한다.

이제 기본적인 지식은 익혔으니, 다음 글을 통해서 적용해보자.

참고사이트