최소한의 컴퓨팅 장치인 라즈베리 파이 제품군은 경이로움을 불러일으키며, 인터넷을 통해 웹 콘텐츠를 배포하거나 개인이 활용할 수 있는 웹사이트 및 서비스의 개인 컬렉션을 호스팅하기 위해 거주지 내에 개인 서버를 구축하는 데 이상적인 솔루션으로 작용합니다.

싱글 보드 컴퓨터 활용의 시작에 대해 확신이 서지 않는다면, 라즈베리 파이를 원하는 모든 작업이나 애플리케이션을 수용할 수 있는 다각적인 서버로 구성하는 과정을 설명할 것이므로 인내심을 가지고 읽어 주시기 바랍니다.

라즈베리 파이를 서버로 설정하는 데 필요한 사항:

이 작업을 성공적으로 수행하려면 특정 리소스 세트에 대한 액세스 권한이 필요합니다.

가능한 경우 라즈베리 파이 모델 4B가 권장됩니다.

microSD 카드와 SSD(솔리드 스테이트 드라이브)는 스마트폰, 태블릿, 노트북, 카메라 등 다양한 전자 장치에서 사용할 수 있는 저장 장치 유형입니다. MicroSD 카드는 기기의 슬롯에 꽂을 수 있는 작은 이동식 메모리 카드이며, SSD는 대부분의 컴퓨터에서 볼 수 있는 기존의 하드 디스크 드라이브를 대체하는 더 큰 내부 드라이브입니다. 두 옵션 모두 파일과 데이터를 위한 추가 저장 공간을 제공하지만 속도, 용량, 내구성, 다른 장치와의 호환성 측면에서 차이가 있습니다. 특정 필요와 요구 사항에 따라 microSD 카드와 SSD 중 하나를 선택할 때는 이러한 요소를 고려하는 것이 중요합니다.

이더넷 코드는 연선 구리 배선을 사용하여 근거리 통신망(LAN)에 연결된 장치 간에 데이터를 전송하는 네트워킹 케이블의 한 유형입니다. 일반적으로 컴퓨터, 라우터, 스위치 및 기타 네트워킹 장비를 연결하여 이더넷 기반 LAN을 구성하는 데 사용됩니다. “이더넷”이라는 용어는 1970년대 후반에 제록스 PARC에서 이 기술을 처음 구현한 데서 유래했으며, 이후 IEEE 802.3으로 표준화되었습니다.

고정되고 변하지 않는 인터넷 프로토콜(IP) 주소를 정적 IP 주소라고 합니다. 네트워크 또는 시스템 구성의 변경에 관계없이 일정하게 유지되며 네트워크에서 장치에 대한 고유 식별자를 제공합니다.

적절한 도메인 이름을 선택하는 것은 강력한 온라인 입지를 구축하는 데 매우 중요합니다. 다음은 도메인 이름을 선택할 때 염두에 두어야 할 몇 가지 고려 사항입니다: * 짧고 기억하기 쉬운 이름 – 기억하고 입력하기 쉬워야 합니다. * 브랜드 또는 주제와 관련성이 있어야 함 – 검색 엔진 최적화(SEO)에 도움이 됨 * 가능한 경우 키워드 사용 – SEO 개선 가능 * 단어 사이에 하이픈 사용 고려 – 혼동을 일으키지 않고 단어를 구분하는 데 도움이 됩니다. * 최상위 도메인(TLD) 선택 – 신뢰도와 인지도를 높입니다. * 고유한 도메인인지 확인 – 다른 웹사이트와의 혼동 방지

개인용 컴퓨터를 추가로 구입하여 기존 컴퓨팅 기능을 향상하고 디지털 리소스에 편리하게 액세스할 수 있는 추가 장치를 제공할 수 있습니다. 여기에는 개인의 필요와 선호도에 따라 새 장치를 구입하거나 현재 시스템을 보완 장치로 확장하는 것이 포함될 수 있습니다.

서버용 라즈베리 파이 OS 설치 방법

