본문 바로가기

라즈베리파이 5

Raspberry Pi APM, Apache + MySQL + PHP AMP 서버 설치

반응형

 

Raspberry Pi: Apache + MySQL + PHP(LAMP 서버) 설치

 

이 가이드에서는 Raspberry Pi에 LAMP(Linux, Apache, MySQL, PHP) 서버를 설치하는 방법을 알아봅니다. LAMP는 웹 개발에 사용되는 소프트웨어 번들입니다. Raspberry Pi에는 Raspbian OS가 설치되고 phpMyAdmin을 사용하여 웹 인터페이스를 통해 데이터베이스를 쉽게 관리할 수 있습니다.

 

 

Raspberry Pi에 설치 Apache + PHP + MySQL + phpMyAdmin LAMP 서버

 

필수 조건

 

이 튜토리얼을 계속하기 전에:

 

  • Raspbian Pi 보드에 익숙해야 합니다. Raspberry Pi 시작하기를 읽어보세요.
  • Raspbian 또는 Raspbian Lite 운영 체제가 설치되어 있어야 합니다. Raspbian Lite 설치, SSH 활성화 및 연결을 읽어보세요.

다음 하드웨어도 필요합니다.

  • 라즈베리 파이 보드 - 최고의 라즈베리 파이 스타터 키트 읽기
  • MicroSD 카드 - 16GB Class10
  • 라즈베리 파이 전원 공급 장치(5V 2.5A)

 

홈 오토메이션을 좋아하고 완전한 홈 오토메이션 시스템을 구축하고 싶다면, 제 홈 오토메이션 코스를 다운로드하는 것을 추천합니다.

 

Raspbian OS로 라즈베리 파이 보드를 준비한 후, 이 튜토리얼을 계속 진행할 수 있습니다.

 

데스크톱 컴퓨터로 설정된 라즈베리 파이에서 다음 명령을 실행하거나 SSH 연결을 사용할 수 있습니다.

 

업데이트 및 업그레이드

 

설치 절차를 시작하기 전에 터미널 창을 열고 다음 명령을 실행하여 Pi를 업데이트합니다.

 

pi@raspberrypi:~ $ sudo apt update && sudo apt upgrade -y

 

라즈베리 파이에 Apache2 설치

 

Apache2는 가장 널리 사용되는 웹 서버 소프트웨어입니다. 간단히 말해서, 웹 서버는 웹 페이지에 액세스하기 위한 요청을 처리하는 소프트웨어입니다. 그런 다음 요청한 페이지에 따라 서버에서 사용자에게 제공할 문서(.html, .php 등)를 생성합니다.

 

Raspberry Pi LAMP 서버 개요의 Apache2

 

Raspberry Pi에 Apache2를 설치하려면 다음 명령을 실행합니다.

 

pi@raspberrypi:~ $ sudo apt install apache2 -y

 

Raspberry Pi Apache2 LAMP 서버 설치

 

그게 다입니다! 이제 Apache가 설치되었습니다. 설치를 테스트하려면 /var/www/html 디렉터리로 변경하고 파일을 나열합니다. 이 폴더의 index.html 파일이 홈페이지 파일입니다. 웹 서버에 접속하면 가장 먼저 보이는 파일입니다.

 

pi@raspberrypi:~ $ cd /var/www/html
pi@raspberrypi:/var/www/html $ ls -al
index.html

 

 

해당 폴더에 index.html 파일이 있어야 합니다. 브라우저에서 해당 페이지를 열려면 Raspberry Pi IP 주소를 알아야 합니다. 사용:

 

pi@raspberrypi:/var/www/html $ hostname -I

 

Raspberry Pi change directory RPi IP Address

 

