당신은 주제를 찾고 있습니까 “라즈베리 파이 서버 – 라즈베리 파이 – 라즈베리 파이로 나만의 웹서버 만들기 1부“? 다음 카테고리의 웹사이트 https://ppa.pilgrimjournalist.com 에서 귀하의 모든 질문에 답변해 드립니다: ppa.pilgrimjournalist.com/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 ODIY 한국과학창의재단 이(가) 작성한 기사에는 조회수 43,583회 및 좋아요 282개 개의 좋아요가 있습니다.
Table of Contents
라즈베리 파이 서버 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 라즈베리 파이 – 라즈베리 파이로 나만의 웹서버 만들기 1부 – 라즈베리 파이 서버 주제에 대한 세부정보를 참조하세요
라즈베리 파이
라즈베리 파이로 나만의 웹서버 만들기 1부
라즈베리 파이 서버 주제에 대한 자세한 내용은 여기를 참조하세요.
라즈베리파이로 서버 구축하기(1) – 우분투 설치 – velog
걍 노트북에 우분투 듀얼부팅해서 사용할까 했는데 그러기엔 내 가련한 울트라북이 죽어버릴것 같아서 나 프로젝트하고 남은 굴러다니는 라즈베리파이 …
Source: velog.io
Date Published: 5/7/2022
View: 3988
라즈베리파이로 집에서 서버 구축하기 1. 준비단계
1) 라즈베리파이 3B+ · 2) 아크릴 겹층 쿨러 케이스 · 3) 2.5A 마이크로 5핀 충전 케이블 · 4) microSD 16gb.
Source: seolin.tistory.com
Date Published: 9/4/2022
View: 953
라즈베리파이로 NAS 서버 만들기
안녕하세요? 라즈베리파이로 여러 가지를 만들 수 있는데 그중 가장 쉬운 게 아마 서버 구축일 겁니다. 보통 집에 왜 라즈베리파이 서버를 구축하려고 …
Source: cpro95.tistory.com
Date Published: 5/27/2021
View: 178
라즈베리파이4로 토이프로젝트용 서버 만들기 – 1편
$ sudo raspi-config 명령을 통해 라즈베리파이 설정 도구(Raspberry Pi Software Configuration Tool)를 실행한다. 그럼 아래와 같이 블루라이트 차단 …
Source: ryan-han.com
Date Published: 11/21/2022
View: 4909
[RaspberryPi] 라즈베리 파이 8GB로 서버 구축하기
최종적으로 구현해둔 라즈베리 파이 서버. 평소 기록하는 습관을 들이지 않아서 그런가… 막상 다 구축해놓고 하려니까 해놓은 그 과정에 대한 …
Source: m.blog.naver.com
Date Published: 2/9/2021
View: 2856
【라즈베리파이】 Raspberry Pi로 웹 서버 만들기
Raspberry Pi로 웹 서버 만들기 추천글 : Step 1. 보드의 선택 ⑴ ODROID, Raspberry Pi 등 다양한 보드가 웹서버 구현에 이용될 수 있음 ⑵ 프로젝트 …
Source: nate9389.tistory.com
Date Published: 10/22/2021
View: 9919
라즈베리파이 서버로 워드프레스 돌릴때 장점 & 단점
라즈베리파이서버의 장점. 서버유지비가 거의 들지 않는다. 요새 트렌드는 AWS(아마존웹서비스)라이트세일의 리눅스 서버 호스팅을 이용하여 LEMP를 올리고 워드프레스 …
Source: devbono.com
Date Published: 2/16/2022
View: 6206
Raspberry Pi 웹 서버를 설정하는 방법 [Guide]
Raspberry Pi에 Apache 웹 서버 설치. 1. 먼저 플래시가 켜져 있는지 확인하십시오. 데스크탑이 있는 라즈베리 파이 OS SD 카드의 UI. 이 모든 것이 처음 …
Source: kr.moyens.net
Date Published: 8/22/2021
View: 3777
[라즈베리파이3 본체만 가지고 개인 서버 만들기(feat. sk 무선 …
개인 서버 구축하기 위해 라즈베리파이3 구매 후 라즈비안 설치부터 원격 제어까지 내가 한 방법으로 설명한다. 개발환경.
Source: blog.hkdevstudio.info
Date Published: 7/24/2022
View: 548
라즈베리파이를 웹서버로 사용하기 – 컴퓨터 마니아
이 튜토리얼에서는 이 무료 소프트웨어 패킷을 사용하여 소형 PC에서 자신의 웹 서버를 설정하는 방법을 보여줍니다. Raspberry Pi 웹 서버는 무엇을 할 …
Source: volvootofinans.com
Date Published: 3/18/2022
View: 3105
주제와 관련된 이미지 라즈베리 파이 서버
주제와 관련된 더 많은 사진을 참조하십시오 라즈베리 파이 – 라즈베리 파이로 나만의 웹서버 만들기 1부. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 라즈베리 파이 서버
- Author: ODIY 한국과학창의재단
- Views: 조회수 43,583회
- Likes: 좋아요 282개
- Date Published: 2016. 1. 7.
- Video Url link: https://www.youtube.com/watch?v=RPqSbdce5EM
라즈베리파이로 집에서 서버 구축하기 1. 준비단계
0. 서론
원래 저는 aws의 프리티어로 웹 서버를 하나 가지고 있었습니다. 포트폴리오 용도로 활용할 개인 홈페이지도 운영하고 프로젝트 개발할 때 테스트 서버로도 쓰기 위해서 만들어 뒀는데, 정작 개인 홈페이지는 손도 못 대봤고 대신 학기 중에 과제할 때 서버로선 종종 썼습니다. 없을 떈 필요성을 별로 못 느꼈는데, 한번 써보고 나서부턴 “없으면 아쉽다”라는 느낌을 많이 받게 되었습니다.
문제는 그 프리티어 기간이 지난달로 만료가 되어서, 이번 달부터 과금이 되기 시작한 것입니다. 가격이 싸다면야 그냥 쓰겠는데 24시간 풀가동을 전제하면 월에 약 8000원.. 1년이면 9만원이 넘는다는 계산이 나왔습니다. 예전에 웹 호스팅을 받아서 쓸 시절엔 1년에 5천원을 냈었는데.. 차이가 너무 크게 다가왔죠. (물론 500mb 저장공간 제공하는 웹 호스팅을 받는 것과, 8gb의 공간과 고객이 자유자재로 뭐든 손 댈 수 있는 클라우드를 비교하는 것부터가 웃기긴 합니다만) 사실 계정을 하나 더 만들면 해결될 일이긴 합니다만, 그렇게 넘어가도 해가 지날때마다 다시 마이그레이션을 거쳐야할 테고.. 장기적으로 봐서 본가에서 서버를 돌리기로 결정했습니다.
라즈베리 파이는 영국에서 개발된 소형 컴퓨터입니다. 보드 자체로만 구매하면 4.5만 정도 하는데, 그런데도 성능 자체는 꽤 준수하고, 라이트 버전이긴 하지만 마인크래프트(!)도 돌릴 수 있습니다. 이 뛰어난 가성비 덕에 지금은 임베디드 환경에서도 많이 쓰이고 있고, 오픈소스 진영에서 지원해주는 소프트웨어도 많아서, 우리같은 일반인들도 튜토리얼만 잘 따라하면 혼자서 cctv를 만들거나, 키오스크를 만들거나, 드론 등도 만들 수 있습니다.
여하튼, 그래서 이번에 서버를 돌리는 장비로 라즈베리 파이를 선택했습니다. 한 10년 전쯤만 해도 집에서 개인 서버를 돌리려면 덩치 큰 컴퓨터 하나 사다가 어딘가에 짱박아두고 돌려야 했었는데, 이젠 저렴하게 카드 크키만한 보드 하나 사서 똑같은 걸 할 수 있다니 기술의 발전이 놀라울 따름입니다.
1. OS 선택
라즈베리파이 재단에서는 라즈비안(raspbian)이란 OS를 권장하고 있습니다. 워낙 인기가 많은 보드이니만큼 라즈베리파이에 탑재할 수 있는 OS는 종류가 꽤 됩니다. 다만 프로세서가 arm 계열이라서 일반 데스크탑에서 자주 쓰이는 OS가 그대로 들어가진 않고, 라즈베리파이에 맞도록 조정이 된 OS들이 들어갑니다. 페도라를 수정한 피도라, 우분투의 포크인 우분투 마테 등이 이에 해당하죠. 안드로이드도 들어갑니다.
aws에서는 우분투를 이용해 서버를 돌렸으므로, 웬만하면 라즈베리파이에도 우분투를 넣고 싶었습니다. 그래서 우분투 마테를 생각해 봤었는데, 하필이면 제가 구매한 라즈베리 파이 3B+는 가장 최신 보드고, 프로세서로는 armv8을 쓰고 있어서 라즈베리파이 시리즈 중에선 유일하게 64비트 보드이며, 그래서 아직까진 3B+에 맞춰서 나온 우분투 마테는 없었습니다. 우분투 위키(http://wiki.ubuntu.com)를 찾아보니, 라즈베리파이 2용으로 나온 우분투 코어 이미지에서 부트로더만 수정하면 3B+에서도 돌아간다고는 하던데.. 실제로 시도해봤을 땐 부팅 중간에 에러가 나서 실패했고 또, 이렇게 비공식적인 OS를 쓰면 나중에 업데이트할 때 곤란한 상황이 오지 않을까 싶어서 얌전하게 라즈비안을 선택했습니다.
앞서 말했듯이 라즈비안은 재단에서 권장하고 있는 OS이며, 데비안을 베이스로 한 리눅스입니다. 덕분에 우분투와 겹치는 면이 많아서 적응 자체는 크게 어렵지 않았습니다. 제가 선택한 라즈비안은 최신버전 Stretch이며, 버전도 가장 최소한의 기능만 들어간 Stretch Lite로 정했습니다. 이 Lite에서는 GUI가 없으며, 오로지 키보드로 텍스트 조작만 가능합니다.
2. 주문
주문은 메카솔루션(http://mechasolution.com )에서 했습니다. 1년 넘게 사용하고 있는 쇼핑몰인데, 모바일에서도 결제 좀 하게 해줬으면 좋겠습니다.
구매한 품목은 다음과 같습니다
1) 라즈베리파이 3B+
가장 최신식 모델입니다. 3B때에 비해서 네트워크 기능이 향상되었고, 프로세서가 Armv8로 바뀌었다고 합니다.
2) 아크릴 겹층 쿨러 케이스
일단 케이스 없이 라즈베리파이를 돌리면 불안하기도 하고, 발열 부분도 해결해야하니 이번에 아예 쿨링이 되는 케이스를 샀습니다. 5v짜리 쿨링팬이 딸려오므로, 라즈베리파이의 GPIO에 연결하면 라즈베리파이가 돌아가는 동안 계속해서 쿨링이 됩니다.
3) 2.5A 마이크로 5핀 충전 케이블
라즈베리파이는 구형 스마트폰이 쓰던 마이크로 5핀 규격을 사용합니다. 단, 그렇다고 스마트폰 충전기를 꽂으면 난감한게, 재단에서는 2.5A 충전기를 사용하도록 권장하는데, 상용 스마트폰 충전기는 대부분 이 기준보다 아래입니다. 그래서 아예 라즈베리파이에 같이 끼워서 파는 경우도 많습니다.
4) microSD 16gb
라즈베리파이의 OS는 micro SD에 저장된 데이터로 돌아갑니다. usb 포트에 외장하드 같은걸 연결해서 저장소를 확장할 순 있지만, 결국 OS를 돌리긴 위해선 SD카드가 필요합니다. SD카드로는 샌디스크의 10클래스 SDHC를 구매했습니다. 가격이 4천원밖에 안하길래 순간 눈을 의심했습니다. 아무리 그래도 그렇지 플래시 메모리 시장이.. 중간에 갑자기 쇼트나서 데이터가 날아가지만 않기를 바랄 뿐입니다.
3. 설치
쿨링팬 장착은 위에 사진으로 나왔으니 간단하게 설명하겠습니다. GPIO의 5v핀과 gnd핀에 각각 빨간선, 검은선을 연결하면 됩니다. GPIO의 핀 구성이 궁금하신 분은 여기를 참조하시면 됩니다. 참고로 USB 포트가 아래에 있다고 가정하고 보셔야 합니다.
쿨링팬을 나사로 고정하고, 랜 포트에 랜선을 연결합니다. 최초 설정은 라즈베리파이를 직접 조작해야 하므로, HDMI선도 모니터에 연결하고, 키보드도 USB에 연결하는 게 좋습니다.
충전기를 꽂으니 쿨링팬이 아주 잘 돌아갑니다. 소음이 심하지 않을까 걱정했는데 생각보다 팬이 약하게 돌아서 소음이 잘 들리진 않습니다. 이제 세팅은 끝났으니 다음 포스트에선 라즈비안을 설치하고 간단한 설정을 해보도록 하겠습니다.
라즈베리파이로 NAS 서버 만들기
728×170
안녕하세요?
라즈베리파이로 여러 가지를 만들 수 있는데 그중 가장 쉬운 게 아마 서버 구축일 겁니다.
보통 집에 왜 라즈베리파이 서버를 구축하려고 하냐면 여러 가지 이유가 있겠지만
외부에서 나만의 FTP 서버로 자료를 업, 다운할 수 있으며,
스마트 TV랑 연동해서 라즈베이파이에 물린 외장하드에 있는 동영상이나 음악을 스마트 TV로 재생하기도 합니다.
또한, 간단한 NodeJS 서버를 구축해서 테스트해 볼 수 있고,
할 수 있는 일은 무궁 무궁합니다.
저의 집안 인터넷 흐름도를 먼저 살펴보면
먼저, 저는 KT 인터넷을 쓰고 있으며(인터넷은 KT가 제일 빠릅니다. SK 브로드밴드는 해외망 속도가 영!)
Wifi는 ASUS RT-AC68U 을 쓰고 있습니다.
전체적인 구조는 KT 인터넷이 아파트 외부단자에서 들어오면 일단 무조건 ASUS 라우터를 통해서
집안 모든 가전기기에 연결됩니다.
그렇게 하면 TV로 라즈베이파이에 접속해서 저장된 동영상을 볼 수 있습니다.
아이피타임 무선공유기로도 가능합니다.
요즘 공유기에는 핵심 기능인 포트포워딩과 DDNS기능이 내장되어 있어 쉽게 사용할 수 있습니다.
이 부분은 나중에 설명해 드리겠습니다.
라즈베리파이 서버 구축
라즈베리파이 서버를 구축하려면 라즈베리파이와 SD카드가 있어야 합니다.
저는 예전에 사놓은 라즈베리파이 3B+가 있습니다. SD카드와 그때 사놓은 32G가 있습니다.
SD카드는 8G로도 충분합니다. 생각해 보면 32G는 너무 낭비 같습니다.
외장 HDD가 있기 때문에 32G가는 너무 과소비 같았습니다.
일단 라즈베리파이와 SD카드가 준비됐으면 라즈베리파이 OS를 다운로드하여야 합니다.
https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
라즈베리파이 3B+ 모델까지는 데스크톱 대용으로는 사용하기가 많이 부족했지만
라즈베리파이 4 개선 버전부터는 충분히 사용 가능하다고 합니다.
일단 우리는 서버를 구축하려고 하니까 Raspberry Pi OS Lite 버전을 다운로드하겠습니다.
다운로드한 파일을 압축을 풀면 1.73기가의 img 파일이 생깁니다.
2020-12-02-raspios-buster-armhf-lite.img
자 그럼, 위 img 파일을 SD카드에 복사해야겠죠.
SD 카드에 복사하기 전에 SD Card Formatter라는 프로그램을 소개할까 합니다.
SD 카드는 간혹 쓰기 방지 락이 걸려 있다면 속을 태우는 경우가 발생하는데요,
위 프로그램으로 포맷하면 진짜 깔끔하게 포맷되고 좋습니다.
https://www.sdcard.org/downloads/formatter/eula_windows/index.html
일단 SD Card Formatter로 SD카드를 포맷합시다.
그리고 우리가 다운로드한 img 파일은 SD카드로 복사하기 위해 전용 프로그램을 설치해야 합니다.
제가 써본 부팅 USB 만드는 프로그램 중 아래 rufus 가 가장 가볍고 강력했습니다.
https://rufus.ie/
자 이제 rufus를 다운로드하시고 실행하시면 됩니다.
저는 아직 SD 카드를 피씨에 연결 안 했는데 만약 연결하면 장치 부분이 해당 SD 카드를 가리킬 겁니다.
그리고 위쪽 두 번째 줄 오른쪽에 선택이란 버튼을 클릭해서 우리가 다운로드한 라즈베리파이 OS img 파일을 선택합니다.
그리고 밑에 시작 버튼을 누르면 알아서 부팅 USB를 만들어 줍니다.
라즈베리파이 부팅 USB까지 준비되었으면 이제 본격적으로 라즈베리파이 세팅을 해야 합니다.
먼저 SD 카드를 빼내어 라즈베리파이에 장착합니다.
SD 카드 넣는 곳에 쑥 밀어 끝까지 넣으면 됩니다.
본격적으로 세팅하기 전에 먼저 부팅해야겠죠?
필요한 부품은 라즈베리파이 전원 케이블, 외장 모니터와 키보드가 필요합니다.
외장 모니터는 HDMI로 연결됩니다.
이제 HDMI와 키보드를 연결했으면 전원 케이블로 라즈베리파이를 연결합니다.
라즈베리파이는 전원 스위치가 없어서 전원 케이블을 연결하고 빼면 그게 전원 스위치입니다.
전원 케이블 연결하면 모니터에 쭉 무언가 영어가 마구 나옵니다.
조금만 기다리시면 로그인 화면이 뜨는데,
라즈베리파이 기본 사용자 계정인 “pi”라고 쓰고
비밀번호 또한 라즈베리파이 기본 비밀번호인 “raspberry”라고 입력합시다.
그러면 로그인되면서 터미널 환경의 명령 프롬프트가 뜨게 됩니다.
일단 기본 계정의 비밀번호를 바꿔야겠죠.
아래와 같이 바꾸면 됩니다.
pi@raspberrypi:~ $ passwd Changing password for pi. Current password: New password: Retype new password: passwd: password updated successfully
passwd 란 명령어는 유닉스/리눅스 명령어로 사용자의 패스워드를 변경하는 터미널 명령어입니다.
Current password: 란에 현재 비밀번호인 “raspberry”를 입력하고
New password: 란에 원하시는 비밀번호를 입력하고
Retype new password: 란에 비밀번호를 한번 더 입력하면 됩니다.
이제 기본 사용자 계정의 비밀번호도 바꿨겠다, 이참에 root 계정의 비밀번호도 바꿉시다.
사실 보안을 위해서 root 계정의 비밀번호는 세팅이 되어 있지 않고 sudo 명령어를 통해서만 root 권한으로 실행할 수 있는데, 조만한 라즈베리파이 서버가 위험해 봤자 얼마나 위험하겠습니까?
root 비밀번호를 바꾸고 root로 사용자 계정을 바꿔서 각종 소프트웨어를 설치하면 편하기 때문에 여기서는 root 패스워드 바꾸는 방법에 대해 알려드리겠습니다.
sudo passwd root New password: Retype new password: passwd: password updated successfully
이제 root 계정의 비밀번호까지 설정했으니까 root로 계정을 전환해 봅시다.
계정 전환은 su 명령어를 쓰면 됩니다.
su root Password: root@raspberrypi:/home/pi#
이제 본인 서버의 가장 막강한 사용자인 root가 됐습니다.
이제 라즈베리파이를 서버로 이용하기 위해 해야 할 가장 기본적인 사항이 ssh를 활성하 하는 겁니다.
일단 raspi-config 명령어를 실행합니다.
root@raspberrypi:/home/pi# raspi-config
그러면 아래 그림과 같이 뜹니다.
먼저 로케일(Locale) 설정을 합시다.
5번 항목인 Localisation Options으로 키보드 방향키를 사용해서 이동합시다. 그리고 엔터를 누릅니다.
L1 Locale에서 엔터키를 다시 누릅니다.
라즈베리파이는 영국에서 만들어서 기본 로케일이 en_GB.UTF-8로 되어 있습니다.
영어라서 뭐 상관이 없습니다. 그래도 혹시라도 한국 로케일을 추가로 선택합시다.
키보드 방향키를 쭉 더 아래로 내립니다.
한국 로케일인 ko_KR.EUC_KR과 ko_KR.UTF-8을 선택합니다.
그리고 탭을 한번 눌러 OK부분으로 이동후 엔터키를 누릅니다.
이제 로케일 설정 화면이 계속되는데 조금만 기다리시면 완료되고 다시 아래와 같은 raspi-config 기본 화면이 나옵니다.
이제 본격적인 SSH 설정에 들어가 봅시다.
여기서 3번째인 Interface Options으로 이동합니다.
그러면 다음과 같이 나오는데 2번째 SSH를 선택해서 엔터키를 누릅니다.
엔터키를 누르면 SSH 설정 화면이 다음과 같이 뜹니다.
YES라고 선택되어 있는데 여기서 그냥 엔터키를 누르면 SSH가 활성화됩니다.
이제 ESC키를 몇 번 눌러 터미널 명령어 줄로 나옵니다.
이제 SSH를 이용해 라즈베리파이 서버를 켜 둔 채 놔두고 본인의 컴퓨터에서 원격 로그인하여 작업을 수행할 수 있습니다.
여기서 더 나아가야 할 게 있는데 바로 SSH 포트와 SSH 사용 가능 유저를 정하는 일입니다.
SSH 포트는 기본 22번입니다.
이 기본 포트를 안 바꾸시면 중국 쪽 해커들이 무지막지하게 접속 시도하기 때문에 본인이 원하는 포트로 바꾸시면 됩니다.
일단 root 사용자라는 가정하에 다음과 같이 명령어를 입력합니다.
root@raspberrypi:/etc/ssh# id uid=0(root) gid=0(root) groups=0(root) root@raspberrypi:/etc/ssh# cd /etc/ssh root@raspberrypi:/etc/ssh# ls sshd_config sshd_config root@raspberrypi:/etc/ssh# nano sshd_config
/etc/ssh 폴더로 이동해서 sshd_config 파일을 nano 텍스트 에디터로 여는 명령입니다.
위에서 보듯이 기본 포트 22번은 주석 처리했고 (#으로 주석처리)
밑에 Port 2002라고 새로 넣었습니다.
이제 SSH 포트는 2002로 저만 아는 포트가 된 겁니다.
이제 맨 마지막 줄로 이동해서 다음과 같이 입력합니다.
AllowUsers라고 쓰고 탭 한번 누르고 pi라고 입력합니다.
SSH 사용 가능한 유저는 pi라고 지정하는 겁니다.
이제 Ctrl+O 를 눌러 저장하고 나옵니다.
이제 SSH 서버를 재시작하면 됩니다.
root@raspberrypi:/etc/ssh# service sshd restart root@raspberrypi:/etc/ssh# ps -ef | grep sshd root 6700 1 0 06:14 ? 00:00:00 sshd: cpro95 [priv] cpro95 6719 6700 0 06:14 ? 00:00:00 sshd: cpro95@pts/0 root 7103 1 0 06:43 ? 00:00:00 /usr/sbin/sshd -D root 7106 6777 0 06:43 pts/0 00:00:00 grep sshd
service sshd restart로 재시작하고 ps 명령어로 프로세서 중에 sshd로 시작하는 프로세서를 찾아보는 명령입니다.
우리의 sshd는 7103 process id로 잘 실행되고 있습니다.
이제 우리의 라즈베리파이 서버는 외부 SSH 접속이 가능합니다.
그러면 테스트해볼까요?
일단 본인의 메인 컴에서 cmd 창을 하나 띄웁니다.
그리고 다음과 같이 입력합니다.
ssh [email protected] -p 2002
아이피 주소는 본인의 라우터에서 라즈베리파이가 할당된 아이피를 확인하시면 됩니다.
그리고 마지막 -p는 포트를 지정하는 옵션입니다.
이렇게 치시면 비밀번호를 넣으라고 하는데
처음 실행하면 ssh 키를 생성해야 한다고 합니다.
yes를 입력하시고 엔터키를 누르시면 됩니다.
이제 우리의 라즈베리파이 서버를 외부에서 접속 가능하게 SSH까지 설치해 보았습니다.
다음 편에서는 VSFTP와 기타 유용한 데몬 프로그램 설치에 대해 알아보겠습니다.
그리드형
라즈베리파이4로 토이프로젝트용 서버 만들기 – 1편
토이프로젝트를 올릴 서버를 2019년 7월에 새로 출시한 라즈베리파이4로 만들어 보았다.
크게 3단계로 작업을 진행할 예정이다. 1편 – 라즈베리파이4를 서버로 만들기
2편 – 웹 어플리케이션 배포
3편 – 도커라이징
0. 목차
재료 준비 및 시작
1.0. 구입한 제품들
1.1. 전원 연결
1.2. 안전하게 종료하기 OS 설치
2.0. Raspbian 설치 방법 선택
2.1. Raspbian 이미지 다운로드
2.2. SD카드에 Raspbian 이미지 굽기
2.3. 라즈베리파이에 OS 설치 기본 환경 설정
3.0. 설정 도구 실행
3.1. 비밀번호 변경
3.2. Locale 설정
3.3. Timezone 설정
3.4. Keyboard Layout 설정
3.5. Wi-fi Country 설정
3.6. Wi-fi 설정 (raspi-config 사용)
3.7. Wi-fi 설정 (wpa_passphrase 사용)
3.8. SSH 허용 및 접속
3.9. Hostname, Wi-fi 설정 네트워크 설정
4.0. 내부IP 고정
4.1. DDNS 설정
4.2. 포트포워딩 설정
4.3. ipTIME 원격접속 허용 Nginx 설치 및 설정
5.0. Nginx 설치
5.1. 한글 폰트 및 입력기 설치
5.2 Nginx 문자셋 설정 도메인, SSL 설정
6.0. 도메인 구입
6.1. 도메인 연결
6.2. SSL 인증서 생성 및 적용
6.3. SSL 인증서 자동갱신 설정 기타
7.0. 온도 측정용 쉘 스크립트 작성
1. 재료 준비 및 시작
구입할 당시에 한국에 라즈베리파이4 판매처가 아예 없어서, 미국에 사는 처남에게 부탁해서 제품을 구매했다.
구글링을 꽤 해보고 리뷰들도 읽어 본 후에 구매한 제품들이지만, 최고의 선택이 아닐 수도 있다.
(제품 홍보 절대 아님!)
1.0. 구입한 제품들
Raspberry Pi 4 보드 (링크) USB C Type 충전기 (5V 3A) (링크) 생각보다 5V 3A PSU를 구하기가 힘들었다.
라즈베리파이4 공식 PSU의 경우 유럽 제품을 사용해야 하는데, 유럽 사이트에서 직구해야해서 비싸다.
이 제품을 사용해도 될 것 같다. 모니터 케이블 (Micro-HDMI to HDMI) (링크) Micro SD 카드 (64GB) (링크) 케이스 + 쿨링팬 (링크) 반드시 필요한 것은 아니지만, 라즈베리파이4의 발열 이슈가 있는데 해외 유저들은 쿨링팬으로 해결한다고 한다.
발열 이슈 때문에 보드 설계를 수정할 것이라는 제작사측의 발표도 있었다. (젠장)
1.1. 전원 연결
라즈베리파이 보드를 케이스와 결합 쿨링팬을 라즈베리파이 보드의 GPIO에 연결 이 곳에서 핀의 위치를 확인한다.
팬의 속도를 3.3v의 low speed와 5v의 high speed 중 선택할 수 있다.
3.3v(low speed)의 위치는 위의 링크에서 1번(빨간선), 6번(검정선)
5v(high speed)의 위치는 4번(빨간선), 6번(검정선) 전원을 연결하면 빨간불과 녹색불이 켜지고, 팬이 돌아간다.
1.2. 안전하게 종료하기
처음에는 라즈베리파이의 전원코드를 뽑는 방법으로 종료를 해왔는데, 위험한 방법이었다.
라즈베리파이 종료하는 방법이라는 글에 의하면, SD카드가 고장날 수 있고, 상황에 따라 데이터가 손실될 수 있다고 한다.
$ sudo shutdown -h now 명령을 하면, 아래의 과정을 거쳐 안전하게 종료된다. 실행중인 모든 프로세스에 SIGTERM 명령을 보내서 안전하게 저장하고 종료(Exit)하게 한다. 약간의 간격을 두고, SIGKILL 명령을 보내서 남아있는 프로세스들을 종료(Halt)한다. 모든 파일 시스템들을 분리(unmount)한다. 화면에 System Halted 라고 표시된다. (라즈베리파이4의 경우 표시되는 메세지를 볼 겨를 없이 모니터 연결이 종료된다.) 이제 전원코드를 뽑아도 된다. 다시 부팅하려면 전원코드를 연결하면 된다.
명령을 하면, 아래의 과정을 거쳐 안전하게 종료된다.
2. OS 설치
다른 선택지들도 있지만, 첫 경험이므로 얌전하게 공식 OS인 Raspbian을 설치한다.
2.0. Raspbian 설치 방법 선택
NOOBS 사용 NOOBS(New Out Of the Box Software)라는 운영체제 설치 관리자를 사용해서 설치할 OS를 선택하는 방법
부팅과 설치 속도가 느리다.
다양한 OS 중에 선택하여 설치 가능. OS 이미지를 SD카드에 기록하여 설치 이미지 기록 프로그램(Etcher 또는 Win32 Disk Imager)을 사용하여 SD카드에 OS 이미지를 구워서 설치하는 방법
부팅과 설치 속도가 빠르다.
나의 경우 설치하려는 OS와 설치 목적이 분명하므로 2번 방법으로 설치를 진행했다.
2번 방법으로 Raspbian 설치 절차
OS 이미지 다운로드
다운받은 이미지(zip 또는 torrent)를 Micro SD 카드에 굽기 OS 이미지가 구워진 Micro SD카드를 라즈베리파이에 삽입하고 부팅하여 설치하기
2.1. Raspbian 이미지 다운로드
이 곳에서 Raspbian 이미지를 다운로드 받는다.
나는 서버로만 사용할 예정이기 때문에 Desktop GUI가 없지만 리소스 소모가 적은 Lite 버전을 선택했다.
2.2. SD카드에 Raspbian 이미지 굽기
기존에 사용했었던 SD카드는 포맷한 후에 사용하는 것이 안전하다. (SD Memory Card Formatter) 준비해둔 Micro SD카드를 SD Adapter 혹은 USB 리더기에 꽂아서 랩탑/데스크탑에 연결한다.
Etcher를 사용해서 다운받은 OS 이미지를 Micro SD카드에 굽는다.(flash) Etcher 사용법은 간단하다.
이미지를 선택하고, SD카드를 선택하고, Flash(굽기)! 이 때, 다운받은 Raspbian OS 이미지가 zip 파일일텐데, 압축을 풀 필요없이 그대로 사용하면 된다.
2.3. 라즈베리파이에 OS 설치
Rasbian 이미지가 구워진 SD카드를 라즈베리파이에 삽입한다. 라즈베리파이에 모니터와 키보드를 연결한 후, 전원을 연결한다. 전원을 연결하면 빨간 라즈베리 4개가 화면에 표시되면서 부팅이 시작되고, Rasbian이 자동으로 설치된다. 설치가 정상적으로 완료되면 (Lite 버전의 경우) raspberrypi login: 이 보인다. 초기 아이디는 pi , 비밀번호는 raspberry
3. 기본 환경 설정
Raspbian Lite 버전을 기준으로 서버로 활용하기 위한 기본 환경을 설정한다.
3.0. 설정 도구 실행
$ sudo raspi-config 명령을 통해 라즈베리파이 설정 도구(Raspberry Pi Software Configuration Tool)를 실행한다.
그럼 아래와 같이 블루라이트 차단 안경을 무력화하는 새파란 설정 도구가 실행된다.
3.1. 비밀번호 변경
1. Change User Password 를 선택하여 비밀번호를 변경한다.
초기 비밀번호를 사용해도 되지만, 라즈베리파이를 분실했을 경우를 고려하면 바꾸는 것이 마음 편하다. (주의) 키보드 설정을 하기 전에는 !@#$%^&* 등의 문자를 사용하지 않는 비밀번호를 사용한다.
3.2. Locale 설정
4. Localisation Options -> I1 Change Locale 클릭 쭉 내려가서 [*] en_US.UTF-8 UTF-8 선택 (스페이스바 사용) 후 OK ko_KR.UTF-8 UTF-8 을 사용하면 에러 메세지로 구글링하기가 더 어려워서 미국으로 선택했다. Default locale for the system environment 를 묻는 화면에서 en.US.UTF-8 선택 후 OK
3.3. Timezone 설정
4. Localisation Options -> I2 Change Timezone 클릭 Asia 선택, Seoul 선택 서버 시간을 그리니치 표준시(GMT+0) 또는 협정 세계시(UTC+0)로 맞추려면 London을 선택한다.
3.4. Keyboard Layout 설정
4. Localisation Options -> I3 Change Keyboard Layout 클릭 자세히 설명된 글을 참고하여 키보드를 설정한다. 설정하지 않으면 !@#$%^&*() 등의 Shift+숫자키로 사용하는 키를 사용할 수 없다고 한다. 해피해킹도 선택지에 있어서 기뻤다.
3.5. Wi-fi Country 설정
(주의) 반드시 변경해야 되는 것은 아니다.
변경할 경우 /etc/wpa_supplicant/wpa_supplicant.conf 파일에 country={국가코드} 가 작성되는데,
이것이 없어야만 무선 네트워크가 검색되는 경우도 있다고 한다.
4. Localisation Options -> I4 Change Wi-fi Country 클릭 US United States 혹은 GB Britain (UK) 선택 GB Britain (UK)를 선택해야만 정상 동작 한다는 사용자들도 있다.
u를 입력하면 United States(미국)을 금방 찾을 수 있다. KR Korea (South) 를 선택하면 안된다. 한국으로 선택했을때 무선 네트워크를 검색하지 못한다는 블로그 글이 많다.
나의 경우 한국으로 선택해도 우리집 무선 네트워크는 검색이 된다. 검색 방법 : sudo iwlist wlan0 scan 그런데 한국을 선택하고 $ ping www.google.com 으로 ping을 날려보면, 패킷이 전송되지 않고 ping: www.google.com: Temporary failure in name resolution 메세지가 뜬다. 미국, 영국, 일본을 선택하면 패킷이 정상적으로 전송된다. 또는 국가코드를 아예 삭제해도 패킷이 정상적으로 전송된다. 국가코드 삭제 방법 : /etc/wpa_supplicant/wpa_supplicant.conf 파일에 country={국가코드} 삭제
3.6. Wi-fi 설정 (raspi-config 사용)
와이파이를 raspi-config로 설정하는 방법과 wpa_passphrase로 설정하는 방법이 있다.
2. Network Options -> N2 Wi-fi Enter SSID and passphrase 클릭 라즈베리파이가 사용할 공유기의 SSID(와이파이 이름) 입력. 예시) KT_GiGA_2G_XXXX 비밀번호 입력 공유기 접속 확인 $ iwconfig 명령의 결과에서 ESSID 가 입력한 것과 같으면 정상 접속. 설정 확인 설정 파일(/etc/wpa_supplicant/wpa_supplicant.conf)에서 SSID와 비밀번호 확인 가능
3.7. Wi-fi 설정 (wpa_passphrase 사용)
raspi-config로 와이파이 설정 시, password가 설정 파일(/etc/wpa_supplicant/wpa_supplicant.conf)에 그대로 노출된다.
비밀번호를 암호화하기 위해서는 raspi-config 대신 wpa_passphrase 명령으로 와이파이를 설정하는 것이 좋다.
$ wpa_passphrase {SSID} {비밀번호} 명령을 치면, network 정보가 아래와 같이 콘솔에 출력된다. network={ ssid=”KT_GiGA_5G_HOME” #psk=”{비밀번호}” psk=7ac0c35da93c82d ….(생략) } 출력된 network 정보를 설정 파일(/etc/wpa_supplicant/wpa_supplicant.conf)에 추가한다. 이 때, 마우스가 없으니 출력될 정보를 Redirecting output(>>)으로 설정 파일에 넣는다.
라즈베리파이 공식 문서에 자세하게 설명되어있다.
$ sudo su # root 권한으로 변경 $ wpa_passphrase {SSID} {비밀번호} >> /etc/wpa_supplicant/wpa_supplicant.conf wpa_supplicant.conf 파일은 아래와 같다. ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid=”KT_GiGA_5G_HOME” #psk=”{비밀번호}” psk=7ac0c35da93c82d ….(생략) } (주의) network 윗부분의 내용도 반드시 포함되어야 한다.
비밀번호가 노출된 #psk=”{비밀번호}” 는 지우는 것이 좋다.
3.8. SSH 허용 및 접속
시력 보호를 위해 라즈베리파이에 SSH로 원격 접속해서 사용하는 것이 훨씬 편리하다.
SSH 접속을 허용하면 라즈베리파이에 모니터와 키보드를 연결할 필요 없이,
PC/랩탑에서 SSH를 통해 라즈베리파이에 접속하면 된다. (마치 AWS EC2 인스턴스가 내 책상에..)
SSH 허용 5. Interfacing Options -> P2 SSH -> YES 라즈베리파이 IP 확인 $ ifconfig
무선랜의 경우, wlan0 의 inet addr: xxx.xx.x.xx 에 적힌 IP 확인 (유선은 eth0) SSH 접속 (내부망) 주로 사용하는 PC/랩탑에서 $ ssh pi@{내부IP 주소} 로 접속
로 접속 (외부망) 밑에서 설명한 포트포워딩 설정 후 $ ssh -p {외부포트} pi@{외부IP주소 혹은 도메인명} 로 접속 느린 SSH 로그인 문제 해결 가끔 ssh 로그인 시도를 하면 엄청 느리게 응답이 오는 현상이 있는데, DNS 조회 설정 변경으로 이를 해결할 수 있다.
$ sudo vi /etc/ssh/sshd_config 명령으로 설정파일에 접근.
명령으로 설정파일에 접근. 파일 하단 쯤에 주석처리 되어있는 #UseDNS no 의 주석(#)을 해제.
의 주석(#)을 해제. $ sudo service ssh restart 명령으로 sshd 재시작.
4. 네트워크 설정
이 부분은 사용하는 공유기에 따라 설정 방법이 다르다.
ipTIME A3004NS-M 모델 (펌웨어 버전 11.00.4) 기준으로 작성했다.
4.0. 내부IP 고정
공유기를 통해 wi-fi를 사용하는 기기들에게 공유기는 임의로 내부IP(사설IP)를 할당한다.
기기를 wi-fi에 연결한 순서에 따라, 맥북은 192.168.0.2, 휴대폰은 192.168.0.3, 라즈베리파이는 192.168.0.4 이런식이다.
그런데 공유기에 전원이 차단되어 공유기가 재부팅되는 경우 등으로 인해 내부 IP 설정이 초기화 될 수 있다.
이런 상황을 대비해서 내부 IP를 공유기 내에서 고정시키는 것이 좋다.
ipTIME 접속 (192.168.0.1) 고급설정 – 네트워크 관리 – DHCP 서버 설정 하단에 [사용중인 IP 주소 정보] 중 라즈베리파이의 체크박스를 클릭하고 위에 등록 버튼 클릭.
4.1. DDNS 설정
ISP 사업자(KT, SKT 등)는 DHCP(동적 호스트를 제공하는 프로토콜)를 통해 가정집에 유동 IP를 할당해준다. 유동IP라도 IP가 자주 바뀌지는 않는다.
하지만 ISP 사업자가 DHCP 서버를 리셋하는 등의 수작을 부리면 우리집에 할당되었던 IP가 변경된다.
이 경우 DNS에 등록한 A 레코드(IP주소)가 변경된 것이기 때문에, A 레코드를 새로운 IP로 변경하여 도메인이 새 IP를 바라보게 해야한다. 그런데 DDNS 서비스를 사용하면 A레코드의 변경을 감지해서 자동으로 업데이트 해주기 때문에,
IP 변경에 신경 쓸 필요없이 고정IP 처럼 사용할 수 있다. 편리하게도 ipTIME에서 자체 DDNS 서비스를 제공한다.
구입한 도메인의 CNAME(혹은 ANAME, 혹은 Alias)으로 ipTIME DDNS를 등록해서 고정IP 처럼 사용할 예정이다.
ipTIME 접속 (192.168.0.1) 고급설정 – 특수기능 – DDNS 설정 호스트이름과 사용자 ID 입력 후 생성 이제 외부IP 대신 도메인( {호스트이름}.iptime.org )으로 라즈베리파이에 접근할 수 있다.
4.2. 포트포워딩 설정
외부에서 라즈베리파이의 IP 혹은 도메인과 지정된 포트로 접근했을 때, 연결시킬 내부 포트 설정
ipTIME 접속 (192.168.0.1) 고급설정 – NAT/라우터 관리 – 포트포워드 설정 새 규칙 추가 규칙이름: 사용자 정의
내부 IP주소: 3.7에서 확인한 라즈베리파이의 IP주소 입력
프로토콜: TCP
외부 포트: 예시- 20000(ssh), 443(https), 80(http)
내부 포트: 22(ssh), 443(https), 80(http) 등
참고 : http의 기본 포트가 80, https의 기본 포트가 443인 이유는 무엇일까?
4.3. ipTIME 원격접속 허용
ipTIME 접속 (192.168.0.1) 고급설정 – 보안기능 – 공유기 접속/보안관리 원격 관리 포트 사용 체크 및 원하는 포트번호 설정 설정해둔 ipTIME의 DDNS 도메인 + 포트번호로 원격에서 ipTIME 접근 가능 (예시) 1nteger.iptime.org:22000
5. Nginx 설치 및 설정
한글 폰트와 문자셋 설정은 당장 필요하지 않지만 해두었다.
5.0. Nginx 설치
$ sudo apt-get update $ sudo apt-get install nginx
5.1. 한글 폰트 및 입력기 설치
$ sudo apt-get install fonts-unfonts-core
$ sudo apt-get install ibus-hangul
5.2 Nginx 문자셋 설정
$ sudo vim /etc/nginx/nginx.conf
Basic Settings 하단에 아래 내용 추가 ~~~ charset utf-8; server { charset utf-8; } ~~~
6. 도메인, SSL 설정
6.0. 도메인 구입
블로그 도메인을 Godaddy에서 구입했었는데, 비싸다.
구글링 결과 Namecheap의 평가가 훨씬 좋아서 선택했다.
그리고 Godaddy는 ANAME이나 Alias를 제공하지 않아서 기존에 있던 도메인도 Namecheap으로 이전했다.
6.1. 도메인 연결
이 부분에서 삽질을 많이 했다. 아래에 삽질 과정을 요약했다.
ipTIME에서 설정한 DDNS 도메인( go-quality.iptime.org )을 구입한 도메인( go-quality.dev )의 CNAME으로 등록해서 고정IP 처럼 사용하려 했다. 하지만 정상적으로 접속되지 않았다. go-quality.iptime.org 는 서브 도메인(e.g. www)이 없는 Root domain인데, Root domain은 서브 도메인이 없으므로 CNAME 등록하면서 Host 부분에 와일드카드(* 또는 @)를 사용하면 된다고 생각했다. 알아보니 Root domain은 CNAME으로 설정하지 않는 것이 표준(RFC 1912, RFC 2181) 이었다. 이 표준은 기술적인 제약은 아니고 Contractual 제약인데, Namecheap이나 Godaddy에서는 표준을 따르고 있었다. 그래서 서브도메인이 없는 Root domain을 CNAME으로 등록하는 방법을 구글링하다보니 ANAME , ALIAS 등의 방법을 제공하는 업체들이 있었다. Godaddy에서는 ANAME도 ALIAS도 제공하지 않았는데, 다행히 Namecheap에서는 ALIAS를 사용해서 CNAME 처럼 등록할 수 있었다. 하지만 또 다시 정상적으로 접속되지 않았다. 알아보니 .dev 도메인은 https 접속이 default인데, SSL 인증서를 세팅하지 않은 것이다. 우선 Alias로 등록한 Root domain이 CNAME 처럼 등록되었는지 먼저 테스트를 해보고 SSL 인증서를 세팅하기로 했다. 테스트를 위해 Godaddy에 등록된 도메인 중 www.놀고있던도메인.com 을 Namecheap으로 옮겼다. 그리고 www.놀고있던도메인.com 도메인에 go-quality.iptime.org 를 ALIAS 로 설정했더니, CNAME 처럼 등록되었다. Alias 설정 후, www.놀고있던도메인.com 으로 접근하니 go-quality.iptime.org 에 띄워둔 Nginx 랜딩페이지를 볼 수 있었다. (Alias 테스트 성공) 그 이후, SSL을 설정하고 go-quality.dev 로 접근하니 아래 처럼 라즈베리파이에 실행중인 Nginx 랜딩페이지가 나타났다. (도메인 연결 성공)
6.2. SSL 인증서 생성 및 적용
Let’s Encrypt를 사용해서 무료로 SSL 인증서를 세팅해본다.
Let’s Encrypt는 “전 세계 모든 사이트를 HTTPS로 만들기!” 라는 슬로건으로 시작 된 오픈소스 프로젝트이다.
3개월마다 인증서를 갱신해야 하지만, 자동화할 수 있으니 문제없다.
실행중인 Nginx 종료 letsencrypt가 80번 포트를 사용해서 인증을 시도하기 때문에 실행중인 nginx를 종료해야 한다. $ sudo service nginx stop
80번 포트가 사용되지 않는 것을 확인한다. $ netstat -ant
라즈베리파이에 letsencrypt를 설치한다. $ sudo apt install letsencrypt 인증서 생성 sudo letsencrypt certonly –standalone -d go-quality.dev 인증서 생성 결과 확인
위의 결과를 요약하자면, 인증서와 키 파일이 각각 아래 경로에 저장되었다. /etc/letsencrypt/live/go-quality.dev/fullchain.pem /etc/letsencrypt/live/go-quality.dev/privkey.pem 인증서는 2020년 2월 21일에 만료되고, $ certbot renew 명령을 통해 갱신할 수 있다. Certbot 설정 디렉토리(/etc/letsencrypt)에 너의 계정 credential과 인증서, 그리고 private key가 저장되었으니, 안전한 백업폴더를 생성하는 것이 좋다. Certbot에 기부좀 해줘.
$ certbot certificates 명령으로 발급받은 인증서 목록 확인
Nginx에 인증서 적용 Nginx 설정 파일( /etc/nginx/nginx.conf )의 http{ … } 안에 아래 내용을 추가한다. server { listen 443 ssl default_server; listen [::]:443 ssl default_server; ssl_certificate /etc/letsencrypt/live/{도메인명}/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/{도메인명}/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; } Nginx 시작 및 포트확인 $ sudo service nginx start
$ netstat -ant 443 포트 listening을 확인한다.
SSL 적용 확인 SSL을 적용했는데 브라우저의 주소창 왼쪽 자물쇠가 여전히 잠겨있지 않다면, whynopadlock에서 문제점을 진단받아본다.
참고 : LETSENCRYPT 에서 SSL 인증서를 무료로 발급 받아 웹 서버에 적용하기
6.3. SSL 인증서 자동갱신 설정
30일 마다 라즈베리파이에 접속해서 $ certbot renew 를 입력하는 것은 귀찮다.
Crontab으로 인증서 갱신을 자동화 한다.
인증서 만료일 확인 $ certbot certificates 명령으로 Expiry Date 확인 시스템 시간 확인 $ date 기존에 설정된 Crontab 확인 $ sudo cron -l Crontab 편집 $ sudo cron -e
아래 내용 추가 후 저장 # 매월 1일 새벽4시에 $ certbot renew 명령을 내리고, 갱신에 성공하면 nginx reload 0 04 1 * * /usr/bin/certbot renew –renew-hook= “sudo systemctl reload nginx” Crontab 실행 로그 확인 갱신이 제대로 이루어지는지 로그로 확인한다.
$ view /var/log/syslog
참고 – Let’s Encrypt SSL 인증서 자동 갱신 설정 방법 – SSL 인증서 자동 갱신 오류
7. 기타
7.0. 온도 측정용 쉘 스크립트 작성
쉘 스크립트 파일 생성 $ sudo vim thermometer.sh 쉘 스크립트 작성 #!/bin/bash cpuTemp = $( cat /sys/class/thermal/thermal_zone0/temp ) cpuTemp1 = $(( $cpuTemp / 1000 )) cpuTemp2 = $(( $cpuTemp / 100 )) cpuTempM = $(( $cpuTemp2 % $cpuTemp1 )) gpuTemp = $( /opt/vc/bin/vcgencmd measure_temp ) gpuTemp = ${ gpuTemp } gpuTemp = ${ gpuTemp //temp=/ } echo $( date “+%Y-%m-%d %H:%M” ) echo Temperature CPU : $cpuTemp1 “.” $cpuTempM “‘C, GPU : ” $gpuTemp 라즈베리파이 온도 확인 $ ./thermometer.sh
참고 : 라즈베리파이 시스템 온도(발열) 확인
1편 끝.
처음에 라즈베리파이에 토이프로젝트를 올려야겠다는 생각이 들었을 때는,
솔직히 이렇게 삽질을 많이 하게 될 줄(많은 걸 배우게 될 줄)은 몰랐다.
라즈베리파이 사서, OS 설치하고, wi-fi 연결하고, nginx 설치하고, jar파일 올리고, 도메인 연동하면 끝이라고 생각했던 것이다.
실제로 그게 전부다.
하지만 그 사이사이에, 내가 가진 개발지식의 빈 틈들이 미쳐 날뛰어준 덕분에
내가 이걸 여태 모르고 개발자라고 떠들고 다녔구나.. 라는 아..하.. 모멘트가 쉴 새 없이 휘몰아쳤다.
컴공 전공자들은 대학생때 학교 과제로, 혹은 심심풀이로 만진다는 라즈베리파이를..
나는 뜨거운 쇠공을 굴리듯, 손 댈 때마다 앗 뜨거! 하며, 구글링 삼매경에 빠졌더랜다.
들인 시간 대비 실제로 한 것은 별로 없지만, 이렇게라도 빈 틈을 채울 수 있어서 좋았다.
2편은 Spring boot 어플리케이션을 라즈베리파이에 배포하는 과정을 정리할 예정이고,
3편은 토이프로젝트의 인프라 환경을 도커 기반으로 바꾸는 과정을 정리할 예정이다.
Reference
[RaspberryPi] 라즈베리 파이 8GB로 서버 구축하기
공식 홈페이지의 다운로드 사이트인데, 혹시나 뭐 이상한 사이트로 연결될까 걱정되는 사람은 걍 구글이든 어디든 라즈베리파이 OS 검색해서 다운로드하면 되겠다. 공식 사이트 가도 되고.
라즈베리파이자체는 소형컴퓨터라고 보면 되기 때문에 어떤 운영체제든 다 설치가 가능하다. LINUX 계열의 우분투, 센트 등은 물론 윈도우도 가능하다. 뭐 잘 하면 맥 OS도 어찌어찌 설치는 될 거다. 대신 CPU 아키텍처라고 하나, 하튼 그게 ARM 방식으로 그에 맞는 운영체제를 골라야 한다고 한다.
(아직 CPU와 운영체제 등에 대한 공부가 부족해서 이 부분은 잘 모르겠다. 그냥 사람 체형과 그 상황, 목적에 맞는 옷을 고르듯이 CPU에 맞는 걸 고른다고 보면 될 듯하다.)
하튼 소형 컴퓨터니까, 운영체제는 아무거나 설치가 가능하다. 검색해보면 벼러별 OS를 설치하는 것을 발견할 수 있다.
라즈베리파이 OS는 데비안을 기반으로 하는 라즈베리에 최적화된 리눅스 운영체제로, 라즈베리파이 개발사에서 제공하고 있다. 사실 이미 우분투를 다룰 줄 알기에 처음에는 그냥 우분투 server를 설치할까 생각해 있는데, 라즈베리 파이에서 호환 문제도 있다고 하고, 어차피 공부하는 거 데비안 기반이긴 하지만 조금 차이가 있을 라즈베리파이 OS를 통해 조금 더 다양하게 접해보자는 취지에서 라즈베리파이 OS를 선택했다.
그리고, 어차피 라즈베리파이자체에 모니터 등을 연결해서 사용할 일은 없고 그냥 원격에서 사용할 것이기 때문에 GUI가 필요 없어서 텍스트 기반의 lite 버전을 택했다. 서버가 애초에 이처럼 텍스트 기반으로 되어 있기도 하고, GUI에 비해 쓸데없는 것이 안 깔려서 훨씬 가볍기도 한 것도 한몫했다.
라즈베리파이 8GB부터는 64bit를 지원한다고 하는데, 아직 라즈베리파이 OS로는 32bit만 존재하기에 그냥 이걸로 설치했다. 외장하드를 스토리지로 사용하기 때문에, 여기에 모든 데이터를 저장하기에 나중에 64bit로 운영체제를 갈아치우는데 부담이 없고, 그렇게 되면 또 다른 공부가 될 것 같아서 우선 32bit를 설치해두었다.
설치방법은 간단하다.
윈도우 기준 저거 이미지 파일을 받아서 그냥 refus 이용해서 micro sd카드를 부팅 usb로 구우면 된다.
【라즈베리파이】 Raspberry Pi로 웹 서버 만들기
Raspberry Pi로 웹 서버 만들기
추천글 :
Step 1. 보드의 선택
⑴ ODROID, Raspberry Pi 등 다양한 보드가 웹서버 구현에 이용될 수 있음
⑵ 프로젝트에 도움이 된 사이트
① https://www.seeedstudio.com/blog/2020/06/23/setup-a-raspberry-pi-web-server-and-easily-build-an-html-webpage-m/
Step 2. Raspberry Pi booting
⑴ 2-1. 준비물
① Raspberry Pi 보드 (e.g., Raspberry Pi 2 Model B 1 GB)
② USB 마우스
③ USB 키보드
④ 랜선
⑤ 모니터 및 HDMI 케이블
⑥ micro SD card (8 GB 이상) 및 SD card adapter
⑵ 2-2. micro SD card를 SD card adapter에 꽂은 뒤 일반 PC에 연결
⑶ 2-3. 일반 PC에서 Raspberry Pi Imager 다운로드
⑷ 2-4. Raspberry Pi Imager.exe를 실행시켜서 해당 micro SD card에 부팅
① 기존에 micro SD card에 설치된 파일은 전부 삭제되니 주의할 것
⑸ 2-5. 그 뒤 micro SD card를 분리하여 Raspberry Pi 보드에 꽂음
⑹ 2-6. Raspberry Pi 보드에 전원을 넣어 실행시킴
Figure. 1. Raspberry Pi 보드에 전원을 넣은 직후
⑺ 2-7. HDMI 케이블을 통해 모니터와 Raspberry Pi 보드를 연결
① HDMI 케이블로 연결하자 마자 Raspberry Pi 부팅이 시작됨
Video. 1. Raspberry Pi 보드를 실행시킨 직후의 모습
Step 3. SSH 설치
⑴ SSH : 외부 PC에서 Raspberry Pi와 소통하기 위한 프로토콜
① 편의를 도모하기 위한 절차로 충분히 Raspberry Pi 내에서 대부분을 할 수 있음
⑵ 3-1. PuTTY에서 SSH를 설치
Step 4. Apache 설치
⑴ 개요 : 웹서버의 소프트웨어의 종류는 다음과 같음
① Apache (recommended)
② IIS
③ WebtoB
④ NGINX
⑤ Lighttpd
⑥ EngineX
⑵ 4-1. command 실행
⑶ 4-2. package list를 uptade
sudo apt-get update sudo apt-get upgrade
⑷ 4-3. Apache2 설치 및 상태 확인
sudo apt install apache2 -y sudo service apache2 status hostname -I
① 두 번째 줄 : 웹 서버 개설 여부 확인
② 세 번째 줄 : 서버로서의 Raspberry Pi의 IP 주소를 확인할 수 있음
③ 위 IP 주소를 모바일이든, 일반 PC든 브라우저 주소창에 기입하면 웹페이지를 볼 수 있음
⑸ 4-4. HTML 페이지 편집 : 기본적으로 이 단계까지 오면 /var/www/html/index.html에 기본 웹페이지가 제공됨
cd /var/www/html ls -al sudo chown pi: index.html ls -la sudo nano index.html
① 첫 번째 줄 : 디렉토리 이동
② 두 번째 줄 : 모든 파일 list-up
③ 세 번째 줄 : index.html에 접근하기 위한 권한을 “pi”에게 부여
④ 다섯 번째 줄 : 편집이 끝나면 ‘Ctrl + X’, ‘Y’ 순으로 입력하고 마지막에 Enter를 치면 됨
Step 5. PHP 설치
⑴ 개요
① general-purpose programming language이자 server-side scripting language
⑵ 5-1. PHP 설치
cd sudo apt-get -y install
Step 6. Maria DB 설치
⑴ 개요
① Maria DB는 Raspberry Pi에서 가장 많이 쓰이는 DB 중 하나
② Apache가 web server를 host하는 반면 Maria DB는 데이터베이스에 데이터를 저장하는데 사용됨
③ Maria DB는 MySQL을 각색하여 만듦
⑵ 6-1. server installation
sudo apt update sudo apt upgrade sudo apt install mariadb-server Y
⑶ 6-2. root access
sudo mysql_secure_installation
⑷ 6-3. connect with root
mysql -uroot -p
⑸ 6-4. create a new user on Maria DB
sudo mysql -uroot -p ### mysql ### CREATE DATABASE
CREATE USER ‘ ‘@’localhost’ IDENTIFIED BY ‘ ‘; GRANT ALL PRIVILEGES ON .* TO ‘ ‘@’localhost’; FLUSH PRIVILEGES; ⑹ 6-5. test the connection
sudo mysql -upi -p
Step 7. 웹 설치
⑴ 개요 : 다음과 같이 웹사이트 개설을 편리하게 도와주는 플랫폼이 있음
① Wix
② Squarespace
③ WordPress
④ XE core
⑵ 작성중
입력: 2021.08.08 13:44
반응형
라즈베리파이 서버로 워드프레스 돌릴때 장점 & 단점
안녕하세요 데브보노입니다.
지금 여러분께서 보고계신 이 블로그는 라즈베리파이4B 8G 모델에 LEMP(Linux, Nginx, MariaDB, PhP)스택을 올린 뒤 워드프레스를 사용하여 제작하였습니다.
라즈베리파이서버의 장점
서버유지비가 거의 들지 않는다
요새 트렌드는 AWS(아마존웹서비스)라이트세일의 리눅스 서버 호스팅을 이용하여 LEMP를 올리고 워드프레스를 올리는 것 같은데…
AWS를 이용하게 되면 최저요금제 기준 매달 $3.5 정도의 요금이 지출되게 됩니다. 물론 아메리카노 한잔 덜 마신다고 생각하면 될 정도의 저렴한 요금이지만…
매월 지속적인 요금이 빠져나간다는게 왠지 아까운 기분이 들었습니다. 그리고 저는 앱 개발을 취미로 하고있기 때문에, 앱에 특정 정보를 제공해 줄 db서버도 필요한 상황이었습니다.
이러한 상황을 들은 나의 개발자 친구가 ‘그럴거면 라즈베리파이를 사용해서 서버를 돌리는 것도 괜찮은 방법’이라는 말을 해 주었습니다.
사실 저는 평범한 30대 직장인(취미가 앱 개발인게 평범하지는 않을지도 모르겠습니다만)이고, 대학교 전공도 컴퓨터와는 큰 연관이 없었기에 제가 알고 있는 컴퓨터에 대한 지식은 전부 독학으로 배운것이었습니다.(직장도 개발과는 무관합니다)
이 상황에서 라즈베리파이로 웹서버를 운영한다는 것은 ‘리눅스’ 라는 생소한 운영체제의 설치 및 사용법을 익혀야 하고, LEMP스택을 올린 뒤, 워드프레스라는 툴의 사용법까지 익혀야 했습니다.
처음엔 아주 높아보이는 진입장벽이라고 생각하였습니다만, 사실 리눅스 서버를 내 책상 위에 마련한다는 것이 차이점이지 나머지 부분에 있어서는 AWS를 사용하는 것과 별 다를게 없다는 것을 깨달았습니다.
라즈베리파이4로 웹서버를 운영하면 초기 구입비용이 AWS이용하는것 보다 많지만, 한번 구축하게 되면 더이상의 추가 비용은 필요하지 않다는게 가장 큰 장점이라고 생각되었습니다. 그리고 AWS라이트세일보다 하드웨어 성능이 뛰어나지요.
라즈베리파이4의 모습
대략적인 성능을 적어보자면, 2,4,8GB RAM(셋중 하나 선택), ARM기반 쿼드코어 64-bit 1.5GHz 프로세서, microSD카드를 사용한 저장공간, 무한대 전송량을 지니고 있죠
aws 라이트세일과 비교해보자면 다음과 같은 위치에 있겠습니다.
출처: https://aws.amazon.com/ko/lightsail/pricing/?opdp1=pricing 에 필기
메모리 용량을 어떤것을 고르냐에 따라 aws라이트세일의 어느쯤에 속하는 성능을 지니는지 판가름나겠습니다.
가장 값싼 2GB 메모리를 가진 녀석을 구매하는 경우 월 $10 정도의 요금제와 비슷한 성능을 보여줍니다(애초에 4코어 프로세서에다가 SD카드 용량에 따라서 저장공간을 확장할수 있으며, 전송량에 제한이 없다는 점은 $10요금제를 상회하는 장점입니다)
만약에 8GB 메모리를 고른다면 월 $40 정도의 요금제에 육박하는 성능을 낼 수 있는 거지요.
저는 앞으로 어플리케이션용 db서버의 역할까지 할 것을 고려해서 8GB모델을 사용하여 총 143957원을 지출하였습니다.
출처 : 엘레파츠 개인 주문내역
만약에 가장 저렴한 2GB모델을 고른다면 89947원 입니다. 4GB모델을 고른다면 115357원 이 되겠네요.
위의 주문내역을 잠깐 설명하자면, 저는 이미 HDMI케이블을 가지고 있기에 어댑터만 주문하였고 라즈베리파이에 전원을 공급하기 위해 충전기를 주문하였습니다. 저 충전기는 다음과 같은 스펙을 지니고 있습니다.
출처: 제조사 설명
라즈베리파이에서는 5V/3A의 출력을 내는 녀석을 사용하면 된다고 나와있어서 저렇게 구매하였습니다.
나중에 주문 하고 나서 알게된 사실입니다만… 라즈베리파이에는 가변전압을 지원하는 급속충전기를 사용하게되면 내부 부품이 망가질 수 있다고 합니다.
혹시 저를 따라서 구입하실 분들께서는 전압은 5V만을 지원하고, 3A의 충전전류를 지원하는 녀석으로 구매하시길 바랍니다. 만약 집에 있는 다른 충전기를 사용하고 싶으시다면 최소 5V/2A이상의 성능을 내는 녀석을 골라주시기 바랍니다.
2A짜리로는 USB에 큰 전력을 소모하는 기기(예를들자면 SSD같은 저장장치)를 사용하는 경우 성능저하 또는 제대로 작동하지 않을 수 있습니다.(저는 결국 액정태블릿 전원공급용 5V/2.3A짜리를 사용하고 있습니다.)
microSD의 경우에는 22693원짜리 128GB 를 사용하였습니다.
다른 128GB짜리 microSD에 비해 조금 가격이 있는 녀석을 골랐는데요. 이유는 노란색 형광펜으로 칠해놓은 읽기&쓰기 속도 때문입니다. 저정도 속도를 가진 녀석은 microSD카드 표면에 A2라는 표식이 되어 있습니다.
만약에 더 값싼 microSD카드를 구매하실 생각이라면 최소 A1스펙을 가진 녀석을 골라주시기 바랍니다.(읽기쓰기 속도가 느린 경우 100% 성능을 발휘할 수 없습니다)
준비물 설명은 여기까지 하고 다음 글 부터는 우분투 리눅스를 설치하는법 부터 차근차근 알려드리겠습니다.
다음단계
라즈베리파이4에 우분투 리눅스 설치하기
Raspberry Pi 웹 서버를 설정하는 방법 [Guide]
Raspberry Pi는 작은 보드 컴퓨터일 뿐만 아니라 거의 모든 것을 할 수 있는 팅커 카드입니다. 전체 홈 네트워크에서 광고와 추적기를 차단하도록 Raspberry Pi에 Pi-hole을 설정하시겠습니까? 네, 그렇게 합니다. 웹 개발 및 로컬 파일 전송을 위해 Raspberry Pi 웹 서버를 설정하시겠습니까? 글쎄요, 그것도 합니다. 사실, Raspberry Pi를 사용하는 것은 개인 웹 서버를 구축하는 훌륭하고 저렴한 방법입니다. 따라서 관심이 있는 경우 이 간단한 가이드를 따르고 Raspberry Pi를 즉시 웹 서버로 전환하십시오.
Raspberry Pi 웹 서버 설정(2021)
Raspberry Pi 웹 서버를 설정하려면 먼저 웹 서버를 설치해야 합니다. 널리 사용되는 웹 서버에는 Apache와 Nginx가 있습니다. 그러나 이 튜토리얼에서는 Apache가 안정적이고 사용하기 쉽기 때문에 Apache를 사용할 것입니다. 그 외에도 Raspberry Pi에서 동적 웹 페이지를 호스팅할 수 있도록 PHP도 설치합니다. 이제 모든 것을 말했으므로 단계로 넘어갑니다.
Raspberry Pi에 Apache 웹 서버 설치
1. 먼저 플래시가 켜져 있는지 확인하십시오. 데스크탑이 있는 라즈베리 파이 OS SD 카드의 UI. 이 모든 것이 처음이라면 Raspberry Pi를 원격으로 설정하는 방법에 대한 가이드를 따르십시오. 즉, 외부 모니터가 있는 경우 상황이 훨씬 더 원활할 것입니다.
2. Raspbian OS가 부팅되면 터미널을 열고 아래 명령을 실행하여 라즈비안 OS 업데이트 최신 버전으로.
sudo apt-get update && sudo apt-get upgrade -y
3. 다음으로 우리는 아파치 웹 서버 설치 라즈베리파이에서. 터미널에서 아래 명령어를 실행합니다.
sudo apt install apache2 -y
4. 설치가 완료되면 Apache 웹 서버가 활성화됩니다. Raspberry Pi에서 브라우저를 열고 다음을 입력하십시오. localhost 또는 127.0.0.1 , Enter 키를 눌러 웹 서버에 액세스합니다. Apache의 HTML 페이지를 로드해야 합니다.
5. 라즈베리파이의 IP 주소를 브라우저에 직접 입력하여 웹 서버에 접속할 수도 있습니다. 달리다 hostname -I 터미널에서 RPi의 IP 주소를 찾을 수 있습니다.
6. 브라우저에 IP 주소를 입력하면 거기에 있습니다. 사실, 당신은 할 수 있습니다 모든 장치에서 IP 주소 사용 로컬 Wi-Fi 네트워크에서 웹 서버에 액세스할 수 있습니다. 예를 들어 Chromebook에서 Raspberry Pi의 웹 서버에 쉽게 액세스할 수 있습니다.
7. 참고로 모든 웹 서버 파일은 다음 위치에 저장됩니다. /var/www/html/ 위치. 따라서 디렉토리를 이 위치로 변경하고 모든 파일을 볼 수 있습니다. 다음은 실행할 명령입니다.
cd /var/www/html/ ls -al
8. 위의 스크린샷에서 볼 수 있듯이 index.html 파일의 소유자 root . 따라서 수정하기 전에 소유자를 다음으로 변경해야 합니다. pi (너). 아래 명령을 실행하여 소유권을 변경.
sudo chown pi: index.html ls -al
아래 스크린샷에서 볼 수 있듯이, pi 이제 웹 서버의 소유자입니다. 같은 형식을 사용하여 다음과 같은 폴더의 소유권을 변경할 수도 있습니다. html 그리고 www .
9. 이제 터미널 또는 파일 관리자를 통해 파일을 엽니다. 더 쉽게 액세스할 수 있도록 파일 관리자를 사용하고 있습니다. 로 이동 “var -> www -> HTML”“index.html” 파일을 마우스 오른쪽 버튼으로 클릭하고 “텍스트 편집기”를 선택합니다.
10. 이제 제목을 변경하고 저장하면 웹 서버에 바로 반영됩니다. 업데이트된 제목을 볼 수 있습니다. 브라우저에서 웹 서버 열기 창문. 이 단계에서는 Raspberry Pi 웹 서버가 제대로 작동하는지 확인합니다.
라즈베리파이에 PHP 설치
Raspberry Pi에서 웹 페이지를 테스트하려는 경우 웹 서버만 설치해도 잘리지 않습니다. 또한 PHP를 설치해야 합니다. XAMPP와 같은 솔루션 라즈베리파이에서. 이를 통해 Raspberry Pi에서 동적 웹 페이지를 테스트할 수 있습니다. 이에 대한 방법은 다음과 같습니다.
1. 아래 명령을 실행하여 최신 버전의 PHP 라즈베리 파이에서.
sudo apt install php libapache2-mod-php -y
2. 다음으로 같은 위치로 이동 var/www/html/ 디렉토리 및 PHP를 생성 텍스트 편집기를 사용하여 파일.
3. 다음으로 텍스트 편집기로 파일을 열고 PHP 코드를 입력 추가하고 싶습니다. 예를 들어, 간단한 명령문을 출력하는 PHP 코드를 추가했습니다.
Raspberry Pi에서 FileZilla 테스트
Raspberry Pi에서 Apache 웹 서버와 PHP를 설정했으면 마침내 기존 웹 자산을 다음을 사용하여 RPi 웹 서버로 전송할 수 있는지 테스트할 차례입니다. 인기 있는 FTP 클라이언트 FileZilla. 원하는 경우 WinSCP와 같은 다른 FTP 클라이언트를 사용할 수도 있습니다. 다음은 따라야 할 단계입니다.
1. 설치 파일질라 (무료) 동일한 Wi-Fi 네트워크에 연결된 다른 PC에서.
2. 다음으로, Raspberry Pi에서 “시작 메뉴 -> 환경 설정 -> Raspberry Pi Configuration” 섹션으로 이동합니다. 여기에서 “인터페이스”로 이동하고 “SSH” 활성화.
3. FileZilla에서 “파일 메뉴 -> 사이트 관리자”를 열고 “새 사이트”를 추가합니다. 여기, “SFTP”를 선택하십시오 프로토콜로 “호스트” 필드에 Raspberry Pi 웹 서버의 IP 주소를 입력합니다. “포트” 필드를 비워 두십시오. 그런 다음 기본 자격 증명을 입력합니다. pi 사용자 이름으로 raspberry 암호로. 이제 “연결”을 클릭하십시오.
메모: 설정 과정에서 라즈베리파이의 비밀번호를 변경했다면, 새로운 비밀번호를 입력하세요.
4. Raspberry Pi의 웹 서버에 연결합니다. 이제 할 수 있습니다. 모든 HTML, CSS 및 PHP 자산 전송 Raspberry Pi에 직접 연결하고 번거로움 없이 웹 개발을 진행하세요.
몇 가지 간단한 단계로 Raspberry Pi를 웹 서버로 전환
이것이 Raspberry Pi에서 웹 서버를 설정하는 방법입니다. 웹서버 실행에 필요한 모든 도구는 데비안 기반의 라즈비안 OS에서 사용 가능하므로 전혀 문제가 없습니다. 초보자라도 위의 단계별 지침을 따르면 RPi 보드를 순식간에 웹 서버로 전환할 수 있습니다. 어쨌든, 그것은 우리의 전부입니다. 질문이 있는 경우 아래 댓글 섹션에 알려주십시오.
[라즈베리파이3 본체만 가지고 개인 서버 만들기(feat. sk 무선인터넷 and iptime)] 1. Raspbian OS 설치
하루 종일 고생해서 처음으로 블로그 포스팅을 해본다.
아마 iptime 이외의 3사 공유기 쓰시는 분들은 이미 알려져 있는 방법으로 연결이 안되는 경우가 있다.
개인 서버 구축하기 위해 라즈베리파이3 구매 후 라즈비안 설치부터 원격 제어까지 내가 한 방법으로 설명한다.
개발환경
노트북(windows10, wifi 사용) – sk 브로드밴드 무선 인터넷 에서 시작했다.
이제 개인서버를 만들기 위한 최소한의 준비물이다.
-준비물
라즈베리파이3
micro SD 8G이상
본인은 16G 사용중.
microSD 리더기
다이소에서 샀는데 위 제품은 1000원인가 2000원짜리
나는 5000원 짜리 샀다.
저 제품은 네이버 검색결과 10분 중 1분만 작동한다는…
복불복이라 선택은 당신에게..
랜선
공유기 또는 sk무선 인터넷 단말기 또는 iptime에 라즈베리파이를 연결하기 위해 랜선이 필요.
또는 고정ip를 위해 물리주소를 알기 위해 사용.
파워(2.5A 5V)또는 USB(본인은 안해봤지만 USB로 파워를 공급할 수 있다고 한다.)
그리고 가끔 보면 핸드폰 충전기로 하시는 분들 계신데
핸드폰 충전기는 2A로 테스트해본 결과 쿨러라도 달려있으면 전력공급이 중간중간 끊긴다.
쿨러가 없더라도 불안정하더라.. 전원 불이 깜빡깜빡;;;
불편하더라도 따로 구매하시거나 안쓰는 어댑터로 개조해서 쓰시는게 좋을 듯 하다.
추가적으로iptime 공유기 한 대 있으면 된다.
만약 본인이 외부가 아니라 집에서만(같은 외부ip의 내부ip사용) 라즈베리파이를 원격제어하고 싶다면
없어도 된다.
하지만 여기서는 개인 서버를 만들기 위한 목적으로 나중에 유동ip 를 보완해줄 DDNS 를 사용하기 위해서는
iptime이 필요하다.
마지막으로 원격 제어할 노트북 또는 데스크탑이 필요하다.
1. 라즈비안 설치
먼저 microSD에 라즈비안을 설치!
리더기를 이용해서 microSD에 OS를 다운 받는다.
그냥 파일만 옮기면 되는 것이 아니라 이미지 파일을 구워야 한다.
1-1 라즈비안 이미지 파일 다운
라즈비안은 라즈베리파이 사이트에서 다운 받을 수 있다.
https://www.raspberrypi.org/downloads/raspbian/
본인은 스트레치 LITE 버전을 다운 받았다.
LITE 버전은 최소한의 것들만 가지고 있다.
(jessie 버전과 설정법이 아예 다르다고 하는데 차근차근 알아볼 예정이다.)
데스크탑 버전은 x-windows까지 깔려있다.
하지만 우리는 원격 제어를 사용하고 서버를 만들 것이기 때문에 굳이 부팅 속도를 늦출 필요는 없을 것 같다.
그리고 나중에 설명하겠지만 putty 사용하게 되면 어차피 터미널 화면을 보는 것이 편하다.
x-windows 환경을 볼 수는 있지만 생각보다 불편하게 사용해야 한다.
만약 x-windows를 사용하고자 한다면 데스크탑 버전을 받고 VNC을 사용하면 된다.
압축을 푼 용량은
데스크탑은 4.6G LITE는 1.7G 정도 나온다.
참고로 토렌트보다 압축 파일이 더 빠르다. 아마 릴리즈가 최근이라 토렌트 업로더가 별로 없나보다..
1-2 이미지 굽기
리더기에 micro SD 카드를 넣고 USB에 꽂아 준다.
다음은 굽기.
https://etcher.io/
이미지를 굽기 위해 먼저 위 프로그램을 다운 받는다.
순서 대로 이미지 선택 후 sd카드 선택 후 Flash! 눌러주면 끝!
1-3 부팅 테스트
위 사진처럼 라즈베리파이에 sd카드를 꽂고 전원을 온 하면,
위 사진처럼 두 개의 LED에 불이 들어온다.
만약 전원을 5V 2.5A로 정상적으로 입력했다면,
빨간색 불이 잠깐 깜빡이다가 더 이상 깜빡이지 않고 켜져있는 것을 볼 수 있다.
그리고 초록색 불이 주기적으로 깜빡이는데 더이상 깜빡이지 않고 꺼져 있다면,
부팅이 완료 된 것이다.
일단 이 상태로 둔다!
다음 포스트에서 sk 무선인터넷을 사용하시는 분들을 위해 고정아이피 설정하는 법을 설명하겠다.
반응형
라즈베리파이를 웹서버로 사용하기
단일 보드 컴퓨터인 Rasberry Pi는 기본적으로 서버를 직접 실행할 수 있는 방식으로 빠르게 설정할 수 있습니다.성능이 다른 경쟁 제품보다 약간 낮더라도 개인용 Raspberry Pi 웹 서버는 여러 측면에서 유용할 수 있습니다. 호스팅 환경에서 웹 사이트를 테스트 및 호스팅하거나 파일을 개별적으로 관리하고 클라우드를 통해 사용할 수 있도록 하는 것은 단지 이 옵션이 제공하는 응용 프로그램은 거의 없습니다.이 튜토리얼에서는 이 무료 소프트웨어 패킷을 사용하여 소형 PC에서 자신의 웹 서버를 설정하는 방법을 보여줍니다.
Raspberry Pi 웹 서버는 무엇을 할 수 있습니까?
Raspberry Pi 웹 서버를 사용하는 경우 하드웨어가 제한적이라는 사실을 인식하는 것이 중요합니다.컴퓨터의 성능은 표준 인터넷 공급자를 통해 임대할 수 있는 기존 웹 서버의 성능보다 낮습니다.Raspberry Pi는 복잡한 인터넷 존재(온라인 상점 또는 동적 콘텐츠가 많은 웹 사이트와 같은)를 호스팅하는 데 적합하지 않으며 방문자가 많은 사이트를 다룰 때도 피해야 합니다.많은 국내 인터넷 연결은 Raspberry Pi가 본격적인 서버가 되는 것을 방지하기 위해 감소된 대역폭을 제공합니다.
이러한 점에도 불구하고 Raspberry Pi를 사용하여 운영되는 웹 서버에는 인터넷이 연결된 홈 서버로 사용하거나 회사 네트워크로 사용할 수 있는 다양한 응용 분야가 있습니다.또한 인터넷 존재도 테스트할 수 있으며 적당한 양의 트래픽을 경험하는 온라인 및 소규모 웹사이트도 호스팅할 수 있습니다.또한 이 기술로 자체 클라우드를 운영하거나 주택 자동화(조명, 난방 등 제어)용으로 설계된 프로그램을 설정할 수도 있습니다.
추가 이점은 Raspberry Pi 웹 서버 실행과 관련된 저렴한 비용의 형태로 제공됩니다. 인터넷 연결과 전원만 있으면 됩니다.후자의 구성 요소는 일반적으로 5W 표시를 초과하지 않으므로 지속적인 작동으로 인해 잠을 자지 않아도 됩니다.또한 일회성 할부 수수료와 기타 필수 구성 요소도 상당히 무시할 수 있는 비용입니다.
Raspberry Pi 웹 서버 요구 사항
다음 웹 서버는 Raspberry Pi를 웹 서버로 설정하는 다양한 방법 중 하나를 제공합니다.설치하려면 소형 컴퓨터 외에 다음이 필요합니다.
운영 체제 Raspbian이 설정된 SD 카드
네트워크 케이블(권장) 또는 WiFi를 통한 인터넷 연결
마이크로 USB 케이블을 통한 전원 공급
웹 서버가 헤드리스(즉, 화면이나 입력 장치 없이 작동)이므로 에너지 효율이 높기 때문에 SSH를 통해 원격 액세스 옵션도 설정하는 것이 가장 좋습니다.Windows용 SSH 클라이언트(예: PuTTY, WinSCP) 또는 Unix 운영 체제용 OpenSSH의 도움으로 사용자는 컴퓨터, 스마트폰 또는 기타 장치에서 웹 서버를 쉽게 설정하고 변경할 수 있습니다.SSH를 통해 서버를 관리하기로 결정한 사용자의 경우 SSH 클라이언트에 Raspberry Pi의 IPv4 주소를 입력하여 둘을 서로 연결하십시오.Raspberry Pi의 주소를 모르는 경우 hostname –l 명령(또는 ifconfiq 사용)을 사용하여 터미널에서 호출할 수 있습니다. 헤드리스 Raspberry Pi 설정을 사용하는 경우 웹 브라우저를 호출하여 라우터를 통해 주소를 찾을 수 있습니다(일반적으로 “http://192.168.0.1” 아래).
더 많은 저장 공간이 필요한 사설 클라우드 또는 다른 애플리케이션에 웹 서버를 사용하려는 사람들은 저장 용량을 확장해야 합니다.Raspberry Pi를 사용하면 USB 저장 장치나 외장 하드 드라이브를 통해 아주 쉽게 이 작업을 수행할 수 있습니다.
동일한 IP 주소에서 영구적으로 사용 가능한 서버 만들기
서버는 사용자가 지속적으로 액세스할 수 있도록 온라인과 동일한 IP 주소에서 모두 사용할 수 있어야 합니다.일반적으로 홈 서버의 인터넷 연결에는 하나의 동적 IP 주소만 있습니다.이것은 정기적으로 변경되며(대부분 24시간 이후) 동일한 IP 주소에서 서버를 사용할 수 없습니다.고정 IP 주소는 일반적으로 여기에서 사용되지만 모든 인터넷 제공업체에서 제공하는 것은 아닙니다.
그러나 동일한 주소에서 서버를 호스팅할 수 있는 다른 가능성이 있습니다. 예를 들어 DDNS(동적 DNS)로 이 작업을 수행할 수 있습니다. 이 옵션의 경우 무료 및 유료 옵션이 모두 있습니다.여기에서 도메인 이름을 등록한 후 컴퓨터나 라우터에 연결합니다.소프트웨어를 통해 도메인 이름에는 항상 인터넷 액세스의 현재 IP 주소가 자동으로 할당되므로 서버를 동일한 이름으로 계속 사용할 수 있습니다.
LAMP를 사용하여 Raspberry Pi 웹 서버 설정
다음 자습서에서는 소위 LAMP 스택을 사용하여 웹 서버에서 Raspberry Pi를 설정하는 방법을 보여줍니다.LAMP는 Linux 운영 체제(이 튜토리얼에서는 장치와 함께 제공되는 Raspbian), Apache 웹 서버, MySQL 데이터베이스 및 스크립트 언어 PHP와 같은 구성 요소로 구성된 프로그램 패키지의 약어입니다.LAMP 패킷 외에 phpMyAdmin도 설치됩니다.
먼저 Raspberry Pi의 터미널에 등록합니다.LAMP 소프트웨어 패킷 설정을 시작하기 전에 다음 두 명령을 사용하여 이미 설치된 모든 패킷을 업데이트하십시오.
sudo apt-get update
sudo apt-get upgrade
이제 개별 LAMP 구성 요소 설정을 시작할 수 있습니다.이 자습서에서는 각 프로세스를 단계별로 안내합니다.여기에서는 각 설치의 기능을 검사할 수 있는 테스트 프로세스와 함께 일부 연결에 대해 설명합니다.
아파치 설정
Apache HTTP 서버 설치는 매우 빠르게 수행할 수 있습니다.하나의 명령만 입력하면 됩니다. Raspberry Pi 웹 서버의 다른 세 가지 LAMP 구성 요소에도 동일하게 적용됩니다.Apache 2의 경우 터미널에 다음 명령을 입력하기만 하면 됩니다.
sudo apt-get install apache2
설치가 성공했는지 확인하려면 브라우저의 URL 표시줄에서 Raspberry Pi의 IP 주소를 불러옵니다.Apache 2가 올바르게 설정되면 브라우저에 ‘작동합니다!’라는 기본 페이지가 나타납니다.Raspbian Jessie에서 이 HTML 페이지는 /var/www/html/index.html 디렉토리에 있습니다.이전 Wheezy 버전의 Raspbian에서는 /var/www/index.html에 저장됩니다.디렉토리에서 사용자는 사이트를 편집하고 추가 웹 페이지를 얼마든지 만들 수 있습니다.
sudo nano /var/www/index.html
또는
sudo nano /var/www/html/index.html
변경 사항이 있는 경우 브라우저에서 페이지를 다시 로드하면 변경 사항이 표시되는지 확인하는 것이 중요합니다.
PHP 설정
웹 서버가 HTML, CSS, JavaScript 및 PHP 파일을 처리할 수 있도록 하려면 PHP5를 설치하십시오.
sudo apt-get install php5 libapache2-mod-php5
이제 /var/www에서 PHP 파일을 생성할 수 있습니다.테스트를 위해 phpinfo.php 파일을 생성합니다.
sudo nano phpinfo.php
편집기에서 다음과 같이 변경합니다.
RaspberyPi IP 주소 다음에 /infophp.php(192.168.X.X/phpinfo.php)를 호출하면 해당 페이지가 나타나야 합니다.이러한 일이 발생하면 Raspberry Pi의 PHP가 완전히 설정됩니다.
MySQL 설정
phpMyAdmin을 사용하여 MySQL을 관리할 수 있습니다.이 무료 소프트웨어 덕분에 사용자는 브라우저의 그래픽 사용자 인터페이스를 통해 데이터베이스를 쉽게 관리할 수 있습니다.다음 명령이 설치에 사용됩니다.
sudo apt-get install phpmyadmin
설치 후 나타나는 화면에서 웹 서버로 Apache 2를 선택합니다.다음으로 phpMyAdmin 관리 데이터베이스를 설치해야 하는지 묻는 메시지가 표시됩니다. 이 질문에 ‘예’로 대답하세요.그런 다음 phpMyAdmin의 비밀번호(MySQL 비밀번호와 동일할 수 있음)를 결정하면 설치가 완료됩니다.
마지막으로 새로 설치된 phpMyAdmin을 Apache 웹 서버에 연결해야 합니다.이것은 Nano 편집기로 구성 파일 apache2.conf를 편집할 수 있는 위의 다음 명령으로 수행됩니다.
sudo nano /etc/apache2/apache2.conf
이제 커서를 사용하여 구성 파일의 끝으로 이동하고(‘Ctrl’ + ‘V’ 키 조합을 계속 누를 수도 있음) 파일에 새 줄을 씁니다.
Include /etc/phpmyadmin/apache.conf
이제 바로 가기 ‘Ctrl’ + ‘O’를 통해 변경 사항을 저장하고 ‘Ctrl’ + ‘X’로 구성 파일을 닫습니다.그런 다음 콘솔에서 추가 명령을 통해 Apache 웹 서버를 다시 시작합니다.
/etc/init.d/apache2 restart
이제 두 웹 서버가 모두 설정되었으며 phpMyAdmin을 통해 웹 브라우저에서 데이터베이스를 관리할 수 있어야 합니다. 이를 위해서는 라즈베리파이 IP 주소를 URL 바에 /phpmyadmin(“http://192.168.X.X/phpmyadmin”)을 입력하고 phpMyAdmin 페이지에 ‘root’라는 사용자 이름으로 등록하면 됩니다.로그인하자마자 phpMyAdmin 내에서 데이터 세트를 나열하고, 테이블과 데이터베이스를 생성 또는 삭제하거나, 자신의 추가 기능을 사용할 수 있습니다.
애플리케이션의 Raspberry Pi 웹 서버
이제 웹 서버가 기본적으로 구성되었으며 사용할 준비가 되었습니다.이제 웹 서버에 HTML 및 PHP 페이지를 장착하여 웹사이트를 만들고 호스팅할 수 있습니다.개별 웹 페이지는 Raspberry Pi에 직접 생성하거나 /var/www(Raspbian Wheezy) 디렉토리 아래에 생성할 수 있습니다. 또는 선택한 웹 편집기를 사용하여 외부 컴퓨터에서 페이지를 만들고 SFTP 클라이언트 소프트웨어를 통해 웹 서버로 전송할 수도 있습니다.이 단계는 FileZilla, WinSCP, PuTTy 또는 OpenSSH와 같은 프로그램으로 수행됩니다.
Apache 웹 서버에 대한 설정은 구성 파일 .htacess를 사용하여 조정할 수 있습니다.이 파일을 통해 사용자는 웹 사이트에 대한 개별 404 오류 페이지를 만들거나 다른 도메인으로 리디렉션할 수 있습니다.Raspberry Pi를 사용하면 사용자가 웹 사이트를 쉽게 만들고 몇 가지 간단한 단계를 통해 웹 서버를 관리하는 방법을 배울 수 있습니다.
웹 호스팅 외에도 웹 서버는 다른 많은 요구 사항에도 사용할 수 있습니다.예를 들어 Raspberry Pi의 웹 서버를 개인 파일 및 미디어 서버로 사용합니다.여기에는 무료로 제공되는 소프트웨어 ownCloud를 사용하여 프라이빗 클라우드를 운영하고 보낼 수도 있습니다.파일 호스팅 프로그램을 사용하면 사용자가 파일을 클라우드에 저장할 수 있을 뿐만 아니라 불러오고 동기화할 수 있습니다.Raspberry Pi 웹 서버로 완료할 수 있는 프로젝트 목록은 깁니다.
웹 서버 보안
모든 IT 구성 요소와 마찬가지로 웹 서버 보안을 다룰 때 보안이 가장 중요합니다.특히 서버가 인터넷에 지속적으로 연결되어 있는 경우 공격 가능성이 높아집니다.이러한 이유로 웹 서버에 최신 업데이트가 설치되어 있는지 항상 확인하는 것이 중요합니다.민감한 데이터는 이 작업을 수행할 때 무엇을 주의해야 하는지 확실히 알고 있는 경우에만 웹 서버를 통해 호스팅되어야 합니다.
키워드에 대한 정보 라즈베리 파이 서버
다음은 Bing에서 라즈베리 파이 서버 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 라즈베리 파이 – 라즈베리 파이로 나만의 웹서버 만들기 1부
- 한국과학창의재단
- ODIY
- 매직에코
- MagicEco
- 이준혁
- 창의재단
- 과학창의재단
- 라즈베리 파이
- 라즈베리파이
- raspberry pi
- RPi
- RaspberryPi
- flask
- python-pip
- pip
- python
- 파이썬
- 플라스크
- 웹서버
- 서버
- server
- webserver
- web server
- HTML
- javascript
- css
- 자바스크립트
- 스타일시트
- stylesheet
- ssh
- 원격
- 원격접속
- remote control
라즈베리 #파이 #- #라즈베리 #파이로 #나만의 #웹서버 #만들기 #1부
YouTube에서 라즈베리 파이 서버 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 라즈베리 파이 – 라즈베리 파이로 나만의 웹서버 만들기 1부 | 라즈베리 파이 서버, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.