웹사이트 검색

Ubuntu 20.04에서 PhpMyAdmin을 사용하여 LEMP 스택을 설치하는 방법


LEMP가 무엇인지 모르는 분들을 위해 설명합니다. 이는 소프트웨어 패키지의 조합입니다. Linux, Nginx(<로 발음) Strong>EengineX), MariaDB 및 PHP.

LEMP를 테스트 목적으로 사용하거나 실제 프로덕션 환경에서 Laravel이나 Yii와 같은 PHP 프레임워크 또는 WordPress, Drupal과 같은 콘텐츠 관리 시스템을 사용하여 웹 애플리케이션을 배포할 수 있습니다. 또는 줌라

LAMP와 LEMP의 차이점이 무엇인지 궁금할 것입니다. 유일한 차이점은 포함된 웹 서버입니다 – Apache(LAMP) 및 Nginx(LEMP ) ). 두 웹 서버 모두 꽤 훌륭하며 Apache가 가장 자주 사용되는 서버이지만 Nginx는 어떤 식으로든 물러서지 않습니다.

일반적으로 LEMP 스택과 함께 설치되어 널리 사용되는 또 다른 애플리케이션은 PhpMyAdmin입니다. 이는 MySQL/MariaDB 데이터베이스 서버를 관리하기 위한 PHP 웹 기반 도구입니다. 웹 브라우저에서.

Ubuntu 20.04용 LAMP 설정을 찾고 있다면 Ubuntu 20.04의 LAMP 설정 가이드를 읽어보세요.

전제 조건:

  1. 우분투 20.04 서버 설치 가이드

이 문서에서는 Ubuntu 20.04 서버에서 PhpMyAdmin을 사용하여 LEMP 스택을 설치하고 구성하는 방법을 알아봅니다.

1단계: Ubuntu 20.04에 Nginx 설치

1. Nginx는 너무 많은 서버 리소스를 소비하지 않고 많은 동시 연결을 처리하도록 설계된 빠르고 현대적인 웹 서버입니다. 이것이 바로 기업 환경에서 선호되는 선택인 이유입니다.

NGINX는 일반적으로 로드 밸런서 및 웹 콘텐츠 캐시로도 사용됩니다. 이름 기반 및 IP 기반 가상 서버(Apache의 가상 호스트와 유사)를 지원합니다.

다음 명령을 실행하여 Ubuntu 20.04 데스크톱이나 서버에 Nginx를 설치할 수 있습니다.

sudo apt update
sudo apt install nginx

Nginx 구성 파일은 /etc/nginx 디렉토리에 저장되며 기본 구성 파일은 /etc/nginx/nginx.conf입니다. 중요한 점은 웹 파일을 저장하기 위한 기본 문서 루트가 /usr/share/nginx/html/라는 것입니다. 하지만 웹사이트나 애플리케이션의 서버 블록 구성 파일에서 구성해야 하는 표준 /var/www/html을 사용할 수 있습니다.

2. Ubuntu 패키지 설치 프로그램은 systemd를 트리거하여 Nginx 서비스를 시작하고 서버가 재부팅될 때마다 자동으로 시작되도록 합니다. 다음 systemctl 명령을 사용하여 서비스가 실행 중이고 활성화되어 있는지 확인합니다.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. 이제 서버 IP 주소를 사용하여 브라우저를 통해 Nginx 페이지를 호출하여 Nginx 설치가 성공했는지 확인할 차례입니다.

http://SERVER_IP

서버 IP 주소를 모르는 경우 그림과 같이 IP 명령을 사용하여 찾을 수 있습니다.

ip addr show

NGINX 기본 웹 페이지는 다음 스크린샷과 같이 로드되어 올바른 설치 및 작동을 확인해야 합니다.

2단계: Ubuntu 20.04에 MariaDB 데이터베이스 설치

4. MariaDB는 Oracle 인수 이후 MySQL의 커뮤니티 포크로 설계된 비교적 새로운 관계형 데이터베이스 관리 시스템입니다.