라즈베리 파이에서는 우분투, 만자로, 아퍼티스, 레트로파이 등 다양한 운영 체제를 제공합니다. 인터넷에서 콘텐츠를 제공하려면 장치가 디스플레이에 연결되지 않으므로 그래픽 사용자 인터페이스와 같은 불필요한 기능을 생략한 간소화된 버전의 데비안 불스아이인 라즈베리 파이 OS 라이트(64비트)를 사용하는 것이 좋습니다.

먼저 데스크톱 PC 또는 노트북에 SD 카드를 삽입하거나 USB SSD를 사용하는 경우 지금 연결하세요. 이제 라즈베리파이 이미저 도구 을 다운로드하여 설치한 다음 데스크톱 또는 명령줄에서 엽니다.

“OS 선택”을 클릭하여 원하는 운영 체제 및 스토리지 기본 설정을 선택하세요. 그런 다음 “Raspberry Pi OS (기타)”를 클릭한 다음 “Raspberry Pi OS Lite (64비트)”를 선택합니다.

이 글도 확인해 보세요:  Changedetection.i로 웹 페이지 업데이트를 주시하세요.

드롭다운 메뉴에서 “스토리지 선택”을 선택하면 컴퓨터 시스템 내에 연결된 모든 저장 장치의 종합적인 인벤토리가 표시되어 열람할 수 있습니다. 운영 체제를 설치하려는 지정된 위치를 선택하기만 하면 이미징 소프트웨어의 기본 인터페이스로 다시 리디렉션됩니다.

인터페이스의 오른쪽 하단에 있는 아이콘을 클릭하여 설정 메뉴에 액세스하세요. 여기에서 라즈베리 파이와 보안 셸 연결을 설정하는 데 필요한 매개변수를 구성할 수 있습니다.

SSH 액세스 활성화, 사용자 이름 및 비밀번호 지정, 로캘 기본 설정에 대한 확인란이 활성화되어 있는지 확인하시기 바랍니다. 원하는 사용자 이름과 비밀번호를 입력하고 선택한 로캘이 사용자의 시간대 및 키보드 구성과 일치하는지 확인하세요(라즈베리파이에 연결된 키보드를 직접 사용하지 않더라도).

원하는 저장 장치에 라즈베리 파이 OS를 저장하고 기록하는 프로세스가 진행 중이며, 완료하는 데 시간이 다소 걸릴 수 있습니다.

라즈베리 파이의 전원을 켜고 로컬 네트워크에서 찾기

라즈베리 파이 기기의 지정된 SD 카드 슬롯에 SD 카드를 삽입하세요. USB 스토리지를 사용하는 경우, 제공된 USB 포트 중 하나에 드라이브를 연결하세요. 다음으로, Raspberry Pi가 안정적인 전원 공급 장치에 연결되어 있고 라우터에 단단히 연결된 이더넷 케이블을 통해 네트워크에 연결되어 있는지 확인합니다.

라즈베리 파이와 연결을 설정하려면 인터넷 프로토콜(IP) 주소를 알고 있어야 합니다. 먼저, 라즈베리 파이와 동일한 로컬 네트워크에 연결된 기기에서 웹 브라우저를 실행합니다. 그런 다음 브라우저에서 지정된 URL로 이동하여 라우터의 관리 인터페이스로 이동합니다. 일반적으로 브라우저의 주소창에 “192.168.1.1”을 입력하여 라우터의 관리자 페이지에 액세스할 수 있습니다. 그러나 이 방법으로 충분하지 않은 경우 라우터 사용 설명서를 참조해야 할 수 있습니다.

네트워크 설정을 관리하기 위한 사용자 인터페이스는 무선 연결과 유선 연결을 구분해야 합니다. 이 화면에서 라즈베리파이의 IP 주소를 찾는 것이 필수적이며, 일반적으로 장치 수 근처에서 찾을 수 있습니다. 즉시 찾을 수 없는 경우, IP 주소 라벨 위에 커서를 올리면 실제 주소가 표시된 툴팁이 표시됩니다. 나중에 참조할 수 있도록 이 정보를 기록해 두세요.

