본문 바로가기
Linux

CentOS APM(Apache, PHP, MariaDB) 설치 매뉴얼

by @sseyeon_ 2023. 9. 8.
반응형

 

 

 

 

전 회사에 재직 중일 때 업무였던, CentOS APM 환경 구성 매뉴얼에 관한 글이에요. 

 

CentOS 는 7, 

PHP는 7.4 버전을 기준으로 작성된 글입니다!

 

그누보드 기반 웹 페이지 였어서, 그누보드 설정까지 첨부할게요.

 

 

 

 

💡 Apache 설치

 

1. 최신 버전 업그레이드

$ yum update -y

 

 

2. yum 패키지 업데이트

$ yum list updates && yum -y update

 

 

3. 의존성 라이브러리 설치

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

 

 

4. Apache 설치

$ yum -y install httpd

 

 

5. httpd 서비스 확인

$ systemctl status httpd

 

 

6. httpd 서비스 실행

$ systemctl start httpd

 

 

7. 재부팅시 자동 서비스 실행 기능 활성화

$ systemctl enable httpd.service

 

 

8. httpd 포트 확인

$ vi /etc/httpd/conf/httpd.conf

에서 Listen 80 인지 확인

 

 

9. 방화벽 설치

$ yum install -y firewalld

 

 

10. firewalld 시작/등록

$ systemctl unmask firewalld

$ systemctl enable firewalld

$ systemctl start firewalld

 

 

11. 방화벽 80 포트 허용

$ firewall-cmd --permanent --zone=public --add-port=80/tcp

$ firewall-cmd --reload

 

 

12. 방화벽 목록 확인

$ firewall-cmd --list-all

에서 7 line, ports : 80/tcp 확인

 

 

13. 웹서버 실행 확인 (✨ Apache 설치 완료 ✨)

 

 

 

 

 

 

💡 PHP 설치

1. 저장소에서 php 버전 확인

$ yum list php

 

 

2. 저장소 설치

$ yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

$ yum -y install epel-release yum-utils

 

 

3. 원하는 버전 (7.4) 활성화

$ yum-config-manager --enable remi-php74

 

 

4. 설치될 php 버전 확인

$ yum repolist all

 

 

5. php 설치

$ yum -y install php

 

 

6. 기타 php 서비스 설치

$ yum -y install php-fpm

$ yum -y install  php-cli  php-redis  php-brotli php-intl php-gd php-gmp php-imap php-bcmath php-interbase php-json php-mbstring php-mysqlnd php-odbc php-opcache php-memcached php-tidy php-pdo php-pdo-dblib php-pear php-pgsql php-process php-pecl-apcu php-pecl-geoip php-pecl-imagick php-pecl-hrtime php-pecl-json php-pecl-memcache php-pecl-mongodb php-pecl-rar php-pecl-pq php-pecl-redis4 php-pecl-yaml php-pecl-zip

 

 

7. httpd 재시작

$ systemctl restart httpd

 

 

8. /var/www/html/index.php 생성후 확인  ( ✨ PHP 설치 완료 ✨ )

# /var/www/html/index.php
<?php phpinfo(); ?>

 

 

 

반응형

 

 

 

💡 MariaDB 설치

 

1. MariaDB 저장소 추가

$ 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

 

 

2. MariaDB 설치

$ yum -y install MariaDB

 

 

3. MariaDB 확인

$ rpm -qa | grep -i mariadb

$ mariadb --version

 

 

4. MariaDB 가동

$ systemctl start mariadb

 

 

5. 시작시 자동 실행 등록

$ systemctl enable mariadb

 

 

6. 관리자 계정 비밀번호 변경

$ /usr/bin/mysqladmin -u root password '비번'

 

 

7. 포트 확인

$ netstat -anp | grep 3306

 

 

8. charecterset 변경

$ vi /etc/my.cnf

[mysqld]
default_storage_engine=innodb

init-connect='SET NAMES utf8mb4'
lower_case_table_names=1
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

[client]
port=3306
default-character-set = utf8mb4

[mysqldump]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

 

 

9. mariaDB 재시작

$ systemctl restart mariadb

 

 

10. 사용자 생성

$ mysql

CREATE DATABASE 사용할DB명;

SHOW DATABASES;

USE mysql;

CREATE USER '사용자이름'@'localhost' IDENTIFIED BY '비밀번호';

GRANT ALL PRIVILEGES ON 사용할테이블.* TO '사용자이름'@'localhost';

FLUSH PRIVILEGES;

CREATE USER '사용자이름'@'%' IDENTIFIED BY '비밀번호';

GRANT ALL PRIVILEGES ON 사용할테이블.* TO '사용자이름'@'%';

FLUSH PRIVILEGES;

 

 

11. MySQL 방화벽 개방

$ firewall-cmd --permanent --add-service=mysql

$ firewall-cmd --permanent --zone=public --add-port=3306/tcp

$ firewall-cmd --reload

 

 

 

 


(기타) apache, php 설정 변경

$ vi /etc/httpd/conf/httpd.conf

 

 

- 원래 있던 AddType~~  밑 줄에 추가

 

 

 

 

$ vi /etc/php.ini

→ short_open_tag=On 으로 바꾸고, 아래 설정도 바꿔줌

 

 

 

위 내용을 적용하려면 재시작 필요 

 

$ systemctl restart httpd.service

 

 

 


(기타) selinux 설정

$ vi /etc/selinux/config

 

  에서 SELINUX=disabled

  

  이 설정이 적용되려면 서버 전체 shutdown 후 재시작 필요! 

 

 

 

 

 

(기타) 그누보드 설정

data 폴더 권한 707로 바꾸고 디렉토리가 아닌건 664로

 

- 그누보드는 세션을 파일로 생성해서 저장하는 형태

- 세션 폴더 경로 : var/www/html/data/session

- 따라서 로그인에 문제가 있다면 아래와 같이 session 폴더가 있는지 확인해야함 (없으면 만들기)

 

$ mkdir /var/www/html/data/session

 

$ chmod 707 -R /var/www/html/data/

 

$ chmod 664 .ht~~~ dbconfig.php

 

 

 

 

반응형

'Linux' 카테고리의 다른 글

[Linux] 데이터베이스 테이블 전체 truncate 하기  (0) 2023.09.11
[Ubuntu] Apache restart  (0) 2021.05.19
[PuTTY] 접속오류  (0) 2021.03.23