MariaDB 설치는 간단하며 다음 명령으로 시작할 수 있습니다.

sudo apt install mariadb-server mariadb-client

5. MariaDB 서비스도 자동으로 시작되어 시스템 부팅 시 항상 시작되도록 활성화되며 다음 명령을 사용하여 이를 확인할 수 있습니다.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. MariaDB 보안을 강화하려면 mysql_secure_installation 명령을 실행하세요. 이 명령은 몇 가지 기본적이면서도 중요한 구성 옵션을 제공합니다. :

sudo mysql_secure_installation

그런 다음 데이터베이스 루트(또는 관리자) 사용자의 비밀번호를 설정하는 옵션을 선택하고 프롬프트에 따라 질문을 주의 깊게 읽으십시오. 데이터베이스 서버를 보호하려면 스크린샷에 표시된 질문에 답하세요.

  • 루트의 현재 비밀번호를 입력하세요(없음인 경우 입력): Enter
  • 루트 비밀번호를 설정하시겠습니까? [예/아니요]
  • 익명 사용자를 삭제하시겠습니까? [예/아니요]
  • 원격으로 루트 로그인을 허용하지 않으시겠습니까? [예/아니요]
  • 테스트 데이터베이스를 삭제하고 이에 액세스하시겠습니까? [예/아니요]
  • 지금 권한 테이블을 다시 로드하시겠습니까? [예/아니요]

7. 데이터베이스 작업을 생성, 관리 및 수행하려면 -u 플래그와 함께 mysql 셸 명령을 사용하여 데이터베이스 사용자 이름과 -p는 사용자의 비밀번호를 제공합니다.

루트 사용자로 연결하려면 sudo 명령을 사용하십시오(-p 플래그 없이도). 그렇지 않으면 다음 스크린샷에 강조 표시된 오류가 표시됩니다.

mysql -u root -p
sudo mysql -u root

3단계: Ubuntu 20.04에 PHP 설치

8. PHP는 웹사이트 및 웹 애플리케이션 구축에 널리 사용되는 유연하고 동적인 오픈 소스 스크립트 언어입니다. 다양한 프로그래밍 기술을 지원합니다. 중요한 것은 PHP 커뮤니티가 규모가 크고 다양하며 수많은 라이브러리, 프레임워크 및 기타 유용한 구성 요소로 구성되어 있다는 것입니다.

NGINXFPM(FastCGI 프로세스 관리자) 또는 PHP-FPM을 사용하여 PHP 스크립트를 처리합니다. PHP-FPM은 많은 추가 기능과 함께 제공되는 널리 사용되는 대체 PHP FastCGI 구현이며 트래픽이 많은 사이트/웹 애플리케이션을 구동하는 데 사용됩니다.

PHPPHP-FPM을 설치하려면 다음 명령을 실행하여 필요한 추가 패키지도 설치합니다.

sudo apt install php php-mysql php-fpm

PHP 7.4Ubuntu 20.04PHP 기본 버전이므로 PHP 구성 파일은 /etc/php/7.4에 있습니다. /PHP-FPM 구성 파일은 /etc/php/7.4/fpm에 저장됩니다.

9. 다음으로 php7.4-fpm 서비스가 실행 중이고 다음 명령을 사용하여 활성화되었는지 확인합니다.

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

4단계: PHP-FPM과 작동하도록 Nginx 구성

10. 이제 클라이언트 요청을 PHP-FPM으로 프록시하도록 NGINX를 구성해야 합니다. 이는 기본적으로 /etc/php/7.4/fpm/pool.d/www.conf 기본 풀 구성 파일의 수신 매개변수에 의해 정의된 UNIX 소켓입니다.

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. 기본 서버 블록 구성 파일(/etc/nginx/sites-available/default)에서 PHP 처리를 위한 위치 지시문의 주석 처리를 제거합니다. 다음 스크린샷에 표시된 것과 같이 보이도록 요청합니다.

sudo vi /etc/nginx/sites-available/default

