기술 가이드

CentOS 8에 OpenLiteSpeed, PHP 7.4(LSPHP) 및 MariaDB 설치 및 설정 가이드

7 min read 서버 가이드 업데이트됨 18 Oct 2025
CentOS 8에 OpenLiteSpeed·PHP7.4·MariaDB 설치 가이드
CentOS 8에 OpenLiteSpeed·PHP7.4·MariaDB 설치 가이드

OpenLiteSpeed 설치 개요 이미지

중요: 본 가이드는 CentOS 8 환경(권장 최소 사양: 2GB RAM, 25GB 여유 디스크, 2 vCPU)을 기준으로 작성되었습니다. 실제 운영 환경에서는 추가 보안(SELinux, TLS 인증서 관리, 로그 중앙화)과 백업 전략을 반드시 계획하세요.

개요

OpenLiteSpeed는 LiteSpeed Technologies에서 개발한 오픈소스 HTTP 서버입니다. 가벼우면서 고성능을 지향하고 웹 기반 GUI(관리자 대시보드)를 통해 설정을 편리하게 관리할 수 있습니다. OpenLiteSpeed는 LSPHP(=LSAPI 기반 PHP)로 PHP를 실행하며, MariaDB 같은 데이터베이스와 함께 LAMP류 스택을 구성할 수 있습니다.

이 가이드는 다음 작업을 포함합니다.

  • OpenLiteSpeed 저장소 추가 및 설치
  • PHP 7.4(LSPHP) 설치
  • MariaDB 설치 및 기본 보안 설정
  • OpenLiteSpeed 관리자 계정 설정(포트 7080)
  • LSPHP(PHP 7.4)를 External App으로 등록하고 Script Handler에 연결
  • OpenLiteSpeed를 HTTP 기본 포트(80)로 변경
  • 동작 확인(기본 페이지, phpinfo)

다음 섹션에서 단계별 명령, 화면 설명, 문제 발생 시 확인 포인트 및 보안 권장사항을 제공합니다.

사전 준비

  • CentOS 8 최신 패치 적용 상태
  • 루트 또는 sudo 권한
  • 방화벽(firewalld) 기본 동작 이해
  • 서버 IP, DNS(선택) 준비

팁: CentOS 8은 이미 수명 주기가 지난 경우가 있으니(운영체제 지원 정책을 확인) 장기 운영 시 AlmaLinux, Rocky Linux 등의 호환 배포판을 검토하세요.

용어 한 줄 설명

  • LSPHP: OpenLiteSpeed가 사용하는 LSAPI 기반 PHP 구현(PHP 바이너리 집합).
  • Listener: OpenLiteSpeed에서 포트 및 바인딩을 관리하는 구성 요소.
  • External App: OpenLiteSpeed가 외부 프로세스(예: lsphp)를 호출하는 설정 항목.

단계 1 — OpenLiteSpeed 설치

먼저 OpenLiteSpeed 저장소를 추가한 뒤 패키지를 설치합니다. 저장소 패키지를 rpm으로 설치하면 litespeed 관련 레포가 /etc/yum.repos.d에 추가됩니다.

rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm

저장소 추가 후 사용 가능한 저장소 목록을 확인해 설치 준비가 되었는지 확인합니다.

dnf repolist

dnf로 리포지토리 확인 스크린샷

리포지토리가 정상적으로 추가되었으면 OpenLiteSpeed 패키지를 설치합니다.

sudo dnf install openlitespeed

설치가 완료되면 서비스 시작 및 부팅 시 자동 시작을 설정합니다.

systemctl start lsws
systemctl enable lsws

상태 확인:

systemctl status lsws

CentOS에서 OpenLiteSpeed 서비스 시작 화면

검증: 웹 서버가 정상 시작되면 관리 포트(기본 7080)가 동작합니다. 이 시점에서는 방화벽 규칙을 아직 열지 않았을 수 있습니다.

중요: systemctl 명령이 실패하면 /usr/local/lsws/logs/error.log 파일을 확인하세요. SELinux가 활성화된 환경에서는 추가 정책이 필요할 수 있습니다(아래 보안 섹션 참조).


단계 2 — PHP 7.4 (LSPHP) 설치

OpenLiteSpeed는 PHP-FPM 대신 LSPHP(LSAPI)를 권장합니다. LSPHP는 OpenLiteSpeed와의 통신이 최적화되어 있으며 성능/호환성 측면에서 이점이 있습니다.

먼저 EPEL 저장소를 추가합니다.

sudo dnf install epel-release

그다음 OpenLiteSpeed 저장소의 LSPHP 7.4 패키지들을 설치합니다. 필요한 모듈은 애플리케이션 요구사항에 따라 추가/제거하세요.

