우분투 웹서버 구축: PHP 7.4 설치 및 설정하기

앞선 포스팅에서는 Ubuntu 서버에 ApacheMySQL을 설치했습니다.
이제 마지막 단계로, 워드프레스나 다양한 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_tagOn<?php 대신 <? 사용 허용
max_input_time300 또는 -1대용량 업로드 대비 시간 증가
memory_limit256M 또는 512M메모리 사용량 증가 (워드프레스 추천 최소 256M)
display_errors개발용 On, 운영용 Off에러 메시지 출력 여부
post_max_size100M 이상POST 데이터 최대 크기
upload_max_filesize100M 이상파일 업로드 최대 크기
max_file_uploads50 이상한 번에 업로드할 수 있는 파일 수

참고: 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 정보 페이지가 나온다면 성공적으로 설치된 것입니다.

저는 웹서버의 기본 포트를 8080을로 변경하였습니다

마무리

이로써 Ubuntu 서버에 Apache, MySQL, PHP 7.4까지 설치가 완료되었습니다.
이제 워드프레스 설치나 다양한 PHP 기반 프로젝트를 시작할 수 있는 웹서버의 준비가 끝났습니다.

다음 포스팅에서는 외부에서 접속 할 수 있는 도메인 구매 방법공유기 포트포워딩 설정 그리고 Apache 가상 호스트 설정도 이어서 소개할 예정입니다.
조금 더 최적화된 서버 운영을 원하신다면 다음 글도 함께 참고해보세요.

Leave a Comment