웹사이트 검색

LAMP 1-Click 설치 사용 방법


소개

LAMP 스택은 특정 소프트웨어 그룹을 사용하여 서버에서 웹 애플리케이션을 호스팅하는 솔루션 스택입니다. 이 용어는 Apache 웹 서버가 있는 Linux 운영 체제를 나타내는 약어입니다. 사이트 데이터는 MySQL 데이터베이스에 저장되며 동적 콘텐츠는 PHP에서 처리됩니다.

이 튜토리얼은 안전한 HTTPS 연결을 위해 DigitalOcean TLS/SSL 인증서를 사용하여 LAMP 스택이 사전 설치된 DigitalOcean Droplet을 회전시키는 방법을 안내합니다. Droplet을 생성한 후 LAMP 스택의 다른 사용 사례를 안내합니다. 이 1-Click Droplet은 표준 Ubuntu 20.04 Droplet을 기반으로 하므로 이 가이드를 완료한 후 Droplet에서 LAMP 자습서를 따를 수 있습니다.

원클릭 배포

이 튜토리얼이 끝나면 다음과 같이 추가된 Ubuntu 20.04 Droplet을 갖게 됩니다.

  • Apache(버전 2.4.41)는 널리 사용되는 오픈 소스 웹 서버입니다. 동적으로 로드 가능한 모듈, 강력한 미디어 지원 및 널리 사용되는 다른 소프트웨어와의 광범위한 통합을 비롯한 많은 강력한 기능을 제공합니다.
  • MySQL(버전 8.0.30)은 대중적인 오픈 소스 데이터베이스 관리 시스템입니다. 관계형 모델을 구현하고 구조적 쿼리 언어(SQL로 더 잘 알려져 있음)를 사용하여 데이터를 관리합니다.
  • PHP(버전 8.1.8)는 동적인 대화형 웹 페이지를 만들기 위해 웹 개발에 사용되는 스크립팅 언어입니다.
  • Fail2ban(버전 0.11.1)은 특정 동작에 따라 특정 IP 주소를 금지하는 규칙을 생성하여 무차별 대입 DDOS 공격을 방지하는 데 사용되는 도구입니다.
  • Postfix(버전 3.4.10)는 Linux 시스템에서 이메일을 라우팅하고 전달하는 데 사용할 수 있는 메일 전송 에이전트입니다.
  • Certbot(버전 0.39.0)은 HTTPS 트래픽용 TLS/SSL 암호화용 인증서 생성을 자동화하는 도구입니다. 또한 이러한 새 인증서를 사용하여 HTTPS를 사용하도록 웹 서버 설정의 자동 구성을 처리할 수 있습니다.

패키지 설치 외에도 이 1-Click에는 다음도 포함됩니다.

  • HTTP 트래픽용 포트 80, HTTPS 트래픽용 포트 443 및 SSH 트래픽용 포트 22를 허용하는 UFW를 사용하는 활성화된 방화벽.
  • mysql_secure_installation을 실행하여 MySQL에 이미 설정된 루트 비밀번호. 이 정보는 /root/.digitalocean_password에서 찾을 수 있습니다.

1단계 - LAMP 액적 생성

Marketplace에서 사용할 수 있는 LAMP 1-Click Droplet을 생성하여 시작하면 DigitalOcean 제어판으로 이동합니다. LAMP 1-Click 앱에서 LAMP Droplet을 생성하려면 Create LAMP Droplet 버튼을 누릅니다.

DigitalOcean 계정에 로그인되어 있지 않으면 로그인해야 합니다. 계정이 없으면 가입할 수 있습니다.

다음으로 드롭릿 만들기 페이지로 이동합니다. 여기에서 LAMP Droplet을 만들기 전에 서버 설정을 사용자 지정할 수 있습니다. 선택해야 하는 모든 세부 사항에 대한 설명은 첫 번째 물방울을 만드는 방법에 대한 가이드를 읽어보세요. 다음 섹션은 고려해야 할 몇 가지 주요 설정입니다.