무선 연결 대신 라우터에 유선 연결을 사용하면 안정적인 로컬 IP(인터넷 프로토콜) 주소를 유지할 수 있는 이점이 있습니다. 즉, 라즈베리 파이를 껐다가 라우터를 다시 시작해도 할당된 IP 주소가 변경될 염려 없이 장시간 자리를 비울 수 있습니다. 이러한 유연성 덕분에 사용자는 장기간 부재 중에도 안심하고 즐길 수 있습니다.

SSH를 통해 라즈베리 파이에 연결

라즈베리 파이의 로컬 IP 주소를 알고 있으면 Windows 및 macOS용 PuTTY를 사용하거나 Linux 운영 체제의 경우 터미널 에뮬레이터를 통해 보안 셸(SSH)을 통한 원격 액세스를 할 수 있습니다.

 ssh [email protected] 

처음 연결이 설정되면 호스트의 진위 여부가 불확실하다는 알림과 함께 연결 프로세스를 진행할지 여부를 묻는 메시지가 표시될 수 있습니다. 계속 진행하려면 ‘예’라는 단어를 입력하고 키보드의 엔터 키를 누르면 됩니다.

인증에 성공하면 라즈베리 파이 기능의 모든 측면을 조작할 수 있는 완전한 권한이 부여됩니다.

라즈베리 파이를 인터넷에 노출하기 위한 포트 포워딩

라즈베리 파이가 웹 서버로 작동하려면 인터넷을 통해 접속할 수 있어야 합니다. 이를 위해서는 라우터의 관리 인터페이스에 들어가서 “포트 포워딩”, “포트 매핑” 또는 “포트 관리”라고 표시된 지정된 영역을 찾아야 합니다. 이 섹션 내에서 두 개의 항목을 새로 설정해야 합니다.

이 글도 확인해 보세요:  새로운 아두이노 우노 R4가 메이커의 판도를 바꾸는 이유

로컬 및 공용 포트와 양쪽 끝에 있는 Raspberry Pi의 IP 주소를 지정하여 보안되지 않은 네트워크를 통해 HTTP 프로토콜과 연결을 설정하도록 네트워크 설정을 구성합니다.

HTTPS를 사용하여 웹 트래픽을 보호하려면 로컬 및 공용 인터페이스 모두에서 포트 443을 사용하도록 방화벽을 구성하고 로컬 IP 주소는 라즈베리 파이의 IP 주소로 유지합니다.

라즈베리 파이를 위한 필수 서버 소프트웨어

라즈베리 파이가 구현하려는 서버 기반 애플리케이션을 적절히 지원하려면 특정 기본 소프트웨어 패키지를 설치하는 것이 전제 조건입니다.

향후 원활한 운영을 보장하기 위해서는 최적의 성능과 효율성을 촉진하는 특정 소프트웨어 애플리케이션을 설치해야 합니다. 이를 위해 필요한 프로그램은 다양한 필요와 요구 사항을 충족하도록 설계된 다양한 도구로 구성됩니다.

아파치는 웹 서버이자 역방향 프록시로, 인터넷을 통해 콘텐츠를 전달하는 데 필수적인 도구 역할을 합니다.

MariaDB는 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템인 MySQL의 인스턴스로, 다양한 애플리케이션과 시스템을 위한 강력하고 확장 가능한 데이터 저장 기능을 제공합니다.

PHP는 월드와이드웹에서 동적 콘텐츠를 생성하기 위해 특별히 설계된 프로그래밍 언어로, 서버 측 접근 방식을 활용하여 대화형 웹사이트 및 애플리케이션을 생성합니다.

Docker는 애플리케이션 및 서비스를 컨테이너화하는 프로세스를 용이하게 하는 널리 사용되는 오픈 소스 소프트웨어 솔루션입니다. 이를 통해 개발자는 종속성과 함께 코드를 컨테이너라는 이동 가능한 단위로 패키징하여 충돌이나 호환성 문제 없이 다양한 컴퓨팅 환경에 쉽게 배포할 수 있습니다.

Docker Compose는 Docker 컨테이너를 감독하는 프로세스를 간소화하여 복잡한 환경 내에서 컨테이너를 배포하고 구성하는 과정을 간소화하는 효율적인 유틸리티입니다.

