웹사이트 검색

Ubuntu 22.04에 Linux, OpenLiteSpeed, MariaDB, PHP(LOMP 스택)를 설치하는 방법


저자는 Write for DOnations 프로그램을 선택했습니다.

소개

LOMP 스택은 Joomla 및 동적 콘텐츠를 제공하는 기타 PHP 기반 애플리케이션의 약어입니다.

이 튜토리얼에서는 Ubuntu 22.04에서 실행되는 LOMP 서버를 설정합니다. 작성 당시 현재 버전은 PHP 8.1, MariaDB 10.7 및 OpenLiteSpeed 1.7입니다.

전제 조건

이 가이드를 시작하기 전에 다음이 필요합니다.

  • Ubuntu 22.04 초기 서버 설정 가이드에 따라 설정할 수 있는 루트가 아닌 sudo 사용자, 방화벽 및 최소 1GB RAM이 있는 Ubuntu 22.04 서버 1개
  • 정규화된 도메인 이름(SSL 구성에 필요하며 공개 웹사이트에 권장됨). DNS 빠른 시작에서 도메인 이름을 가져와서 도메인 이름이 서버를 가리키도록 할 수 있습니다.
  • 도메인의 SSL 인증서 및 키. Certbot 독립 실행형 모드를 사용하여 Ubuntu 22.04에서 Let’s Encrypt SSL 인증서를 검색하는 방법을 따라 도메인에 대한 인증서-키 쌍을 얻습니다. 2단계에서 443 포트와 함께 80 포트를 엽니다.

1단계 - OpenLiteSpeed 설치

이 단계에서는 필요한 패키지 리포지토리를 서버로 가져온 후 OpenLiteSpeed 웹 서버를 설치합니다. SSH 세션에서 sudo를 처음 사용하는 경우 루트가 아닌 사용자의 암호를 입력해야 할 수 있습니다.

패키지 관리자 캐시를 업데이트하여 시작하십시오.

  1. sudo apt update

그런 다음 다음 명령을 실행하여 필요한 패키지를 업그레이드합니다.

  1. sudo apt upgrade -y

참고: 커널을 업데이트하라는 메시지가 표시되면 y를 입력하여 계속하십시오. 재부팅하라는 메시지가 표시되면 sudo reboot 명령을 실행하여 시스템을 재부팅합니다.

Nginx와 달리 OpenLiteSpeed는 자체 저장소에서 코드를 호스팅합니다. 다음 명령을 사용하여 이 리포지토리를 apt 패키지 관리자의 소스 목록에 추가합니다.

  1. sudo wget -O - https://repo.litespeed.sh | sudo bash

wget은 OpenLiteSpeed의 서버에 있는 원격 저장소에 대한 셸 스크립트를 가져오고 -O 플래그는 파일의 내용을 터미널에 인쇄합니다. | 파이프는 콘텐츠를 sudo bash 명령으로 실행되는 새 bash 셸로 전달합니다. 이 bash 터미널은 저장소에서 가져온 .sh 파일(bash 스크립트)의 내용에 언급된 명령을 실행하고 로컬 APT 저장소 목록에 저장소를 설치합니다.

다음과 같은 출력이 표시됩니다.

Output
Redirecting output to ‘wget-log’. --2022-09-08 08:27:42-- http://rpms.litespeedtech.com/debian/lst_debian_repo.gpg Resolving rpms.litespeedtech.com (rpms.litespeedtech.com)... 52.55.120.73 Connecting to rpms.litespeedtech.com (rpms.litespeedtech.com)|52.55.120.73|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1198 (1.2K) [application/octet-stream] Saving to: ‘/etc/apt/trusted.gpg.d/lst_debian_repo.gpg’ /etc/apt/trusted.gpg.d/l 100%[==================================>] 1.17K --.-KB/s in 0s 2022-09-08 08:27:42 (139 MB/s) - ‘/etc/apt/trusted.gpg.d/lst_debian_repo.gpg’ saved [1198/1198] --2022-09-08 08:27:42-- http://rpms.litespeedtech.com/debian/lst_repo.gpg Resolving rpms.litespeedtech.com (rpms.litespeedtech.com)... 52.55.120.73 Connecting to rpms.litespeedtech.com (rpms.litespeedtech.com)|52.55.120.73|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2336 (2.3K) [application/octet-stream] Saving to: ‘/etc/apt/trusted.gpg.d/lst_repo.gpg’ /etc/apt/trusted.gpg.d/l 100%[==================================>] 2.28K --.-KB/s in 0s 2022-09-08 08:27:42 (226 MB/s) - ‘/etc/apt/trusted.gpg.d/lst_repo.gpg’ saved [2336/2336] LiteSpeed repository has been setup!

