개발모음집

centos7 apache + php + mariaDB, yum 설치하기 본문

Server

centos7 apache + php + mariaDB, yum 설치하기

void 2017. 10. 17. 09:00

vmware의 가상서버에 Apache yum 설치하려고 구글링을 했으나 대부분 php 연동이 안되었다.

그래서 검색후 찾은 게 이 코드이다.


설치되는 버전

apache 2.4.6

php 5.4.16

mariaDB Ver 15.1 Distrib 5.5.56-


설치 전 준비

  1. 의존성 라이브러리를 설치합니다
    libpng* 의 경우 설치시 충돌이 발생하여...  --skip-broken 옵션을 지정하여 설치 

    # yum -y install gcc gcc-c++  libtermcap-devel gdbm-devel zlib* libxml* freetype* libjpeg* gd-* 
    # yum -y install libpng* --skip-broken

Apache, PHP, MariaDB 설치

  1. yum 으로 Apach 설치

    
    # yum -y install httpd
    
    
  2. Apach 설정

    
    # vi /etc/httpd/conf/httpd.conf
     
    
    #User apache    /*User nobody 변경   */
    #Group apache   /*Group nobody 변경  */ 
    User nobody
    Group nobody
    ... 
    
    
    ServerName centos.kgoon.net:80 
    ...
    DocumentRoot "/var/www/html"    /* 경로 변경 시 해당 경로 755 변경 및 Selinux 보안 기능(?)을 중지하고 아파치 서버를 재 가동 */
    ...
    < Directory "/var/www/html">     /* DocumentRoot와 동일하게 */
    ...
    <IfModule dir_module>
        DirectoryIndex index.html index.php index.htm
    </IfModule>
    ...
    AddDefaultCharset UTF-8   /* 기본 인코딩 설정 */ 
    
    
  3. Apach 상태 및 실행, 부팅 시 자동 실행 등록

    
    # systemctl status httpd           /* 설치된 상태를 봅니다. */
    # systemctl start httpd            /* 서비스 가동 명령어 입니다. */
    # systemctl enable httpd.service   /* 부팅 후 자동 실행 설정 */
    
    
  4. 방화벽 설정

    
    # systemctl status firewalld   /* 방화벽 상태 확인 */
    # vi /etc/firewalld/zones/public.xml
    <?xml version="1.0" encoding="utf-8"?>
    <zone>
      <short>Public</short>
      <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
      <service name="dhcpv6-client"/>
      <service name="ssh"/>
      <port protocol="tcp" port="80"/>
      <port protocol="tcp" port="3306"/>
    </zone> # systemctl reload firewalld /* 방화벽 적용 */


웹서버 가동확인

브라우저에서 localhsost라고 입력

testing123이라는 페이지가 나오면 완료, 안뜨면 문제 생긴 것



PHP 설치


# yum -y install php php-mysql php-pdo php-gd php-mbstring
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php    /* php 정보 출력 페이지 생성 */

# chmod 777 /var/lib/php/session/ /* 그리고 세션 사용을 오픈 해야 됩니다. 셔센은 로그인 할때에 많이 사용하게 됩니다. */
# systemctl restart httpd


phpinfo 파일 확인


브라우저 url 입력창에 "localhost/info.php "입력

*error*

apm에 대한 정보가 보이는 페이지가 보이지 않고
php 파일을 다운받는다면 php 연동이 되지않은 것!

MariaDB 설치


# yum -y install mariadb-server mariadb

# systemctl start mariadb   /* Maria DB 가동 */
# mysql_secure_installation /* 설정을 합니다. */

항목을 하나하나 알아볼께요

Enter current password for root (enter for none) : 이 부분은 현재 루트 비번이 없기 때문에 엔터치시면 됩니다.
Set root password ? [Y/n]  : y를 누르고 root 패스워드를 설정합니다. 두번 비번을 입력하게 됩니다.
Remove anonymous users? [Y/n] ; 익명 접근을 막을것이냐? 라고 묻습니다. 보안상 y 누르고 엔터치세요.
Disallow root login remotely? [Y/n] ; root 계정으로 원격 접속을 막을 것인가? 보안상 y 누르고 엔터 치세요
Remove test database and access to it? [Y/n] ; test 용으로 사용된 데이타 베이스를 삭제할것이냐? y 엔터 치시면 됩니다.
Reload privilege tables now? [Y/n] ; 지금까지 설정한 값을 적용할것이냐? y 엔터 치시면 됩니다.


참고 블로그


이거보고도 설치가능

https://www.howtoforge.com/tutorial/centos-lamp-server-apache-mysql-php/



이걸 설치하면 apache2.4.6이다. http2가 되려면 2.4.17 이상이 되어야한다고 한다.

스택오버플로우를 보고 2.4.27로 업데이트했다.

cd /etc/yum.repos.d && wget https://repo.codeit.guru/codeit.el7.repo
yum install -y epel-release
yum upgrade httpd
참고 스택오버플로우