이미지 선택

이미지는 이미 Ubuntu 20.04에서 LAMP 최신 버전의 Marketplace 탭으로 설정되어 있습니다.

이것이 선택되지 않은 경우 검색 상자를 사용하여 LAMP를 검색하십시오.

기본값을 수락하거나 사용 사례에 따라 설정을 조정할 수 있습니다. 일반적으로 다음 변경 사항을 권장합니다.

데이터 센터 지역 선택

잠재적인 대기 시간을 방지하려면 사용자 기반에 가장 가까운 데이터 센터 지역을 선택하는 것이 좋습니다. 일부 지역에는 둘 이상의 데이터 센터가 있습니다. 이러한 동일한 지역 데이터 센터(예: SFO3 및 SFO2) 간에는 차이가 없습니다.

계획 선택

LAMP로 Droplet을 실행하려면 최소 1GB의 RAM이 있는 것이 좋습니다.

인증 방법 선택

Droplet의 비밀번호가 아닌 SSH 키 옵션이 권장됩니다. SSH 키를 사용한 인증은 일반적으로 더 안전합니다.

추가 옵션 선택

향상된 메트릭 모니터링 및 알림을 Droplet에 추가하면 시간이 지남에 따라 Droplet 리소스 사용량을 추적하는 데 도움이 됩니다. 자동 백업 활성화를 고려할 수도 있습니다. 나중에 다시 돌아와 이미 생성한 Droplet에서 백업 기능을 활성화할 수 있습니다.

호스트 이름 선택

Droplet에 "LAMP Droplet 1\과 같이 기억할 수 있는 식별 이름을 지정하거나 사용할 응용 프로그램의 이름을 따서 지정하십시오.

모든 선택을 마친 후 제어판 화면의 하단 표시줄에 있는 Create Droplet을 누릅니다. Droplet이 생성되면 해당 IP 주소가 표시됩니다.

이 IP 주소에 액세스하여 Droplet에 연결하고 구성할 수 있습니다. IP 주소 위로 마우스를 이동하고 복사를 눌러 클립보드에 복사합니다.

1-Click Marketplace를 통해 생성된 Droplet은 시작하기를 눌러 액세스할 수 있는 추가 리소스와 함께 제공됩니다.

이렇게 하면 1-Click 애플리케이션에 특정한 추가 정보를 얻을 수 있는 새 패널이 토글됩니다. 여기에는 개요, Droplet 사용을 시작하기 위한 추가 단계, 커뮤니티 사이트의 관련 자습서 링크가 포함됩니다. 또한 LAMP에 대한 지원 및 기타 리소스에 액세스할 수 있습니다.

제어판에서 Droplet 설정을 마치면 터미널에서 액세스할 수 있습니다.

2단계 — SSH를 통해 드롭릿에 액세스하여 구성 활성화

LAMP Droplet을 회전시킨 후에는 SSH로 Droplet에 연결하는 방법이 필요합니다.

  1. ssh root@your_server_ip

제어판에서 Droplet 설정을 마치면 터미널에서 액세스할 수 있습니다.

3단계 - LAMP 작업

이제 LAMP Droplet이 실행 중이므로 LAMP 작업을 시작할 수 있습니다. LAMP가 설정되었는지 확인하고 전반적인 상태를 확인하려면 php 명령을 사용하십시오.

  1. php -i
Output
phpinfo() PHP Version => 8.1.13 System => Linux lamponubunt4-s-1vcpu-2gb-sfo3-01 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 Build Date => Nov 26 2022 14:07:36 Build System => Linux Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc/php/8.1/cli Loaded Configuration File => /etc/php/8.1/cli/php.ini . . .

자동으로 생성된 MySQL용 루트 암호에 액세스하려면 nano 또는 선호하는 텍스트 편집기로 다음 파일을 열 수 있습니다.

  1. nano /root/.digitalocean_password
root_mysql_pass="your_mysql_password"