Certbot: Let’s Encrypt 에서 SSL 키 및 인증서 검색 및 설치를 처리합니다.

우선, 최신 패키지 업데이트 및 업그레이드를 설치하여 소프트웨어 프로그램을 최신 상태로 유지하는 것이 필수적입니다. 이렇게 하면 각 프로그램의 최신 기능과 개선 사항을 활용하면서 시스템을 안전하게 유지하고 효율적으로 운영할 수 있습니다.

 sudo apt update
sudo apt upgrade

아파치를 설치하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행할 수 있습니다: “`css sudo apt-get 업데이트 sudo apt-get 설치 아파치2 “` 그러면 시스템에 최신 버전의 Apache가 다운로드되어 설치됩니다.

 sudo apt install apache2 

아파치의 기능은 모듈을 통해 향상되며, 모듈은 다양한 요구에 맞는 다양한 기능을 제공합니다. 이러한 추가 기능은 다음과 같은 방법을 사용하여 쉽게 설치할 수 있습니다.

 sudo a2enmod rewrite http2 proxy proxy_http proxy_http2 proxy_wstunnel 

아파치 웹 서버를 시작하고 활성화하려면 다음 명령을 활용하세요:

 sudo systemctl start apache2
sudo systemctl enable apache2

웹 브라우저를 통해 공개적으로 액세스 가능한 인터넷 프로토콜(IP) 주소에 액세스하면 Apache HTTP 서버 소프트웨어의 표준 설치 페이지가 표시되어야 합니다:

라우터의 포트 80으로 향하는 트래픽이 Raspberry Pi로 효과적으로 라우팅되고 있으며 Apache가 의도한 목적에 따라 올바로 작동하고 있음을 나타냅니다.

PHP를 설치하려면 다음 코드 줄에 표시된 명령을 실행하면 됩니다:

 sudo apt install php 

터미널을 사용하여 MariaDB를 설치하려면 아래에 제공된 명령을 실행합니다:

 sudo apt install mariadb-server 

타이핑 행위는 현대 사회에서 없어서는 안 될 중요한 부분이 되었으며, 개인은 컴퓨터와 스마트폰과 같은 전자 기기를 통해 다양한 방법으로 정보를 입력하고 다른 사람들과 소통하고 있습니다. 이러한 방식은 수동으로 작동하는 기계식 타자기의 초창기부터 디지털 키보드와 터치스크린의 현재에 이르기까지 시간이 지남에 따라 발전해 왔습니다. 이러한 발전이 가져온 효율성과 편리함은 우리가 기술 및 서로 상호 작용하는 방식에 혁명을 일으켰으며, 개인적 및 업무적 맥락에서 자신을 표현하고 아이디어를 공유하는 방식에 변화를 가져왔습니다.

 sudo mysql_secure_installation 

루트 비밀번호를 입력하라는 메시지가 표시되면 Enter 키를 누른 다음 ‘unix\_socket 인증’으로 전환하는 옵션이 표시되면 ‘아니요’를 선택합니다.

이 글도 확인해 보세요:  아두이노로 직렬 통신 마스터하기

루트 계정의 비밀번호를 변경하는 옵션을 거부하고 익명 사용자 계정을 제거할 수 있는 기회를 거부합니다. 또한 루트 계정에 대한 원격 로그인을 비활성화하고 테스트 데이터베이스 또는 관련 권한에 대한 액세스를 거부하는 제안을 거부하세요.

보안 설치 프로세스를 성공적으로 완료하려면 지시에 따라 권한 테이블을 다시 로드하세요. 완료되면 확인 메시지가 표시됩니다.

MariaDB에 액세스하려면 앞서 언급한 명령을 사용할 수 있습니다:

 sudo mariadb 

Docker 설치를 진행하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행하세요:

 sudo apt install docker.io 

효율적인 애플리케이션 배포 및 관리를 위해 컨테이너화된 환경을 설정하고 실행하는 데 필요한 명령을 실행하여 Docker를 시작 및 활성화합니다.

 sudo systemctl start docker
