안녕하세요 오늘은 CentOS7에 web server WordPress 설치 방법을 알아 보도록 하겠습니다.
참고로 저는 Linux를 8~9년전에 잠깐 사용을 해본게 전부입니다.
이 포스트를 보시면 리눅스를 사용해 보신적이 없는 분들도 쉽게 성공하실수 있을것입니다.
여기서는 웹서버 구성에 Maria DB, Nginx, PHP 7.1 을 사용하도록 하겠습니다.
이포스트를 보기전에 Web Server 사용을 위한 Linux CentOS 7 설치를 보고 리눅스를 설치 하시기 바랍니다.
1. yum update
yum 이란 ? RPM 기반의 시스템을 위한 자동 업데이트 겸 패키지 설치/제거 도구입니다.
yum -y update
yum을 업데이트 합니다.
2. Maria DB 설치
vim /etc/yum.repos.d/MariaDB.repo
위에 명령어를 입력 하면 VIM이 실행 됩니다.
VIM은 파일 편집기로서 Dos의 Edit, Windows의 notepad와 비슷한 역활을 합니다.
키보드 “i”를 입력하여 insert 모드로 변경 후 아래 내용을 그대로 입력합니다.
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos8-amd64 gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 0 enabled = 1
입력이 완료 되면 ESC를 눌러 insert 모드에서 나온 후 :wq 를 입력합니다.
yum install -y mariadb mariadb-server
Maria DB를 설치합니다.
systemctl start mariadb
Maria DB를 실행 합니다.
mysql_secure_installation
Maria DB 보안 설정을 실행 합니다.
Enter current password for root (enter for none) : 처음 실행이라 비밀번호가 없습니다. 그냥 Enter를 입력 합니다.
Set root password? [Y/n] : root 관리자 비밀번호 설정을 위해 y를 입력 후 비밀번호 2번을 똑같이 입력 합니다.
Remove anonymous users? [Y/n] : 익명 사용자를 삭제하기 위해 y를 입력 합니다.
Disallow root login remotely? [Y/n] : root 원격 사용을 위해 y를 입력 합니다.
Remove test database and access to it? [Y/n] : test database 삭제를 위해 y를 입력 합니다.
Reload privilege tables now? [Y/n] : talbes Reload y를 입력 합니다.
systemctl enable mariadb
Maria DB 자동 실행을 등록 합니다.
3. php 7.4 설치
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm wget http://rpms.remirepo.net/enterprise/remi-release-8.rpm wget http://rpms.remirepo.net/enterprise/8/remi/x86_64/php74-php-7.4.7-1.el8.remi.x86_64.rpm rpm -Uvh remi-release-8.rpm epel-release-latest-8.noarch.rpm rpm -Uvh -e --nodeps php74-php-7.4.7-1.el8.remi.x86_64.rpm dnf module reset php dnf module install php:remi-7.4 yum -y install yum-utils yum --enablerepo=remi update remi-release yum-config-manager --enable remi
EPEL 저장소 구성 및 활성화를 합니다.
dnf --enablerepo=remi install -y php php-fpm php-mysql dnf --enablerepo=remi install -y php-mbstring php-common php-cli php-json php-mcrypt php-soap php-bcmath php-dba php-pdo php-ldap php-mysqlnd php-opcache php-xml php-xmlrpc php-pear php-gd php-imagick php-devel dnf --enablerepo=remi install -y zip unzip php-zip
PHP 7.4 설치를 진행 합니다.
systemctl start php-fpm.service
systemctl start php74-php-fpm.service
php-fpm 실행 합니다.
systemctl enable php-fpm.service
php-fpm 자동 실행을 등록 합니다.
4. Nginx 설치
vim /etc/yum.repos.d/nginx.repo
vim을 이용하여 nginx.repo 를 수정합니다.
키보드 “i” 클릭 후 아래 내용을 넣습니다.
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
입력이 완료 되면 :wq를 입력하여 저장하고 나옵니다.
yum-config-manager --enable nginx-stable dnf install -y nginx
Nginx를 설치 합니다.
systemctl start nginx
Nginx를 실행 합니다.
systemctl enable nginx
Nginx 자동 실행을 등록 합니다.
5. 방화벽 설정
firewall-cmd --permanent --zone=public --add-service=http
방화벽에 HTTP 서비스를 등록합니다
firewall-cmd --permanent --zone=public --add-service=https
방화벽에 HTTPS 서비스를 등록합니다
firewall-cmd --reload
방화벽 설정 reload 합니다.
6. php.ini 수정
vim 에서 단어 검색은 /검색어 입니다. 예: timezone 검색시 /timezone 엔터를 입력하시면됩니다.
vim /etc/php.ini
vim으로 php.ini 파일을 open 합니다.
date.timezone = Asia/Seoul
맨앞에 ; 삭제 후 Asia/Seoul 로 수정 합니다.
cgi.fix_pathinfo = 0
맨앞에 ; 삭제 후 1을 0으로 수정 합니다.
:wq를 입력하여 저장하고 나옵니다.
7. php-fpm 설정 변경
vim /etc/php-fpm.d/www.conf
vim으로 www.conf 파일을 open 합니다.
user = nginx group = nginx
apache 를 nginx 로 변경합니다.
listen.owner = nginx listen.group = nginx listen.mode = 0660
앞부분 ; 를 제거 후 apache 를 nginx 로 변경합니다.
listen = /var/run/php-fpm/php-fpm.sock
listen = 127.0.0.1:900을 위와 같이 변경 합니다.
8. nginx.conf 설정 변경
vim /etc/nginx/nginx.conf
vim으로 nginx.conf 파일을 open 합니다.
worker_processes auto;
worker_processes 1; 1을 auto 로 수정합니다. 프로세서 수를 자동으로 확인합니다.
9. php 환경 변수 설정
mkdir -p /etc/nginx/snippets
디렉토리를 생성 합니다.
vim /etc/nginx/snippets/fastcgi-php.conf
fastcgi-php.conf 파일을 생성 후 아래 내용을 입력 합니다.
fastcgi_split_path_info ^(.+\.php)(/.+)$; try_files $fastcgi_script_name =404; set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
여기까지 진행을 하면 웹서버 구축을 위한 기본단계는 완료 된것입니다.
Maria DB, php7.1, Nginx 설치를 완료하였습니다.
다음 포스트에서 wordpress 설치를 진행 하도록 하겠습니다.
감사합니다.