본문 바로가기
서버 보안/리눅스 실습

[리눅스 서버 웹 서버 실습] apt 명령어를 이용해 웹 서버 설치

by 어깨 :) 2023. 5. 24.
반응형

리눅스 웹 서버는 실무에서 다양한 이유로 필요합니다. 몇 가지 주요한 이유는 다음과 같습니다

1. 웹 호스팅

리눅스 웹 서버는 웹 사이트 및 웹 애플리케이션을 호스팅 하는 데 사용됩니다. 기업이나 개인이 웹 사이트를 운영하고 인터넷 사용자에게 콘텐츠를 제공하기 위해 웹 서버가 필요합니다.

2. 애플리케이션 서버

리눅스 웹 서버는 웹 애플리케이션의 실행 환경으로 사용될 수 있습니다. PHP, Python, Ruby 등과 같은 스크립트 언어로 작성된 웹 애플리케이션을 처리하고 실행하는 데 사용됩니다.

3. 데이터 공유 및 파일 호스팅

웹 서버는 파일을 다른 사용자와 공유할 수 있는 간편한 방법을 제공합니다. 파일 공유를 통해 업로드, 다운로드, 공동 작업 등을 수행할 수 있습니다.

4. 원격 관리

리눅스 웹 서버를 사용하면 원격에서 서버를 관리할 수 있습니다. SSH를 통해 서버에 접속하고 명령어를 실행하거나 파일을 관리할 수 있습니다.

5. 데이터베이스 서버와의 통합

웹 서버는 데이터베이스 서버와의 연동을 통해 동적인 웹 페이지를 생성하고 데이터를 처리하는 데 사용될 수 있습니다. 웹 애플리케이션은 웹 서버와 데이터베이스 서버 간의 상호작용을 통해 데이터의 검색, 저장, 갱신 등을 수행할 수 있습니다.

6. 로드 밸런싱과 고가용성

웹 서버는 로드 밸런싱을 통해 트래픽을 분산시키고, 고가용성을 유지하는 데 사용됩니다. 로드 밸런서를 통해 여러 웹 서버 인스턴스를 운영하고, 문제가 발생한 서버를 우회하여 서비스의 안정성을 향상합니다.

7. 보안

웹 서버는 사용자 인증, 암호화, 방화벽 설정 등 다양한 보안 기능을 제공하여 웹 사이트 및 애플리케이션을 보호할 수 있습니다. 웹 서버를 통해 SSL/TLS 인증서를 사용하여 암호화된 통신을 지원할 수도 있습니다.

 

https://aws.amazon.com/ko/what-is/ssl-certificate/

 

SSL 인증서란 무엇인가요? - SSL/TLS 인증서 설명 - AWS

AWS Certificate Manager(ACM)는 AWS 서비스 및 연결된 내부 리소스에 사용할 공인 및 사설 SSL/TLS 인증서를 손쉽게 프로비저닝, 관리 및 배포할 수 있도록 지원하는 서비스입니다. ACM은 SSL/TLS 인증서를 구

aws.amazon.com


이러한 이유로 리눅스 웹 서버는 실무에서 중요한 역할을 수행하며, 기업이나 개인의 온라인 존재를 구축하고 운영하는 데 필수적입니다.

 

그럼 실무에서도 중요한 역할을 하는 웹서버에 대해서 실습을 해보겠습니다.

 

 


 

 

apt -y install lamp-server^ 명령으로 apache2, php7.4, mysql-server8.0을 한 번에 설치할 수 있습니다.

 

 

 

 

 

다시 dpkg -l 패키지이름 명령으로 설치된 아파치, PHP, MySQL의 버전을 확인합니다.

 

 

 

 

 

아래에 나와 있는 것처럼 설치된 버전을 확인할 수 있습니다.

 

 

 

 

 

systemctl restart/enable/status apache2 명령으로 웹 서비스를 작동하고 확인합니다.

 

 

 

 

 

같은 방식으로 systemctl restart/enable/status mysql 명령을 입력해 mysql 서비스도 시작 및 상시 작동되도록 설정합니다.

단, php는 별도의 서비스가 아니라 apache2 dp 포함된 기능이므로 별도로 가동하지 않아도 됩니다.

 

 

 

 

웹 서버 및 PHP가 작동하는지 확인합니다.

Firefox 브라우저를 실행한 후 주소창에 http://localhost/ 또는 http://127.0.0.1/을 입력해 다음과 같은 화면이 나오는지 확인해 봅니다. 아래와 같은 화면이 나타나면 apache2 서비스가 정상적으로 작동하는 것입니다.

 

 

 

 

 

gedit /var/www/html/phpinfo.php 명령을 입력합니다. (nano나 vi 에디터를 사용해도 됩니다.)

 

 

 

 

 

새 파일에 아래와 같이 PHP 코드를 입력한 후 저장하고 닫습니다.

 

 

 

 

웹 브라우저에서 http://localhost/phpinfo.php로 접속해 아래와 같은 화면이 나타나면 PHP 모듈이 정상적으로 가동되는 것입니다. 이제 웹 서버에 PHP 프로그래밍을 할 수 있습니다. 확인을 했으면 웹 브라우저를 닫습니다.


ufw allow 80 명령어를 실행하여 포트 80을 열고 웹 서버에 대한 외부 접속을 허용한 후, ifconfig ens32 명령어를 사용하여 네트워크 인터페이스 ens32의 정보를 확인합니다.

첫 번째로, ufw allow 80 명령어는 방화벽 설정을 변경하여 웹 서버에 대한 외부 접속을 허용하는 역할을 합니다. 포트 80은 웹 서버의 기본 포트로 HTTP 트래픽을 처리하기 위해 사용됩니다. 따라서 이 명령어를 실행하여 포트 80을 열어드리는 트래픽을 허용하면 웹 서버에 접속할 수 있게 됩니다.

두 번째로, ifconfig ens32 명령어는 네트워크 인터페이스 ens32의 정보를 확인하는 데 사용됩니다. 네트워크 인터페이스 정보는 IP 주소, 넷마스크, 브로드캐스트 주소, MAC 주소 등을 포함하며, 네트워크 연결 상태를 파악하는 데 도움이 됩니다. 이를 통해 네트워크 인터페이스의 설정이 올바르게 이루어졌는지 확인하거나 문제를 진단하는 데 도움을 줍니다.

따라서, 'ufw allow 80'를 입력해 웹 서버에 대한 외부 접속을 허용하고, 'ifconfig ens32'를 통해 해당 인터페이스의 네트워크 정보를 확인하여 웹 서버의 외부 접속과 네트워크 설정을 모두 확인하고 확인하는 것을 의미합니다.

 

이로써 Apache, PHP, MySQL이 정상적으로 작동하는 것을 확인했습니다. 

도움이 되시길 바라겠습니다.

감사합니다.

728x90