LAMP 서버 설정

LinuxBeginner
지금 연습하기

소개

이 랩에서는 동적 웹 서버를 생성하기 위해 LAMP (Linux, Apache, MySQL, PHP) 스택을 구성하고 배포하는 방법을 배우게 됩니다. LAMP 는 Linux 운영 체제, Apache HTTP 서버, MySQL 데이터베이스 및 PHP 스크립팅 언어를 결합한 널리 사용되는 오픈 소스 웹 서버 환경입니다. 이러한 구성 요소는 웹 애플리케이션을 구축하기 위한 강력한 플랫폼을 형성합니다. 이 랩에서는 LAMP 서버를 설정하고 WordPress 블로그를 배포하여 이 스택이 어떻게 작동하는지 이해할 것입니다.

미리보기

LAMP stack admin interface
WordPress admin dashboard

작업

이 프로젝트에서는 다음을 배우게 됩니다.

  • Linux 시스템에 LAMP (Linux, Apache, MySQL, PHP) 스택을 설정합니다.
  • 웹 서버로 Apache 를 설치하고 구성합니다.
  • MySQL 데이터베이스 서비스를 시작하고 관리합니다.
  • PHP 를 설치하고 Apache 및 MySQL 과 통합합니다.
  • PHP 파일을 올바르게 처리하도록 Apache 를 구성합니다.
  • MySQL 데이터베이스 관리를 용이하게 하기 위해 phpMyAdmin 을 설치하고 구성합니다.
  • LAMP 스택에 인기 있는 콘텐츠 관리 시스템인 WordPress 를 설치하고 구성합니다.

성과

이 프로젝트에서 다음을 배우게 됩니다.

  • LAMP 스택을 사용하여 웹 개발 환경을 설정하는 방법에 대한 포괄적인 이해.
  • 웹 개발을 위한 웹 서버, 데이터베이스 및 스크립팅 언어를 구성하는 실질적인 경험.
  • WordPress 블로그 플랫폼을 설정하여 입증된 웹 애플리케이션 배포 및 관리 능력.

Apache 시작

이 단계에서는 Apache HTTP 서버를 시작합니다. Apache 는 유연성과 안정성으로 인해 가장 널리 사용되는 웹 서버 소프트웨어 중 하나입니다. 들어오는 HTTP 요청을 처리하고 웹 페이지를 제공하는 역할을 합니다.

Apache 는 이미 환경에 존재하며 직접 시작할 수 있습니다. 터미널을 열고 Apache 서비스를 시작하여 실행 중인지 확인합니다.

sudo service apache2 start
Apache 서비스 시작 명령어

service 명령은 시스템 서비스를 제어합니다. 이 경우 Apache 를 시작하고 있습니다.

Apache 설치를 확인하려면 먼저 "Applications" 버튼을 클릭하고 "Run Program" 옵션을 선택합니다.

Run Program 옵션 선택

그런 다음 "firefox"를 입력하여 웹 브라우저를 실행합니다.

Firefox 브라우저 실행

브라우저에 localhost를 입력하고 Enter 키를 누르면 Apache 가 성공적으로 실행되고 있음을 나타내는 기본 Apache 환영 페이지가 표시됩니다.

Apache 환영 페이지 표시됨
✨ 솔루션 확인 및 연습

MySQL 시작

이 단계에서는 MySQL 데이터베이스 서비스를 활성화합니다. MySQL 은 구조화된 방식으로 데이터를 저장하는 데 사용되는 인기 있는 관계형 데이터베이스입니다.

MySQL 은 이미 환경에 존재하며 직접 시작할 수 있습니다. MySQL 서비스를 시작합니다.

sudo service mysql start

mysql 서비스가 활성화되어야 합니다. 이 명령은 서비스가 아직 실행 중이지 않은 경우 시작합니다.

✨ 솔루션 확인 및 연습

PHP 설치

이 단계에서는 동적 웹 애플리케이션에 사용되는 인기 있는 스크립팅 언어인 PHP 를 설치합니다. PHP 는 Apache 및 MySQL 과 함께 작동하도록 구성됩니다.

PHP 및 통합 구성 요소를 설치합니다.

sudo apt update
sudo apt install -y php libapache2-mod-php php-mysql
  • php: 주요 PHP 패키지.
  • libapache2-mod-php: PHP 를 Apache 와 통합하기 위한 모듈.
  • php-mysql: PHP 를 MySQL 데이터베이스와 연결하기 위한 통합 라이브러리.

PHP 설치를 확인하기 위해 PHP 정보 페이지를 생성합니다.

sudo sh -c "echo '<?php phpinfo(); ?>' > /var/www/html/info.php"

이 명령은 sh -c를 사용하여 수퍼유저 권한으로 명령을 실행하며, PHP 환경에 대한 정보를 표시하는 기본 PHP 스크립트가 포함된 info.php라는 파일을 생성합니다.

Apache 가 웹 콘텐츠를 제공하는 데 사용하는 기본 디렉토리는 /var/www/html/입니다. 이 기본 루트 디렉토리는 /etc/apache2/sites-enabled/에서 찾을 수 있는 000-default.conf 구성 파일을 편집하여 변경할 수 있습니다. 문서 루트를 사용자 정의하려면 이 구성 파일 내에서 DocumentRoot 지시어를 수정합니다.

브라우저로 전환하여 http://localhost/info.php에 접속하면 이 페이지를 사용할 수 있습니다.

PHP 설치 확인 페이지
✨ 솔루션 확인 및 연습

PHP 용 Apache 설정

이 단계에서는 Apache 가 PHP 파일을 효과적으로 처리하도록 구성되었는지 확인합니다.

