[Linux] Linux 기반 워드프레스 설치

tndkzjd·2024년 3월 16일

워드프레스(WordPress)

세계에서 가장 많이 사용되는 콘텐츠 관리 시스템(CMS) 중 하나로, 웹사이트와 블로그를 쉽게 생성하고 관리할 수 있게 해주는 오픈 소스 소프트웨어 입니다. 워드프레스는 PHP 언어로 작성 돼있으며, MySQL이나 MariaDB 같은 데이터 베이스 서버가 필요합니다.

항상 실습 전 Ip 주소 먼저 확인해주세요!

❓rpm -qa httpd php mariadb-server

RPM 패키지 관리자를 사용해서 php, mariadb-server (MariaDB 데이터베이스 서버) 패키지들이 설치되어 있는지 여부를 확인하는 명령어

아무런 내용이 없으면 설치되어 있지 않은 상태입니다.

💡워드프레스 설치

❓yum -y install httpd php php-mysqlnd mariadb-server

워드프레스를 동작하기 위한 프로그램(=패키지) 설치

방향키(↑)를 눌러 rpm -qa httpd php mariadb-server 를 찾아서 다시 실행해보면

설치된 걸 볼 수 있습니다

그런 다음 아파치 웹 서비스 프로그램이 동작하는지 확인

❓systemctl status httpd

❓systemctl start httpd

💡 리눅스 웹 설정

❓cd /var/www/html

cd: change directory 디렉터리(폴더) 변경

❓ls

list, 현재 위치한 디렉터리(폴더)의 파일 확인

❓gedit index.html


GUI 환경에서 문서편집기 gedit를 사용하여 index.html을 생성해준 후 안에 내용을 입력하고 저장을 눌러준 뒤 x 버튼으로 창을 닫아줍니다.

웹 브라우저에서 주소창에 리눅스 서버 IP 주소 입력 하게 되면

실행 된 거 확인 후
매번 하기 번거로우니 아파치 웹 서비스를 자동 시작하는 명령어 설정할게요

❓systemctl enable httpd

Apache HTTP 서버(httpd)가 자동으로 시작되도록 설정

❓systemctl list-unit-files

시스템에서 관리하는 모든 유닛 파일들의 목록과 그 상태를 보여주는데요.

enabled: 유닛이 시스템 부팅 시 자동으로 시작되도록 설정되어 있음을 나타냅니다.

disabled: 유닛이 시스템 부팅 시 자동으로 시작되지 않도록 설정되어 있음을 나타냅니다.


확인 하고 빠져 나올때는 q로 나오면 됩니다

❓ systemctl status mariadb

마리아DB 동작 확인
Active : inactive(dead) 동작 안하고 있는 상태를 나타냅니다.

❓systemctl enable mariadb

아파치와 마찬가지로 마리아DB도 리눅스 시작 시 자동으로 동작

💡리눅스에서 PHP 언어 동작 확인

❓systemctl restart httpd

웹과 관련된 설정이 변경되면 웹 서비스 재시작

윈도우 웹 브라우저 주소창에
본인 IP 주소/phpinfo.php 입력하면

PHP Version 5.4.16 아래의 내용 확인
이렇게 떠야 성공한 거예요!

💡워드프레스가 사용할 데이터베이스 공간 생성

❓mysql -u root


이 때 root는 리눅스 운영체제의 관리자 계정이 아니라 마리아DB의 관리자 계정입니다!

❓show databases;


마리아DB의 데이터베이스 이름 확인

❓create database wpDB;


워드프레스가 사용할 데이터베이스 공간을 생성

❓show databases;


확인 하는 차원에서 명령어 입력 후 wpDB 가 보이면 데이터베이스 생성이 잘 된겁니다!

grant : 권한을 설정하는 명령어 (=revoke)

< grant 명령어 기본 문법 >

grant [권한] on [사용할데이터베이스명] to [유저명] identified by [비밀번호]

❓grant all privileges on wpDB.* to wpUser@localhost identified by '1234';

워드프레스가 데이터베이스와 연동 시 사용할 사용자를 생성

