전 회사에 재직 중일 때 업무였던, 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 |