PHP 에 최적화된 mpm_prefork 모듈을 활성화하고 기본 mpm_event 모듈을 비활성화합니다.

sudo a2enmod mpm_prefork
sudo a2dismod mpm_event
sudo service apache2 restart
  • a2enmod는 Apache 에서 지정된 모듈을 활성화하고, a2dismod는 비활성화합니다.
  • Apache 를 다시 시작하면 변경 사항이 적용됩니다.

이제 웹 페이지를 다시 로드하면 변경 사항을 확인할 수 있습니다.

Apache PHP 구성 결과
✨ 솔루션 확인 및 연습

phpMyAdmin 설치 및 설정

이 단계에서는 MySQL 데이터베이스를 관리하기 위한 웹 기반 도구인 phpMyAdmin 을 설치합니다.

phpMyAdmin 설치:

sudo apt install -y phpmyadmin

이 명령은 phpMyAdmin 패키지 및 종속성을 설치합니다.

설치 과정에서 "apache2"를 선택합니다.

설치 중 Apache2 선택

데이터베이스 구성을 구성하려면 "예"를 선택합니다.

데이터베이스 구성 프롬프트 선택

phpMyAdmin 비밀번호를 입력하고 기억합니다.

phpMyAdmin 비밀번호 입력

비밀번호를 확인합니다.

phpMyAdmin 비밀번호 확인

Apache 구성 파일에 phpMyAdmin 구성을 포함합니다.

echo "Include /etc/phpmyadmin/apache.conf" | sudo tee -a /etc/apache2/apache2.conf
sudo service apache2 restart
  • Include 문은 Apache 에 phpMyAdmin 구성 파일을 로드하도록 지시합니다.
  • Apache 를 다시 시작하면 새 구성이 로드됩니다.
✨ 솔루션 확인 및 연습

WordPress 설치 및 설정

이 단계에서는 인기 있는 CMS(Content Management System, 콘텐츠 관리 시스템) 인 WordPress 를 설치하고 구성합니다.

최신 버전의 WordPress 를 다운로드하고 아카이브를 추출합니다.

curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
  • curl -O는 지정된 URL 에서 파일을 다운로드합니다.
  • tar xzvf는 다운로드한 .tar.gz 아카이브를 추출합니다.

WordPress 용 새 MySQL 데이터베이스를 생성합니다.

mysql -u root -e "CREATE DATABASE wordpress_db;"
  • -u root는 root 사용자로 MySQL 에 연결합니다.
  • CREATE DATABASE 명령은 wordpress_db라는 새 데이터베이스를 설정합니다.

새로 생성된 데이터베이스에 연결하도록 WordPress 를 구성합니다.

cd /home/labex/project/wordpress
cp wp-config-sample.php wp-config.php
  • cp는 샘플 WordPress 구성 파일을 새 파일 (wp-config.php) 로 복사합니다.

폴더를 열고 새 구성 파일에서 데이터베이스 설정을 업데이트합니다.

define('DB_NAME', 'wordpress_db');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
WordPress 데이터베이스 구성 파일

데이터베이스 자격 증명이 설정과 일치하는지 확인합니다. 편집 후 파일을 저장하고 폴더를 기본 디렉토리로 이동합니다.

sudo mv /home/labex/project/wordpress /var/www/html/wordpress
sudo chown -R www-data:www-data /var/www/html/wordpress
  • mv는 WordPress 디렉토리를 웹 서버 디렉토리로 이동합니다.
  • chown은 WordPress 디렉토리의 소유권을 Apache 사용자 (www-data) 로 변경하여 Apache 가 파일에 액세스하고 수정할 수 있도록 합니다.
✨ 솔루션 확인 및 연습

WordPress 설치 완료 및 첫 번째 블로그 게시물 작성

이 단계에서는 웹 인터페이스를 통해 WordPress 설치를 완료하고 첫 번째 블로그 게시물을 작성합니다.

웹 브라우저를 열고 http://localhost/wordpress로 이동합니다. 그러면 WordPress 설치 마법사가 시작됩니다.

화면의 지침에 따라 언어를 선택하고 웹사이트 제목을 설정한 다음 관리자 사용자 이름, 비밀번호 및 이메일 주소로 사용자 계정을 만듭니다.

WordPress 설치 마법사 시작
WordPress 설정 완료 화면

설정이 완료되면 생성한 자격 증명을 사용하여 WordPress 대시보드에 로그인합니다.

WordPress 로그인 화면
WordPress 대시보드 로그인 화면

새 블로그 게시물을 만들려면:

  • 대시보드로 이동하여 '게시물' 메뉴를 찾고 '새로 추가'를 클릭합니다.
  • 게시물 제목을 입력하고 제공된 텍스트 편집기에서 내용을 작성합니다.
  • 내용에 만족하면 '게시'를 클릭하여 블로그 게시물을 라이브로 만듭니다.
WordPress 블로그 게시물 편집기

이제 http://localhost/wordpress에서 블로그 게시물을 볼 수 있습니다!

✨ 솔루션 확인 및 연습

요약

이 Lab 에서는 Apache, MySQL 및 PHP 를 설치하고 구성하여 LAMP 서버를 설정하는 방법을 배웠습니다. 그런 다음 데이터베이스 관리를 위해 phpMyAdmin 을 설치하고 구성했으며, 샘플 애플리케이션으로 WordPress 를 설치했습니다. 이 실습 경험은 LAMP 스택을 사용하여 웹 애플리케이션을 배포하는 방법에 대한 포괄적인 이해를 제공했습니다.