노션에서 글을 작성하고 이를 바로 웹페이로 게시할 수 있는 기능이 개인적으론 상당히 유용했다. 이런 편리함을 구현해보고자 Django, Flask, Node.js 등 여러 프레임워크를 설치하며 느낀점은 손이 참 많이 간다는 것.

그나마 마지막에 node.js프레임워크 베이스의 ghost 블로그 솔루션을 설치하고 운영하려는데 설치 마지막에 PostgreSQL이 지원되지 않는 것을 알았다.

결국 PostgreSQL을 삭제하고 MySQL을 설치하며, 근래 가장 익숙한 WordPress(워드프레스)를 설치하게 된다.

워드프레스는 PHP, MySQL 베이스에 Apach나 Nginx서버로 구동되는 설치형 블로그지만 기능이 발전하며 홈페이지나 쇼핑몰등 많은 사으트가 워드프레스를 사용하여 사이트 구축을 한다.

올 초 나도 십수년 만에 나만의 도메인으로 홈페이지를 만들었다. 이때 최소의 시간으로 홈페이지를 만듥로자 했고, 보카랩이란 사이트를 워드프레스로 민들었다. 다만, 해당 사이트는 블로그 기능 보다는 나를 소개하는 고정형 홈페이지이로 만들었고, 자료 또한 제한된 용량 덕에 거의 붙박이 홈페이지로 운영중이다.

네이버, 티스토리, 브런치 스토리에도 보금자리를 마련하고 있지만 내것 같지 않은 내것이랄까.

그리고, 작품활동, 개발한 프로그램 배포등 이곳 저곳 흩어진 나의 실험작들을 하나로 모으고 싶었다.

요 근래 개인 서버를 운영하며 20여년 전 운영하던 VOKA.NET을 떠올리며 다시 홈페이지를 운영하기로 마음 먹는다. 당시 VOKA.NET 도메인을 쉽게 포기했던게 지금도 마음에 남는다.

아무튼,

호스팅 업체에서 제공한 워드프레스를 사용했었기에 설치가 우려되었지만 그다지 어려움없이 설치할 수 있었다.

Ghost보다는 양반 중에 상양반이라까…

이 글은 전체 설치기를 소개하고자함이 아닌 설치후 주요 발생 문제만 다루고자 한다.

워드프레스 설치 방법은 이미 수도 없이 많이 올라 와 있고, Chat GTP 등의 생성형 AI를 통해서도 쉽게 배울 수 있다.

워드프레스 다운로드 및 압축 해제

cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar xzvf latest.tar.gz -C /var/www/html/blog --strip-components=1
sudo chown -R www-data:www-data /var/www/html/blog

설정파일 구성

cd /var/www/html/blog
sudo cp wp-config-sample.php wp-config.php
sudo vi wp-config.php

이미 웹서비스를 Nginx로 운영하고 있었기에 MySQL설치와 셋팅 그리고 Nginx 환경 설정 셋팅을 했다. 그리고, 위 처럼 WordPress 다운로드와 설치 간단한 워드프레스 설정을 마치면 관리자페이지에 접근 하여 마무리 셋팅을 하면 된다.

이후 부터는 이미 올 초 보카랩 홈페이지를 만들며 익숙해진 인터페이스라 크게 어려운 점은 없었다.

다만, 2가지 문제가 발생한다.

  1. 고유 주소에서 ‘글 이름’ 설정 시 404 Not Found 발생
    • 고유 주소 사용은 검색 엔진에 최적화 되어 노출을 고려한다면 ‘글 이름’설정으로 설정하는게 좋다.
    • 고유주소를 사용하면 아래와 같은 주소로 접속 가능하다.
  2. ‘유효한 json 응답이 아닙니다’
    • 글 작성 시 이미지를 업로드 하려고 하면 위와 같은 메세지가 나온다.
    • 이는 ‘고유주소 설정’에서 ‘일반’으로 사용할 때는 발생하지 않는다. 결국 1번과 2번의 문제가 하나의 문제로 인식되었다.
  3. 파일업로드 용량 변경
    • 이 부분은 위 문제와는 별개의 문제로 개인서버로 운영하다보니 용량에 대한 압박이 없다. 특히 100MB이상의 프로그램을 배포 하려할 때 그동안 구글 드라이브를 통해 배포하고 있었는데 이젠 내 서버에서 배포도 가능하게 되었다. 그런데, 기본이 업로드 용량이 2MB이다.
      상당히 간단한 설정인데도 반나절을 까먹은 것 같다.

고유주소 해결방법

WordPress 설치 디렉토리 : /var/www/html/blog

Nginx설정파일 : /etc/nginx/sites-enabled/fire_app