sudo dnf install lsphp74 lsphp74-mysqlnd lsphp74-process lsphp74-mbstring lsphp74-mcrypt lsphp74-gd lsphp74-opcache lsphp74-bcmath lsphp74-pdo lsphp74-common lsphp74-xml

설치 완료 후 lsphp 관련 소켓/프로세스를 확인합니다.

netstat -pl | grep lsphp

또는 시스템에서 유닉스 도메인 소켓(uds)을 확인하려면:

ss -lx | grep lsphp

설치가 정상적이면 OpenLiteSpeed에서 사용할 수 있는 lsphp 바이너리(예: /usr/local/lsws/lsphp74/bin/lsphp 또는 /usr/local/lsws/lsphp74/bin/lsphp)가 존재합니다.

검증: phpinfo()로 PHP 버전과 로드된 확장 모듈을 확인합니다(나중 단계에서 phpinfo 확인).

설치 참고: 패키지 명칭은 레포지토리 구성에 따라 다를 수 있으니 dnf search lsphp74로 패키지 목록을 확인하세요.


단계 3 — MariaDB 설치 및 초기 보안 설정

데이터베이스로 MariaDB를 설치하고 기본 보안 설정(mysql_secure_installation)을 실행합니다.

sudo dnf install mariadb mariadb-server

서비스 시작 및 자동 시작 등록:

systemctl start mariadb
systemctl enable mariadb

MariaDB 설치 중 터미널 창 이미지

보안 설정(권장): mysql_secure_installation 스크립트를 실행하여 루트 암호 설정, 익명 사용자 제거, 테스트 DB 제거, 권한 테이블 리로드를 진행합니다.

mysql_secure_installation

질문 예시(공식 스크립트 안내에 따라 응답):

Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

루트로 로그인하여 사용자 목록을 확인합니다.

mysql -u root -p
Type Your Root Password:

select User, Host from mysql.user;

MariaDB 사용자 확인 스크린샷

중요: MariaDB의 인증 플러그인과 암호 정책을 필요에 맞게 조정하세요. 특히 원격 접속을 허용하려면 사용자 호스트와 방화벽 규칙을 신중히 설정해야 합니다.


단계 4 — 관리자 대시보드 인증 설정 및 방화벽 열기

OpenLiteSpeed 관리자 대시보드는 기본적으로 포트 7080에서 HTTPS로 동작합니다. 먼저 포트를 방화벽에 추가하고 admpass.sh로 관리자 계정을 생성합니다.

방화벽에 포트 7080 추가 및 재로드:

firewall-cmd --add-port=7080/tcp --permanent
firewall-cmd --reload

관리자 비밀번호 설정 스크립트 실행:

cd /usr/local/lsws/admin/misc
sh admpass.sh

스프립트는 계정명과 비밀번호를 묻습니다. 안전한 비밀번호를 사용하세요.

관리자 대시보드 보호 설정 스크린샷

브라우저에서 https://서버IP:7080 로 접속해 로그인합니다.

Login 예시: https://10.5.5.25:7080

로그인 화면 예시

로그인 후 관리자 대시보드를 확인합니다.

OpenLiteSpeed 관리자 대시보드

보안 팁:

  • 관리자 포트는 외부에 그대로 노출하지 말고, 사내망에서만 접근 가능하게 하거나 VPN, IP 화이트리스트로 보호하세요.
  • HTTPS가 기본 활성화되지만 자체 서명서로 오는 경우 브라우저 경고가 표시됩니다. 운영 환경에서는 유효한 인증서를 사용하세요.

단계 5 — OpenLiteSpeed에 PHP 7.4(LSPHP) 연동

관리자 대시보드에서 LSPHP를 External App으로 등록한 뒤 Script Handler로 연결합니다.

관리자에서 Server Configuration → External App 탭으로 이동합니다.

External App 설정 화면

‘+’ 버튼을 눌러 새 항목을 추가합니다. 타입(Type)으로 “LiteSpeed SAPI App”을 선택한 뒤 다음 값들을 입력합니다.

Name: lsphp74
Address: uds://tmp/lshttpd/lsphp.sock
Notes: lsphp74 for OpenLiteSpeed
Max Connections: 35
Initial Request Timeout (secs): 60
Retry Timeout (secs): 0
Command: $SERVER_ROOT/lsphp74/bin/lsphp

설정 저장 후 Server Configuration → Script Handler 탭에서 PHP 핸들러를 편집하여 Handler Name으로 lsphp74를 선택하고 저장합니다.

LiteSpeed SAPI 앱 추가 화면

PHP 7.4 External App 등록 화면

Script Handler 설정 화면

lsphp74 핸들러 선택 화면

설정 후 서버 리스타트(관리자 화면에서 적용 버튼) 또는 systemctl로 재시작하여 변경사항을 반영하세요.