새로 추가된 리포지토리가 apt 패키지 관리자에 의해 스캔되도록 리포지토리 목록을 업데이트합니다.

  1. sudo apt update

다음으로 openlitespeed 패키지를 설치합니다.

  1. sudo apt install openlitespeed

프롬프트가 표시되면 비밀번호를 입력한 다음 Y를 눌러 설치를 확인하십시오.

설치가 완료되면 service 명령으로 상태를 확인하여 OpenLiteSpeed가 설치되고 올바르게 작동하는지 확인합니다.

  1. sudo systemctl status lsws

systemctl status 명령은 키워드로 식별되는 서비스의 상태를 가져옵니다. OpenLiteSpeed 웹 서버 서비스의 키워드는 lsws입니다. systemctl 명령은 서비스에 대한 자동 시작을 활성화 또는 비활성화하고 서비스를 수동으로 시작 또는 중지할 수 있습니다.

다음 출력을 받게 됩니다.

Output
● lshttpd.service - OpenLiteSpeed HTTP Server Loaded: loaded (/etc/systemd/system/lshttpd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-03-16 08:59:09 UTC; 2min 26s ago Process: 32997 ExecStart=/usr/local/lsws/bin/lswsctrl start (code=exited, status=0/SUCCESS) Main PID: 33035 (litespeed) CGroup: /system.slice/lshttpd.service ├─33035 openlitespeed (lshttpd - main) ├─33044 openlitespeed (lscgid) └─33073 openlitespeed (lshttpd - #01)

이제 기본 구성으로 실행 중인 OpenLiteSpeed 웹 서버가 있습니다. 방화벽이 이러한 포트에 대한 트래픽을 차단하므로 아직 GUI 기반 관리자 패널 및 예제 웹 사이트에 액세스하지 못할 수 있습니다.

OpenLiteSpeed 웹 서버를 실행하면 방화벽을 업데이트하고 사용자가 웹 사이트에 액세스할 수 있도록 필요한 포트를 열 수 있습니다.

2단계 - 방화벽 업데이트

이 단계에서는 서버의 방화벽을 구성합니다. HTTP 및 HTTPS 사이트용 80443 포트뿐만 아니라 GUI 기반 관리 패널 및 예제 웹 사이트에 대한 선택된 포트에 대해 TCP를 통한 트래픽을 허용합니다.

OpenLiteSpeed 서버는 GUI 기반 관리자 패널과 예제 웹사이트를 서버와 함께 번들로 제공합니다. 관리자 패널은 리스너, 가상 호스트, SSL 및 모니터링 로그를 구성하기 위한 사용하기 쉬운 인터페이스입니다. 예제 웹 사이트에는 샘플 CGI 스크립트, PHP 스크립트, 오류 페이지 및 암호로 보호된 페이지가 있습니다. 이 웹 사이트는 웹 서버의 기능을 시연할 수 있습니다.

GUI 기반 관리자 패널은 기본 구성에서 포트 7080에서 수신하는 반면 예제 웹사이트는 포트 8088에서 수신합니다. 이러한 사이트에 액세스하려면 ufw 방화벽을 통해 이러한 포트에 대한 TCP 트래픽을 허용해야 합니다.

액세스를 제공하려면 다음 명령을 실행하십시오.

  1. sudo ufw allow 7080,80,443,8088/tcp

그런 다음 방화벽 규칙의 상태를 확인합니다.

  1. sudo ufw status

출력은 다음과 같습니다.

Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80,443,7080,8088/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80,443,7080,8088/tcp (v6) ALLOW Anywhere (v6)

포트 8088을 통해 예제 웹 사이트를 볼 수 있습니다.

http://your_server_ip:8088

아래 스크린샷과 같이 나타나야 합니다.

예제 웹 사이트를 둘러보고 웹 서버에서 제공하는 기능을 탐색할 수 있습니다.

GUI 기반 관리자 패널을 보려면 포트 7080에 액세스하십시오.

http://your_server_ip:7080

이 자습서의 뒷부분에서 OpenLiteSpeed GUI 관리자 패널을 사용하여 웹 서버를 구성합니다.

이제 Ubuntu 인스턴스에 OpenLiteSpeed 서버를 설정하여 다양한 백엔드 언어 및 프레임워크를 기반으로 다양한 웹 애플리케이션을 제공할 수 있습니다. 다음 단계에서는 LOMP 스택의 다른 서비스를 설정합니다.

3단계 - MariaDB 설치

Linux에서 실행되는 OpenLiteSpeed 서버를 사용하여 이제 MariaDB 데이터베이스 서버를 설정할 수 있습니다. 데이터베이스 서버를 사용하면 웹 사이트에서 데이터를 저장, 검색 및 관리할 수 있습니다. MariaDB는 SQL 및 NoSQL 기능을 제공하고 InnoDB와 같은 여러 데이터베이스 엔진을 통합할 수 있기 때문에 널리 사용되는 데이터베이스 엔진입니다.

다음 명령을 사용하여 MariaDB 서버를 설치합니다.

  1. sudo apt install mariadb-server

확인 메시지가 표시되면 Y를 입력하여 확인합니다.

설치가 완료되면 다음 명령을 사용하여 초기 서버 설정을 완료합니다.

  1. sudo mysql_secure_installation

기본 설치에는 루트 암호가 없으므로 프롬프트가 표시되면 Enter를 누를 수 있습니다.

설치 설정 후 다음과 같은 출력을 받게 됩니다.

Output
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on...

그러면 소켓 인증을 활성화하라는 메시지가 표시됩니다. unix_socket 인증으로 전환할지 묻는 메시지가 표시되면 Y를 입력합니다.

Output
Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] y Enabled successfully! Reloading privilege tables.. ... Success!

다음 프롬프트에서 루트 암호를 설정할지 묻는 메시지가 표시되면 Y를 입력하고 원하는 루트 암호를 두 번 입력합니다.

Output
You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!

다음 프롬프트는 익명의 사용자를 제거할 것인지 묻습니다. 다음 프롬프트에 Y라고 대답합니다.

Output
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success!

다른 서버나 로컬 컴퓨터에서 루트 사용자로 데이터베이스에 액세스할 계획이 아니라면 원격 루트 로그인도 허용하지 않아야 합니다. 원격 시스템에서 루트 로그인을 비활성화하려면 프롬프트에 Y로 응답하십시오.

Output
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success!

다음 프롬프트에 Y를 입력하여 테스트 데이터베이스 및 관련 권한을 제거할 수도 있습니다.

Output
By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment: Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success!

마지막으로 위의 모든 변경 사항이 서버에 적용되도록 권한 테이블을 다시 로드하도록 확인합니다.

Output
Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!

이제 Ubuntu 인스턴스에 MariaDB 데이터베이스 서버를 설치, 구성 및 보호했습니다. 데이터베이스는 기본 구성에서 포트 3306에서 MySQL 연결을 수신합니다. 데이터베이스는 내부적으로(대부분의 경우 동일한 서버에서) 액세스되므로 방화벽에서 외부 트래픽에 대해 이 포트를 열지 않습니다.

다음으로 OpenLiteSpeed와 함께 사용할 PHP를 설치합니다.

4단계 — 특정 버전의 PHP 설치

OpenLiteSpeed 웹 서버는 PHP의 안정적인 최신 버전이 아닐 수 있는 하나의 PHP 버전과 함께 번들로 제공됩니다. 미리 설치된 PHP 버전을 사용하거나 특정 인스턴스를 설치할 수 있습니다. 이 단계에서는 PHP 설치 버전을 확인하고 필요한 경우 업데이트하고 필요한 패키지를 설치합니다.

OpenLiteSpeed 서버에 사전 설치된 PHP 버전을 확인하려면 예제 웹사이트의 PHP 테스트 섹션에 있는 버튼을 클릭하거나 다음 URL을 방문하십시오.

http://your_server_ip:8088/phpinfo.php

정보 페이지에 PHP 버전이 표시됩니다.

OpenLiteSpeed 웹 서버에 특정 버전의 PHP를 설치하려면 시작하기에서 호환성과 함께 사용 가능한 버전 목록을 확인하십시오.

다음 명령을 사용하여 Ubuntu에 사용 가능한 LSPHP(LiteSpeed PHP) 패키지를 확인할 수도 있습니다.

  1. sudo apt-cache search lsphp

패키지 목록에서 패키지 이름의 접미사를 사용하여 php 버전을 식별할 수 있습니다. 다음과 같은 패키지 목록이 표시됩니다.

Output
... lsphp81 - server-side, HTML-embedded scripting language (LSAPI binary) ...

이 예에서 lsphp81은 이것이 PHP v8.1임을 나타내지만 lsphp는 74PHP v7.4를 의미합니다.

특정 lsphp 패키지를 설치하려면 다음 명령을 사용하십시오(81를 원하는 버전의 접미사로 대체).

  1. sudo apt install lsphp81 lsphp81-{common,mysql}

설치를 확인하려면 Y를 입력하십시오.

lsphp 패키지만 설치했지만 이 버전의 PHP를 사용하도록 OpenLiteSpeed를 구성하지 않았습니다. 예제 웹 사이트는 새 버전을 사용하도록 구성할 때까지 기본 PHP 버전을 계속 표시합니다. 다음 단계에서는 이 버전의 PHP를 사용하도록 OpenLiteSpeed를 구성합니다.

5단계 - OpenLiteSpeed 구성

이 단계에서는 OpenLiteSpeed 웹 서버용 GUI 기반 관리자 패널의 자격 증명을 구성하고 선택한 PHP 버전을 사용하도록 웹 서버를 구성합니다.

OpenLiteSpeed 웹 서버를 구성하려면 포트 7080에서 GUI 관리자 패널에 액세스합니다.

http://your_server_ip:7080

터미널에서 다음 명령을 사용하여 관리자 계정 자격 증명을 설정합니다.

  1. sudo /usr/local/lsws/admin/misc/admpass.sh

이러한 로그인 자격 증명은 이전 단계에서 설정한 것과 다르며 OpenLiteSpeed 서버의 GUI 관리자 패널에서만 작동합니다.

사용자 이름과 암호를 입력하라는 메시지가 표시되는 다음 출력이 표시됩니다.

Output
Please specify the user name of administrator. This is the user name required to login the administration Web interface. User name [admin]: sammy Please specify the administrators password. This is the password required to login the administration Web interface. Password: Retype password: Administrators username/password is updated successfully!

자격 증명을 설정한 후 지정된 버전을 사용하도록 서버를 구성할 수 있습니다.

http://your_server_ip:7080을 통해 관리자 패널에 로그인하고(방금 설정한 자격 증명 사용) 서버 구성 섹션으로 이동합니다. 그런 다음 외부 앱 탭을 클릭합니다.

다음 화면이 표시됩니다.

LiteSpeed SAPI 앱에 대한 첫 번째 행의 작업 열에서 편집 버튼을 클릭하면 이름이 lsphp인 앱이 열립니다. 명령 필드로 스크롤하여 해당 값을 lsphp81/bin/lsphp로 변경합니다(4단계의 명명 규칙에 따름). 이 값을 구성한 후 LiteSpeed SAPI 앱 제목으로 스크롤하고 오른쪽에 있는 저장 버튼을 클릭합니다.

오른쪽 상단의 Graceful Restart 버튼을 사용하여 웹 서버를 다시 시작하십시오. Graceful Restart 버튼은 다음 화면 캡처의 오른쪽 상단에 강조 표시되어 있습니다.

포트 8088에서 정보 페이지를 방문하여 서버가 현재 지정된 PHP 버전을 사용하고 있는지 확인하십시오.

http://your_server_ip:8088/phpinfo.php

이제 페이지에 지정된 버전 번호가 표시됩니다.

이 단계에서는 관리자 패널의 자격 증명을 구성하고 원하는 PHP 버전을 사용하도록 설정했습니다. 다음으로 이 웹 서버에서 호스팅할 다른 웹 사이트에 대한 가상 호스트를 설정합니다.

6단계 - 가상 호스트 설정

이 단계에서는 웹 서버에 대한 가상 호스트를 설정하고 웹 사이트에 대한 모든 트래픽에 대한 TLS 암호화를 구성합니다.

가상 호스트를 사용하면 단일 웹 서버를 통해 고유한 호스트 이름으로 식별되는 여러 웹사이트에 서비스를 제공할 수 있습니다. OpenLiteSpeed는 리스너에 매핑되는 여러 가상 호스트에 서비스를 제공할 수 있습니다. 그러면 수신기가 특정 포트에 매핑됩니다. OpenLiteSpeed를 사용하면 가상 호스트가 사용자 지정된 리디렉션 규칙을 가질 수 있으며 각 가상 호스트에 대해 다른 PHP 버전을 구성할 수도 있습니다. Node.JS와 같은 다른 웹 서버에 대한 역방향 프록시 연결 역할을 하도록 가상 호스트를 구성할 수 있습니다.

여전히 GUI 관리자 패널에서 가상 호스트 섹션으로 이동합니다. 표시되는 테이블의 오른쪽 상단에서 더하기(+) 버튼을 클릭하여 새 가상 호스트를 추가합니다.

그런 다음 선택한 가상 호스트 이름을 추가하여 $SERVER_ROOT와 같은 변수를 사용하여 가상 호스트 루트와 가상 호스트의 구성 파일 경로를 설정할 수 있습니다(루트 디렉토리 참조용). OpenLiteSpeed 웹 서버의) 또는 $VH_ROOT(가상 호스트의 루트 디렉토리 참조용). Enable Scripts/ExtApps에서 Yes를 클릭하여 PHP가 가상 호스트에서 작동하는지 확인합니다.

