Skip to content

yum update 이후 세션 디렉토리 소유자 문제 #12

Closed

Description

@ibin79

#6 이슈와 같은 원인으로, 소유자외에 그룹(gid)도 검색하여 변경이 필요함.

문제

현재 세션 디렉토리는 php.ini 가 아닌 php-fpm 설정에서 제어

vi /opt/remi/php56/root/etc/php-fpm.d/www.conf

; Set session path to a directory owned by process user
php_value[session.save_handler] = files
php_value[session.save_path]    = /opt/remi/php56/root/var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /opt/remi/php56/root/var/lib/php/wsdlcache


php_admin_value[error_log] = /opt/remi/php56/root/var/log/php-fpm/www-error.log

수동 해결

apache(48) 소유자인 것만 찾아 nobody 로 변경하면 바로 해결됨.

find /var /opt -gid 48 -type d -exec chgrp -v nobody {} \;

업데이트 에정

yum update 시마다 소유자 문제를 겪을 순 없음.

1안) 기본 apache 대신 nobody 로 전환하여apache 를 nobody 로 전환하는 과정 생략하여, 신규 설치시 적용. (기존 디렉토리 위치 유지)

2안) 로그/세션 디렉토리를 PHP 버전별로 별도 제작?

# PHP 5.6 1개 기준 수정 대상 (수정 범위와 디렉토리 생성 작업이 만만치 않아, 현재 버전에선 무리일 듯...)
./php-fpm.conf:error_log = /opt/remi/php56/root/var/log/php-fpm/error.log
./php-fpm.d/www.conf:slowlog = /opt/remi/php56/root/var/log/php-fpm/www-slow.log
./php-fpm.d/www.conf:php_admin_value[error_log] = /opt/remi/php56/root/var/log/php-fpm/www-error.log
./php-fpm.d/www.conf:php_value[session.save_path]    = /opt/remi/php56/root/var/lib/php/session
./php-fpm.d/www.conf:php_value[soap.wsdl_cache_dir]  = /opt/remi/php56/root/var/lib/php/wsdlcache

2가지 모두 기존 사용자들에겐 퍼미션 등 일괄 변경 스크립트 제공해야 함. v0.10 고려.

Activity

  1. added this to the v0.9.10 milestone on Sep 21, 2016
  2. ibin79 commented on Oct 2, 2016

    @ibin79
    ContributorAuthor

    1안) apache 를 nobody 로 전환하는 과정 생략하여, 신규 설치시 적용. (기존 디렉토리 위치 유지)

    문제점) 이미 nobody 로 생성된 계정이 존재하는데, 임의로 apache 로 일괄 변경하면 오류 가능성이 더 높아지므로 불가함.

    결국 2안대로 로그/세션 디렉토리 분리하고, apache-to-nobody.sh 형태의 스크립트로 소유자/그룹 일괄 변경 스크립트 제공.

  3. modified the milestones: v0.9.10, on Oct 2, 2016
  4. ibin79 commented on Oct 2, 2016

    @ibin79
    ContributorAuthor

    구조상 바뀌는 부분이 많아 현재 버전에선 해결하지 않음. 2.0 설계시 고려.

    단, yum update 에서 php 가 업데이트된 경우, 소유자/그룹 변경 스크립트만 제공하고 위키에 안내하는 것으로 마무리.

    변경 대상

    • php-fpm 패키지에서 1차 경로 확인
    # rpm -qa|grep php-fpm
    php-fpm-5.3.3-48.el6_8.x86_64
    php70-php-fpm-7.0.11-1.el6.remi.x86_64
    
    • 시스템 전체에서 apache 소유자/그룹 검색
    # find /var /opt -group apache -o -user apache
    /var/opt/remi/php70/log/php-fpm
    /var/log/php-fpm
    /opt/remi/php55/root/var/log/php-fpm
    /opt/remi/php54/root/var/log/php-fpm
    /opt/remi/php56/root/var/log/php-fpm
    
  5. added 4 commits that reference this issue on Oct 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions