앞선 포스팅에서는 Ubuntu 서버에 Apache와 MySQL을 설치했습니다.
이제 마지막 단계로, 워드프레스나 다양한 PHP 기반 웹사이트를 구동하기 위한 PHP 7.4 설치를 진행하겠습니다.
이 글은 APM 설치 시리즈 중 세 번째 포스팅입니다.
(1) Apache 설치하기 → (2) MySQL 설치하기 → (3) PHP 설치하기 (현재 글)
** 모든 명령어는 SSH를 통해 root 권한으로 접속했을 때를 기준으로 합니다.
PHP 7.4 설치 준비
현재 PHP 최신 버전은 8.x 이지만, 많은 웹사이트와 워드프레스 테마, 플러그인들이 PHP 7.4에 최적화되어 있습니다.
따라서 안정성과 호환성을 위해 PHP 7.4 버전을 설치하도록 하겠습니다.
먼저 PHP 7.4를 설치할 수 있도록 외부 저장소를 추가합니다.
add-apt-repository ppa:ondrej/php
apt update
PHP 7.4 및 필수 모듈 설치
워드프레스나 일반 PHP 프로젝트에 필요한 주요 모듈들과 함께 설치합니다.
apt install php7.4 php7.4-mysql php7.4-gd php7.4-curl php7.4-mbstring php7.4-gmp php7.4-soap php7.4-zip
설치하는 주요 모듈 설명
php7.4-mysql
: MySQL 데이터베이스 연동php7.4-gd
: 이미지 처리php7.4-curl
: 외부 API 통신php7.4-mbstring
: 다국어 문자열 처리php7.4-gmp
: 큰 수 연산php7.4-soap
: 웹서비스 통신php7.4-zip
: 압축 파일 지원
PHP 설정 최적화
설치가 완료되었으면 PHP 설정 파일을 수정해 서버 환경에 맞게 조정합니다.
vi /etc/php/7.4/apache2/php.ini
변경할 주요 설정값
설정 항목 | 변경 추천값 | 설명 |
---|---|---|
short_open_tag | On | <?php 대신 <? 사용 허용 |
max_input_time | 300 또는 -1 | 대용량 업로드 대비 시간 증가 |
memory_limit | 256M 또는 512M | 메모리 사용량 증가 (워드프레스 추천 최소 256M) |
display_errors | 개발용 On, 운영용 Off | 에러 메시지 출력 여부 |
post_max_size | 100M 이상 | POST 데이터 최대 크기 |
upload_max_filesize | 100M 이상 | 파일 업로드 최대 크기 |
max_file_uploads | 50 이상 | 한 번에 업로드할 수 있는 파일 수 |

참고:
memory_limit > post_max_size > upload_max_filesize
순서로 설정해야 안정적으로 동작합니다.
Apache 재시작
설정 변경 사항을 반영하기 위해 Apache 서버를 재시작합니다.
service apache2 restart
만약 이 과정에서 오류가 발생하면, Apache 모듈 설정을 확인해야 합니다.
Rewrite 모듈 활성화
워드프레스 및 여러 웹사이트는 URL 리라이트 기능이 필요합니다.
Apache의 rewrite
모듈을 활성화해줍니다.
a2enmod rewrite
service apache2 restart

PHP 정상 설치 확인
마지막으로 PHP가 정상적으로 설치되고 Apache와 연결되었는지 테스트합니다.
cd /var/www/html
# 기존 index 파일 삭제 (기본 파일일 때만)
rm -f index.html
# 새로운 index 파일 생성
vi index.php
index.php
파일 내용은 다음과 같이 작성합니다.
<?
phpinfo();
?>
인터넷 주소창에 locahost 또는 127.0.0.1 주소로 접속해보세요.
PHP 정보 페이지가 나온다면 성공적으로 설치된 것입니다.

마무리
이로써 Ubuntu 서버에 Apache, MySQL, PHP 7.4까지 설치가 완료되었습니다.
이제 워드프레스 설치나 다양한 PHP 기반 프로젝트를 시작할 수 있는 웹서버의 준비가 끝났습니다.
다음 포스팅에서는 외부에서 접속 할 수 있는 도메인 구매 방법과 공유기 포트포워딩 설정 그리고 Apache 가상 호스트 설정도 이어서 소개할 예정입니다.
조금 더 최적화된 서버 운영을 원하신다면 다음 글도 함께 참고해보세요.