LinuxTechnology

[Ubuntu 22.04 LTS] LAMP 스택 (Apache, MariaDB, PHP) 완벽 설치 가이드

12views

요청하신 LinuxBabe의 Ubuntu 22.04 LAMP Stack (Linux, Apache, MariaDB, PHP) 설치 가이드를 정리했습니다.

LAMP 스택은 웹 서버 구축의 가장 기본이자 표준입니다. 초보자도 순서대로 복사해서 붙여넣기만 하면 즉시 워드프레스(WordPress) 등을 운영할 수 있는 환경이 완성되도록 구성했습니다.


0. 환경 및 사전 요구 사항

  • OS: Ubuntu 22.04 LTS (Server or Desktop)
  • 권한: sudo 권한이 있는 사용자 또는 root
  • 목표: Apache(웹 서버), MariaDB(데이터베이스), PHP(스크립트 언어) 설치 및 연동.

1. 사전 준비 (System Update)

설치 중 발생할 수 있는 패키지 충돌을 막기 위해 시스템을 최신 상태로 만듭니다.

Bash

# 패키지 저장소 정보를 갱신하고, 설치된 패키지를 업그레이드합니다.
sudo apt update && sudo apt upgrade -y

2. Apache 웹 서버 설치 (The ‘A’)

웹 브라우저의 요청을 처리하는 웹 서버를 설치합니다.

Step 1: 설치 및 실행

Bash

# Apache2 패키지를 설치합니다.
sudo apt install apache2 -y

# 설치 후 Apache 서비스를 시작하고 부팅 시 자동 실행되도록 설정합니다.
sudo systemctl enable --now apache2

Step 2: 방화벽 설정 (UFW)

외부에서 웹 서버에 접속할 수 있도록 포트(80, 443)를 엽니다.

Bash

# Apache 관련 포트(HTTP, HTTPS)를 방화벽에서 허용합니다.
sudo ufw allow "Apache Full"

# 방화벽 변경 사항을 확인합니다.
sudo ufw status

Step 3: 소유권 설정

웹 루트 디렉터리(/var/www/html)의 소유권을 웹 서버 사용자(www-data)로 변경하여 권한 문제를 예방합니다.

Bash

# 웹 루트 디렉터리의 소유권을 변경합니다.
sudo chown -R www-data:www-data /var/www/html

3. MariaDB 데이터베이스 설치 (The ‘M’)

MySQL과 완벽하게 호환되면서도 더 가볍고 빠른 오픈소스 데이터베이스인 MariaDB를 설치합니다.

Step 1: 설치 및 실행

Bash

# MariaDB 서버와 클라이언트를 설치합니다.
sudo apt install mariadb-server mariadb-client -y

# 서비스를 시작하고 자동 실행 등록을 합니다.
sudo systemctl enable --now mariadb

# 정상 실행 중인지 확인합니다.
sudo systemctl status mariadb

Active: active (running)이 보이면 정상입니다. q를 눌러 빠져나오세요.

Step 2: 보안 설정 (필수!)

초기 설치 시 취약할 수 있는 설정을 강화하는 스크립트를 실행합니다. (중요)

Bash

# 보안 강화 스크립트를 실행합니다.
sudo mysql_secure_installation

[프롬프트 입력 가이드]

스크립트 실행 후 아래 질문이 나오면 순서대로 답하세요.

  1. Enter current password for root (enter for none): [Enter] 키 누름 (초기엔 비밀번호 없음)
  2. Switch to unix_socket authentication [Y/n] [n] 입력 (일반적인 비밀번호 인증 방식을 사용)
  3. Change the root password? [Y/n] [Y] 입력 후 새로운 DB 루트 비밀번호 설정
  4. Remove anonymous users? [Y/n] [Y] (익명 사용자 제거)
  5. Disallow root login remotely? [Y/n] [Y] (원격 루트 로그인 차단)
  6. Remove test database and access to it? [Y/n] [Y] (테스트 DB 삭제)
  7. Reload privilege tables now? [Y/n] [Y] (설정 즉시 적용)

4. PHP 설치 (The ‘P’)

동적인 웹 페이지를 생성하고 데이터베이스와 통신하기 위한 PHP를 설치합니다. (Ubuntu 22.04 기본 버전은 PHP 8.1입니다.)

Step 1: 설치

Apache와 MariaDB 연동에 필요한 모듈을 함께 설치합니다.

Bash

# PHP 및 필수 모듈을 설치합니다.
sudo apt install php libapache2-mod-php php-mysql -y

# 설치된 PHP 버전을 확인합니다.
php -v

5. 최종 연동 테스트 (Verification)

Apache가 PHP 파일을 제대로 처리하는지 확인하기 위해 테스트 파일을 만듭니다.

Step 1: 테스트 파일 생성

Bash

# 웹 루트에 info.php 파일을 생성합니다.
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Step 2: 접속 확인

웹 브라우저를 열고 아래 주소로 접속해 보세요.

  • 주소: http://<SERVER_IP_ADDRESS>/info.php
  • (예: http://192.168.0.10/info.php)

보라색 표의 PHP 정보 페이지가 뜬다면 LAMP 스택 구축 성공입니다! 🎉


6. 마무리 및 보안 Tip 💡

  • Tip 1: 테스트 파일 삭제 (보안)info.php 파일에는 서버의 중요한 버전 정보가 노출되므로, 테스트가 끝나면 반드시 삭제해야 합니다.
    Bash
    sudo rm /var/www/html/info.php
  • Tip 2: Apache 재시작PHP 설정이나 모듈을 변경했다면 반드시 Apache를 재시작해야 적용됩니다.
    Bash
    sudo systemctl restart apache2
  • Tip 3: PHP 모듈 추가 설치워드프레스 등 특정 CMS를 사용할 때 추가 모듈이 필요할 수 있습니다. 검색은 다음 명령어를 사용하세요.
    Bash
    apt search php8.1-

이제 서버는 웹 서비스를 운영할 완벽한 준비가 되었습니다. 혹시 **”워드프레스 설치”**나 “SSL 인증서(HTTPS) 무료 적용” 방법이 필요하시면 말씀해 주세요. 바로 가이드를 이어드리겠습니다.