2015년 2월 27일 금요일

라즈베리파이 (2) - nginx 설치

처음에는 apache를 고려했었는데, 검색해보니 무겁다는 평이 많아 nginx를 설치한다. 다행히 nginx를 예전에 헤매면서 셋팅해본적이 있어서 덜 헤맬것 같다.

1. 설치

apt-get install -y nginx

2. nginx 시작

/etc/init.d/nginx start

3. 접속확인

http://IP주소

"Welcome to nginx!"가 뜬다면 정상적으로 설치가 완료된 것.
(/usr/share/nginx/www/index.html 의 내용임)


설정파일은 /etc/nginx/nginx.conf이고, http 프로토콜의 기본 처리는 /etc/nginix/stes-available/default 파일에서 설정하게 되어있다.

4. 버전정보 숨기기

http://IP주소/doc/a.html 같이 없는 페이지의 접근을 시도할 경우,
에러페이지에 nginx/버전이 나오는데 이런정보를 많이 제공할 수록 보안상 좋지 않기 때문에 버전정보를 숨기도록 해보자.
 1) nginx.conf에서 server_tokens off;의 주석처리(#)를 제거한다.
 2) 설정 적용을 위해 nginx 재시작
  /etc/init.d/nginx restart
 3) 정상적으로 적용되었는지 확인

이제 어떤 언어로 웹프로그래밍을 할지 정해야하는데 고민이 된다.

2015년 2월 26일 목요일

라즈베리파이 설치부터 SSH 셋팅(Permission denied 해결)까지




1. 설치

OS는 라즈비안(라즈베리파이 홈페이지에서 다운로드)
SD카드는 별도로 구매한 16GB micro SD를 사용하였다.

라즈베리 사이트에 써있는데로 Win32DiskImager를 이용해서 굽고(?) 잘 장착한후 부팅(초기 ID/Password는 pi / raspberry )

Headless로 사용할 예정이기 때문에, 
sudo raspi-config를 통해 SD카드 용량 확장(1번 메뉴), 비밀번호를 변경(2번 메뉴)을 한 뒤에 SSH(8번 메뉴 -> A4 -> Enable)를 켰다.
raspi-config 화면
raspi-config -> Advacned Options
그 다음 내 PC로 putty로 접속하는데 Permission denied만 뜬다.. ㅠㅠ

이것저것 구글 검색을 했는데 해법은 안보였다.
SSH가 꺼져있는 것이 아닌가? -> SSH가 꺼져있으면 putty로 접속할 때, ID조차 물어보지 않는다.
SSH로 접속하는 권한이 없는것은 아닌가? -> 확인해보니 raspi-config에서 세팅하면 그것까지 해주더라..

맨붕이 와서 라즈베리파이에 이것저것 키를 두들기는데 #를 눌렀는데 £가 되고, |를 눌렀는데 ~가 나오는 등... 특수문자들이 다르다?

비밀번호에 특수문자들이 포함되어있어서 비밀번호가 다르게 인식되었나보다 -_-
결국 그냥 로그인 실패였다.. ㅠㅠ
그래서 문제를 해결하기 위해 키보드 로케일 설정을 찾아보았다.


2. 키보드 로케일 설정 방법

raspi-config에서 4 Internationalisation Options 선택.
 
raspi-config -> Internationalisation Options
Change Locale에서는 혹시나 한글을 쓸지도 모르니,
en_GB.UTF-8 UTF-8, en_US.UTF-8 UTF-8, ko_kr.UTF-8 UTF-8를 설정해주고
Keyboard Layout에서는 
Generic 105 key (Intl) PC -> Other -> Korean – Korean (101/104 key compatibale)
로 세팅하고 나머지 자잘한 세팅은 No로 했다.

그 다음 다시 비밀번호를 재설정하니, 잘된다!