[APM-AWS-1] Apache2-PHP 설치 / Lightsail Ubuntu 24.04

2025. 10. 16. 16:16·모의해킹

모의해킹을 직접 해보기 위해서는 웹서버가 필요합니다. 가장 기초적인 APM (Apache-PHP-MySQL) 구조를 활용합니다. 이 포스트에서는 모의해킹을 위한 WEB, WAS 서버를 구축합니다.

우선 서버 Instance 생성, Apahce, PHP 설치 를 진행합니다.

서버 환경

  • AWS Lightsail
    Lightsail 은 저렴한 서비스는 3개월 무료로 사용할 수 있다. APM 서버 자체가 가볍기 때문에 최저 사양으로 사용하기로 결정했다. 앱인 설치된 것도 할 수 있지만, Apache, PHP, MySQL 모두 직접 설치해보고 설치과정에서 발견할 수 있는 취약점이 있지 않을까 해서 직접 설치하기로 결정했다. 참고로 LAMP 는 SSL 자동구성, Linux, Apache, PHP, MariaDB 가 설치되어 있고, phpMyAdmin, PHP 기본 모듈이 포함 되어 있다고 한다. (편하게 하려면 이거 설치하는게 좋을듯 합니다.)

  • SSH 키를 통한 접속
    인스턴스를 생성하고 나면 SSH 키를 다운 받을 수 있다. 이 SSH 키를 통해 해당 서버에 접속을 할 수 있으니 잘 관리해야 한다. 키를 다운로드하고 나면 Windows 에서는 Putty 를 통해, Mac OS 에서는 Terminal 에서 접속할 수 있다. Mac 의 경우 해당 키 파일에 chmod 600 권한을 줘야 한다.

APM 설치

Apache2 설치

Apahce 는 웹 서버로 HTTP 통신을 지원해준다. 우선 Apache 설치는 명령어만 따라 치면 돼서 설치가 어렵지는 않다. Apache 설정 값들은 config 에서 직접 수정해줘야 하니, 나중에 SSL 이나 추가로 설정값 바꿔야 하면 직접 바꿔주면 된다. 

# 시스템 업데이트
sudo apt update
sudo apt upgrade -y

# Apache2 설치
sudo apt install -y apache2

# Apache 서비스 상태 확인
sudo systemctl enable --now apache2
sudo systemctl status apache2 --no-pager

# 방화벽(ufw)에 http/https 오픈
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'   # 80, 443 허용
sudo ufw enable
sudo ufw status verbose

http://server_ip 접속하면 Apache2 페이지로 접속이 된다. Apache2 는 기본적으로 /var/www/html 경로를 바라보고 있다. 해당 경로에 있는 index.html 파일을 보여주고 있는 것이다. 추후에 경로 수정이 필요하면 /etc/apache2/sites-available/000-default.conf 파일에서 수정해주면 된다.

  • Options Indexes FollowSysmLinks
    디렉터리 안에 index.html, index.php 와 같은 기본 파일이 없을 때 파일 목록을 자동으로 브라우저에 보여줄지
    Options -Indexes +FollowSymLinks : 파일 목록 막고 링크 허용 / 보안 신경 쓰면 설정
  • AllowOverride All
    .htaccess 파일 엑세스 허용 .htaccess 는 각 폴더 안에 둘 수 있는 Apache 설정 파일이다. (접근차단, Redirect 등)
  • Require all granted
    디렉터리에 접근 가능 설정

PHP 설치

php 는 명령어 한줄이면 쉽게 설치 가능하다.

# php install
sudo apt install -y php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip

# 버전확인
php -v

# libapache2-mod-php 를 설치하면 자동으로 Apache 에 PHP 모듈이 로드 된다.
sudo systemctl restart apache2

 

우선 APM 중 AP 까지만 설치했다. 다음에는 우선 MySQL 연결 이전에 로그인 기능을 추가해보자. 

저작자표시 (새창열림)

'모의해킹' 카테고리의 다른 글

[APM-AWS-3] PHP를 통한 웹서버 구축 (로그인/홈페이지 접속) - 코드포함  (0) 2025.10.20
[APM-AWS-2] MySQL 설치 / Lightsail (Ubuntu)  (0) 2025.10.20
'모의해킹' 카테고리의 다른 글
  • [APM-AWS-3] PHP를 통한 웹서버 구축 (로그인/홈페이지 접속) - 코드포함
  • [APM-AWS-2] MySQL 설치 / Lightsail (Ubuntu)
coder_
coder_
어차피 할거 즐기자
  • coder_
    Good coder
    coder_
  • 전체
    오늘
    어제
    • 분류 전체보기 (41)
      • 인공지능 [AI] (3)
      • 모의해킹 (3)
      • Git (2)
      • Cloud (4)
      • 컴퓨터 과학 [CS] (3)
      • 데이터베이스 [DB] (2)
      • Nojde.js (4)
      • Javascript (3)
      • Django (4)
      • Code up (11)
        • 코드업 기초 100제 (9)
        • 단순 반복문 (2)
      • 백준 baek_joon (1)
        • 단계별 문제풀이 (1)
      • Web Scraping (1)
  • 블로그 메뉴

    • 글쓰기
    • 관리
  • 링크

    • 포트폴리오
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    GCP
    Lightsail
    llama3.1
    nodejs
    MariaDB
    Python
    기초100제
    Linux
    Bastion host
    php
    코드업
    기초 100제
    ubuntu
    node.js
    모의해킹
    code up
    hugging face
    Coding Test
    ubuntu 24.04
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
coder_
[APM-AWS-1] Apache2-PHP 설치 / Lightsail Ubuntu 24.04
상단으로

티스토리툴바