작년 4,5월 경에 라즈베리파이라는 초소형 컴퓨터를 알게되었다. 신용카드만한 사이즈에 완제품 컴퓨터가 다 들어있다니! 공대생의 마음을 심히 흔들어놓는 장난감이 아닌가. 그래서 나는 중학생 때부터 꿈꿔왔던 개인 서버 구축의 열망을 현실화하고 싶어서 두 달 정도 끙끙 앓다가 결국 샀다.

하지만 라즈베리파이를 사고 난 직후에 일이 좀 바빠지게 되자 뜨겁게 불타올랐던 마음은 급하게 식어버리고 바쁘다는 핑계로 7, 8개월 가량을 그냥 묵혀두고야 말았다.





그리고 다시 이놈을 꺼내서 써보자고 마음먹어 본 것이 올해 2월. 아파치, 삼바, FTP 등 프로그램을 설치하는 것은 뭐 매뉴얼 좀 찾아봐서 명령어 치면 그만이지만 외장하드 연결하는 것에서 문제가 생기는 바람에 이런저런 실험도 하고 돈도 왕창 써가면서 3월 말까지 고생했다.

그리고 결국 3월 말, 나를 괴롭히던 외장하드 연결 문제는 외장하드로의 전원 공급 문제였던 것으로 결론내고 3.5인치 외장하드를 따로 사다가 연결해 보았다. 그 결과 지금은 FTP 서버 구축을 완료하고 인터넷 연결된 환경에서는 어디서나 내 자료들에 접근할 수 있어서 편리하게 살고있다.

(연결 문제의 원인은 전원 공급 문제로 확신하지만 전원 공급 문제의 원인은 아직도 불명이다. 분명히 전원 공급형 USB 허브도 썼었는데 ㅡㅡ 외장하드 케이스가 문제인가?) 

특히 만화책 다운받아놓은 거를 업로드 해놓으니 아이패드 어플에서 FTP 주소랑 아이디만 치면 바로 내려받을 수 있는게 좋다. 하하하. 열심히 공부해서 덕질하는 데 쓴다.


서론이 길었다.

여기서부터 준비물과 준비사항을 점검한 후에, 라즈베리파이와 FTP를 이용해 NAS 서버 구축하는 과정을 간략하게 요약하기로 한다.


덧: 라즈베리파이 이후로 비글본이나 인텔의 갈릴레오보드 같은 초소형 컴퓨터들이 많이 출시되었다. 내가 알기로 비글본도 arm 코어에 리눅스를 설치해서 쓰는 것으로 알고 있다. 그래서 비글본이나 안쓰는 컴퓨터에 리눅스를 설치해서 쓴다면, 운영체제 설치나 초기 환경설정을 제외하고는 비슷한 과정을 통해서 NAS 구축을 할 수 있지 않을까 한다. 확신은 못하지만 ㅋㅋㅋ


덧2: 나는 이후 과정을 윈도우 7이 깔린 메인 컴퓨터로 진행했다. 메인 컴퓨터가 맥OS나 리눅스를 사용하는 경우 메모리칩에 라즈베리파이 운영체제를 설치하는 과정은 다른 곳을 참조해야 한다. (불친절하지만 양해바랍니다 하하하)



# 준비물


- 라즈베리파이 본체:

나는 일단 2014년 7월 초에 구입한 라즈베리파이 B 모델을 사용했다. 하지만 그 이전 모델을 사용하거나 그 이후 모델을 사용하더라도 기기의 성능 차이만 있을 뿐 크게 다른 점은 없을 것이다.

(조금만 더 늦게 샀으면 B+ 모델을 샀을텐데 하는 아쉬움이 조금 남는다. 흐규흐규....)


- 메모리칩:

라즈베리파이 본체가 B타입 모델이라서, SD카드를 꽂아야 했다. 친구한테서 micro SD칩을 산 다음에 교내 전자제품 판매하는 곳에서 1000원 주고 SD카드 어댑터를 사다가 끼웠다. 아마 최신 버전의 라즈베리파이에서는 micro SD칩을 꽂는다고 하니 각자 모델에 맞게 메모리칩을 구비하면 된다.

이 메모리칩이 라즈베리파이에서는 보통 컴퓨터의 하드디스크 역할을 하는 주 저장장치이므로 데이터 잘 안깨지고 안정성 높은(=비싼) 제품을 구입하는 것이 좋다. 안그래도 이주일 전에 메모리칩 하나가 사망하는 바람에 급하게 다른 메모리칩에 다시 설치하느라 귀찮은 일을 겪었다.


- 카드 리더기:

