4-1) 워드프레스 만들어보기 in 웹서버

jungi.seong·2024년 3월 18일
0
post-thumbnail
  • 지난 내용 요약
  1. 내부 시스템부터 우선 구축해보기로 했다.
  2. 웹 서버(nginx)를 구축해 보았다.

- 구축 순서

  1. 워드프레스 설치
  2. DB구축 및 나머지 설정
  3. 워드프레스 테스트

1. 워드프레스 설치

1-1) 설치파일 다운로드

워드프레스 다운로드 홈페이지로 가면 tar.gz파일을 다운로드 받을 수 있는 경로가 있다.

URL : https://ko.wordpress.org/download/

링크를 우클릭해서 주소경로를 복사하고
wget 명령어로 리눅스에 다운로드를 하려고 했으나?!

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


ISSUE : Command not working

CAUSE: wget 명령어 작동불가 : command not found
SOLVE: dnf -y install wget으로 wget 설치 후 정상 다운로드


명령어가 인식이 되지를 않는다.


wget 설치 중

이후 다운로드가 가능해졌다.


1-2) 압축해제 및 폴더이동

아래의 명령어로 압축을 해제

tar xfz latest-ko_KR.tar.gz

압축 해제 된 wordpress폴더를 아래의 명령어를 입력해서 이동시킨다.

mv wordpress /var/www/html/


2. DB구축 및 나머지 설정

DB tool은 Maria db를 이용하였습니다.

2-1) maria db 설치 및 실행

dnf -y install mariadb-server
systemctl --now enable mariadb

2-2) php 설치 진행

dnf -y install php php-cli php-fpm php-mysqlnd php-json php-opcache php-mbstring php-xml php-gd php-curl

2-3) MariaDB에 SQL을 통한 DB생성

mysql_secure_installation : 서버보안 강화 스크립트 실행 명령어
-아래 내용 부터는 "MariaDB [(none)]"에서 입력된다. -


Enter Currunt password for root : mysql의 루트(root) 사용자의 현재 비밀번호 입력 요청 > (enter)
Set root password : root 사용자의 새로운 비밀번호를 설정하라는 요청 > (enter)
new password : 사용할 root 패스워드 > (입력)
Re-enter new password : 다시 한번 > (입력)
Remove anonymous users : 익명 사용자(anonymous users)를 제거할지 여부 > (enter)
Disallow root login remotely : 원격에서 root 사용자로의 로그인을 금지할지 여부 > (enter)
Remove test database and access to it : MySQL에 기본으로 포함된 테스트 데이터베이스와 그 데이터베이스에 대한 접근 권한을 제거 > (enter)
Reload Privilege tables now : 지금까지 변경된 모든 권한 설정을 적용하기 위해 권한 테이블을 즉시 다시 불러올지 여부 > (enter)

2-4) DB client 켜기

mysql -u root -p
(password 입력)

위 명령어를 입력하면 MariaDB로 들어와진다.

MariaDB> CREATE DATABASE wpDB;
MariaDB> GRANT ALL PRIVILEGES ON wpDB.* TO wpUser@"서버주소" IDENTIFIED BY '패스워드';
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit

- sql문의 끝에는 꼭 ;를 붙여야 한다.

2-5) 워드프레스 폴더 소유권 변경

아래 명령어를 통해 wordpress 폴더의 소유권을 변경 해준다.

chown -R nginx.nginx wordpress

변경 된 사용자/그룹을 확인 할 수 있다.


2-6) 워드프레스에 DB 정보 입력

아래 명령어로 워드프레스 폴더로 이동한다.

cd wordpress

wp-config-sample.php > wp-config.php로 복사 > 설정 파일로 사용

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

파일을 에디터로 열어준다.

vi wp-config.php

wp-config.php 파일 수정

21~32행까지 각 항목의 내용을 수정한다.
빨간색 부분을 수정하면 된다.

2-7) 웹서버 기본 루트 변경

아래 경로에서 루트를 변경해준다.

vi /etc/nginx/nginx.conf

기존 : /usr/share/nginx/html;
변경 : /var/www/html/wordpress;


42번째 줄에 있다.

변경 후, 아래 명령어로 ngix 서비스를 재시작 해준다.

systemctl restart nginx


3. 워드프레스 접속 테스트

ISSUE : 404 Error

CAUSE: 접속시 404에러가 발생
SOLVE: setenforce 0 명령어로 selinux 보안 해제

아래 명령어로 로그를 확인 해 보았다.

tail -f /var/log/nginx/error.log

파일 및 디렉터리 권한 다 확인했지만 이상이 없었다.
인터넷을 찾아보다가 selinux이야기가 있길래 아래 명령어로 잠시 해제해보았다.

바로 떴다!!


정상적으로 블로그 접속


  • SELINUX 문제는 좀 찾아봐야 될것 같다.
    보안에 관계 된 문제라 이걸 무시하고 외부에 오픈을 할 수는 없다는 생각이 들었다.

  • 24.04 - 웹서버 갈아 엎으면서 docker-compose로 구축하니 깔끔하게 되었다.


  • 요약 및 느낀점
  1. 워드프레스를 웹서버에 구축해보았다.
  2. 그에 따른 DB도 생성을 했다.
  3. 접속에 문제가 있어서 해결방법을 찾긴 했는데 보안과 연결이 되어서 해결에 시일이 좀 걸릴 것 같다.

감사합니다.

profile
hello world~!

0개의 댓글