[워드프레스 설치 7] PHP 설치하기 (Ubuntu22.04, Nginx, LEMP)
2023-09-22T06:51:22.000Z
PHP 설치에 앞서서
오늘은 Ubuntu 설치부터 시작된 LEMP 스택의 마지막 P에 해당하는 php를 설치해 볼 예정이다.
워드프레스 설치에 있어서 php는 반드시 필요한 항목이다.
그럼 php가 뭔지 먼저 간단히만 살펴보자.
– PHP란 무엇인가?
간단하게 말해서 웹 서버를 해석해주는 하나의 언어라고 보면 된다.
흔히 말해서 코딩(coding)에 필요한 항목 중 하나로 html, css, javascript를 이용해 껍데기를 만들고
php 언어로 웹서버(Nginx)나 데이터베이스(MariaDB)와 통신해서 게시글을 올리면 저장이 되고 버튼을 누르면 연동되고 이런 프로그래밍 부분을 담당하게 되는 거라고 보면 된다.
(Nginx의 설치가 궁금하다면 여기를 클릭!)
(MariaDB의 설치가 궁금하다면 여기를 클릭!)
php 설치 방법
설치 사전 준비하기
- 라이트세일로 접속해 인스턴스의 >_이모티콘을 클릭해 서버에 접속하자.

- 설치에 앞서 앱들을 업데이트 해주자. 아래의 명령어를 입력하자.
-
ubuntu@ip- :~$ sudo apt update
- 앱 업그레이드도 같이 진행해주자.
-
ubuntu@ip- :~$ sudo apt upgrade
- ubuntu 22.04에 php8.2를 설치하려면 아래의 PPA를 추가해야 한다.
간단히 말하자면 php의 저장소의 관리자라고 보면 된다.
아래의 명령어 그대로 입력하고 엔터를 쳐주자. -
ubuntu@ip- :~$ sudo add-apt-repository ppa:ondrej/php
- 시스템을 추가했으니 다시 한번 앱을 업데이트해주자.
-
ubuntu@ip- :~$ sudo apt update
php 설치하기 (ubuntu 22.04)
- 아래 명령어를 입력해 php8.2를 설치하고 마지막 Do you want to continue?는 Y를 입력한다.
-
ubuntu@ip- :~$ sudo apt update
- [OK] 선택 후 엔터

- 나머지 그대로 둔 상태에서 밑에 [ok] 선택!

- 아래의 명령어를 입력해 설치된 php의 버전을 확인 해보자.
그럼 아래와 같이 PHP 8.2.8이라고 적힌 현재 버전을 볼 수 있다. 이렇게 되면 정상적으로 설치가 완료된 거다. -
ubuntu@ip- :~$ php -v
nginx에 적용하기
- Apache는 상관없지만 Nginx의 경우는 php-fpm을 추가로 설치해 줘야 한다.
-
ubuntu@ip- :~$ sudo apt-get install php8.2-fpm
- php8.2-fpm의 버전을 확인해보자.
-
ubuntu@ip- :~$ php8.2-fpm -v
- php 8.2에 확장 설치를 해줄 거다. 필요한 앱들이라고 보면 된다.
(눈치챘겠지만 여러 가지 확장 앱들을 한꺼번에 설치하는 과정이다) -
ubuntu@ip- :~$ sudo apt-get install php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-imagick php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-opcache php8.2-soap php8.2-zip php8.2-redis php8.2-intl php8.2-bcmath -y
php 구성하기(기본 설정 변경)
- 기본 설정의 값을 조금씩 변경해 줘야 한다. 이유는 설정을 바꾸다 보면 알게 된다.
아래 명령어를 입력에 php.ini 파일에 접근하자. -
ubuntu@ip- :~$ sudo nano /etc/php/8.2/fpm/php.ini
- 들어가서 컨트롤(Ctrl)+w를 누르면 아래와 같이 Search 검색창이 뜬다.
검색창에 ‘short_open_tag’라고 입력하고 엔터! -
Search: short_open_tag
- Short_open_tag 부분에 off라고 되어있는 부분을 on으로 바꿔주도록 하자.

short_open_tag=off

short_open_tag=on
- 다시 Ctrl+w로 검색창에서 ‘memory_limit’를 검색하자.
-
Search: Memory_limit
- memory_limit = 128M을 256M으로 바꿔주도록 하자.

memory_limit=128M

memory_limit=256M
- ;max_input_vars = 1000은 ;을 없애고 5000으로 바꿔주자.

;max_input_vars=1000