가상 호스트를 설정할 때 원하는 값으로 다음 필드를 완료하십시오(아래 표시된 값은 예임).

  • 가상 호스트 이름: MyWebsite
  • 가상 호스트 루트: $SERVER_ROOT/MyWebsite/html/
  • 구성 파일: conf/vhosts/MyWebsite/vhconf.conf
  • 스크립트/ExtApp 활성화:
  • 제한됨:

MyWebsite를 전제 조건에서 생성한 도메인 이름으로 바꿀 수 있습니다.

참고: 지정된 경로에 구성 파일이 없으면 오류가 발생할 수 있습니다. 오류 메시지에 언급된 링크를 클릭하면 파일이 자동으로 생성됩니다.

Enable Scripts/ExtApps에서 를 선택하면 구성의 외부 앱 섹션에서 사용자 정의 PHP 인터프리터 버전을 지정할 수 있습니다. 사용자 지정 PHP 버전을 구성하지 않으려면 끌 수 있습니다.

Restrained에서 는 기호 링크가 가상 호스트 루트 디렉토리 외부의 파일을 가리키는 경우에도 사용자가 가상 호스트 루트 디렉토리에 포함된 디렉토리 이외의 디렉토리에 있는 파일에 액세스하지 못하도록 합니다. 보안을 위해 이 기능을 활성화하십시오.

