Ubuntu 24.04.3에서 Nginx, PHP 8.4, MariaDB, 그리고 도메인 및 보안 설정을 포함한 웹 서버 환경을 구축하는 방법을 단계별로 자세히 설명드릴게요. 이 구성은 LEMP 스택(Linux, Nginx, MariaDB, PHP)을 기반으로 합니다.


✅ 1. 시스템 업데이트

sudo apt update && sudo apt upgrade -y

✅ 2. Nginx 설치 및 설정

sudo apt install nginx -y

🔹 Nginx 서비스 시작 및 부팅 시 자동 실행

sudo systemctl start nginx
sudo systemctl enable nginx

🔹 방화벽 설정 (UFW 사용 시)

sudo ufw allow 'Nginx Full'
sudo ufw enable

✅ 3. PHP 8.4 설치

Ubuntu 24.04.3에는 기본적으로 최신 PHP가 포함되어 있을 수 있지만, PHP 8.4는 아직 공식 릴리스가 아닐 수 있으므로 ondrej/php PPA를 사용할 수 있습니다.

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.4 php8.4-fpm php8.4-mysql php8.4-cli php8.4-curl php8.4-mbstring php8.4-xml php8.4-zip -y

🔹 PHP-FPM 서비스 시작

sudo systemctl start php8.4-fpm
sudo systemctl enable php8.4-fpm

✅ 4. MariaDB 설치 및 보안 설정

sudo apt install mariadb-server mariadb-client -y

🔹 MariaDB 보안 설정

sudo mysql_secure_installation
  • 루트 비밀번호 설정
  • 익명 사용자 제거
  • 원격 루트 로그인 비활성화
  • 테스트 데이터베이스 제거
  • 권한 테이블 다시 로드

✅ 5. Nginx + PHP 연동 설정

🔹 예시: /etc/nginx/sites-available/example.com

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

✅ 6. 도메인 설정

  • 도메인 구매 후 DNS 설정에서 A 레코드를 서버의 공인 IP로 설정합니다.
  • 예: example.com → 123.123.123.123

✅ 7. HTTPS 보안 설정 (Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
  • 인증서 자동 갱신 확인:
sudo certbot renew --dry-run

✅ 8. 추가 보안 설정

  • Fail2Ban 설치:
sudo apt install fail2ban -y

코멘트

답글 남기기