메모리칩에 라즈베리파이 운영체제 이미지를 설치하기 위해서는 파일 작업을 위한 또다른 컴퓨터가 필요하다. 나는 노트북에 SD카드 슬롯이 있어서 간편하게 해결했지만 데스크탑이거나 SD카드 슬롯이 없는 노트북이라면 USB로 꽂아서 사용하는 카드리더기가 필요하다.


- 외장하드:

2.5인치 짜리라면 어댑터를 꽂아서 전원 공급이 가능한 USB 허브가 필요하다. 라즈베리파이 본체의 USB 포트에 외장하드를 바로 꽂게 되면 전류량이 부족할 수 있다. 3.5인치 외장하드(외장하드 자체에 전원 공급)라면 딱히 허브는 필요 없다.

(이 부분에서 내가 특히 돈이 많이 깨졌고, 되도록이면 3.5인치를 추천한다.)


- RASPBIAN 설치파일:

라즈베리파이 재단 홈페이지의 다운로드 페이지(https://www.raspberrypi.org/downloads/)에서 최신 버전을 다운받을 수 있다.



-  Win32DiskImager 프로그램:

위의 '덧2'에서 밝힌대로, 나는 윈도우 7 컴퓨터에서 진행했기 때문에 이 프로그램을 이용해서 라즈비안 운영체제 설치파일을 메모리칩에 복사할 것이다. 윈도우가 아니라면 깔 필요 없다.

http://sourceforge.net/projects/win32diskimager/ 이곳에서 다운받을 수 있다.


- 리눅스를 잘 몰라도 부딪쳐보겠다는 마음가짐


이 외에 모니터나 RGB to HDMI 젠더 등이 필요할 수 있다.



# 확인사항


- 공유기 설정 접근 가능 여부 확인


외부에서 라즈베리파이에 접근할 수 있으려면 포트포워딩 같은 과정을 거쳐야 하므로, 공유기 설정에 접근할 수 있어야만 한다. 집에 설치하는 경우 집에서 개별 회선을 쓴다면 상관이 없다. 공용 공간에서라면 먼저 확인이 필요하다. 나는 운좋게도 고시원 내부 인터넷 회선을 분배하는 최상위 공유기 설정에 비밀번호가 안걸려있어서 ㅋㅋㅋㅋㅋㅋㅋ 지금까지도 잘 기생해서 쓰고 있다.


- 라즈베리파이 명령어 입력 환경


환경 구축 및 FTP 설치 과정에서 리눅스 터미널에 명령어를 치는 과정이 필요하다.

라즈베리파이에 직접 모니터, 키보드(필요하다면 마우스도)를 연결해서 쓰거나 메인 컴퓨터에서 SSH 프로그램을 통해 접속해야 한다.


모니터를 연결해서 쓰는 경우 라즈베리파이는 HDMI 단자밖에 없으므로 모니터에 HDMI 단자가 없다면 변환 젠더를 사야 한다. 인터넷에서 사면 5000원~10000원으로 구입할 수 있다. 그리고 라즈베리파이에 직접 명령어를 쳐야 하므로 최소한 USB 연결형 키보드가 필요하다.

(이제는 PS2 포트 갖고 있는 키보드가 훨씬 희귀하겠지;)


메인 컴퓨터에서 SSH 프로그램을 써서 연결할 거라면 공유기에 라즈베리파이를 연결할 랜선이 필요하다.

(무선 wifi로 잡을 때는 설정을 제대로 안해봤기도 하고 ㅋㅋ 유선랜 연결하는 게 안정적일 거라고 생각된다.)



# 운영체제 설치

(아래 내용은 아마 라즈베리파이 재단 홈페이지의 설치페이지 내용을 참조한 것으로 기억한다)


### 이미지 다운로드


준비물 설명할 때 라즈베리파이 웹사이트에서 라즈비안 운영체제를 받을 것을 추천했다. 속도를 위해서라면 토렌트로 받는 것이 낫다. ZIP으로 받아도 상관은 없고.


최신 배포판을 다운받았다면 압축을 풀어서 .zip 파일과 이름은 같고 확장자만 .img로 바뀐 파일이 잘 생성되었는지 확인한다.

(예: 위의 캡쳐에서는 2015년 5월 5일에 릴리즈된 운영체제를 다운받을 수 있다. 2015-05-05-raspbian-wheezy.zip 파일을 다운받아서 압축을 풀면 2015-05-05-raspbian-wheezy.img 파일이 생성될 것이다.)



### 메모리칩에 이미지 복사


1. SD카드를 SD카드 리더에 넣고 어떤 드라이브 문자가 할당되었는지 확인한다. (SE카드 리더는 SD카드 슬롯이 있다면 그대로 써도 되고 저렴한 SD 어댑터를 USB 포트에 꽂아도 된다.)


2. 준비물에서 설명한 Win32DistImager 프로그램을 실행한다. 주의할 점은, 반드시 단축아이콘에 오른쪽 클릭을 해서 '관리자 권한으로 실행'해야 한다.



실행화면


3. Image File이라고 쓰인 박스에서 열기 아이콘을 눌러 위에서 추출한 이미지 파일을 선택한다.


4. Device라고 표시된 부분에서 메모리칩에 할당된 드라이브 문자를 선택한다. 정확한 드라이브를 선택하도록 주의한다. 잘못된 드라이브를 선택하면 컴퓨터의 하드디스크에 있는 데이터를 파괴할 수도 있다! 만약 컴퓨터의 SD 슬롯을 사용하는데 Win32DiskImager 창에서 해당하는 드라이브를 찾을 수 없다면, usb 포트에 꽂아서 사용하는 SD 어댑터를 사용해야 한다.


5. Write 버튼을 누르고 쓰기가 완료되기를 기다린다. 

주의할 점: 만약 .img 파일이 있는 경로 중에 한글이 포함되어있다면 제대로 동작하지 않는다.


6. 이미지 쓰기가 완료되었다면 Exit를 눌러 imager 프로그램을 종료하고 메모리칩을 꺼낸다.



여기까지 길고 긴 스압을 거쳐 메모리칩에 이미지 쓰기까지 완성한 분에게 경의를 표한다.


이 다음 게시물부터는 나의 삽질 포인트까지 포함하여 다음과 같은 내용을 설명할 예정이다.


1. (유선랜에서) 라즈베리파이 고정 IP 설정


2. FTP 프로그램인 ProFTPD 설치 및 간단한 설정


3. 라즈베리파이에 외장하드 인식시키기


4. IP주소 외울 필요 없이 DDNS 설정해서 간편하게 접속하기


5. FTP 서버를 주변 사람들에게 공개하기



위 과정을 마스터 하고나서 (특히 5번 ㅋㅋ) 다른 사람들이 나의 위엄을 칭찬하는 칭송의 말을 듣고싶다면 꼭! 끝까지 다 따라해보도록 하자.


WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

받은 트랙백이 없고 , 댓글  5개가 달렸습니다.
  1. 아마도;;; 라즈베리파이의 파워가 HDD를 돌릴정도로 세지 않을테니까요... 일반 데스크톱에서도 파워케이블 하나에 hdd 3개쯤 달면 가끔 삑가는데;;
    • 네 그래서 유전원 허브도 써보고 외장하드에 y 케이블도 물려보고 여러가지 해봤는데 (외국 포럼 보면 대부분 이렇게 하면 해결이 됐다고 하더군요) 다 실패하고
      절대 실패할 수가 없는 자체전원 외장하드를 쓰는 게 제일 낫겠다는 결론을 내렸습니다.... ㅠ
  2. 저...음 궁금한게있는데여 ㅜㅠㅠ제발답변부탁드립니다ㅠㅠㅠ 일단 라즈베리파이2에 sd카드를꽂은다음프로그래밍을 합니다 프로그래밍내용은 1분후에 sd카드에 있는 led라는 파일을 열고 읽어오고 닫아라 이거를 파이썬언어로 좀 해주시면정말정말~~~~~ 고맙겠습니다 ㅠㅠㅠ 아참 그리고 마지막으로 파이썬으로해주신다음 각각 해석좀 부탁드리겠습니다.
    • 죄송합니다만 파이썬으로 프로그래밍하는 부분은 이 포스팅에서 다루는 영역이 아니며 저도 파이썬 언어는 간단한 문법만 보고 실제적으로 다뤄본 적이 없어서 자세히 설명을 드릴 수가 없습니다.

      일단 원하시는 구현내용을 1. 파일 읽고쓰기 2. 1분동안 정지 두 파트로 나눠서 생각했을 때
      파이썬으로 파일 입출력을 다루는 것은 https://wikidocs.net/26 이곳을 참조하시면 될 것 같고, 1분 후에 파일을 읽어오는 것은 sleep 이용하시면 될 것 같습니다.
  3. 안녕하세요! 학교 과제로 리눅스 운영체제를 써야해서 라즈베리파이를 구매했습니다. 이왕 산거 뭐 더 해볼게 없을까하다가 마침 여기 필요한 준비물들을 모두 가지고 있어서 글 하나하나 따라가며 풍족한 덕질라이프를 만들어볼까합니다. 막히거나 모르는 부분이 생기면 질문 좀 드릴게요 ㅎㅎ 이런 글 써주셔서 감사합니다.
secret