비밀번호를 확인한 후 CTRL + X를 눌러 nano를 닫습니다.

1-Click 드롭릿은 /var/www/html의 루트 디렉토리에서 웹사이트를 제공하도록 자동으로 구성됩니다. 이 디렉토리에는 index.html이라는 이름으로 제공되는 예제 파일이 있습니다. 내용을 검사하려면 선호하는 텍스트 편집기로 파일을 엽니다.

  1. nano /var/www/html/index.html
<html>
  <head>
	<style>
  	body {
    	font-family: ProximaNova;
    	font-size: 15px;
    	font-style: normal;
    	font-stretch: normal;
. . .

검토가 끝나면 파일을 닫습니다. http://your_server_ip로 이동하여 브라우저에서 이 파일을 볼 수 있습니다.

다음으로 LAMP 설정을 추가로 사용자 지정하고 웹 서버의 트래픽을 보호하기 위해 수행할 수 있는 몇 가지 작업이 있습니다. LAMP 설정을 사용자 지정할 수 있는 한 가지 방법은 Apache에서 가상 호스트를 생성하는 것입니다.

Apache 서버 구성은 단일 모놀리식 파일에서 발생하지 않고 대신 필요에 따라 새 파일을 추가하고 수정할 수 있는 모듈식 설계를 통해 발생합니다. 이 모듈식 디자인 내에서 가상 호스트라는 개별 사이트 또는 도메인을 만들 수 있습니다. 가상 호스트를 사용하면 하나의 Apache 인스턴스가 여러 웹사이트에 서비스를 제공할 수 있습니다. 자세한 내용은 Ubuntu 20.04 자습서에서 Apache 가상 호스트를 설정하는 방법을 따르십시오.

Certbot은 1-Click Droplet과 함께 설치되지만 Let’s Encrypt를 통해 인증서를 얻으려면 실행해야 합니다. Let’s Encrypt는 무료 TLS/SSL 인증서를 얻고 설치하여 웹 서버에서 암호화된 HTTPS를 활성화하는 인증 기관(CA)입니다. Apache용 인증서를 얻고 설치하는 전체 프로세스를 자동화하는 소프트웨어 클라이언트인 Certbot을 제공합니다. 자세한 내용은 Ubuntu 20.04에서 Let’s Encrypt를 사용하여 Apache를 보호하는 방법 자습서를 따르십시오.

4단계 - 새 사용자 생성 및 권한 및 방화벽 조정(선택 사항)

새 Droplet은 기본 루트 사용자인 단 한 명의 사용자와 함께 제공됩니다. LAMP는 루트 사용자로 작동할 수 있지만 sudo를 통해 새 사용자를 설정하고 관리 권한을 부여할 수도 있습니다. 이것은 다른 보안 권장 사항과 함께 Ubuntu 20.04 자습서로 초기 서버 설정에서 찾을 수 있습니다.

또한 Certbot을 사용하여 인증서를 올바르게 설정한 경우 HTTPS를 통한 트래픽만 허용하도록 선택할 수 있습니다. ufw delete를 사용하여 1-Click Droplet과 함께 제공된 규칙을 제거합니다.

  1. ufw delete allow 80/tcp

이제 서버는 HTTPS를 통해서만 액세스할 수 있습니다.

결론

LAMP 1-Click Droplet이 이제 실행 중입니다. 이 자습서에서는 LAMP가 단일 개체로 취급되지만 각 개별 구성 요소에는 고유한 기능 모음이 있습니다. 각 구성 요소에 대해 자세히 알아보려면 다음 자습서를 고려하십시오.

  • Ubuntu 20.04에 Apache 웹 서버를 설치하는 방법
  • Ubuntu 20.04에 MySQL을 설치하는 방법

기존 LAMP 설치에 관심이 있는 경우 LAMP Stack 튜토리얼을 사용하여 Ubuntu 20.04에 WordPress를 설치하는 방법을 확인할 수 있습니다.