AWS 라이트세일(Lightsail)은 간단한 웹 애플리케이션 호스팅을 제공하는 저렴하고 효율적인 클라우드 플랫폼입니다. OpenLiteSpeed(OLS)는 성능이 뛰어난 경량의 웹 서버로, 특히 워드프레스나 전자 상거래 사이트를 구축하는 데 유용합니다. 이번 글에서는 AWS 라이트세일에 OLS를 설치하고 설정하는 과정을 단계별로 안내하겠습니다.
1. AWS 라이트세일 인스턴스 생성
먼저, OLS를 설치하기 위해 AWS 라이트세일 인스턴스를 생성하는 과정이 필요합니다. 이 과정은 매우 간단하며, 아래의 단계들을 따르기만 하면 됩니다.
- AWS 라이트세일에 로그인하고 대시보드로 이동합니다.
Create Instance
버튼을 클릭하여 새로운 인스턴스를 생성합니다.- 플랫폼을 선택하는 화면에서
Linux/Unix
를 선택한 후, 운영체제 블루프린트에서OS Only
를 선택합니다. - 이어서 Ubuntu 버전을 선택합니다. Ubuntu는 OpenLiteSpeed와의 호환성이 매우 뛰어나므로 권장됩니다.
- 인스턴스 플랜을 선택합니다. 웹사이트 트래픽에 따라 적절한 플랜을 선택하며, 처음에는 낮은 사양을 선택해도 이후에 업그레이드할 수 있습니다.
- 마지막으로 인스턴스에 이름을 지정하고
Create
버튼을 눌러 인스턴스를 생성합니다.
이 단계에서 라이트세일 인스턴스가 성공적으로 생성되면, 다음 단계로 진행할 수 있습니다.
2. SSH로 라이트세일 인스턴스에 접속하기
라이트세일 인스턴스를 생성한 후에는 SSH를 통해 인스턴스에 접근해야 합니다. AWS 라이트세일에서는 자체적으로 제공하는 SSH 클라이언트를 통해 접속할 수 있으며, 로컬 SSH 클라이언트를 사용할 수도 있습니다.
- 라이트세일 대시보드에서 생성된 인스턴스를 선택합니다.
Connect using SSH
버튼을 클릭하면 AWS에서 제공하는 브라우저 기반 SSH 클라이언트를 사용할 수 있습니다.- 터미널이나 PuTTY와 같은 SSH 클라이언트를 사용하는 경우, 아래 명령어로 접속할 수 있습니다.
ssh ubuntu@<라이트세일_인스턴스_IP>
이 과정을 통해 인스턴스에 접속하면 본격적으로 OLS 웹 서버 설치를 시작할 수 있습니다.
3. OpenLiteSpeed 웹 서버 설치
Ubuntu 인스턴스에 OpenLiteSpeed를 설치하려면 먼저 OLS 공식 저장소를 추가하고 설치 과정을 진행해야 합니다.
- 우선, 시스템 패키지를 업데이트합니다.
sudo apt update && sudo apt upgrade -y
- OpenLiteSpeed와 PHP 8.0을 설치합니다. PHP는 OLS와 잘 호환되며, 최신 버전인 PHP 8.0을 설치하는 것이 좋습니다.
wget -O - https://repo.litespeed.sh | sudo bash sudo apt install openlitespeed -y sudo apt install lsphp80 lsphp80-common lsphp80-mysql lsphp80-curl lsphp80-json lsphp80-opcache lsphp80-mbstring -y
- OLS 설치가 완료되면 서버를 시작합니다.
sudo /usr/local/lsws/bin/lswsctrl start
- OLS가 정상적으로 작동하는지 확인하기 위해 웹 브라우저에서
http://<인스턴스_IP>:8088
로 접속합니다. 기본적으로 OLS는 8088 포트에서 동작합니다.
4. 방화벽 설정
AWS 라이트세일 인스턴스의 기본 보안 그룹 설정에서는 몇 가지 필수 포트가 닫혀 있습니다. OLS의 기본 포트인 8088을 열어야 웹 브라우저에서 접속할 수 있습니다.
- 라이트세일 콘솔로 돌아가 생성된 인스턴스의
Networking
탭으로 이동합니다. Add another
버튼을 클릭하고, 프로토콜을TCP
로 설정한 후 8088 포트를 추가합니다.- 설정을 저장하여 8088 포트를 열어줍니다.
이제 웹 브라우저에서 OpenLiteSpeed 웹 서버에 정상적으로 접속할 수 있을 것입니다.
5. OpenLiteSpeed 관리자 콘솔에 접근
OpenLiteSpeed는 웹 기반 관리 콘솔을 제공하여 서버 설정을 쉽게 관리할 수 있습니다. 관리자 콘솔은 기본적으로 7080 포트에서 동작하며, 접속하려면 관리자 비밀번호 설정이 필요합니다.
- OLS 관리자 비밀번호를 설정하려면 아래 명령어를 실행합니다.
기본 사용자 이름은sudo /usr/local/lsws/admin/misc/admpass.sh
admin
이며, 비밀번호는 명령어 실행 후 입력할 수 있습니다. - 웹 브라우저에서 다음과 같은 URL을 통해 관리자 콘솔에 접속할 수 있습니다.
https://<인스턴스_IP>:7080
- 방화벽에서 7080 포트를 열어야 관리 콘솔에 접근할 수 있습니다.
이 과정을 통해 OLS 관리자 콘솔에 접속할 수 있으며, 서버 설정을 보다 쉽게 관리할 수 있게 됩니다.
6. PHP와 OpenLiteSpeed 연동 설정
OpenLiteSpeed는 PHP와의 연동이 매우 용이하여, 간단한 설정만으로 PHP를 활성화할 수 있습니다.
- OpenLiteSpeed 관리자 콘솔에 접속하여 상단 메뉴에서
Listeners
->View
->Virtual Hosts
로 이동합니다. Example
가상 호스트를 선택하고,Script Handler
섹션으로 이동한 후, PHP 핸들러 경로를/usr/local/lsws/lsphp80/bin/lsphp
로 설정합니다.- 설정을 저장하고 OLS 웹 서버를 다시 시작합니다.
sudo /usr/local/lsws/bin/lswsctrl restart
이제 PHP가 OLS와 정상적으로 연동되었으며, PHP 기반 웹 애플리케이션을 실행할 수 있습니다.
7. SSL 설정
웹사이트의 보안을 강화하고 HTTPS를 활성화하기 위해서는 SSL 인증서를 설치해야 합니다. 무료 SSL 인증서 제공 서비스인 Let's Encrypt를 통해 SSL 인증서를 발급받을 수 있습니다.
certbot
을 설치합니다.sudo apt install certbot
- Let's Encrypt 인증서를 발급받습니다.
sudo certbot certonly --webroot -w /usr/local/lsws/DEFAULT/html -d <도메인명>
- 발급받은 인증서를 OpenLiteSpeed 설정 파일에 추가하여 HTTPS를 활성화합니다.
이 과정을 완료하면 HTTPS를 통해 웹사이트에 안전하게 접속할 수 있습니다.
8. WordPress 설치 (선택 사항)
OpenLiteSpeed에 워드프레스를 설치하려면 몇 가지 추가 설정이 필요합니다.
- 워드프레스 설치 파일을 다운로드합니다.
wget https://wordpress.org/latest.tar.gz
- 다운로드한 파일의 압축을 풀고, OpenLiteSpeed 기본 웹 디렉토리로 이동합니다.
tar -xvzf latest.tar.gz sudo mv wordpress /usr/local/lsws/DEFAULT/html/
- 데이터베이스를 생성한 후 워드프레스 설치를 완료합니다.
이 과정을 통해 WordPress 기반의 웹사이트를 OLS 환경에서 빠르게 실행할 수 있습니다.
9. 자동 업데이트 및 보안 강화
서버의 보안을 유지하고 성능을 최적화하기 위해서는 정기적인 업데이트가 중요합니다. 자동 업데이트를 설정하여 서버의 패키지를 항상 최신 상태로 유지하는 것이 좋습니다.
sudo apt update && sudo apt upgrade -y
또한 SSH 접속의 보안을 강화하기 위해 기본 포트(22번)를 변경하거나, SSH 키 기반 인증을 설정하는 것도 좋은 방법입니다.
10. 성능 최적화
OpenLiteSpeed는 기본적으로 뛰어난 성능을 제공하지만, 몇 가지 추가 설정을 통해 웹사이트의 성능을 더욱 향상시킬 수 있습니다. 예를 들어, 캐시 설정을 활성화하거나, Gzip 압축을 설정하면 웹사이트의 로딩 속도를 크게 향상시킬 수 있습니다. 또한 적절한 리소스 관리를 위해 서버 모니터링을 통해 CPU, 메모리 등의 자원 사용 상태를 지속적으로 점검하는 것이 좋습니다.
11. 서버 모니터링 및 유지보수
웹사이트의 성능과 보안을 유지하려면 서버 모니터링이 필수적입니다. AWS 라이트세일에서는 기본적인 모니터링 도구를 제공하지만, 추가적인 도구를 사용하면 더욱 정교한 관리가 가능합니다.
- 서버 모니터링 도구 설치:
htop
,iftop
과 같은 명령줄 도구는 서버의 CPU, 메모리, 네트워크 사용량을 실시간으로 모니터링하는 데 유용합니다. sudo apt install htop iftop
- 로그 파일 점검: OLS와 PHP에서 생성된 로그 파일은 문제 발생 시 원인을 파악하는 데 유용합니다.
/usr/local/lsws/logs/
에서 접근할 수 있으며, 주기적으로 점검하는 것이 좋습니다. tail -f /usr/local/lsws/logs/error.log
- 백업 설정: 중요한 웹사이트 데이터를 보호하기 위해 정기적인 백업을 설정해야 합니다. AWS 라이트세일에서는 인스턴스 스냅샷 기능을 제공하며, 이를 이용해 데이터 백업을 자동화할 수 있습니다.
- 스냅샷은 라이트세일 대시보드에서
Snapshots
탭에서 생성할 수 있습니다.
- 스냅샷은 라이트세일 대시보드에서
12. 데이터베이스 성능 최적화
OLS와 함께 사용하는 MySQL 또는 MariaDB 데이터베이스는 웹 애플리케이션 성능에 중요한 영향을 미칩니다. 몇 가지 최적화 방법은 다음과 같습니다.
- 쿼리 캐시 활성화: MySQL에서 쿼리 캐시를 활성화하면 반복적인 쿼리 실행 시 성능이 향상됩니다.설정 파일에서
query_cache_size
와query_cache_type
을 적절히 설정합니다. sudo nano /etc/mysql/my.cnf
- 데이터베이스 인덱싱: 자주 조회되는 데이터를 포함한 테이블에 적절한 인덱스를 추가하면 검색 속도를 크게 향상시킬 수 있습니다.
- phpMyAdmin 설치 (선택 사항): 데이터베이스 관리를 더 쉽게 하기 위해 phpMyAdmin을 설치할 수 있습니다.phpMyAdmin은 웹 기반 데이터베이스 관리 도구로, MySQL 관리 작업을 GUI 환경에서 처리할 수 있습니다.
sudo apt install phpmyadmin
13. 캐싱 및 Gzip 압축 활성화
OpenLiteSpeed에서 캐싱을 활성화하면 웹사이트의 응답 속도를 크게 높일 수 있습니다. 또한 Gzip 압축을 통해 전송되는 데이터 크기를 줄여 페이지 로딩 속도를 개선할 수 있습니다.
- 캐시 설정:
OLS 관리자 콘솔에서Cache
섹션으로 이동하여 캐싱을 활성화합니다. 각종 캐싱 플러그인과 함께 사용하면 성능을 극대화할 수 있습니다. - Gzip 압축 활성화:
OpenLiteSpeed는 Gzip 압축을 통해 클라이언트로 전송되는 파일의 크기를 줄일 수 있습니다. 이는 웹사이트의 로딩 속도를 크게 개선하는 데 도움을 줍니다.- OLS 관리자 콘솔에서
Server Configuration
->Tuning
섹션으로 이동하여 Gzip 압축을 활성화할 수 있습니다.
- OLS 관리자 콘솔에서
14. DDoS 방어 및 보안 강화
서버를 보호하기 위해 DDoS 방어 및 기본적인 보안 강화 조치가 필요합니다.
- Fail2ban 설치: Fail2ban은 SSH 및 웹 애플리케이션에 대한 무차별 대입 공격을 방어하는 도구입니다.
sudo apt install fail2ban
- 방화벽 설정 강화: 기본적인 AWS 보안 그룹 외에도 UFW(Uncomplicated Firewall)를 설치하여 추가적인 방화벽 규칙을 적용할 수 있습니다.
sudo apt install ufw sudo ufw enable sudo ufw allow ssh sudo ufw allow http sudo ufw allow https
- 2단계 인증: OLS 관리자 콘솔에 2단계 인증을 설정하면 보안이 더욱 강화됩니다. AWS IAM 역할을 통해 사용자 접근을 제한하고, 민감한 데이터에 접근할 수 없도록 설정합니다.
결론
AWS 라이트세일에서 OpenLiteSpeed 웹 서버를 설치하고 설정하는 과정은 비교적 간단하며, 이 글에서 설명한 절차를 따르면 쉽게 완료할 수 있습니다. OpenLiteSpeed는 가볍고 성능이 뛰어나며, 특히 PHP와의 연동이 용이하여 워드프레스와 같은 웹 애플리케이션을 구축하는 데 매우 적합합니다. 또한 SSL 인증서 설정, 방화벽 관리, 서버 최적화 등의 추가적인 작업을 통해 보안과 성능을 더욱 향상시킬 수 있습니다.
'IT ISSUE' 카테고리의 다른 글
WPML 번역 플러그인에서 메모리 제한 설정하는 방법 (1) | 2024.09.25 |
---|---|
스팸 점수 낮추기 위한 백링크 거부 도구 활용 방법 (3) | 2024.09.24 |
워드프레스 페이지 제목 제거하는 방법 (3) | 2024.09.23 |
아스트라 테마 모바일 사용 시, 편의성 오류 해결 방법 (1) | 2024.09.22 |
빙 웹마스터 도구, 방문자 행동 분석의 선명도 기능 (1) | 2024.09.21 |