프로젝트 목적
한대의 가상머신에서 LAMP을 이용해 웹 서버를 구축하고 wordpress를 활용해 웹 사이트를 만들었던 미니 프로젝트를 웹 서버(Apache + PHP + wordpress) 1대, DB 서버 1대, DNS 서버 1대 총 3대의 서버를 이용하는 것으로 변경해보려고 한다.
프로젝트 환경
사용 Tool - VirtualBox 6.1
사용한 - OS CentOS Linux release 7.9.2009 (Core)
사용한 패키지
Wordpress의 PHP 7.4 이상, Mysql 5.7 또는 MariaDB 10.2 이상, Apache나 Nginx를 권장한다.
서버 사용 패키지 버전 Web 서버 Apache(httpd-2.4.6-97) + PHP(php-7.4.28-1) + Wordpress(wordpress-5.9.2) DB 서버 mysql(15.1) + MariaDB(10.2.43) DNS 서버 bind(9.11.4) HTTP 설정 mod_ssl-2.4.6-97
결과물 예상 시스템 구성도
프로젝트 진행 순서
✔️ 프로젝트를 위한 환경 세팅
✔️ 웹 서버 환경 구축 - Apache, PHP, Wordpress 설치
✔️ DB 서버 환경 구축 - MariaDB 설치
✔️ DNS 서버 환경 구축 - named 파일 설정
프로젝트를 위한 환경 세팅
우선 3대의 서버를 사용하기 위해 virtualbox 가상 머신을 복제 생성해준다.
나는 web, DB, DNS 라는 이름으로 구성해주었다.
각각의 virtual 머신의 ip 주소를 확인하고 PowerShell로 접속해준다.
DB 서버를 분리할 것이기 때문에 우선 web 서버의 역할을 할 가상머신의 PowerShell을 띄워놓는다.
웹 서버 환경 구축 - Apache, PHP, Wordpress 설치
Apache 설치
[root@localhost ~]# yum install httpd
[root@localhost ~]# rpm -qa httpd
[root@localhost ~]# rpm -ql httpd
위와 같이 http 버전과 관련 파일이 나오면 설치가 완료된 것이다.
방화벽 정책을 추가하기 위해 방화벽 리스트를 확인한다.
[root@localhost ~]# firewall-cmd --list-all
http 서비스를 영구적으로 추가한다.
[root@localhost ~]# firewall-cmd --add-service=http
success
[root@localhost ~]# firewall-cmd --add-service=http --permanent
success
[root@localhost ~]# firewall-cmd --list-all
다시 한번 방화벽 리스트를 확인하면 http가 추가된 것을 확인할 수 있다.
PHP 설치
기존에 yum으로 설치한 PHP는 5.4 버전이므로 remi와 yum-utils로 버전을 변경한다.
[root@localhost ~]# yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@localhost ~]# yum install -y yum-utils
[root@localhost ~]# yum-config-manager --disable remi-php54
[root@localhost ~]# yum-config-manager --enable remi-php74
php 5.4 버전을 끄고 php 7.4 버전을 활성화 시킨다.
[root@localhost ~]# yum install -y php74
[root@localhost ~]# yum install -y php74-php php-cli php74-scldevel \
> php74-php-xml php74-php-xmlrpc php74-php-soap \
> php74-php-process php74-php-pgsql php74-php-pdo \
> php74-php-opcache php74-php-mbstring php74-php-ldap \
> php74-php-json php74-php-ioncube-loader php74-php-intl \
> php74-php-gmp php74-php-gd php74-php-fpm php74-php-devel \
> php74-php-dba php74-php-common php74-php-cli \
> php74-php-bcmath php74-php-phpiredis php74-php-pecl-igbinary \
> php74-php-pecl-imagick-im7 php74-php-pecl-imagick-im7-devel \
> php74-php-pecl-igbinary-devel php74-php-pecl-geoip \
> php74-php-pecl-xdebug php74-php-pecl-mysqlnd-azure
필요한 PHP 7.4 라이브러리를 설치한다.
[root@localhost ~]# systemctl restart httpd.service
[root@localhost ~]# systemctl status httpd.service
php 7.4는 웹 데몬에 라이브러리처럼 동작하므로 웹 데몬을 재시작한다.
위와 같이 active (running) 으로 출력되면 정상적으로 동작하고 있는 것이다.
http.conf 파일 내에 index.html 이 아닌 index.php 파일이 로딩될 수 있도록 설정해주어야 한다.
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
vi 에디터를 열어 /IfModule을 입력하여 하단의 코드를 찾아 index.php를 추가해준다.
</IfModule> 상단에 2줄을 추가한다.
AddType application/x-httpd-php .html .php .inc
AddType application/x-httpd-php-source .phps
[root@localhost ~]# systemctl restart httpd
설정을 완료했다면 아파치를 재시작한다.
아파치의 설정 파일을 건드리지 않았다면 기본 홈페이지의 디렉토리는 /var/www/html이다.
이 디렉토리에 phpinfo.php 파일을 만들고 다음과 같이 수정해준다.
[root@localhost ~]# vi /var/www/html/phpinfo.php
<?php phpinfo(); ?> => 웹 서버에 설치된 PHP 정보를 보여준다.
virtualBox로 돌아가 graphical 모드로 변경하기 위해 다음 명령을 입력한다.
run level을 임시로 변경하는 명령이다.
systemctl isolate graphical.target
그러면 우리가 사용하던 그래픽 모드로 변경이 되고 여기서 root로 로그인을 해준다.
상단의 머신을 눌러 Firefox에 접속한다.
만약 네트워크에 연결할 수 없다는 페이지가 뜬다면
[root@localhost ~]# systemctl restart httpd.service
아파치를 재시작해주면 정상 작동할 것이다.
http://아파치 서버가 설치된 ip 주소/phpinfo.php 를 입력하여 확인해본다. 위와 같이 뜨면 PHP 모듈이 정상적으로 작동하는 것이다.
[root@localhost ~]# hostname -I
10.0.2.10 192.168.56.101 192.168.122.1
아파치 서버가 설치된 ip 주소를 확인하기 위해서는 위의 명령을 입력한다.
DB 설정 과정은 다음 글로..!
'Project' 카테고리의 다른 글
APM을 이용한 웹 서버 구축 및 Wordpress를 활용한 웹 사이트 (Web, DB, DNS 서버 분리) - 4 (0) | 2022.03.18 |
---|---|
APM을 이용한 웹 서버 구축 및 Wordpress를 활용한 웹 사이트 (Web, DB, DNS 서버 분리) - 3 (0) | 2022.03.15 |
APM을 이용한 웹 서버 구축 및 Wordpress를 활용한 웹 사이트 (Web, DB, DNS 서버 분리) - 2 (0) | 2022.03.15 |
APM을 이용한 웹 서버 구축 및 Wordpress를 활용한 웹 사이트 (2) (0) | 2022.03.15 |
APM을 이용한 웹 서버 구축 및 Wordpress를 활용한 웹 사이트 (1) (0) | 2022.03.15 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!