all privileges : 모든 권한(CRUD)
on wpDB.* : wpDB 안의 모든 테이블에 대해서
to wpUser : wpUser에게 적용
identified by '1234' : wpUser의 패스워드 설정

❓flush privileges;

사용자와 관련된 설정 시 적용을 시키는 명령어

❓exit

다시 터미널로 돌아갑니다

💡워드프레스 설치

❓pwd

❓wget https://ko.wordpress.org/wordpress-4.9.6-ko_KR.tar.gz

인터넷을 통해 파일을 다운로드 받을 때 wget 명령어 사용
확장자명이 .tar.gz 은 압축된 파일

❓tar xfz w[Tab]

오타 내면 안되니까 Tab 키를 통해서 파일의 자동완성 기능을 사용할 수 있어요

압축 해제 하게 되면 wordpress 라는 디렉터리(폴더)가 생겨나는데요

❓ls -l

파일에 대한 상세한 내용을 확인 할 수 있습니다.

❓chown -R apache.apache wordpress

chown : change owner 소유자를 변경하는 명령어

-R : wordpress 내의 모든 디렉터리(폴더)와 파일들의 소유자를 변경하는 옵션

외부(윈도우 등)에서 웹 브라우저를 통해서 wordpress 폴더에 접근을 할 경우 wordpress 디렉터리는 apache 소유여야 함!

❓chmod 777 wordpress

chmod : chnage modify 퍼미션(권한)을 변경하는 명령어

리눅스에는 소유자, 그룹, 그밖의 소유자로 나뉨

퍼미션(권한)

r : 읽기, w : 쓰기, x : 실행

ls -l 을 입력 시 표시되는 내용 중 'rw-r--r--' 이렇게 표시되는 부분 (3개씩 끊어서 user/group/other)

권한이 rw-r--r-- 로 되어 있다면
rw- : 파일 또는 디렉터리의 소유자는 읽고, 쓰기 가능
r-- : 소유그룹은 읽기만 가능
r-- : 그 밖의 사용자는 읽기만 가능

rwxrw-r-- : 소유자는 읽고,쓰고,실행 가능 / 소유그룹은 읽고 쓰기 가능 / 그밖의 사용자는 읽기만 가능

❓cd wordpress

wordpress 디렉터리 이동

❓ls


여러 파일들이 보이는데요
워드프레스의 설정 파일이 이름은 wp-config.php 인데 보이지 않습니다
wp-config-sample.php 를 복사해서 wp-config.php를 생성해야 함.

❓ cp wp-config-sample.php wp-config.php

cp [원본][복사본]
cp : copy

❓ gedit wp-config.php

만들어진 wp-config.php 파일을 수정

💡WEB 과 DB 연동 시 필요한 정보 입력

database_name_here 삭제하고 설정해둔 wpDB로 변경

username_here 삭제하고 wpUser로 변경

password_here 삭제하고 1234로 변경

각 항목 변경 후 저장해서 클릭 후 닫으면 됩니다

외부에서 웹 브라우저로 접근 시 아파치는 DocumentRoot 설정값에 의해서 /var/www/html 안의 파일을 찾습니다

❓ DocumentRoot

Apache가 웹 컨텐츠를 제공할 기본 디렉토리를 지정

웹 브라우저로 접근 시 바로 wordpress 내의 파일을 찾도록 하려면 DocumentRoot 설정값을 변경해야 함!

💡 DocumentRoot 설정값 변경

❓vi /etc/httpd/conf/httpd.conf

❓:set nu

하게 되면 왼쪽에 숫자로 바뀌게 됩니다


119번을 찾아 i 입력 모드로 전환 한 후
wordpress 추가 해주기


131번을 찾아 wordpress 추가


151번 All 변경 후 Esc 눌러준 다음

❓:wq

빠져 나오면 됩니다

❓systemctl restart httpd

변경 사항 저장

웹 브라우저 주소창에 IP 주소 입력 하면

정보 입력 해준 후 워드프로세스 설치하기 클릭

profile

0개의 댓글