CentOS 7.3(LAMP)에 Apache, PHP 7.1 및 MySQL을 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 센트OS 6.2

이 페이지에서

  1. 1 서문
  2. 2 MySQL/MariaDB 설치
  3. 3 Apache 설치
  4. 4 PHP 설치
    1. 4.1 PHP 7.0 설치(선택사항)\n
    2. 4.2 PHP 7.1 설치(선택 사항)\n

    이 튜토리얼은 PHP 지원(mod_php) 및 MySQL 지원을 통해 CentOS 7 서버에 Apache 웹 서버를 설치하는 방법을 보여줍니다. LAMP는 Linux, Apache, MySQL, PHP의 약자입니다.

    이 업데이트된 튜토리얼은 CentOS 7.3에 최신 PHP 버전(7.0 및 7.1)을 설치하는 방법을 보여줍니다.

    1 서문

    이 자습서에서는 호스트 이름 server1.example.com을 IP p 192.168.1.100과 함께 사용합니다. 이러한 설정은 사용자에 따라 다를 수 있으므로 적절하게 교체해야 합니다.

    다음과 같이 최신 phpMyAdmin을 설치하기 위해 여기에 EPEL 저장소를 추가합니다.

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
    yum -y install epel-release

    셸에서 파일을 편집하려면 나노 편집기를 설치하겠습니다. 파일 편집을 위해 vi를 선호하는 경우 이 단계를 건너뜁니다.

    yum -y install nano

    2 MySQL/MariaDB 설치

    MariaDB는 원래 MySQL 개발자 Monty Widenius의 MySQL 포크입니다. MariaDB는 MySQL과 호환되며 여기서는 MySQL 대신 MariaDB를 사용하기로 선택했습니다. 다음 명령을 실행하여 yum으로 MariaDB를 설치합니다.

    yum -y install mariadb-server mariadb

    그런 다음 MySQL용 시스템 시작 링크를 만들고(시스템이 부팅될 때마다 MySQL이 자동으로 시작되도록) MySQL 서버를 시작합니다.

    systemctl start mariadb.service
    systemctl enable mariadb.service

    MySQL 루트 계정의 비밀번호를 설정합니다.

    mysql_secure_installation
    [ ~]#

    3 아파치 설치

    CentOS 7은 Apache 2.4와 함께 제공됩니다. Apache는 CentOS 7 패키지로 직접 사용할 수 있으므로 다음과 같이 설치할 수 있습니다.

    yum -y install httpd

    다음은 설치 과정의 스크린샷입니다.

    이제 부팅 시 Apache를 시작하도록 시스템을 구성합니다...

    systemctl start httpd.service
    systemctl enable httpd.service

    외부에서 웹 서버에 접속하기 위해서는 방화벽에서 HTTP(80)와 HTTPS(443) 포트를 열어야 합니다. CentOS의 기본 방화벽은 firewalld-cmd 명령으로 구성할 수 있는 firewalld입니다.

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

    이제 브라우저에서 서버의 IP 주소(저의 경우 http://192.168.1.100)로 이동하면 Apache 자리 표시자 페이지가 표시됩니다.

    4 PHP 설치

    CentOS와 함께 제공되는 PHP 버전은 꽤 오래되었습니다(PHP 5.4). 따라서 이 단계에서는 Remi 저장소에서 PHP 7.0 또는 7.1과 같은 최신 PHP 버전을 설치하는 몇 가지 옵션을 보여드리겠습니다.

    Remi CentOS 저장소를 추가합니다.

    rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

    yum-config-manager 유틸리티가 필요하므로 yum-utils를 설치합니다.

    yum -y install yum-utils

    그리고 yum 업데이트 실행

    yum update

    이제 서버에서 사용할 PHP 버전을 선택해야 합니다. PHP 5.4를 사용하려면 다음 명령을 진행하십시오. PHP 7.0을 설치하려면 4.1장의 명령을 따르고 PHP 7.1의 경우 4.2장을 대신 사용하십시오.

    PHP 5.4를 설치하려면 다음 명령을 실행합니다.

    yum -y install php

    4.1 PHP 7.0 설치(선택 사항)

    다음과 같이 PHP 7.0 및 Apache PHP 7.0 모듈을 설치할 수 있습니다.

    yum-config-manager --enable remi-php70
    yum -y install php php-opcache

    4.2 PHP 7.1 설치(선택 사항)

    대신 PHP 7.1을 사용하려면 다음을 사용하십시오.

    yum-config-manager --enable remi-php71
    yum -y install php php-opcache

    이 예와 다운로드 가능한 가상 머신에서는 PHP 7.1을 사용하겠습니다.

    변경 사항을 적용하려면 Apache를 다시 시작해야 합니다.

     systemctl restart httpd.service

    5 PHP 테스트/PHP 설치에 대한 세부 정보 얻기

    기본 웹 사이트의 문서 루트는 /var/www/html입니다. 해당 디렉토리에 작은 PHP 파일(info.php)을 만들고 브라우저에서 호출하여 PHP 설치를 테스트합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 많은 유용한 정보를 표시합니다.

    nano /var/www/html/info.php
    <?php
    phpinfo();
    ?>

    이제 브라우저에서 해당 파일을 호출합니다(예: http://192.168.1.100/info.php).

    보시다시피 PHP 7.1이 작동 중이며 서버 API 행에 표시된 대로 Apache 2.0 핸들러를 통해 작동합니다. 더 아래로 스크롤하면 PHP에서 이미 활성화된 모든 모듈이 표시됩니다. MySQL은 거기에 나열되어 있지 않습니다. 즉, 아직 PHP에서 MySQL을 지원하지 않는다는 의미입니다.

    6 PHP에서 MySQL 지원 받기

    PHP에서 MySQL 지원을 받으려면 php71w-mysql 패키지를 설치할 수 있습니다. 다른 PHP 모듈을 설치하는 것이 좋으며 애플리케이션에 필요할 수도 있습니다. 다음과 같이 사용 가능한 PHP5 모듈을 검색할 수 있습니다.

    yum search php

    필요한 것을 선택하고 다음과 같이 설치하십시오.

    yum -y install php-mysql

    다음 단계에서는 Wordpress, Joomla 및 Drupal과 같은 CMS 시스템에 필요한 몇 가지 일반적인 PHP 모듈을 설치합니다.

    yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

    이제 Apache 웹 서버를 다시 시작합니다.

     systemctl restart httpd.service

    이제 브라우저에서 http://192.168.1.100/info.php를 다시 로드하고 모듈 섹션으로 다시 스크롤하십시오. 이제 curl 등과 같은 새로운 모듈을 많이 찾을 수 있습니다.:

    php info 출력이 더 이상 필요하지 않으면 보안상의 이유로 해당 파일을 삭제하십시오.

    rm /var/www/html/info.php

    7 phpMyAdmin 설치

    phpMyAdmin은 MySQL 데이터베이스를 관리할 수 있는 웹 인터페이스입니다.
    phpMyAdmin은 이제 다음과 같이 설치할 수 있습니다.

    yum -y install phpMyAdmin

    이제 phpMyAdmin을 구성합니다. phpMyAdmin이 localhost뿐만 아니라 연결을 허용하도록 Apache 구성을 변경합니다( 스탠자를 주석 처리하고 Require all registered 줄 추가).

    nano /etc/httpd/conf.d/phpMyAdmin.conf
    [...]
    Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/>
    AddDefaultCharset UTF-8

    <IfModule mod_authz_core.c>
    # Apache 2.4
    # <RequireAny>
    # Require ip 127.0.0.1
    # Require ip ::1
    # </RequireAny>
    Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Deny from All
    Allow from 127.0.0.1
    Allow from ::1
    </IfModule>
    </Directory>
    <Directory /usr/share/phpMyAdmin/> Options none AllowOverride Limit Require all granted </Directory>

    [...]

    다음으로 phpMyAdmin의 인증을 쿠키에서 http로 변경합니다.

    nano /etc/phpMyAdmin/config.inc.php
    [...]
    $cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)?
    [...]

    아파치를 다시 시작합니다.

    systemctl restart  httpd.service

    그런 다음 http://192.168.1.100/phpmyadmin/에서 phpMyAdmin에 액세스할 수 있습니다.

    8 가상 머신으로 다운로드

    이 설정은 howtoforge 가입자를 위해 ova/ovf 형식(VMWare 및 Virtualbox와 호환 가능)의 가상 머신 다운로드로 사용할 수 있습니다.

    VM에 대한 로그인 세부 정보

    • Linux 루트 암호는 howtoforge입니다.\n
    • Rhe MySQL 루트 비밀번호: howtoforge\n

    처음 로그인할 때 두 비밀번호를 모두 변경하세요.

    • VM의 IP 주소는 192.168.1.100입니다.

    9 링크


    아파치: http://www.phpmyadmin.net/