[Inception] 5. Wordpress와 Php-fpm

aqualung·2023년 2월 26일
0

패키지 설치

Wordpress는 PHP를 기반으로 한 설치형 블로그이다. 따라서 의존성이 있는 php패키지들을 설치하여야 한다. 나는 링크에서 제안하는 php패키지들과 php-fpm을 설치하였다.

wp-cli

wp-cli는 Wordpress의 커맨드라인 인터페이스이다. 웹브라우저 없이 CLI 환경에서 Wordpress를 설정할 수 있게 해준다. 컨테이너 이미지를 설계할 때 유용하다.

링크의 가이드를 따라 설치하자.

curl명령어로 wp-cli.phar을 다운로드하는데 이를 실행 파일이 있는 경로 /usr/bin으로 옮겨 실행할 수 있다.

명령어를 실행할 때마다 매번 wp-cli.phar를 타이핑하는 것은 번거롭기 때문에 심볼릭링크 wp을 생성해줬다. 링크를 따라 설정해도 문제가 없다.

wp core download
명령어에서 알 수 있듯이 Wordpress의 핵심 파일을 다운로드한다. 필요한 옵션을 추가했다.

  • --path : 설치할 경로를 지정할 수 있다. 도커의 볼륨으로 마운트한 /var/www/html/wordpress에 설치를 진행하였다.
  • --allow-root : wp-cli는 보안의 문제 때문에 root권한으로 실행되는 것을 막고 있다. 하지만 우리는 독립된 컨테이너 안에서 명령이 실행되기 때문에 크게 위험한 부분이 없기 때문에 --allow-root 옵션을 주자. (관련 내용)

이 두 옵션은 wp-cli를 사용할 때마다 매번 필요하다.

다음으로 워드프레스가 사용할 데이터베이스를 받아 설정파일을 생성해준다.

wp config create \
--dbname=$MYSQL_DATABASE \
--dbuser=$MYSQL_USER \
--dbpass=$MYSQL_USER_PASSWORD \
--dbhost=$MYSQL_HOST

이제 생성된 데이터베이스에 워드프레스 테이블을 설치해줄 수 있다. 여기서 관리자계정의 정보를 기입한다.

wp core install \
--url=$WP_URL \
--title=$WP_TITLE \
--admin_user=$WP_ADMIN \
--admin_password=$WP_ADMIN_PASSWORD \
--admin_email=$WP_ADMIN_EMAIL

관리자 외에 일반 계정을 하나 추가했다.

wp user create $WP_USER $WP_USER_EMAIL \
--user_pass=$WP_USER_PASSWORD \
--role=author

--role=author : author는 오직 자신의 게시물만 관리할 수 있다.

이로써 기본적인 Wordpress의 설정은 마쳤다.

PHP-FPM

php-fpm은 웹서버(nginx)의 요청을 기다리고 요청받은 동적 컨텐츠를 처리하는 역할을 한다.

설정파일 /etc/php7/php-fpm.d/www.conf 을 수정하여 주자.

listen = 127.0.0.1 -> listen = 9000

listen은 어떤 TCP/IP의 요청을 기다릴지 설정해줄수 있다. 9000번 포트로 들어오는 모든 요청에 응답하도록 수정해준다.

php-fpm7 -F로 php-fpm 데몬을 실행한다. -F 옵션은 데몬이 포그라운드에서 실행되도록 한다.

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN