웹서버 8

리눅스 네트워크 서버 - Nginx 웹 서버 설치 및 가상 호스트 설정

이번 실습에서는 Nginx 웹 서버를 리눅스에 설치하고, 가상 호스트와 location 블록 설정까지 실습하였다. 성능이 뛰어난 웹 서버로 유명한 Nginx는 실제 서비스 환경에서 Apache를 대체하거나 보완하는 용도로 널리 사용된다. 1. Nginx란?가볍고 빠른 웹 서버 및 리버스 프록시 서버비동기 이벤트 기반 아키텍처로 높은 동시 접속 처리 가능리버스 프록시, 로드 밸런싱, 정적 파일 서빙, HTTP/HTTPS 지원프록시의 종류종류설명포워드 프록시클라이언트 => 프록시 => 인터넷리버스 프록시인터넷(사용자) => 프록시 => 내부 서버 (Nginx 주 사용 방식) 2. Nginx 설치 및 실행apt updateapt install nginx 설치 후 서비스 확인 및 시작 :systemctl is-..

리눅스 핵심 네트워크 서버 - Apache 설치 및 SSL 인증서 자동 설정 실습

이번 실습에서는 리눅스 환경에서 가장 널리 쓰이는 웹 서버인 Apache(아파치)를 설치하고, 가상 호스트 설정 및 SSL 인증서 적용(Cerbot)을 자동화 스크립트와 함께 구성하였다. HTTPS 기반의 안전한 웹 서비스 환경을 만들기 위한 핵심 단계였다.1. Apache란?Apache HTTP Server는 오픈소스 기반의 웹 서버 소프트웨어로, 전 세계에서 가장 많이 사용되고 있다.다양한 운영체제 지원 : Linux, Unix, Windows 등정적 웹 서버로도 활용 가능하고, PHP나 MySQL 연동을 통해 동적 웹 서버로 확장 가능.설정이 유연하고 커스터마이징이 쉬움. 2. Apache 설치apt updateapt install apache2 설치 후 서비스 상태 확인 및 시작:systemctl..

리눅스 Application 네트워크 서버 - Tomcat 설치 및 자동 실행 설정

이번 실습에서는 Java 기반 웹 애플리케이션 실행 환경인 Apache Tomcat을 리눅스에 설치하고, 관리 사용자 설정 및 systemd를 통한 서비스 자동 실행 설정까지 진행하였다. 자동화 스크립트와 서비스 파일 구성까지 완성해 보았다. 1. Tomcat이란?Tomcat은 Apache 재단에서 개발한 Java 웹 애플리케이션 서버로, 서블렛(Servlet)과 JSP(Java Server Pages)를 실행할 수 있는 서블릿 컨테이너이다. Tomcat 관련 용어 정리용어설명서블릿클라이언트 요청을 받아 동적으로 처리하는 자바 프로그램컨테이너서블릿을 실행 및 관리하는 환경manager-gui, admin-guiTomcat 관리용 웹 GUI 접근 권한 역할 2. Tomcat 설치 (패키지 기반) apt u..

리눅스 서버 구축 실습 - 5편 - Virtual Host 설정과 SSL 인증서 적용 프로젝트

이전 글 보러 가기이전까지는 Apache, PHP, phpMyAdmin 환경을 구성하고 보안 설정을 마쳤다.이번 마지막 실습에서는 실제 서비스 운영을 염두에 둔 가상 호스트 설정, Let's Encrypt 인증서 적용, 그리고 최고 관리자 설정까지 수행하였다. 말 그대로 지금까지 학습한 리눅스 서버 구축 내용을 종합적으로 적용한 실습 프로젝트이다. 1. Apache 동시 접속자 수 설정하기Apache는 동시 접속자를 처리하기 위해 여러 멀티 프로세싱 모델 (MPM) 중 하나를 사용한다. 본 실습에서는 prefork 모드를 사용하였다. MPM 확인하기a2query -M 설정 조건StartServers와 MinSquareServers는 같은 값 설정MaxSpareServers는 위의 2배ServerLimi..

리눅스 서버 구축 실습 - 4편 - phpMyAdmin 설치와 보안 설정

이전 글 보러 가기 이전 실습에서는 PHP 환경 구성 및 phpinfo 테스트까지 완료하였다. 이번 실습은 phpMyAdmin 설치 및 설정, HTTP 기본 인증 구성, 그리고 보안 키 생성 및 적용 등 데이터베이스 관리 도구를 보안적으로 설정하는 작업을 수행하였다. 1. phpMyAdmin 다운로드 및 압축 해제 저번 포스팅에서는 깃허브에서 다운로드하였는데 이번에 좀 더 간단한 다운로드 방법을 알아보겠다. phpMyAdmin은 웹 기반 MySQL 관리 도구로, 실습에서는 다음 명령어를 통해 다운로드 하였다. wget https://files.phpmyadmin.net/phpMyAdmin/5.1.3/phpMyAdmin-5.1.3-all-languages.zip -O /var/www/phpmyadmin2..

리눅스 서버 구축 실습 - 3편 - PHP 모듈 설치 및 보안 설정, phpinfo 조건부 출력

이전 글 보러 가기앞선 실습에서는 Apache 웹 서버 설정과 SSL 보안 구성을 완료하였다. 이번에는 웹 서비스 구축에 필요한 PHP 모듈 설치 및 설정, 보안 강화를 위한 접근 제어, 그리고 phpinfo 조건부 출력 방식을 실습하였다. 웹 애플리케이션의 백엔드 구동을 위한 중요한 단계였다. 1. PHP 모듈 설치하기PHP는 기본 상태로는 일부 기능이 제한적이기 때문에, 필요한 확장 모듈을 설치해주어야 한다. 이번 실습에서는 다음 모듈들을 설치하였다. 1. php-mbstring (멀티바이트 문자 처리용)sudo apt install php-mbstring한글, 일본어, 중국어 등 다국어 인코딩 처리에 필수mb_strlen(), mb_substr() 등 멀티바이트 문자열 함수 사용 가능2. php..

리눅스 서버 구축 실습 - 2편 - Apache 보안 설정 강화 및 SSL 활성화

이전 글 보러 가기이전 글에서 Apache 웹 서버를 설치하고 기본적인 환경 설정을 진행했다. 이번 글에서는 웹 서버의 보안 강화를 위한 설정 수정, 접근 제어 설정, SSL 활성화 등 실질적으로 외부 공격에 대비하기 위한 보안 구성 요소를 다룬다. 특히 Apache 설정 파일을 수정하고, 인증서 관련 설정을 적용하면서 다양한 보안 설정들을 연습해 볼 수 있었다.1. Apache 보안 설정 파일 수정Apache 설정 파일 중 security.conf를 gedit 에디터로 열어 다음과 같이 수정하였다. sudo gedit /etc/apache2/conf-available/security.conf ServerTokens 설정하기ServerTokens Prod 기본값인 OS는 운영체제 정보까지 응답 헤더에 노..

리눅스 서버 구축 실습 - 1편 - 시스템 정보 확인부터 Apache2 웹서버 설정까지

이번 글에서는 리눅스 서버 환경을 구축하는 과정의 첫 번째 실습 내용을 정리했다. 시스템 정보 확인, 캐시 및 메모리 관리, 디스크와 부팅 정보 확인, Apache2 웹 서버 설치 및 보안 설정까지 실습했다. 이번 실습을 해보면서 서버 구축의 기초와 관리 방법을 경험해 볼 수 있었다. 1. 시스템 정보 확인하기서버의 OS 정보는 다음 명령어로 확인할 수 있다. lsb_release -a 해당 명령어를 입력하면 리눅스 배포판, 버젼, 코드 네임 등 운영체제 정보를 출력해 준다. -a 옵션은 전체 정보를 출력하라는 의미이다. 2. CPU 및 메모리 정보 확인하기리눅스는 /proc 디렉터리 아래에 다양한 시스템 정보를 제공한다. 예를 들어, 다음은 CPU 모델명을 확인하는 방법이다.cat /proc/cpuin..