웹사이트 검색

CentOS 7에 ProcessWire CMS를 설치하는 방법


이 페이지에서

  1. 1단계 - Apache 설치
  2. 2단계 - PHP 설치
  3. 3단계 - MariaDB 설치
  4. 4단계 - ProcessWire 설치 및 구성
  5. 5단계 - 권한 및 방화벽 구성\n
  6. 결론

ProcessWire는 무료 오픈 소스 콘텐츠 관리 시스템입니다. 완전히 사용자 정의할 수 있는 사용하기 쉬운 유연한 플랫폼을 제공합니다. 모든 규모에서 페이지, 필드, 템플릿 및 마크업을 보다 간단하고 강력하게 제어할 수 있습니다. 완전한 기능을 갖춘 API도 포함되어 콘텐츠 관리가 쉬워집니다.

이 튜토리얼에서는 CentOS 7 서버에 ProcessWire를 설치합니다.

전제 조건

  • 최소 CentOS 7 서버
  • 루트 권한\n

1단계 - 아파치 설치

기존 패키지와 리포지토리가 업데이트되도록 패키지를 설치하기 전에 서버를 업데이트하는 것이 좋습니다.

yum -y update

시스템이 업데이트되면 Apache 웹 서버 설치를 진행할 수 있습니다.

yum -y install httpd

이제 Apache 웹 서버를 시작하고 다음 명령을 사용하여 부팅 시 시작되도록 활성화합니다.

systemctl start httpd
systemctl enable httpd

2단계 - PHP 설치

ProcessWire는 5.3보다 큰 모든 버전의 PHP를 지원합니다. 하지만 이 튜토리얼에서는 PHP v5.3의 수명이 다했기 때문에 PHP 7.1을 설치합니다. 최신 버전의 PHP를 설치하면 애플리케이션의 최대 보안 및 성능이 보장됩니다.

CentOS의 기본 YUM 리포지토리에는 PHP 7.1이 포함되어 있지 않으므로 시스템에 Webtatic 리포지토리를 추가해야 합니다. Webtatic 저장소가 작동하려면 EPEL 저장소가 필요합니다. 다음 명령을 실행하여 EPEL 리포지토리를 설치합니다.

yum -y install epel-release
yum -y update

명령을 입력하여 Webtatic 리포지토리를 설치합니다.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update

필요한 모든 종속성과 함께 PHP 7.1을 설치하려면 다음 명령을 입력하십시오.

yum -y install php71w php71w-mysqli php71w-gd php71w-cli ImageMagick

PHP가 성공적으로 설치되었는지 확인하려면 다음을 실행할 수 있습니다.

php -v

이와 유사한 출력이 표시되어야 합니다.

[ ~]# php -v
PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

이제 PHP에서 몇 가지 구성을 구성해야 합니다. 선호하는 텍스트 편집기를 사용하여 PHP 구성 파일인 php.ini를 엽니다. 이 자습서에서는 나노 편집기를 사용합니다. nano가 설치되어 있지 않으면 yum -y install nano를 실행할 수 있습니다.

nano /etc/php.ini

다음 줄을 찾아 주석 처리를 해제하고 지역에 따라 시간대를 설정합니다. 예를 들어:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

3단계 - MariaDB 설치

MariaDB는 MySQL 데이터베이스의 포크입니다. 서버에 MariaDB를 설치하려면 다음을 실행하십시오.

yum -y install mariadb mariadb-server

다음 명령을 실행하여 MariaDB를 시작하고 부팅 시 시작되도록 활성화합니다.

systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation

위의 명령은 새로운 MariaDB 설치를 보호하기 위해 스크립트를 실행합니다. 스크립트는 기존 루트 사용자 암호를 묻습니다. 방금 MariaDB를 설치했으며 루트 암호가 설정되지 않았습니다. 계속 진행하려면 Enter 키를 누르십시오.

스크립트는 MariaDB 설치를 위한 루트 암호를 설정할지 묻고 y를 선택하고 설치를 위한 강력한 암호를 설정합니다. 대부분의 질문은 자명하며 모든 질문에 예 또는 y로 대답해야 합니다. 출력은 아래와 같이 표시됩니다.

데이터베이스를 생성하려면 먼저 MySQL 명령줄에 로그인해야 합니다. 동일하게 다음 명령을 실행하십시오.

mysql -u root -p

위의 명령은 루트 사용자의 MySQL 셸에 로그인하고 루트 사용자의 암호를 묻는 메시지를 표시합니다. 로그인하려면 암호를 입력하십시오. 이제 다음 쿼리를 실행하여 ProcessWire 설치를 위한 새 데이터베이스를 생성하십시오.

CREATE DATABASE pw_data;

위의 쿼리는 pw_data라는 새 데이터베이스를 생성합니다. 원하는 경우 데이터베이스에 다른 이름을 사용할 수 있습니다. 쿼리는 항상 세미콜론으로 끝나므로 각 쿼리 끝에 세미콜론을 사용해야 합니다.

데이터베이스가 생성되면 새 사용자를 생성하고 해당 사용자에게 데이터베이스에 대한 모든 권한을 부여할 수 있습니다. 새 데이터베이스 사용자를 생성하려면 다음 쿼리를 실행합니다.

CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'StrongPassword';