구성을 완료한 후 가상 호스트 행의 오른쪽에 있는 저장 버튼을 클릭합니다.

구성에 변경 사항을 적용하기 위해 단계적 재시작을 수행하라는 메시지가 관리자 패널에 표시될 수 있습니다. 구성 단계에 영향을 주지 않으므로 이 시점에서 Graceful Restart를 수행할 수 있습니다. 리스너 구성에 대한 변경을 완료한 후 단계적 재시작을 수행할 때까지 기다릴 수도 있습니다.

가상 호스트를 구성한 후 수신기를 구성합니다. 관리자 패널의 리스너 섹션으로 이동합니다. 기본 수신기를 클릭한 다음 가상 호스트 매핑 테이블의 오른쪽 상단 모서리에 있는 더하기(+) 버튼을 클릭합니다.

가상 호스트에 해당하는 드롭다운에서 가상 호스트 구성에서 할당한 가상 호스트 이름을 선택합니다. 표시된 예에서 선택한 가상 호스트는 MyWebsite입니다.

도메인 이름 텍스트 상자에 구성한 가상 호스트를 제공하는 데 사용할 정규화된 등록 도메인 이름을 입력합니다. 아래 스크린샷에서 샘플 값은 mywebsite.com으로 설정되어 있지만 your_domain에 사용한 값으로 업데이트합니다.

참고: 기본 수신기는 포트 8088에서 수신 대기하도록 구성됩니다. 사이트에 대한 HTTP 트래픽에 사용되는 포트는 80이며 SSL/TLS 암호화가 활성화된 경우 HTTPS 웹사이트는 포트 443에서 수신 대기해야 합니다. 리스너가 수신하는 포트를 변경하려면 리스너 구성의 주소 설정에서 포트를 변경해야 합니다.

가상 호스트 매핑 행의 오른쪽 상단에 있는 저장을 클릭합니다.

웹 사이트에 대해 TLS 보안을 활성화하는 것이 좋습니다. 수신기에 대한 일반 설정에서 보안 옵션을 로 업데이트하고 HTTPS 페이지를 제공하는 수신기에 대해 포트를 8088에서 443로 변경합니다. . 443은 HTTPS의 기본 포트입니다. 업데이트된 주소 설정을 저장합니다.

전제 조건 중에 인증 기관에서 인증서 및 키 파일을 생성했으므로 이제 OpenLiteSpeed 설정에 추가할 수 있습니다. SSL 개인 키 및 인증서 행에서 편집 아이콘을 클릭하여 수신기 구성의 SSL 섹션에 인증서 및 키 파일 경로를 추가합니다.

전제 조건에 언급된 가이드를 따랐다면 Let's Encrypt에서 생성된 인증서 및 키 파일은 다음 위치에 있습니다.

  • 개인 키 파일: /etc/letsencrypt/live/your_domain.privkey.pem
  • 인증서 파일: /etc/letsencrypt/live/your_domain.fullchain.pem