파일을 저장하고 종료합니다.

12. 그런 다음 NGINX 구성 구문의 정확성을 테스트합니다. 괜찮다면 Nginx 서비스를 다시 시작하여 새로운 변경 사항을 적용하십시오.

sudo nginx -t
sudo systemctl restart nginx

13. 이제 NGINX가 PHP-FPM과 함께 작동하여 PHP 요청을 처리할 수 있는지 테스트합니다. 문서 루트 디렉토리 아래에 간단한 info.php 페이지를 만듭니다.

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. 브라우저에서 다음 주소를 사용하여 탐색하세요. 다음 스크린샷과 같이 PHP 구성 페이지가 로드되어야 합니다.

http://SERVER_IP/info.php

5단계: Ubuntu 20.04에 PhpMyAdmin 설치

15. PhpMyAdmin은 웹 브라우저를 통해 MySQL/MariaDB 데이터베이스 서버를 관리하기 위해 특별히 제작된 무료 오픈 소스 웹 기반 PHP 애플리케이션입니다. 이는 직관적인 그래픽 인터페이스를 제공하고 데이터베이스 관리 작업을 위한 광범위한 공통 기능을 지원합니다.

sudo apt install phpmyadmin

16. 패키지 설치 중에 PhpMyAdmin 패키지의 여러 측면을 구성하라는 메시지가 표시됩니다. 먼저 이를 실행할 기본 웹 서버를 선택하라는 메시지가 표시됩니다. NGINX가 제공된 목록에 없으므로 Esc를 누르세요.

17. 다음으로 PhpMyAdmin을 사용하려면 데이터베이스가 필요합니다. 이 패키지 구성 프롬프트에서 를 선택하여 dbconfig-common 패키지로 PhpMyAdmin용 데이터베이스를 구성합니다.

18. 다음 프롬프트에서 MariaDB 데이터베이스에 등록하려면 PhpMyAdmin에 대한 비밀번호를 제공해야 합니다. 안전한 비밀번호를 입력하고 Enter를 클릭하세요.

6단계: PhpMyAdmin 사이트를 제공하도록 NGINX 구성

19. /usr/share/phpmyadmin에 있는 PhpMyAdmin 사이트를 제공하기 위해 NGINX를 활성화하려면 심볼릭 링크를 생성하세요. 문서 루트 아래의 이 디렉터리에 대해 다음과 같이 PHPMyAdmin 디렉터리에 올바른 권한과 소유권을 설정합니다.

sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo chmod 775 -R /usr/share/phpmyadmin/
sudo chown root:www-data -R /usr/share/phpmyadmin/

20. 게다가 기본 서버 블록 구성(/etc/nginx/sites-available/default) 파일의 index 지시문에 다음이 포함되어 있는지 확인하세요. index.php는 다음 스크린샷과 같습니다.

21. 그런 다음 Nginx 서비스를 다시 한 번 다시 시작하여 위 변경 사항을 적용합니다.

sudo systemctl restart nginx

22. 이제 다음 주소를 사용하여 브라우저에서 PhpMyAdmin 사이트에 액세스하세요.

http://SERVER_IP/phpmyadmin

로그인 페이지에서 PHPMyAdmin 사용자 이름과 비밀번호로 인증합니다. MariaDB 데이터베이스가 설치된 로컬 호스트에서 PHPMyAdmin에 액세스하지 않는 한 원격 루트 사용자 로그인이 비활성화되어 있으므로 루트 액세스가 작동하지 않습니다.

마지막으로, PhpMyAdmin 웹 인터페이스 보안을 위한 4가지 유용한 팁 가이드를 사용하여 PhpMyAdmin 설치를 보호하세요.

결론

이제 LEMP 설정이 완료되었으며 웹 애플리케이션 구축을 시작하거나 방금 설치한 NginxMariaDB 서비스를 사용해 볼 수 있습니다. 이는 널리 사용되며 이에 대한 더 많은 지식을 얻는 것이 시스템 관리자에게 적극 권장됩니다.