내 마음대로 지우고 나서 재설치를 하려니까 제대로 설치가 안된다.
그래서 조금이나마 개념 이해하려고 적어둔다.
설치하기 전 상태 확인을 위해서
cd /etc/yum.repos.d
#Step 1 – Prerequsitis
yum -y install epel-release
#Step 2 – Repository 설치
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#Step 3 – yum Utilities Package 설치
yum -y install yum-utils
#Step 4 – Disable repo for PHP 5.4
yum-config-manager --disable remi-php54
yum-config-manager --enable remi-php73
#Step 5 – Install PHP and PHP-FPM
yum -y install --enablerepo=remi-php73 httpd mod_ssl php php-zip php-fpm php-common php-opcache php-curl php-devel php-gd
yum -y install --enablerepo=remi-php73 php-imap php-ldap php-mysql php-mysqlnd php-pdo php-odbc php-pear php-xml php-xmlrpc php-pecl-apc
yum -y install --enablerepo=remi-php73 php-mbstring php-mcrypt php-soap php-tidy curl curl-devel php-libwww-perl ImageMagick libxml2 libmxl2-devel
yum -y install --enablerepo=remi-php73 mod_fcgid php-cli httpd-devel php-intl php-imagick php-pspell wget php-openssl
yum -y install --enablerepo=remi-php73 unzip git mc
# PHP 설치버전 확인
php -v
# 설치된 PHP Package 확인
rpm -qa | grep php
#Step 6 – PHP-FPM 설정
# PHP-FPM 설정을 위하여 2개의 디렉토리 생성
mkdir /etc/php-fpm.d/sites-enabled
mkdir /etc/php-fpm.d/sites-available
#Step 7 – PHP-FPM 설정 파일 아래와 같이 수정
vi /etc/php-fpm.conf
;include=/etc/php-fpm.d/*.conf
include=/etc/php-fpm.d/sites-enabled/*.conf
#Step 8 – PHP-FPM 기본 웹 설정 파일 이동
mv /etc/php-fpm.d/www.conf /etc/php-fpm.d/sites-available
#Step 9 – sites-enabled 폴더에 www.conf 링크 생성
ln -s /etc/php-fpm.d/sites-available/www.conf /etc/php-fpm.d/sites-enabled/www.conf
#Step 10 – PHP-FPM 소켓 통신을 위한 폴더 생성
mkdir /var/run/php-fpm
#Step 11 – www.conf 설정파일을 아래와 같이 수정
vi /etc/php-fpm.d/sites-available/www.conf
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/default.sock
listen.owner = apache
listen.group = apache
listen.mode = 0660
php_value[opcache.file_cache] = /var/lib/php/opcache ; 주석만 제거
#Step 12 – Apache VirtualHost 구성
vi /etc/httpd/conf.d/default.conf
# 아래 붙여넣기 한다.
<VirtualHost _default_:80>
DocumentRoot "/var/www/html"
ErrorLog logs/default-error_log
LogLevel warn
TransferLog logs/default-access_log
CustomLog logs/default-request_log "%t %h %x %x \"%r\" %b"
SuexecUserGroup apache apache
<Proxy "unix:/var/run/php-fpm/default.sock|fcgi://php-fpm">
ProxySet disablereuse=off
</Proxy>
<FilesMatch \.php$>
SetHandler proxy:fcgi://php-fpm
</FilesMatch>
</VirtualHost>
#Step 13 – Apache SSL 설정 파일(ssl.conf) 수정
vi /etc/httpd/conf.d/ssl.conf
# shift + g 눌러서 파일의 맨 아래로 이동한다.
# 설정파일의 맨 끝 </VirtualHost> 앞에 아래 내용 추가
SuexecUserGroup apache apache
<Proxy "unix:/var/run/php-fpm/default.sock|fcgi://php-fpm">
ProxySet disablereuse=off
</Proxy>
<FilesMatch \.php$>
SetHandler proxy:fcgi://php-fpm
</FilesMatch>
#Step 14 – 보안설정
sudo chmod 640 /etc/httpd/conf/httpd.conf
sudo chown root:root /etc/httpd/conf/httpd.conf
sudo chmod 640 /etc/php.ini
sudo chown root:root /etc/php.ini
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
#Step 15 – httpd.conf 파일 수정
vi /etc/httpd/conf/httpd.conf
ServerName localhost
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
<Directory "/var/www/html">
Options +FollowSymLinks -Indexes
AllowOverride All
Require all granted
<LimitExcept GET POST>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
#Step 16 – Apache HTTPOXY 취약점 방지
echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf
# Step 17 – Configure PHP-FPM
vi /etc/php.ini
cgi.fix_pathinfo=0
short_open_tag = On
post_max_size = 60M ; // 8M 으로 되어 있었음.
memory_limit = 128M
upload_max_filesize = 50M ; // 기본 2M 으로 되어 있었음
allow_url_fopen = On
;PHP Excel Libray 설치가 안되는 현상이 있어서 On으로 변경함.
date.timezone ="Asia/Seoul"
;PHP 버전정보 노출 방지
expose_php=Off
;PHP에서 세션은 일단 생성 된 뒤에, 가비지 콜렉터 관리로직에 의해 소멸된다.
session.gc_probability = 1
session.gc_divisor = 1
;이값이 100이면 1/100 즉 1%의 확률로 가비지콜렉션이 실행된다.
;1이면 정확하게 유효기간이 넘은 데이타가 삭제될 것이다.
session.gc_maxlifetime = 3600
만약 session 폴더를 다르게 지정했다면....
session.save_path = /tmp/phpsession
mkdir /tmp/phpsession
chown apache.apache /tmp/phpsession
chmod 750 /tmp/phpsession
#Step 18 – Verify PHP-FPM version
/usr/sbin/php-fpm -version
#Step 19 – 시스템 부팅시 자동실행 설정
systemctl enable php-fpm
systemctl enable httpd
#Step 20 – 설치된 PHP-FPM 실행/종료
systemctl start php-fpm
systemctl start httpd
systemctl stop php-fpm
systemctl stop httpd
systemctl restart php-fpm
systemctl restart httpd
systemctl status php-fpm
systemctl status httpd
############################
##### CentOS7 방화벽 설정 #####
############################
# 방화벽 설치
yum -y install firewalld
# 기본 설정은 /usr/lib/firewalld/ 에 위치
# 방화벽 데몬 시작
systemctl start firewalld
# 서버 부팅 시 firewalld 데몬 자동 시작 설정
systemctl enable firewalld
# 방화벽 상태(실행여부) 확인
systemctl status firewalld
firewall-cmd --state
# 방화벽 확인
firewall-cmd --list-all
# 서비스 추가
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=mysql
# 서비스 제거
firewall-cmd --permanent --remove-service=http
firewall-cmd --permanent --remove-service=http
# 포트 등록
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --permanent --add-port=2222/tcp
# 포트 삭제
firewall-cmd --permanent --remove-port=9000/tcp
firewall-cmd --permanent --remove-port=8080/tcp
# 방화벽 적용 및 확인
firewall-cmd --reload
firewall-cmd --list-all
#### PHP Excel Library 설치를 위한 Composer 설치 #####
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer -V
export COMPOSER_ALLOW_SUPERUSER=1
composer -V
echo "export COMPOSER_ALLOW_SUPERUSER=1" >> ~/.bashrc
cat ~/.bashrc | grep export
cd /var/www/html/
composer require phpoffice/phpspreadsheet
wget https://sourceforge.net/projects/tcpdf/files/tcpdf_6_3_2.zip
###### TCPDF 설치 ############
cd /usr/share/php
wget https://sourceforge.net/projects/tcpdf/files/tcpdf_6_3_2.zip
unzip tcpdf_6_3_2.zip
# 나눔폰트 설치 방법
cd /usr/share/fonts/
wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
unzip NanumFont_TTF_ALL.zip -d NanumFont
cd /usr/share/php/tcpdf/tools/
ls /usr/share/fonts/NanumFont/*
ls /usr/share/fonts/NanumFont/* | xargs -I TTF php tcpdf_addfont.php -i TTF
ll /usr/share/php/tcpdf/fonts/ | grep nanum
'리눅스' 카테고리의 다른 글
Windows 10 에 CentOS7 설치 환경 만들기 - 1 (0) | 2020.10.03 |
---|---|
CentOS7 SSH 포트 변경 (0) | 2020.09.28 |
MariaDB 깨졌을 때 복구 및 백업 (0) | 2020.09.02 |
CentOS 7 Apache + PHP 7.3 + MariaDB 10.3 yum 설치 (0) | 2020.07.07 |
[Apache] Reverse Proxy Setting on CentOS 7 (0) | 2020.07.03 |