728x90

*** nginx는 이미 설치되어있다는 가정

 

 

php 설치

// php install
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 
yum -y install epel-release yum-utils
yum-config-manager --enable remi-php74
yum install php php-mysql php-fpm

// set address
nano /etc/php-fpm.d/www.conf

listen=localhost:9000 -> listen=/var/run/php-fpm/php-fpm.sock

// start
systemctl start php-fpm
systemctl enable php-fpm.service

// nginx setting
server {
    server_name my_domain;
    client_max_body_size 5G;

    #charset koi8-r;
    access_log  /var/log/nginx/my_service.access.log;

    root /usr/share/nginx/html/my_service;

    location / {
        index index.html index.htm index.php;
    }

    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/my_service$fastcgi_script_name;
        include fastcgi_params;
    }
}

systemctl restart nginx

ERR 403 Page

// 403 Page error
2021/12/20 23:38:06 [error] 2157#2157: *29 "/usr/share/nginx/html/my_service/index.php" is forbidden (13: Permission denied), client: 218.235.68.160, server: my_domain, request: "GET / HTTP/1.1", host: "my_domain"

// dir 및 하위 파일 권한 체크
ls -lZd /service_root/my_service

// dir 및 하위 파일 권한 변경
chcon -R -t httpd_sys_content_t /service_root/my_service

 

ERR mysql :: Connect Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

// mysql install
yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-community-server 
systemctl start mysqld
systemctl enable mysqld

// find your  temporary password (ex: XcheTa.X-5o1)
/var/log/mysqld.log

// change db password
ALTER USER 'root'@'localhost' IDENTIFIED BY 'XcheTa.X-5o1';
FLUSH PRIVILEGES;
use mysql;
UPDATE user set authentication_string=password('newpassword') where user='root';
-> policy error?
  SET GLOBAL validate_password_policy=LOW;
  UPDATE user set authentication_string=password('newpassword') where user='root';
FLUSH PRIVILEGES;

// mysql exit
quit;

 

필요시 mysql 계정 생성
db생성 하여 쓰면됩니다.

 

ERR -> /install/ajax.install.check.php

// 버전 이슈일 확률이 높음 -> php 7.4 재설치 진행

 

ERR unix:/var/run/php-fpm.sock failed (13: permission)

// /etc/php-fpm.d/www.conf <-- 약간씩 다를 수 있음
user = nginx
group = nginx

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

// 실행
systemctl restart nginx
systemctl restart php-fpm

 

ERR 로그인 에러 / data 접근 권한 에러

// SElinux 에러
// SElinux는 특정 서비스에 대한 권한을 필요한 만큼 허용하고 이외에는 모두 차단하는 정책을 가지고있어, 서비스의 취약성을 이용한 공격이 발생해도 관계된 프로세스나 파일 시스템에 쉽게 접근하지 못하도록 사전에 차단하는 역할을 함.
// 따라서, 완정 중지를 하게되면 보안상 문제가 발생할 수 있음
// 아래와 같이 임시 비활성화 처리가 가능하다.
// Permissive -> 0, Enforcing -> 1
setenforce 0

 

ERR php mb_string

// 관련 내용: https://zetawiki.com/wiki/CentOS_php-mbstring_%EC%84%A4%EC%B9%98


// 확인
php -r "mb_substr();"
-> PHP Fatal error:  Call to undefined function mb_substr() in Command line code on line 1

rpm -qa php-mbstring
yum info php-mbstring | grep Repo
-> Repo        : base

// 설치
yum install php-mbstring -y

// 설치자료 확인
rpm -qa php-mbstring
-> php-mbstring-5.3.3-3.el6_2.8.x86_64


// 재실행
systemctl restart nginx
systemctl restart php-fpm
728x90
반응형