max_input_vars=5000
- max_input_time = 60은 360으로

max_input_time=60

max_input_time=360
- ;cgi.fix_pathinfo = 1은 ;을 없애고 0으로

;cgi.fix_pathinfo=1

cgi.fix_pathinfo=0
- upload_max_filesize = 2M는 100M로

upload_max_filesize=2M

upload_max_filesize=100M
- post_max_size = 8M를 101M로

post_max_size=8M

post_max_size=101M
- max_execution_time = 30은 600으로

max_execution_time=30

max_execution_time=600
- ;date.timezone = 은 ;를 없애고 =뒤에 Asia/Seoul라고 적어주자.

;date.timezone=

date.timezone=Asia/Seoul
- 다 됐으면 Ctrl+O로 저장하고 Ctrl+x로 편집모드를 종료하도록 하자.
그리고 적용을 위해 fpm을 재시작하자. -
ubuntu@ip- :~$ sudo service php8.2-fpm restart
- 최종으로 혹시 오타나 에러가 없었는지 테스트해주는 작업을 하도록 하자.
아래와 같이 test is successful이라고 뜨면 오타 없이 정상적으로 완료된 거다.
(에러가 생긴다면 다시 편집모드로 들어가서 하나하나 살펴보고 저장하면 된다) -
ubuntu@ip- :~$ sudo php-fpm8.2 -t
– php 설정 변경 정리
위의 변경사항을 다시한번 정리해보면 아래와 같다.
(변경 시 ;는 반드시 없애주어야 값이 적용되기 때문에 잘 확인하도록 하자)
| 변경 전 | 변경 후 |
|---|---|
| short_open_tag=off | short_open_tag=on |
| memory_limit=128M | memory_limit=256M |
| ;max_input_vars=1000 | max_input_vars=5000 |
| max_input_time=60 | max_input_time=360 |
| ;cgi.fix_pathinfo=1 | cgi.fix_pathinfo=0 |
| upload_max_filesize=2M | upload_max_filesize=100M |
| post_max_size=8M | post_max_size=101M |
| max_execution_time=30 | max_execution_time=600 |
| ;date.timezone= | date.timezone=Asia/Seoul |
php정보 나타내기
- 이렇게 설치를 완료한 후 현재 내 도메인 주소에 들어가 보면 아래와 같은 화면이 뜰 것이다.
아직 php에 대한 정보가 보이지 않는데,
따로 설정을 해줘야지만 보이기 때문에 그 설정 작업을 해볼 거다.

- index.php 파일을 하나 만들어주기 위해 아래 명령어를 입력해 주자.
-
ubuntu@ip- :~$ sudo nano /var/www/html/index.php
- 그럼 아래와 같이 New file이라는 빈 화면 하나가 뜬다.

- 빈 공간에 아래와 같이 똑같이 적어준 다음 (띄어쓰기도 똑같이 적어야 한다)
Ctrl+o (저장), Ctrl+x (종료)를 해주도록 하자. -
<?php echo "hello!"; phpinfo(); ?>

- 아래 명령어를 입력해 기본 설정 파일에 들어가자.
-
ubuntu@ip- :~$ sudo nano /etc/nginx/sites-available/default
- 아래의 위치 쪽 index.html 앞에 index.php를 추가해 준다.

index.php 전

index.php 후
- 아래 빨간 박스에 체크된 #4개를 지워주도록 하자.

- #4개를 없애주게 되면 아래와 같이 흰색 글씨로 바뀌게 된다.
그리고 fastcgi_pass unix:/run/php/php7.4-fpm.sock;을 아래와 같이 php8.2-fpm으로 변경해 준 후,
완료되었다면 Ctrl+o(저장), Ctrl+x(종료) 하자.

- 설정 적용을 위해 nginx를 재시작해 준다.
-
ubuntu@ip- :~$ sudo service nginx restart
- 도메인을 쳐서 접속해 보면 아래와 같이 php 정보와 hello! 가 보이게 된다.

마지막으로
여기까지 LEMP 스택의 설치 과정은 모두 끝이 났다.
오늘 과정이 잴 많고 처음에는 무언가 복잡해 보이겠지만 처음 해보는 입력이 많아서 그렇지 사실 그렇게 어렵지는 않은 작업이다.
꼼꼼하게만 읽고 그대로 했다면 별 무리 없이 설치를 완료하게 될 것이다.
다음 편에서는
– 마지막 워드프레스 설치!
마지막 설치만 남았다.
여기까지 무사히 왔다면 마지막 설치는 정말 별거 아니게 느껴질 것이다!