본문 바로가기

Security/WEB

CentOS에 APM 구축하기 | 아파치 서버 구축 | PHP 설치 | MariaDB 설치 | phpmyadmin 설치 및 실행

APM은 apache + PHP + MariaDB(Mysql)의 앞 글자를 딴 말로, 웹서버 구축에 많이 쓰이는 프로그램 세트를 말합니다.

APM 에 phpmyadmin까지 설치해봅니다.

1. MariaDB 10.4 설치

설치를 위하여 yum의 repo를 작성해줍니다.

vi /etc/yum.repos.d/MariaDB.repo

아래 내용을 작성해줍니다.

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.4/centos7-amd64

gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck = 1

레포리스트를 업데이트 해주고, 설치를 시작합니다.

$ sudo yum repolist
$ sudo yum install -y MariaDB
$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb
$ sudo /usr/bin/mariadb-secure-installation #보안설정하는 스크립트

보안 설정시에는 초기 데이터베이스 root 암호는 없으므로 엔터를 쳐주고, root 암호를 두 번 입력하여 생성해줍니다. 

이후 익명 사용자(anonymus)를 삭제할 것인지(N), root 원격 접속 여부(Y), test 데이터베이스를 삭제할 것인지(Y N 상관 없음), 저장여부 (Y) 를 차례로 설정해줍니다.

 

설치가 잘 되었다면 DB를 실행해봅니다.

[admin@localhost ~]$ sudo mysql -u root -p
Enter password: (암호 원래 안보임, 그냥 치세요)
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.4.14-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
Bye

2. apache 웹서버 설치

httpd 서비스를 설치해줍니다.

$ sudo yum install -y httpd

PHP깔고 실행해줍니다.

3. php 73 설치

$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --disable remi-php54
$ sudo yum-config-manager --enable remi-php73

$ sudo yum install php73

# php관련 패키지들인데 다 깔아줍니다..
$ sudo yum install php73-php.x86_64  php-cli-7.3.8-1.el7.remi.x86_64 php73-scldevel.x86_64 \
php73-php-xml.x86_64 php73-php-xmlrpc.x86_64   php73-php-soap.x86_64 \
php73-php-process.x86_64 php73-php-pgsql.x86_64  php73-php-pdo.x86_64  \
php73-php-opcache.x86_64 php73-php-odbc.x86_64   \
php73-php-mysqlnd.x86_64 php73-php-mbstring.x86_64 php73-php-ldap.x86_64  \
php73-php-ldap.x86_64  php73-php-json.x86_64  php73-php-ioncube-loader.x86_64 \
php73-php-intl.x86_64  php73-php-gmp.x86_64 php73-php-gd.x86_64  php73-php-fpm.x86_64 \
php73-php-devel.x86_64  php73-php-dba.x86_64  php73-php-common.x86_64 \
php73-php-cli.x86_64  php73-php-bcmath.x86_64  php73-php-pecl-zip.x86_64 \
php73-php-phpiredis.x86_64  php73-php-pecl-imagick* php73-php-pecl-igbinary.x86_64 \
php73-php-pecl-igbinary-devel.x86_64 php73-php-pecl-geoip.x86_64 php73-php-pecl-xdebug.x86_64

time zone 설정은 아래와 같이 진행합니다. /etc/opt/remi/php73/php.ini 파일을 열어서 약 922번째 줄에 있는 timezone을 바꿔주세요.

$ sudo vi /etc/opt/remi/php73/php.ini

922 date.timezone = “Asia/Seoul”

FastCGI Process Manager (FPM) 동작

$ sudo systemctl start php73-php-fpm    # 패키지없는 경우 설치

설치 끝!


동작 확인

아파치 서버 동작

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

아파치 서버 test 페이지, 동작 확인

php 동작 확인

$ sudo vim /var/www/html/info.php

해당 파일에 내용 추가
<?php  phpinfo(); ?>

위 처럼 파일을 작성한 후, http://localhost/info.php에 접속해본다.

php 동작 확인

외부 접속 허용시에 방화벽 설정

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

phpMyAdmin 설치

$ wget -P /usr/local/src https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.zip
$ sudo cd /usr/local/src
$ sudo unzip phpMyAdmin-4.9.5-all-languages.zip
$ sudo mv /usr/local/src/phpMyAdmin-4.9.5-all-languages /usr/share/phpMyAdmin  
# 디렉토리 이름 변경과 함께 이동. phpMyAdmin 아래에 바로 index.php 등 파일이 있어야함.

도메인네임(IP)/phpmyadmin 입력시  /usr/share/phpMyAdmin 연결되도록 설정하기

/etc/httpd/conf.d/phpMyAdmin.conf 파일에 아래와 같이 적어줍니다.

$ sudo vim /etc/httpd/conf.d/phpMyAdmin.conf

Alias /phpMyAdmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
    Require all granted
    # 원래 보안설정을 해주어야 함. 편의를 위해 대충 all granted라고 넣어줌
    # Require all denied
    # Require 192.168.0.1
</Directory>

/etc/httpd/conf.d/phpMyAdmin.conf

Conf 파일 확인

$ sudo apachectl configtest  # 어쩌구저쩌구 해도 마지막에 Systax OK 만 뜨면 됨
$ sudo systemctl restart httpd

http://localhost/phpMyAdmin 하면 phpMyAdmin 화면이 나옵니다.

로그인은 설치했던 마리아DB의 root 계정으로 로그인 하면 됩니다.

반응형