블로그 포스팅
우분투 22.04 APM 서버 설치하기 (APACHE2 / PHP8.4 / MariaDB)

카페24 가상서버 호스팅 서비스에서는 우분투 22.04 LTS OS가 제공됩니다. (26.01.01 기준)
우분투 22.04 LTS에서는 PHP 기본 버전이 PHP8.1 입니다. 하지만 저는 PHP8.4를 설치하였습니다. 한번 설치과정을 살펴보도록 하겠습니다.
1. 우분투 22.04 LTS 프로그램 최신버전 패치
패키지 목록 갱신 (root 계정으로 로그인이 되어있는 경우 sudo 생략가능합니다.)
sudo apt update
프로그램 최신버전 패치
sudo apt upgrade
설치, 제거, 업데이트 과정중에 생긴 필요없는 파일이 있으면 제거
sudo apt autoremove
서버 재부팅
sudo reboot
2. Apache2 설치
운영체제 업데이트가 완료되었다면 이제 본격적으로 서버 설치를 해보겠습니다.
Apache2, PHP8.4, MariaDB 순서로 설치를 진행하겠습니다.
Apache2 설치
sudo apt install apache2
설치된 Apache2 버전 확인하기
sudo apache2 -v

Apache2 모듈 활성화
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2dismod -f autoindex
Apache2 변경사항 적용
sudo service apache2 restart
기본 언어셋 변경
sudo nano /etc/apache2/conf-available/charset.conf

기본 언어값 UTF-8 설정에 주석처리가 되어있습니다. 주석(#)을 제거합니다.
추가 보안 설정
sudo nano /etc/apache2/conf-available/security.conf


위 그림을 참고하여 설정하면 됩니다. (주석제거 또는 내용 변경)
추가 보안 패치 (.git, .svn, .env 등 dot로 시작하는 파일 및 폴더 보호, Web Access가 되어서는 안될 파일들의 접근 제어)
서비스 운영중 의도치 않게 발생할 수 있는 보안 문제를 막는 코드입니다.
sudo nano /etc/apache2/apache2.conf
파일 중간(대략 199번째 줄)에 있는 <FilesMatch “^\.ht”> 구문 다음에 추가합니다.
# deny file, folder start with dot
<DirectoryMatch "^\.|\/\.">
Require all denied
</DirectoryMatch>
# deny (log file, binary, certificate, shell script, sql dump file) access.
<FilesMatch "\.(?i:log|binary|pem|enc|crt|conf|cnf|config|sql|sh|key|yml|lock|bak|gitignore)$">
Require all denied
</FilesMatch>
# deny access.
<FilesMatch "(?i:composer\.json|contributing\.md|license\.txt|readme\.rst|readme\.md|readme\.txt|copyright|artisan|gulpfile\.js|package\.json|phpunit\.xml|access_log|error_log|gruntfile\.js|bower\.json|changelog\.md|console|legalnotice|license|security\.md|privacy\.md)$">
Require all denied
</FilesMatch>
# Allow Lets Encrypt Domain Validation Program
<DirectoryMatch "\.well-known/acme-challenge/">
Require all granted
</DirectoryMatch>
# Block .php file inside upload folder. uploads(wp), files(drupal), data(gnuboard).
<DirectoryMatch "/(uploads|default/files|data|wp-content/themes)/">
<FilesMatch ".+\.php$">
Require all denied
</FilesMatch>
</DirectoryMatch>
<DirectoryMatch "/(data/session)/">
Require all denied
</DirectoryMatch>
변경사항 적용하기
sudo service apache2 restart
이 자료는 라엘님의 포스팅을 참고하여 재작성된 것 입니다.
해당 포스팅 링크는 아래와 같습니다.
https://blog.lael.be/post/11072
- 이전글그누보드(리빌더)에 tinyMCE 에디터 적용후기2026.01.02
- 다음글카페24 가상서버호스팅 상품 리뷰2025.12.28
댓글목록
등록된 댓글이 없습니다.