본문 바로가기
Technical/System

Centos7에서 wordpress 설치 (apache,php,mariadb)

by 잠적준비중 2022. 8. 19.

안녕하세요 이번 포스팅에서는 centos7에서 wordpress 설치 과정을 알아보겠습니다.

잘 보이지 않는 사진일 경우 이미지를 한번 클릭하시면 잘 보이십니다.

 

 

 

설치 환경

설치 OS : Centos7.9 (https://www.centos.org/download/)

설치 패키지 : apache,php,mariadb

방화벽과 SELinux는 비활성화 후 진행하겠습니다.

Centos7 계정은 root 계정을 사용하겠습니다.

 

1. 방화벽 및 SELinux off

기본적으로 Centos7에 켜져있는 방화벽 및 SELinux를 비활성화 하겠습니다.

두 기능을 사용하여도 web 서비스에 대한 정책 허용을 하면 설치 및 서비스에 이상은 없으나,

이번 포스트에서는 비활성화 하고 사용하겠습니다.

 

(1)방화벽 비활성화

Centos7 설치 시 기본적으로 설치되어 있는 방화벽을 비활성화 하겠습니다.

 

systemctl stop firewalld.service    #방화벽 서비스를 비활성화 합니다.

systemctl disable firewalld.service     #방화벽 서비스를 비활성화 합니다.

 

systemctl status firewalld.service     #방화벽 서비스를 상태를 출력합니다.

 

(2)SELinux 비활성화

 

vi /etc/selinux/config     #SELinux 설정 파일에 vi에디터로 들어갑니다.

SELINUX=enforcing  - > SELINUX=disabled     #설정 파일에서 SELINUX=enforcing 이라 적혀있는 부분을                   

                                                                            #SELINUX=disabled로 변경합니다.

:wq     #변경 내용을 저장합니다.

reboot      #서버를 리부팅합니다.

 

2.패키지 설치

이제 wordpress 의 필수 패키지인 apache,mysql,php를 설치하겠습니다.

 

wordpress는 php7.4 이상의 버전, mysql 5.7 이나 mariadb10.3 이상의 버전, apache 또는 nginx를 설치해야 됩니다.

 

(1)php 설치

php는 7.4버전을 설치합니다.

 

yum php list     #php 버전확인(yum으로 설치 시 5.4 버전의 php가 설치되도록 설정된 것을 확인)


yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm    #centos7 remirepo 주소 추가
yum -y install epel-release yum-utils     #epel-release 추가
yum-config-manager --enable remi-php74     #yum php설치 버전 7.4로 변경

yum list php      #php 버전확인(yum으로 설치 시 7.4 버전의 php가 설치되도록 설정된 것을 확인)
yum -y install php php-mysqlnd     #php 패키지 설치 

 

(2)apache 설치

apache는 버전을 변경하지 않고 설치합니다.

 

yum -y install httpd     #apache를 설치합니다.

systemctl start httpd     #apache를 실행합니다.

systemctl enable httpd     #apache 서비스를 활성화합니다.

이제 브라우저에서 http://서버ip 를 입력하여 apache test 페이지를 확인합니다.

제 서버는 사설 서버로 ip가 192.168.5.161이라 http://192.168.5.161 로 접속합니다.

 

(3)mariadb 설치

mariadb는 10.7버전을 설치하겠습니다.

 

https://mariadb.org/download/?t=repo-config&d=CentOS+7+%28x86_64%29&v=10.7&r_m=aarnet_pty_ltd 

 

Download MariaDB Server - MariaDB.org

REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"

mariadb.org

mariadb 홈페이지에서 10.7 버전에대한 Repositories를 확인해서 repo 파일을 만들어야 합니다.

 

위에 현재 사용중인 centos7과 10.7 버전 선택 후 위에 표시한 부분을 메모장에 복사해 둡니다.

 

 

vi /etc/yum.repos.d/MariaDB.repo     #mariadb의 repo 파일을 만듭니다.

위에서 복사해 둔 내용을 해당 파일어 붙여 넣습니다.

:wq     #해당 파일을 저장합니다.

 

yum -y install MariaDB-server MariaDB-client     #mariadb를 설치합니다.

 

systemctl start mariadb     #mariadb를 실행합니다.

systemctl enable mariadb     #mariadb를 활성화합니다.

mysql     #mariadb에 접속합니다.

위 화면같이 실행되면 정상적으로 설치된 것입니다.

 

3.wordpress 데이터베이스 생성

이제 wordpress에 저장될 데이터베이스를 mariadb에 생성하겠습니다.

 

mysql     #mariadb 접속
CREATE DATABASE wdDB;     #wdDB 라는 데이터베이스 생성
GRANT ALL PRIVILEGES ON wdDB.*  TO  wdadmin@localhost  IDENTIFIED BY  '1234';  #wdDB에 접속 가능한 wdadmin이라는 mariadb 계정 생성(password는 1234로 설정)

exit    #mariadb 나가기

 

mysql -u wdadmin -p     #wdadmin 계정으로 mariadb를 접속합니다.

Enter password:1234     #패스워드를 입력합니다.

show databases;     #접근 가능한 데이터베이스를 검색합니다.

위에서 만든 계정으로 접속 후 wdDB라는 테이블이 보이면 정상적으로 데이터베이스가 생성된 것입니다.

 

4.wordpress 파일 다운로드 및 설정

이제 wordpress를 다운받겠습니다. 여러 방법이 있지만 이번 포스터에서는 wget을 이용하여 다운받겠습니다.

 

(1)wget 설치

yum -y install wget     #wget을 설치합니다.

 

 

(2) wget을 이용해 wordpress 다운로드

wordpress 다운로드 파일은 https://ko.wordpress.org/download/releases/  에서 하시면 됩니다.

wget으로 원하는 버전의 wordpress 다운로드 주소를 wget으로 다운받으시면 됩니다.

이번 포스팅에서는 6.0.0 버전으로 진행하겠습니다.

 

wget https://ko.wordpress.org/wordpress-6.0-ko_KR.tar.gz    #wordpress를 다운받습니다.

tar xfz wordpress-6.0-ko_KR.tar.gz     #다운받은 wordpress 파일의 압축을 해제합니다.

ls -l     #wordpress 파일을 확인합니다.
mv wordpress  /var/www/html     #wordpress 파일을 html 디렉토리로 이동합니다.
cd /var/www/html     #html 디렉토리로 이동합니다.
chmod 707 wordpress     #wordpress의 파일 권한을 707로 변경합니다.
chown -R apache.apache wordpress     #wordpress의 소유자를 apahce로 변경합니다.

 

 

(3)wordpress db 설정

이제 위에서 생성한 mariadb의 계정 및 테이블에 데이터가 저장되도록 설정합니다.

 

cd wordpress     #wordpress 파일로 이동합니다.

cp wp-config-sample.php wp-config.php     #wordpress 설정 파일 샘플을 wp-config.php로 복사합니다.

vi  wp-config.php     #설정 파일을 vi에디터로 수정합니다.

    

    붉은 색으로 표시한 부분을 아래 내용과 같이 수정합니다.

    수정 전 내용  

     23 define( 'DB_NAME', 'database_name_here' );
     24
     25 /** Database username */
     26 define( 'DB_USER', 'username_here' );
     27
     28 /** Database password */
     29 define( 'DB_PASSWORD', 'password_here' );

 

 

    수정 내용
     23 define( 'DB_NAME', 'wdDB' );     #해당 줄에 데이터베이스의 이름을 입력합니다.(위에서 생성한 wpDB로 입력)
     24
     25 /** Database username */
     26 define( 'DB_USER', 'wdadmin' );     #해당 줄은 db에 접근한 계정을 입력합니다.(위에서 생성한 wdadmin로 입력)
     27
     28 /** Database password */
     29 define( 'DB_PASSWORD', '1234' );     #해당 줄은 mariadb계정의 password를 입력합니다.(위에서 생성한 1234로 입력)

:wq     #설정 파일을 저장합니다.

 

:set number 를 입력하면 옆에 줄 번호를 출력할 수 있습니다.

 

 

 

5. apache 수정

이제 apache에서 wordpress의 파일을 자유롭게 수정 가능하도록 설정하겠습니다.

vi /etc/httpd/conf/httpd.conf
  151     AllowOverride All                #151줄에   AllowOverride None  ->   AllowOverride All  으로 수정합니다.
        

:wp

 

systemctl restart httpd     #apache를 재시작 합니다.

 

6. wordpress 설정

웹 브라우저에 http://"내ip"/wordpress   를 입력하여 wordpress를 접속합니다.

이제 위 화면에서 wordpress 정보를 입력하고  워드프레스를 설치합니다.

 

설치 후 wordpress에 로그인 합니다.

 

위 화면에 접속이 되면 설치가 완료된 것입니다.

 

 

 

7.도메인 연결 설정

도메인 연결 방법은 호스팅 사이트에서 진행하시거나 도메인 등록 사이트를 통해 진행하시면 됩니다.

 

도메인으로 접속 시 wordpress에 접속이 되도록 apache에서 설정합니다.

 

httpd.conf 파일 맨 아래에 다음과 같이 입력합니다.

vi /etc/httpd/conf/httpd.conf     #vi 에디터로 httpd.conf를 수정합니다.

 

 

<VirtualHost  *:80>
        ServerName 192.168.5.161 
        <Location />
                Order deny,allow       #해당 문구는 ip로 직접 접속하는것을 차단합니다. 필요 없을 시 미입력
                Deny from all  
        </Location>
</VirtualHost>

<VirtualHost *:80>
 ServerName dhword.com    #접속 도메인을 dhword.com으로 설정한 것입니다. 이 부분은 여러분의 도메인으로 변경하시면 됩니다.
 DocumentRoot /var/www/html/wordpress/     # 도메인 입력 시 바로 wordpress로 접속합니다. 
 ErrorLog "/var/log/httpd/dhword.com-error_log"          #error로그에 대한 파일 설정입니다.
 CustomLog "/var/log/httpd/dhword.com-access_log" common     #access로그에 대한 파일 설정입니다.
</VirtualHost>

 

vi /var/log/httpd/dhword.com-error_log                #errorlog 파일을 생성합니다.

:wq

vi /var/log/httpd/dhword.com-access_log            #accesslog 파일을 생성합니다.

:wq

 

systemctl restart httpd      #apache를 재시작 합니다.

 

 

지금까지 wordpress 설치에 대해 알아봤습니다.

댓글