systemctl restart lsws

검증: 간단한 PHP 파일(phpinfo)을 웹루트에 생성하고 phpinfo 페이지가 lsphp로 처리되는지 확인합니다.


단계 6 — OpenLiteSpeed를 포트 80(HTTP)에서 실행

기본 OpenLiteSpeed는 포트 8088(또는 환경에 따라 다름)에서 동작합니다. 운영 환경에서는 기본 HTTP 포트(80)로 변경할 수 있습니다. 먼저 방화벽에 http/https 서비스를 추가합니다.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

firewalld 서비스 추가 스크린샷

관리자 대시보드에서 Listener → Default → view → Address Settings → edit로 이동해 포트를 80으로 변경하고 저장합니다.

Listeners 화면 예시

Address Settings 편집 화면

HTTP 포트 설정 저장 화면

변경 후 서버를 재시작합니다(관리자에서 Restart 또는 systemctl restart lsws).

구성 변경 후 서버 재시작 화면

검증: 브라우저에서 http://서버IP 주소로 접속해 기본 인덱스 페이지가 나타나는지 확인합니다.


단계 7 — 테스트 및 검증

브라우저에서 http://서버IP/ 로 접속하면 OpenLiteSpeed의 기본 인덱스 페이지가 표시되어야 합니다.

http://10.5.5.25/

OpenLiteSpeed 기본 인덱스 화면

다음으로 PHP 동작을 테스트합니다. 관리자 대시보드 또는 직접 생성한 php 파일에서 phpinfo()를 호출하여 PHP 버전 및 로드된 확장을 확인합니다.

OpenLiteSpeed에서의 phpinfo 화면

성공 기준:

  • 루트(또는 가상호스트의 DocumentRoot)에서 phpinfo()가 LSPHP로 처리되고 PHP 7.4가 표시됨
  • MariaDB에 루트로 접속 가능(설정한 암호 사용)
  • 관리자 대시보드(포트 7080)에 관리자 계정으로 로그인 가능
  • http/https 포트가 방화벽에서 허용됨

트러블슈팅 체크리스트

  • 서비스 상태 확인: systemctl status lsws, systemctl status mariadb
  • 로그 파일: /usr/local/lsws/logs/error.log, /var/log/mariadb/mariadb.log
  • 포트 충돌: ss -tulpn | grep :80 또는 :7080
  • SELinux: Enforcing인 경우 audit 로그(/var/log/audit/audit.log)를 확인하고 필요한 booleans를 설정하거나 정책을 추가
  • 파일 권한: 웹 루트와 lsphp 실행 파일이 적절한 권한/소유권을 가졌는지 확인

중요: 잘못된 Command 경로 또는 잘못된 Address(uds 경로)는 External App이 시작되지 않는 원인이 됩니다. External App 설정에서 명령 경로가 실제 바이너리 위치와 일치하는지 확인하세요.


보안 및 운영 권장사항

  • 관리자 대시보드(7080)는 내부망 또는 VPN으로만 접근하도록 제한
  • 운영환경에서는 Let’s Encrypt 또는 상업용 인증서를 사용해 TLS 구성
  • 정기적인 패키지 업데이트(dnf update)와 MariaDB 백업 전략 구현
  • 로그 롤링 및 중앙집중식 로깅(예: rsyslog, ELK/EFK) 도입
  • 웹 애플리케이션 방화벽(WAF) 도입 고려
  • PHP 확장 최소화: 불필요한 확장은 제거하여 공격 표면 축소

SELinux 참고: SELinux가 활성화된 시스템에서는 OpenLiteSpeed의 UDS 소켓과 파일 접근에 대해 추가 컨텍스트 설정이 필요할 수 있습니다.


대안과 비교

  • OpenLiteSpeed vs Apache/Nginx: OpenLiteSpeed는 LSAPI와의 긴밀한 통합으로 PHP 처리 속도/메모리 면에서 장점이 있지만, 생태계(모듈, 문서)와 관행은 Apache/Nginx 쪽이 더 넓습니다. 운영 편의성, 기존 인프라 호환성, 확장성 요구사항을 기준으로 선택하세요.
  • PHP 처리 방식: LSPHP(LSAPI) vs PHP-FPM — LSPHP는 OpenLiteSpeed에 최적화되어 있으며 추가 설정이 간단합니다. 기존에 PHP-FPM 기반으로 구성된 환경을 마이그레이션할 때는 핸들러와 소켓 경로를 주의깊게 변경하세요.

운영자용 체크리스트(역할별)

  • 시스템 관리자:

    • 저장소(rpm) 추가 및 패키지 설치
    • systemd 서비스 관리 및 로그 확인
    • 방화벽과 포트 관리
  • 웹 개발자:

    • PHP 확장 요구사항 확인 및 설치
    • 애플리케이션의 DocumentRoot와 권한 설정
    • phpinfo로 확장/설정 검증
  • 보안 담당자:

    • 관리자 포트 접근 제어
    • TLS 인증서 관리
    • mysql 계정 및 권한 정리

간단한 운영 SOP(표준 운영 절차)

  1. 패치: 운영 전 패키지 업데이트(dnf update) 수행
  2. 설치: OpenLiteSpeed, LSPHP, MariaDB 설치
  3. 초기 보안: MariaDB 보안 스크립트 실행 및 관리자 계정 설정
  4. 방화벽: 관리자/HTTP/HTTPS 포트 규칙 설정
  5. 검증: phpinfo 및 기본 페이지 확인
  6. 백업: DB 덤프와 서버 이미지 백업
  7. 모니터링: 리소스(메모리/CPU) 및 응답시간 관찰

롤백(간단): 패키지 설치 직후 문제 발생 시 systemctl stop lsws, dnf remove openlitespeed lsphp* 후 스냅샷에서 복원 또는 이전 이미지로 롤백.


결정 트리(간단)

flowchart TD
  A[서버 준비 완료?] -->|예| B[OpenLiteSpeed 설치]
  A -->|아니오| Z[서버 사양/권한 확인]
  B --> C{PHP 사용 필요?}
  C -->|예| D[lsphp74 설치]
  C -->|아니오| E[정적 사이트 구성]
  D --> F[External App 등록]
  F --> G[Script Handler 연결]
  G --> H[방화벽 및 포트 설정]
  H --> I[테스트 및 검증]
  I --> J[운영 전 보안 점검]

테스트 케이스(수동)

  • TC1: 관리자 포트(7080)에 로그인 가능
  • TC2: http://서버IP/ 에서 OpenLiteSpeed 인덱스 출력
  • TC3: phpinfo 페이지에서 PHP 7.4 및 mysqli, pdo_mysql 확장 로드 확인
  • TC4: MariaDB에 루트 로그인 및 간단한 CRUD 쿼리 실행
  • TC5: Listener 포트를 80으로 변경 후 외부에서 HTTP 접속 확인

각 테스트는 성공/실패를 기록하고 실패 시 로그(error.log, mariadb log)와 포트/프로세스 상태를 점검하세요.


호환성 및 마이그레이션 팁

  • CentOS 8의 향후 지원 여부를 확인하세요. CentOS 8 EOL 환경에서는 AlmaLinux/ Rocky Linux로 전환하는 것을 고려할 수 있습니다.
  • Apache/Nginx → OpenLiteSpeed 전환 시 가상호스트 설정, rewrite 규칙, SSL 설정, PHP 핸들러 차이를 점검하세요.
  • 기존 PHP-FPM에서 LSPHP로 이전할 때는 php.ini 경로와 확장 로드 경로가 달라질 수 있으므로 설정 파일을 비교하세요.

요약

  • OpenLiteSpeed와 LSPHP(PHP 7.4), MariaDB를 CentOS 8에 설치하고 기본 설정을 완료했습니다.
  • 관리자 대시보드(포트 7080)와 HTTP 포트(80) 설정, 방화벽 규칙 추가, phpinfo로 검증을 수행했습니다.
  • 운영 전 보안(관리자 포트 제한, TLS, 백업, 로그 관리)을 반드시 적용하세요.

핵심 요점:

  1. 저장소 추가 → 패키지 설치 → 서비스 시작
  2. LSPHP를 External App으로 등록하고 Script Handler에 연결
  3. MariaDB 설치 후 mysql_secure_installation으로 기본 보안 완료
  4. 포트 및 방화벽 설정 후 phpinfo로 동작 검증

참고 링크:

감사합니다.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

EVE Online 패킷 손실 진단 및 해결 가이드
Networking

EVE Online 패킷 손실 진단 및 해결 가이드

전원 버튼 없이 Android 폰 끄는 6가지 방법
모바일

전원 버튼 없이 Android 폰 끄는 6가지 방법

Windows 10에서 .NET Runtime Optimization CPU 문제 해결
Windows 문제해결

Windows 10에서 .NET Runtime Optimization CPU 문제 해결

아이폰 날씨 앱, 모바일 데이터로 업데이트되지 않을 때 해결법
기기 팁

아이폰 날씨 앱, 모바일 데이터로 업데이트되지 않을 때 해결법

Windows 11 작업 표시줄 고정 차단 방법
Windows 도움말

Windows 11 작업 표시줄 고정 차단 방법

Windows 11에서 Steps Recorder PSR 여는 방법
Windows 도구

Windows 11에서 Steps Recorder PSR 여는 방법