위의 쿼리는 사용자 이름이 pw_user인 사용자를 생성합니다. pw_user 대신 원하는 사용자 이름을 사용할 수 있습니다. StrongPassword를 매우 강력한 암호로 바꾸십시오. 이제 생성한 데이터베이스에 대한 모든 권한을 데이터베이스 사용자에게 제공하십시오. 다음 명령을 실행합니다.

GRANT ALL PRIVILEGES ON pw_data.* TO 'pw_user'@'localhost';

이제 다음 명령을 실행하여 데이터베이스 권한에 대한 변경 사항을 즉시 적용하십시오.

FLUSH PRIVILEGES;

다음 명령을 사용하여 MySQL 프롬프트를 종료합니다.

EXIT;

4단계 - ProcessWire 설치 및 구성

모든 종속성이 준비되었으므로 이제 ProcessWire 웹 사이트에서 설치 패키지를 다운로드할 수 있습니다.

cd /var/www
wget https://github.com/processwire/processwire/archive/master.zip

ProcessWire 다운로드 페이지에서 항상 최신 버전의 응용 프로그램에 대한 링크를 찾을 수 있습니다. 다음 명령을 사용하여 아카이브를 추출하십시오.

unzip master.zip

unzip이 설치되어 있지 않으면 yum -y install unzip을 실행할 수 있습니다. 다음을 사용하여 ProcessWire 폴더의 이름을 바꿉니다.

mv processwire-master processwire

5단계 - 권한 및 방화벽 구성

이제 다음 명령을 사용하여 웹 서버 사용자에게 애플리케이션의 소유권을 제공해야 합니다.

chown -R apache:apache /var/www/processwire

방화벽을 실행 중인 경우 방화벽을 통해 포트 80에서 HTTP 트래픽을 허용해야 할 수도 있습니다. 동일하게 다음 명령을 실행하십시오.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload

프록시 구성이 SELinux 정책과 작동하지 않기 때문에 이제 SELinux를 비활성화해야 합니다. 서버를 다시 시작하지 않고 SELinux를 일시적으로 비활성화하려면 다음 명령을 실행합니다.

setenforce 0

SELinux를 완전히 비활성화하려면 /etc/selinux/config 파일을 편집해야 합니다.

nano /etc/selinux/config

다음 줄을 찾으십시오.

SELINUX=enforcing

다음으로 변경:

SELINUX=disabled

이제 ProcessWire 응용 프로그램에 대한 가상 호스트를 만듭니다. 동일하게 다음 명령을 실행하십시오.

nano /etc/httpd/conf.d/cms.yourdomain.com.conf

다음 줄을 파일에 붙여넣습니다.

<VirtualHost *:80>
    ServerAdmin 
    DocumentRoot "/var/www/processwire"
    ServerName cms.yourdomain.com
    ServerAlias www.cms.yourdomain.com
    <Directory "/var/www/processwire">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "/var/log/httpd/cms.yourdomain.com-error_log"
    CustomLog "/var/log/httpd/cms.yourdomain.com-access_log" combined
</VirtualHost>

cms.yourdomain.com을 응용 프로그램에 액세스하는 데 사용할 도메인 또는 하위 도메인으로 바꿉니다. 파일을 저장하고 편집기를 종료합니다. 다음 명령을 실행하여 Apache 서버를 다시 시작하십시오.

systemctl restart httpd

이제 웹 브라우저를 사용하여 설치를 완료하고 원하는 웹 브라우저를 사용하여 다음 링크로 이동합니다.

http://cms.yourdomain.com

다음 페이지에서 환영합니다.

시작하기 버튼을 클릭하여 웹 기반 설치를 시작하십시오. 다음 인터페이스에서 설치 프로필을 선택합니다.

기본 초급 또는 중급 프로필 또는 빈 프로필 또는 클래식 프로필을 설치하도록 선택할 수 있습니다. 초보자의 경우 기본 프로필을 선택할 수 있습니다. 귀하의 사이트에 최소한의 반응형 테마를 설치합니다. 빈 프로필을 선택하면 테마가 설치되지 않습니다. 클래식 프로필을 선택하면 Processwire 2.3의 기본 테마가 설치됩니다.

다음 인터페이스에서 필요한 요구 사항을 볼 수 있습니다. 자습서를 올바르게 따랐다면 모든 종속성을 충족하게 됩니다.

다음 인터페이스에서 데이터베이스 세부 정보를 제공합니다. 기본 시간대를 선택하고 사이트의 호스트 이름을 제공하십시오. 도메인 이름을 사용하여 사이트에 액세스하는 경우 도메인 이름을 입력하십시오. 여기에 IP 주소를 입력할 수도 있습니다.

ProcessWire는 이제 데이터베이스를 작성했습니다. 이제 관리자 패널 URL을 변경할 수 있습니다. 관리자 패널이 무차별 암호 대입 공격으로부터 보호되도록 추측할 수 없는 개인 URL을 유지하십시오. 관리 사용자의 사용자 이름과 비밀번호를 제공하십시오.

이제 ProcessWire가 설치되었습니다. cms.yourdomain.com에서 관리자 패널에 액세스할 수 있습니다.

사이트의 백엔드에 액세스합니다. 설치 시 선택한 관리자 URL로 이동하고 관리자 자격 증명을 사용하여 로그인합니다.

결론

이제 ProcessWire CMS 설치가 완료되었습니다. CMS를 사용하여 개인용 또는 상업용으로 아름다운 웹사이트를 쉽게 만들 수 있습니다.