설정파일의 위치와 파일명은 제 각각 일 수 있다. 나중에 기회되면 Nginx설정도 다뤄 보겠다.

fire_app 추가 설정

    location /blog {
        
        index index.php index.html index.htm;
        try_files $uri $uri/ /blog/index.php?$args;

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            include fastcgi_params;
        }
    }

root /var/www/html;

초기에 이 부분을 ‘alias /var/www/html/blog’로 설정했었다.

문제는 /var/www/html까지만 설정해야 했던걸 blog까지 해서 발생한 것이었다. 즉, root디렉토리의 명시를 WordPress설치 디렉토리로 설정해서 문제가 발생했다.

‘try_files $uri $uri/ /blog/index.php?$args;’ 이 라인이 없다면 이 부분도 추가해야된다.

즉, 경로 해석 문제로 위 1, 2.번 문제가 발생하였고, 수정 후 서버 재 시작으로 해결되었다.

워드프레스 용량 변경

워드프레스에서 파일 업로드 용량을 설정하기 위해 수정해야 하는 php.ini 파일은 웹 서버에서 PHP를 처리하는 방식에 따라 결정된다. 일반적으로, PHP가 웹 서버와 함께 작동하는 방식에 따라 여러 php.ini 파일이 있을 수 있으며, 특히 PHP가 FastCGI Process Manager (FPM)를 사용하는 경우에는 별도의 php.ini 설정 파일이 사용된다.

PHP 설정 파일 위치 확인
  1. CLI와 FPM용 설정 파일:
    • CLI (Command Line Interface)용 PHP와 웹 서버를 통해 처리되는 PHP(FPM)는 각각 다른 설정 파일을 사용할 수 있다.
    • 보통 웹 서버에서 사용되는 PHP 설정 파일은 /etc/php/[version]/fpm/php.ini에 위치한다. 여기서 [version]은 설치된 PHP의 버전에 따라 다르다. 예를 들어, PHP 8.1을 사용하는 경우 경로는 /etc/php/8.1/fpm/php.ini이 된다.
    • CLI용 PHP 설정 파일은 /etc/php/[version]/cli/php.ini에 있다. 이 파일은 명령줄에서 실행되는 PHP 스크립트에 적용된다.
주요 설정 변경 사항

워드프레스에서 파일 업로드 크기를 조정하려면 다음과 같은 설정들을 변경해야 한다.

  • upload_max_filesize: 한 번에 업로드할 수 있는 최대 파일 크기이다. 이 값을 원하는 최대 파일 크기로 설정한다. 예: upload_max_filesize = 100M
  • post_max_size: POST 요청을 통해 받을 수 있는 최대 데이터 크기이다. 이 값은 upload_max_filesize보다 같거나 커야 합니다. 예: post_max_size = 100M
  • memory_limit: 스크립트가 사용할 수 있는 최대 메모리 양이다. 이 값도 post_max_size보다 같거나 커야 할 필요가 있다. 예: memory_limit = 128M
설정 적용

설정을 변경한 후에는 PHP 프로세스를 재시작해야 변경사항이 적용된다. PHP-FPM을 사용하는 경우 다음 명령을 사용한다.

sudo systemctl restart php8.1-fpm
  • php8.1-frm을 재시작 해주어야 반영된다.
설정 확인

설정이 제대로 적용되었는지 확인하기 위해 phpinfo() 함수를 사용할 수 있다. 워드프레스 설치 디렉토리에 info.php 파일을 생성하고 다음 내용을 입력한 후, 웹 브라우저에서 이 파일을 열어 확인한다.

<?phpphpinfo();
?>

이 페이지에서 upload_max_filesizepost_max_size 설정을 확인하여 올바르게 적용되었는지 검증한다.. 이러한 단계를 통해 워드프레스의 파일 업로드 용량 설정을 변경할 수 있다.

참고

워드프레스의 경우, 웹 서버를 통해 실행되는 PHP 설정이 주로 관련된다. 따라서 파일 업로드 크기 같은 웹 기반 설정을 변경할 때는 웹 서버를 통해 처리되는 PHP 설정만 업데이트하면 된다. 이는 대개 php.ini 파일 내의 FPM (FastCGI Process Manager) 설정에 해당한다.

CLI (Command Line Interface)용 php.ini 파일을 수정할 필요는 일반적으로 없다. CLI 설정은 명령줄을 통해 직접 실행되는 PHP 스크립트에 적용되며, 워드프레스 사이트의 일반적인 웹 요청 처리와는 관련이 없다.

이로 인해 기본적인 설정은 완료되었다.

혹, 나같은 문제로 고민하는 분들께 도움되길 바라며 글을 남겨본다.

2024.04.22

By voka