제 경우, Raspberry Pi IP 주소는 192.168.1.86입니다. 로컬 네트워크의 브라우저에서 RPi IP 주소를 열면 비슷한 웹 페이지가 로드됩니다(http://192.168.1.86):

 

Raspberry Pi Apache2 설치

 

Raspberry Pi에 PHP 설치

 

PHP는 서버 측 스크립팅 언어입니다. PHP(Hypertext Preprocessor)는 동적 웹 애플리케이션을 개발하는 데 사용됩니다. PHP 파일에는 태그가 포함되어 있으며 확장자 ".php"로 끝납니다.

 

Raspberry Pi에 PHP를 설치하려면 다음을 실행합니다.

 

pi@raspberrypi:/var/www/html $ sudo apt install php -y

 

index.html을 제거하고 설치를 테스트하는 PHP 스크립트를 만들 수 있습니다.

 

pi@raspberrypi:/var/www/html $ sudo rm index.html

pi@raspberrypi:/var/www/html $ sudo nano index.php

 

index.php 파일에 다음 코드를 추가하여 "hello world" 메시지를 에코합니다.

 

<?php echo "hello world"; ?>

 

Raspberry Pi PHP 테스트 파일 만들기 Hello World

 

파일을 저장하려면 Ctrl+X를 누른 다음 y를 누르고 Enter를 눌러 종료합니다.

 

마지막으로 Apache2를 다시 시작합니다.

 

pi@raspberrypi:/var/www/html $ sudo service apache2 restart

 

Apache2가 .php 파일을 제공하는지 테스트하려면 Raspberry Pi IP 주소를 열면 이전에 만든 index.php 스크립트의 "hello world" 메시지가 표시되어야 합니다.

 

Raspberry Pi 테스트 PHP 파일 Hello World 메시지 웹 브라우저

 

모든 것이 제대로 작동하면 /var/www/html 디렉토리에서 index.php 파일을 제거할 수 있습니다.

 

pi@raspberrypi:/var/www/html $ sudo rm index.php

 

Raspberry Pi에 MySQL(MariaDB 서버) 설치

 

MySQL(종종 My S–Q–L이라고 발음)은 인기 있는 오픈 소스 관계형 데이터베이스입니다.

 

다음 명령을 입력하여 MySQL 서버(MariaDB 서버) 및 PHP-MySQL 패키지를 설치합니다.

 

pi@raspberrypi:/var/www/html $ sudo apt install mariadb-server php-mysql -y

pi@raspberrypi:/var/www/html $ sudo service apache2 restart

 

MySQL(MariaDB 서버)을 설치한 후 다음 명령을 실행하여 MySQL 설치를 보호하는 것이 좋습니다.

 

pi@raspberrypi:/var/www/html $ sudo mysql_secure_installation

 

터미널 창에 다음이 표시됩니다.

 

Raspberry Pi MySQL 데이터베이스 MariaDB 보안 설치

 

루트의 현재 비밀번호를 입력하라는 메시지가 표시됩니다(보안 비밀번호를 입력하세요): Enter를 누릅니다.

 

  • Y를 입력하고 Enter를 눌러 루트 비밀번호를 설정합니다.
  • 새 비밀번호: 프롬프트에 비밀번호를 입력하고 Enter를 누릅니다. 중요: 나중에 필요하므로 이 루트 비밀번호를 기억하세요.
  • Y를 입력하여 익명 사용자를 제거합니다.
  • Y를 입력하여 원격으로 root 로그인을 허용하지 않음
  • Y를 입력하여 테스트 데이터베이스와 액세스를 제거
  • Y를 입력하여 지금 권한 테이블을 다시 로드

 

설치가 완료되면 "MariaDB를 사용해 주셔서 감사합니다!"라는 메시지가 표시됩니다.

 

Raspberry Pi MySQL 데이터베이스-MariaDB 최종 보안 설치

 

phpMyAdmin에 로그인하는 데 오류가 발생하면 로그인할 새 사용자를 만들어야 할 수 있습니다. 이러한 명령은 이름(admin)과 비밀번호(your_password)로 새 사용자를 만듭니다.

 

pi@raspberrypi:/var/www/html $ sudo mysql --user=root --password
> create user admin@localhost identified by 'your_password';
> grant all privileges on *.* to admin@localhost;
> FLUSH PRIVILEGES;
> exit;

 

 

Raspberry Pi에 phpMyAdmin 설치

 

phpMyAdmin은 웹 인터페이스를 사용하여 MySQL 관리를 처리하도록 설계된 PHP로 작성된 무료 소프트웨어 도구입니다.

 

Raspberry Pi에 phpMyAdmin을 설치하려면 터미널에 다음 명령을 입력하세요.

 

pi@raspberrypi:/var/www/html $ sudo apt install phpmyadmin -y

 

PHPMyAdmin 설치 프로그램에서 몇 가지 질문을 합니다. dbconfig-common을 사용하겠습니다.

 

  • 메시지가 표시되면 Apache2를 선택하고 Enter 키를 누릅니다.
  • phpmyadmin을 구성하시겠습니까? 확인
  • dbconfig-common으로 phpmyadmin에 대한 데이터베이스를 구성하시겠습니까? 예
  • 비밀번호를 입력하고 확인을 누릅니다.

 

Raspberry Pi phpMyAdmin 설치

 

PHP MySQLi 확장 프로그램을 활성화하고 Apache2를 다시 시작하여 변경 사항을 적용합니다.

 

pi@raspberrypi:/var/www/html $ sudo phpenmod mysqli

pi@raspberrypi:/var/www/html $ sudo service apache2 restart

 

RPi IP 주소 다음에 /phpmyadmin(제 경우 http://192.168.1.86/phpmyadmin)을 입력하면 브라우저에 "찾을 수 없음" 오류 페이지가 표시될 것입니다.

 

phpMyAdmin Raspberry Pi를 열 수 없습니다.

 

이 경우 phpmyadmin 폴더를 /var/www/html로 이동해야 하며 다음 명령을 실행합니다.

 

pi@raspberrypi:/var/www/html $ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

 

이제 파일을 나열하면 phpmyadmin 폴더가 반환됩니다.

 

pi@raspberrypi:/var/www/html $ ls

phpmyadmin

 

Raspberry Pi phpMyAdmin을 /var/www/html phpMyAdmin 폴더로 이동

 

웹 페이지(http://192.168.1.86/phpmyadmin)를 다시 로드하면 phpMyAdmin 웹 인터페이스의 로그인 페이지가 표시됩니다.:

 

Raspberry Pi phpMyAdmin 로그인 페이지 열기

 

정의한 사용자 이름(사용자 이름 = root여야 함)과 설치 중에 정의한 비밀번호를 입력합니다.

 

이동 버튼을 눌러 로그인합니다. 새 페이지가 로드됩니다.

 

Raspberry Pi phpMyAdmin 로그인 페이지 열기

 

그게 다입니다! Raspberry Pi 보드는 LAMP 서버(Apache2, MySQL, PHP)로 준비되었습니다. 또한 웹 인터페이스를 통해 데이터베이스를 더 쉽게 관리할 수 있도록 이 설치에 phpMyAdmin을 포함하기로 했습니다.

 

선택 단계(권장)

 

웹 페이지를 관리하려면 /var/www/html/ 폴더의 권한을 변경해야 합니다. 이렇게 하려면 다음 명령을 실행하세요.

 

pi@raspberrypi:~ $ ls -lh /var/www/
pi@raspberrypi:~ $ sudo chown -R pi:www-data /var/www/html/
pi@raspberrypi:~ $ sudo chmod -R 770 /var/www/html/
pi@raspberrypi:~ $ ls -lh /var/www/

 

 

이러한 명령을 실행하면 다음과 같은 내용이 표시됩니다.

 

Raspberry-Pi change var www html folder

 

마무리

 

이 가이드가 도움이 되었기를 바랍니다! Raspberry Pi에는 phpMyAdmin이 있는 LAMP 서버가 있어서 다음과 같은 흥미로운 IoT 프로젝트를 빌드할 수 있습니다.

 

ESP32/ESP8266 Raspberry Pi LAMP 서버에 데이터 게시

전 세계 어디에서나 센서 판독값을 시각화(ESP32/ESP8266 + MySQL + PHP)

ESP32/ESP8266 PHP와 Arduino IDE를 사용하여 MySQL 데이터베이스에 데이터 삽입

 

읽어주셔서 감사합니다.

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^