wp-setup

[워드프레스 설치 7] PHP 설치하기 (Ubuntu22.04, Nginx, LEMP)

PHP 설치에 앞서서 오늘은 Ubuntu 설치부터 시작된 LEMP 스택의 마지막 P에 해당하는 php를 설치해 볼 예정이다. 워드프레스 설치에 있어서 php는 반드시 필요한 항목이다. 그럼 php가 뭔지 먼저 간단히만 살펴보자. –...

Dark / Light
Liberta 9월22, 2023

PHP 설치에 앞서서

오늘은 Ubuntu 설치부터 시작된 LEMP 스택의 마지막 P에 해당하는 php를 설치해 볼 예정이다.

워드프레스 설치에 있어서 php는 반드시 필요한 항목이다.

그럼 php가 뭔지 먼저 간단히만 살펴보자.

– PHP란 무엇인가?

간단하게 말해서 웹 서버를 해석해주는 하나의 언어라고 보면 된다.

흔히 말해서 코딩(coding)에 필요한 항목 중 하나로 html, css, javascript를 이용해 껍데기를 만들고

php 언어로 웹서버(Nginx)나 데이터베이스(MariaDB)와 통신해서 게시글을 올리면 저장이 되고 버튼을 누르면 연동되고 이런 프로그래밍 부분을 담당하게 되는 거라고 보면 된다.

(Nginx의 설치가 궁금하다면 여기를 클릭!)

(MariaDB의 설치가 궁금하다면 여기를 클릭!)

php 설치 방법

설치 사전 준비하기

  • 라이트세일로 접속해 인스턴스의 >_이모티콘을 클릭해 서버에 접속하자.우분투 서버 접속하기
  • 설치에 앞서 앱들을 업데이트 해주자. 아래의 명령어를 입력하자.
  • ubuntu@ip- :~$ sudo apt update

    php 설치 준비 앱 업데이트 하기

  • 앱 업그레이드도 같이 진행해주자.
  • ubuntu@ip- :~$ sudo apt upgrade

    php 준비 앱 업그레이드

  • ubuntu 22.04에 php8.2를 설치하려면 아래의 PPA를 추가해야 한다.
    간단히 말하자면 php의 저장소의 관리자라고 보면 된다.
    아래의 명령어 그대로 입력하고 엔터를 쳐주자.
  • ubuntu@ip- :~$ sudo add-apt-repository ppa:ondrej/php

    php설치 전 ppa 추가하기

  • 시스템을 추가했으니 다시 한번 앱을 업데이트해주자.
  • ubuntu@ip- :~$ sudo apt update

    ppa 추가 후 다시 앱 업데이트

php 설치하기 (ubuntu 22.04)

  • 아래 명령어를 입력해 php8.2를 설치하고 마지막 Do you want to continue?는 Y를 입력한다.
  • ubuntu@ip- :~$ sudo apt update

    php8.2 설치하기

  • [OK] 선택 후 엔터php8.2 설치 ok선택
  • 나머지 그대로 둔 상태에서 밑에 [ok] 선택!php8.2 설치에서 그대로둔 후 ok
  • 아래의 명령어를 입력해 설치된 php의 버전을 확인 해보자.
    그럼 아래와 같이 PHP 8.2.8이라고 적힌 현재 버전을 볼 수 있다. 이렇게 되면 정상적으로 설치가 완료된 거다.
  • ubuntu@ip- :~$ php -v

    php8.2 설치 후 버전 확인하기

nginx에 적용하기

  • Apache는 상관없지만 Nginx의 경우는 php-fpm을 추가로 설치해 줘야 한다.
  • ubuntu@ip- :~$ sudo apt-get install php8.2-fpm

    php 8.2 fpm 설치

  • php8.2-fpm의 버전을 확인해보자.
  • ubuntu@ip- :~$ php8.2-fpm -v

    php8.2-fpm 버전 확인하기

  • 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

    php8.2-fpm 확장설치

php 구성하기(기본 설정 변경)

  • 기본 설정의 값을 조금씩 변경해 줘야 한다. 이유는 설정을 바꾸다 보면 알게 된다.
    아래 명령어를 입력에 php.ini 파일에 접근하자.
  • ubuntu@ip- :~$ sudo nano /etc/php/8.2/fpm/php.ini

    fpm 기본 설정 파일에 들어가기

  • 들어가서 컨트롤(Ctrl)+w를 누르면 아래와 같이 Search 검색창이 뜬다.
    검색창에 ‘short_open_tag’라고 입력하고 엔터!
  • Search: short_open_tag

    검색창에 short 입력하기

  • Short_open_tag 부분에 off라고 되어있는 부분을 on으로 바꿔주도록 하자.
    short_open_tag=off

    short_open_tag=off

    short_open_tag=on

    short_open_tag=on

     

  • 다시 Ctrl+w로 검색창에서 ‘memory_limit’를 검색하자.
  • Search: Memory_limit

    memory search

  • memory_limit = 128M을 256M으로 바꿔주도록 하자.
    memory_limit=128M

    memory_limit=128M

    memory_limit=256M

    memory_limit=256M

     

  • ;max_input_vars = 1000은 ;을 없애고 5000으로 바꿔주자.
    ;max_input_vars=1000

    ;max_input_vars=1000

    max_input_vars=5000

    max_input_vars=5000

     

  • max_input_time = 60은 360으로
    max_input_time=60

    max_input_time=60

    max_input_time=360

    max_input_time=360

     

  • ;cgi.fix_pathinfo = 1은 ;을 없애고 0으로
    ;cgi.fix_pathinfo=1

    ;cgi.fix_pathinfo=1

    cgi.fix_pathinfo=0

    cgi.fix_pathinfo=0

     

  • upload_max_filesize = 2M는 100M
    upload_max_filesize=2M

    upload_max_filesize=2M

    upload_max_filesize=100M

    upload_max_filesize=100M

     

  • post_max_size = 8M를 101M
    post_max_size=8M

    post_max_size=8M

    post_max_size=101M

    post_max_size=101M

     

  • max_execution_time = 30은 600으로
    max_execution_time=30

    max_execution_time=30

    max_execution_time=600

    max_execution_time=600

     

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

    ;date.timezone=

    date.timezone=Asia/Seoul

    date.timezone=Asia/Seoul

     

  • 다 됐으면 Ctrl+O로 저장하고 Ctrl+x로 편집모드를 종료하도록 하자.
    그리고 적용을 위해 fpm을 재시작하자.
  • ubuntu@ip- :~$ sudo service php8.2-fpm restart

    fpm 재시작하기

  • 최종으로 혹시 오타나 에러가 없었는지 테스트해주는 작업을 하도록 하자.
    아래와 같이 test is successful이라고 뜨면 오타 없이 정상적으로 완료된 거다.
    (에러가 생긴다면 다시 편집모드로 들어가서 하나하나 살펴보고 저장하면 된다)
  • ubuntu@ip- :~$ sudo php-fpm8.2 -t

    fpm 오타 테스트

– 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에 대한 정보가 보이지 않는데,
    따로 설정을 해줘야지만 보이기 때문에 그 설정 작업을 해볼 거다.
    php 설치 완료 후 화면
  • index.php 파일을 하나 만들어주기 위해 아래 명령어를 입력해 주자.
  • ubuntu@ip- :~$ sudo nano /var/www/html/index.php

    index.php 파일 생성하기

  • 그럼 아래와 같이 New file이라는 빈 화면 하나가 뜬다.index.php 빈화면
  • 빈 공간에 아래와 같이 똑같이 적어준 다음 (띄어쓰기도 똑같이 적어야 한다)
    Ctrl+o (저장), Ctrl+x (종료)를 해주도록 하자.
  • <?php 
          echo "hello!";
          phpinfo();
    ?>
  • php info 입력하기
  • 아래 명령어를 입력해 기본 설정 파일에 들어가자.
  • ubuntu@ip- :~$ sudo nano /etc/nginx/sites-available/default

    php 기본 설정 파일에 접근하기

  • 아래의 위치 쪽 index.html 앞에 index.php를 추가해 준다.
    index.php 전

    index.php 전

    index.php 후

    index.php 후

     

  • 아래 빨간 박스에 체크된 #4개를 지워주도록 하자.주석 풀어주기
  • #4개를 없애주게 되면 아래와 같이 흰색 글씨로 바뀌게 된다.
    그리고 fastcgi_pass unix:/run/php/php7.4-fpm.sock;을 아래와 같이 php8.2-fpm으로 변경해 준 후,
    완료되었다면 Ctrl+o(저장), Ctrl+x(종료) 하자.
    fastcgi php8.2로 변경
  • 설정 적용을 위해 nginx를 재시작해 준다.
  • ubuntu@ip- :~$ sudo service nginx restart

    nginx 재시작하기

  • 도메인을 쳐서 접속해 보면 아래와 같이 php 정보와 hello! 가 보이게 된다.php 정보 확인하기

마지막으로

여기까지 LEMP 스택의 설치 과정은 모두 끝이 났다.

오늘 과정이 잴 많고 처음에는 무언가 복잡해 보이겠지만 처음 해보는 입력이 많아서 그렇지 사실 그렇게 어렵지는 않은 작업이다.

꼼꼼하게만 읽고 그대로 했다면 별 무리 없이 설치를 완료하게 될 것이다.

다음 편에서는

– 마지막 워드프레스 설치!

마지막 설치만 남았다.

여기까지 무사히 왔다면 마지막 설치는 정말 별거 아니게 느껴질 것이다!

Comment

name *

*는 필수 입력입니다 (e-mail은 공개되지 않습니다)

Related posts

TOP