sudo systemctl enable docker

Docker 그룹에서 특정 사용자에게 액세스 권한을 부여하려면 다음 단계를 따르세요: 1. 시스템에서 터미널을 열고 루트 또는 sudo 그룹의 구성원으로 로그인합니다. 2. 2. `usermod -aG docker ` 명령을 실행합니다. 여기서 ``는 Docker 그룹에 추가하려는 사용자의 이름입니다. 이렇게 하면 사용자의 기본 그룹 멤버십이 Docker 그룹을 포함하도록 수정됩니다. 3. 확인 메시지가 표시되면 “y”를 입력하고 Enter 키를 눌러 변경을 계속 진행합니다. 4. 4. `groups ` 명령을 실행하여 사용자가 Docker 그룹에 추가되었는지 확인합니다. 출력에 사용자가 원래의 기본 그룹과 Docker 그룹에 모두 속해 있는 것으로 표시되어야 합니다.

 sudo usermod -aG docker your_username 

멤버십이 활성화되려면 로그아웃했다가 다시 로그인해야 할 수 있습니다.

Docker Compose는 Docker 컨테이너의 오케스트레이션을 용이하게 하여 수많은 라즈베리파이 서버 작업에 귀중한 자산이 될 수 있습니다. 표준 패키지 리포지토리에서 Docker Compose를 찾을 수 있지만, 업데이트 측면에서 가용성이 종종 뒤쳐집니다.

Docker Compose 릴리스 페이지 을 방문하여 docker-compose-linux-aarch64 링크를 복사하세요. 터미널로 돌아가서 wget 명령을 사용하여 바이너리를 다운로드합니다. 예:

 wget https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-aarch64 

스크립트를 다운로드한 후에는 내용을 더 정확하게 반영하도록 파일 이름을 수정하고, 시스템의 PATH 구성 내에서 액세스 가능한 디렉터리로 전송한 다음, 그에 따라 권한을 업데이트하여 실행할 수 있는지 확인해야 합니다.

 sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

궁극적으로 “소프트웨어-프로퍼티-공통”을 설치하고 업데이트를 수행한 후 아래에 설명된 단계를 활용하여 Certbot용 리포지토리를 통합해야 합니다:

 sudo apt install software-properties-common
sudo apt update
sudo add-apt-repository ppa:certbot/certbot

계속 진행하기 위해 이제 “Certbot”이라는 소프트웨어 도구의 설치를 시작합니다. 이 프로그램은 웹사이트의 암호화를 보호하고 서버와 방문자 간에 전송되는 모든 데이터를 비공개로 유지하며 잠재적인 사이버 위협으로부터 보호하도록 설계되었습니다.

 sudo apt-get install python3-certbot-apache 

이제 라즈베리파이가 서버로 작동할 준비가 되었습니다!

또한, 라즈베리 파이가 강력한 보안 조치로 다양한 멀티미디어 콘텐츠를 표시하는 동시에 인터넷을 통한 원활한 원격 액세스를 허용하는 데 필요한 모든 소프트웨어를 성공적으로 설치했으니 칭찬을 받을 만합니다.

기본적인 정적 페이지부터 복잡한 워드프레스 웹사이트, 멀티미디어 서버, 종합적인 온라인 생산성 제품군에 이르기까지 다양한 웹 기반 애플리케이션을 지원할 수 있는 운이 좋다면, 라즈베리 파이 장치를 사용하여 어떤 서비스를 운영하고자 하는지 생각해 볼 가치가 있습니다.

By 박준영

업계에서 7년간 경력을 쌓은 숙련된 iOS 개발자인 박준영님은 원활하고 매끄러운 사용자 경험을 만드는 데 전념하고 있습니다. 애플(Apple) 생태계에 능숙한 준영님은 획기적인 솔루션을 통해 지속적으로 기술 혁신의 한계를 뛰어넘고 있습니다. 소프트웨어 엔지니어링에 대한 탄탄한 지식과 세심한 접근 방식은 독자에게 실용적이면서도 세련된 콘텐츠를 제공하는 데 기여합니다.