Let's Encrypt에서 생성된 인증서의 경우 OpenLiteSpeed에서 Let's Encrypt SSL을 구성하기 위한 공식 문서에서 권장하는 대로 체인 인증서 옵션을 로 설정해야 합니다.

수신기 구성의 SSL 섹션에 있는 TLS 인증서 및 키 파일에 대한 샘플 구성은 다음과 같습니다(파일 경로를 도메인과 일치하도록 업데이트해야 함).

문제가 발생하면 OpenLiteSpeed 설명서에서 SSL용 OpenLiteSpeed 구성 가이드를 검토할 수 있습니다.

이러한 설정을 구성하고 저장한 후 화면 오른쪽 상단의 Graceful Restart 버튼을 클릭하면 변경 사항이 적용됩니다.

이제 수신기가 있는 가상 호스트를 구성하고 웹 사이트의 모든 트래픽에 대해 TLS 암호화를 설정했습니다. 서버의 공용 IP 주소에 매핑하도록 DNS를 구성하면 지정한 도메인에서 웹 사이트에 액세스할 수 있습니다.

참고: OpenLiteSpeed는 QUIC(Quick UDP Internet Connections) 프로토콜을 통해 HTTP3 프로토콜을 통합한 최초의 오픈 소스 서버 중 하나입니다.

HTTP3/QUIC를 활성화하려면 도메인에 SSL을 설정하고 관리자 패널을 통해 인증서와 키를 구성해야 합니다. 지시를 위해 6단계로 돌아갑니다.

HTTP3를 사용하려면 서버의 포트 443에 대한 UDP 트래픽도 허용해야 합니다. 이렇게 하려면 다음 명령을 실행합니다.

  1. sudo ufw allow 443/udp

결론

이 자습서에서는 MariaDB 데이터베이스 서버와 지정된 PHP 버전으로 PHP 애플리케이션을 제공할 수 있는 OpenLiteSpeed 웹 서버를 설정합니다. 이제 서버에서 Joomla와 같은 다양한 PHP 애플리케이션 및 프레임워크를 호스팅할 수 있습니다.

아직 설정하지 않은 경우 웹 서버에서 TLS 보안을 설정하고 QUIC를 통한 HTTP/3을 활성화하여 OpenLiteSpeed 웹 서버를 최대한 활용할 수 있습니다. OpenLiteSpeed에서 Let’s Encrypt SSL 설정 가이드를 확인한 다음 이 가이드의 6단계에서 QUIC을 통해 HTTP/3 활성화 섹션을 참조하세요.