웹사이트 검색

Arch Linux에서 Apache, MariaDB 및 PHP 7과 함께 WordPress를 설치하는 방법


이 페이지에서

  1. Wordpress용 Apache, MariaDB 및 PHP 설치 및 구성
    1. Apache 설정
    2. MariaDB 설정
    3. PHP 7 설정

    WordPress는 널리 사용되는 동적 블로그 중심 콘텐츠 관리 시스템입니다. 이 소프트웨어는 LAMP 또는 LEMP 스택을 기반으로 하며 사이트 소유자와 개발자가 사용하기 쉽고 강력한 게시 도구를 배포할 수 있는 광범위한 플러그인 프레임워크 및 테마 시스템을 갖추고 있습니다.

    이 튜토리얼은 Arch Linux에서 Apache2, MariaDB 및 PHP 7을 사용하여 WordPress를 설치하고 구성하는 방법을 설명합니다.

    Wordpress용 Apache, MariaDB 및 PHP 설치 및 구성

    WordPress용 Apache, MariaDB 및 PHP의 설치 및 구성을 시작하기 전에 Arch Linux 시스템 데이터베이스가 최신 상태이고 설치된 모든 소프트웨어가 최신 버전을 실행하고 있는지 확인하십시오. 다음 명령을 실행하여 Arch Linux에서 시스템을 업데이트하십시오.

    sudo pacman -Syu

    아파치 설정

    Apache 2 웹 서버를 설치합니다.

    sudo pacman -Sy apache

    Apache MPM 프리포크를 구성합니다. 텍스트 편집기에서 /etc/apache2/mods-available/mpm_prefork.conf를 열고 필요에 따라 값을 편집합니다. 다음은 1GB RAM에 최적화되어 있습니다.

    sudo nano /etc/apache2/mods-available/mpm_prefork.conf
    <IfModule mpm_prefork_module>
          StartServers        2
          MinSpareServers     6
          MaxSpareServers     12
          MaxRequestWorkers   30
          MaxRequestsPerChild 3000
    </IfModule>
    

    위의 편집된 파일은 Apache HTTP Server의 기본 설정을 보여줍니다. 그런 다음 KeepAlive를 끕니다.

    sudo nano /etc/httpd/conf/extra/httpd-default.conf
    KeepAlive Off 

    기본 Apache HTTP 서버 구성 파일인 httpd.conf를 열고 편집합니다. include conf/extra/httpd-vhosts.conf 줄을 주석 처리합니다.

    sudo nano /etc/httpd/conf/httpd.conf
          #Include conf/extra/httpd-vhosts.conf
        

    동일한 파일에서 httpd.conf 파일 끝에 IncludeOptional conf/sites.d/*.conf 행을 추가합니다.

          IncludeOptional conf/sites.d/*.conf
        

    가상 호스트 구성 파일을 저장할 디렉터리를 만듭니다.

    sudo mkdir -v /etc/httpd/conf/sites.d

    /srv/http/wordpress 디렉토리를 생성합니다. 이 디렉토리에는 나중에 WordPress 파일이 포함됩니다.

    sudo mkdir /srv/http/wordpress

    WordPress용 가상 호스트 구성 파일을 만듭니다. 이 경우 이름은 wordpress.conf로 지정됩니다.

    sudo nano /etc/httpd/conf/sites.d/wordpress.conf

    wordpress.conf에 다음 줄을 추가합니다.

    <VirtualHost *:80>
          DocumentRoot /srv/http/wordpress
          ServerName wparchserver.tld
          ServerAdmin 
          ErrorLog /var/log/httpd/wparchserver-error_log
          TransferLog /var/log/httpd/wparchserver-access_log
    
          <Directory />
              Options +Indexes +FollowSymLinks +ExecCGI
              AllowOverride All
              Order deny,allow
              Allow from all
              Require all granted
          </Directory>
    </VirtualHost>
        

    wparchserver.tld라는 단어를 웹 사이트의 도메인 이름으로 바꿉니다.

    새 구성 파일을 로드하도록 Apache 웹 서버를 다시 시작합니다.

    sudo systemctl restart httpd

    마리아DB 설정

    다음 명령을 실행하여 mariadb, mariadb-clients 및 libmariadbclient 패키지를 설치합니다.

    sudo pacman -S mariadb mariadb-clients libmariadbclient

    MariaDB 데이터 디렉터리를 설치합니다.

    sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

    MariaDB 서비스를 시작하고 부팅 시 실행되도록 설정합니다.

    sudo systemctl start mysqld.service
    sudo systemctl enable mysqld.service

    MySQL/MariaDB를 보호하는 데 도움이 되는 명령줄 도구인 mysql_secure_installation을 실행합니다. mysql_secure_installation은 루트 암호를 설정하고, localhost 외부에서 루트 로그인을 비활성화하고, 익명 사용자 계정을 제거하고, 테스트 데이터베이스를 제거한 다음 권한 테이블을 다시 로드하는 옵션을 제공합니다.

    sudo mysql_secure_installation

    모든 옵션에 대해 기본값을 수락할 수 있으며 요청 시 보안 암호를 입력하기만 하면 됩니다.

    PHP 7 설정

    PHP 패키지를 설치합니다. Arch Linux의 PHP 7에 따르면 이 명령은 PHP 7과 종속성을 설치합니다.

    sudo pacman -Sy php php-apache php-gd

    더 나은 오류 메시지 및 로그와 업그레이드된 성능을 위해 PHP 구성 파일 /etc/php/php.ini를 열고 편집합니다. 이러한 수정은 1GB RAM에 대한 좋은 출발점을 제공합니다.

    sudo nano /etc/php/php.ini
    error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
    log_errors = On
    error_log = /var/log/php/error.log
    max_input_time = 30
        

    동일한 파일에서 다음 줄의 주석을 제거하여 mysqli 및 gd 확장 프로그램을 사용 설정합니다.

    ...
    extension=mysqli.so
    extension=gd.so
    ...
        

    완료되면 파일을 저장하고 닫습니다.

    이제 PHP용 로그 디렉토리를 생성하고 Apache 사용자에게 소유권을 부여해야 합니다.

    sudo mkdir /var/log/php
    sudo chown http /var/log/php

    기본적으로 Apache 구성 파일은 이 설정에서 작동하지 않는 mod_mpm_event.so 모듈을 사용합니다. /etc/httpd/conf/httpd.conf 파일을 열고 LoadModule mpm_event_module modules/mod_mpm_event.so 줄을 찾아 주석 처리합니다.

    sudo nano /etc/httpd/conf/httpd.conf
    ...
    #LoadModule mpm_event_module modules/mod_mpm_event.so
    LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    ...
        

    같은 파일에서 LoadModule php7_module modules/libphp7.so 및 Include conf/extra/php7_module.conf 줄을 추가하여 PHP 7 모듈을 활성화합니다.

    LoadModule php7_module modules/libphp7.so
    Include conf/extra/php7_module.conf
        

    /etc/httpd/conf/httpd.conf에서 섹션을 찾은 후 다음 줄을 추가합니다.

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    

    섹션에서 index.php 행을 추가하고 index.html 앞에 배치하십시오.

    <IfModule dir_module>
        DirectoryIndex index.php index.html
    </IfModule>
    

    완료되면 파일을 저장하고 닫습니다.

    Wordpress용 새 MariaDB 데이터베이스 및 사용자 생성

    WordPress 설치를 위한 새 MariaDB 데이터베이스를 생성하려면 루트 사용자로 MariaDB에 로그인해야 합니다.

    mysql -u root -p

    이제 WordPress 설치를 위한 데이터베이스를 생성합니다. 이 경우 dbwordpress라는 데이터베이스를 잘 만들고 이름을 변경할 수 있습니다.

    CREATE DATABASE dbwordpress;

    새 사용자를 만들고 암호를 설정합니다. 여기에서 자신만의 고유한 암호를 사용하십시오.

    CREATE USER  IDENTIFIED BY 'wpP455w0rd';

    이제 사용자에게 데이터베이스에 대한 전체 액세스 권한을 부여하십시오.

    GRANT ALL PRIVILEGES ON dbwordpress.* TO  ;

    데이터베이스 테이블을 새로 고치고 MariaDB를 종료합니다.

    FLUSH PRIVILEGES;
    exit;

    WP 다운로드 및 Wordpress 설치 구성

    아직 설치하지 않은 경우 Wordpress를 다운로드하기 전에 wget 및 rsync 패키지를 설치합니다.

    sudo pacman -Sy wget rsync

    wget 명령을 사용하여 공식 WordPress 사이트에서 최신 버전의 WordPress를 다운로드합니다.

    이제 WordPress tar.gz 아카이브를 추출합니다.

    tar -zxvf latest.tar.gz

    rsync 명령을 사용하여 WordPress 설치를 /srv/http/wordpress/ 디렉토리에 복사합니다.

    sudo rsync -avP wordpress/ /srv/http/wordpress/

    wp-config-sample.php의 복사본을 만들고 새 wp-config.php 파일을 만듭니다. 이 파일에는 WordPress 데이터베이스 연결 매개변수가 포함되어 있습니다.

    sudo cp /srv/http/wordpress/wp-config-sample.php /srv/http/wordpress/wp-config.php

    wp-config.php 파일을 열고 편집하고 DB_NAME, DB_USER 및 DB_PASSWORD에 대한 설정을 찾은 다음 이전에 생성한 데이터베이스, 사용자 이름 및 비밀번호 값을 입력합니다.

    sudo nano /srv/http/wordpress/wp-config.php

    다음과 같아야 합니다.

    /** The name of the database for WordPress */
    define('DB_NAME', 'dbwordpress');
    
    /** MySQL database username */
    define('DB_USER', 'wpuser');
    
    /** MySQL database password */
    define('DB_PASSWORD', 'wpP455w0rd');
        

    /srv/http/wordpress/의 디렉토리 소유권을 Apache 사용자 및 그룹으로 변경합니다.

    sudo chown -Rv http:http /srv/http/wordpress/

    /srv/http/wordpress/에 있는 모든 디렉토리의 권한을 755로 설정합니다.

    sudo find /srv/http/wordpress/ -type d -exec chmod -v 775 {} \;

    /srv/http/wordpress/ 디렉토리의 모든 파일에 대해 모드를 644로 설정합니다.

    sudo find /srv/http/wordpress/ -type f -exec chmod -v 644 {} \;

    이제 웹 설치 프로그램을 통해 WordPress를 설치합니다. 즐겨찾는 브라우저를 열고 서버 이름 또는 IP 주소로 이동합니다. 다음과 같이 브라우저에 Wordpress 설치 페이지가 나타납니다.

    언어를 선택하세요.

    워드프레스 대시보드에 로그인하기 위해 사이트 제목, 사용자 이름 및 비밀번호와 같은 워드프레스 사이트에 대한 정보를 입력하십시오. 완료되면 설치 버튼을 클릭하십시오.

    WordPress 설치에 성공했습니다. 이제 로그인 버튼을 클릭하여 방금 생성한 계정으로 WordPress 대시보드에 로그인할 수 있습니다.

    선택적 설정 - Wordpress 퍼머링크 구성

    WordPress permalink 기능을 활성화하기 전에 Apache Rewrite Module을 활성화해야 합니다. /etc/httpd/conf/httpd.conf 파일을 열어 이를 수행할 수 있습니다.

    sudo nano /etc/httpd/conf/httpd.conf

    LoadModule rewrite_module modules/mod_rewrite.so 행을 찾아 주석 처리를 제거하십시오.

    LoadModule rewrite_module modules/mod_rewrite.so

    파일을 저장하고 닫은 다음 Apache를 다시 시작합니다.

    sudo systemctl restart httpd

    이름이 .httaccess인 파일을 만듭니다.

    sudo touch /srv/http/wordpress/.htaccess

    해당 .htaccess 파일의 소유권을 Apache 웹서버 사용자 및 그룹 http로 변경합니다.

    sudo chown -v http:http /srv/http/wordpress/.htaccess

    이제 WordPress 퍼머링크를 활성화할 수 있습니다. WordPress 대시보드에서 설정 -> 영구 링크로 이동합니다.

    이제 미리 구성된 설정을 선택하여 URL을 구성하거나 직접 만들 수 있습니다.

    선택을 마치면 "변경 사항 저장"을 클릭하십시오.

    결론

    축하해요! 이제 Arch Linux에서 실행되는 Apache2, MariaDB 및 PHP 7이 있는 WordPress 웹 사이트가 있어야 합니다. 자세한 내용은 WordPress Codex를 확인하십시오.