묻고답하기

# 설치 시도 XE 버전 : XE v1.8.18 (가장 최신)

 

# 문제점 : XE 설치 창에서 "DB 정보 입력" 부분에서 > "환경 설정" 으로 진행 불가함.

sock 방식으로 연결을 하기위해, 적절히 DB 정보를 입력해 준것 같은데.

DB 정보를 입력해도 mysqli 및 mysqli_innodb 선택 후 진행하면 진행이 안됨.

브라우져의 XE 상에서 에러 메시지나 아무런 메시지도 없음. 무반응. DB 계정 정보 비번등은 정확함.

mysql 및 mysql_innodb 선택 후 진행하면 정상적으로 > "환경 설정" 으로 진행 설치됨.

단순히 PHP 버전과의 호환성 문제 인지, 아니면 제가 서버 설정을 잘 못 한것인지 알 수 없네요 ㅠ_ㅜ

공부한다고 많이 공부해서 적절히 설정한 것 같은데 무반응이라서 멘붕 상태 입니다.

 

# 시스템 사양 및 설치 항목 :  

* OS : Linux CentOS 7

* Apache : httpd-2.4.6-40.el7.centos.x86_64

* DB : mariadb-server-5.5.44-2.el7.centos.x86_64

* PHP : php-5.4.16-36.el7.x86_64

* PHP 관련 주요 모듈 :

기본적인 것들은 대부분 설치 하였고, 중요 모듈 들은 아래와 같음.

php-mysqlnd-5.4.16-36.el7.x86_64  PHP 5.4 이상이라서 php-mysql(미설치) 대신 php-mysqlnd만 설치
php-fpm-5.4.16-36.el7.x86_64        현재 PHP-FPM 상태 세팅되어 있음
php-pecl-zendopcache-7.0.5-1.el7.x86_64  PHP 5.4 버전이라 임의로 설치함
php-pecl-apcu-4.0.10-1.el7.x86_64           유저캐시 지원용 임의로 설치함

 

# 시스템 설정 : 글이 길어질 수 있어서, 세부적인 설정을 제외한 중요 항목들만 글에 적음.

(설치 방법) 위의 것들 모두 yum 으로 간편하게 설치 한 후에 아래와 같이 중요 항목들 설정함.

sock 방식을 사용하기 위해서 연동 관련 설정은 정상적으로 처리한 듯 보임. 모두 nobody 유저로 가동함.

* Apache : Event-MPM 방식으로 작동함. PHP-FPM 과 sock 방식으로 연결되어 있음.

User nobody
Group nobody

<IfModule mpm_event_module>                          Event-MPM 방식 작동 하도록 적절히 설정함
   <FilesMatch \.php$>
      SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://127.0.0.1/"    PHP-FPM 과 sock 방식 연결됨
   </FilesMatch>
   AddType text/html .php
   DirectoryIndex index.php
</IfModule>

<VirtualHost *:80>                                            가상 호스트 지정 사용함 (여러 홈페이지 운영위해)
   ServerName domain.com
   ServerAlias www.domain.com
   ServerAdmin webmaster@domain.com
   DocumentRoot "/home/username/public_html"    사용자 계정 특정 폴더에 임의로 웹 서비스함
   <Directory "/home/username/public_html">        접근 권한은 적절히 주었음. drwxrwxr-x
      Options FollowSymLinks                               XE 설치를 위한 최소 권한
      AllowOverride FileInfo                                  XE 설치를 위한 최소 권한 : All 해도 증상 동일함
      Require all granted
      RewriteEngine On                                       rewrite_mod 정상 작동 중 (활성화)
   </Directory>
</VirtualHost>

* PHP : Mariadb 와 sock 방식 연결에 문제 없게 하려고, PHP 설정에도 기본 socket 위치 설정함.

[Pdo_mysql]
pdo_mysql.default_socket = /var/lib/mysql/mysql.sock
[MySQL]
mysql.default_socket = /var/lib/mysql/mysql.sock
[MySQLi]
mysqli.default_socket = /var/lib/mysql/mysql.sock

[apcu] 및 [opcache] 등은 적절히 값은 설정 했음.
* PHP-FPM : Apache 와 현재 정상적으로 sock 방식으로 연결 작동하는 듯 보임? phpinfo 는 잘 보임.

listen = /var/run/php5-fpm.sock
listen.owner = nobody
listen.group = nobody
listen.mode = 0660
user = nobody
group = nobody

* DB : PHP(PHP-FPM) 과 MariaDB 는 sock 방식으로 연결 설정 하였음. MariaDB 기본 InnoDB.

잘안되길래 /var/lib/mysql/ 폴더권한 혹시 몰라 777완전 오픈 하였으나 증상 동일함. sock파일 정상 생성됨.

[mysqld]
basedir = /var/lib/mysql
port = 3306
socket = /var/lib/mysql/mysql.sock
secure_auth = 1

skip-networking
[client]
socket = /var/lib/mysql/mysql.sock

 

# 증상에 대한 개인적인 생각 : 무엇이 문제인지 알 수 없음 ㅠ_ㅜ

Apache, php, php-fpm, MariaDB 모두 Log 에 딱히 에러 찍히는 것은 없는 듯;;

CentOS 7 상에서 Apache, PHP-FPM, MariaDB 프로세스는 정상 가동중.

1. 일단 Apache > PHP 및 PHP-FPM 은 정상적으로 sock 방식 연결 되는 듯 보임. phpinfo 정상 표시 작동.

   일반적인 정적 웹페이지 및 DB 미사용 php 작동에는 이상 없는 듯

   (웹프로그래머가 아니라서 확실 한 것은 아님 ^^;;)

2. PHP 및 PHP-FPM > MariaDB 와의 sock 방식 연결 역시 제대로 되는 듯??? 보임???

   이건 확답하기가 쉽지 않음 ㅠ_ㅜ mysql 및 mysql_innodb 방식 선택 후 XE 설치는 되는데.

   mysqli 및 mysqli_innodb 선택 후 진행하면 진행이 안되고 (다음 페이지 안가고) 무반응 이니;;

   콘솔 상에서 MariaDB 정상적으로 접속 및 작동함.

3. 중요!!

   짧은 견해로 보아, sock 방식 연결을 사용해서 XE 를 설치 할 경우...

   XE 설치 할 때 일반적인 방식인 DB 호스트네임: 127.0.0.1 혹은 localhost / DB Port: 3306 가 아니라

   문제 안생기도록 DB 호스트네임: localhost / DB Port: /var/lib/mysql/mysql.sock 이런 방식 혹은

   DB 호스트네임: localhost:/var/lib/mysql/mysql.sock / DB Port: 3306 (Port 중요하지 않으나 기본값)

   이런식으로 지정해 주어야 하는 것으로 알고 있습니다. 맞는지 모르겠네요??

   xe\classes\db\DBMysql.class.php 및 DBMysqli.class.php 참고해 보았더니 둘 다 가능할 듯 보임??

   DB Port: 미지정시 경고 메시지 나오고 진행 불가라 두번째 방식의 경우는 기본값 3306 그대로 냅둠.

   아무튼 ^^;; 이렇게 진행하면 mysql 방식 진행되나 mysqli 방식은;; 선택은 가능하나 무반응...

4. 예상되는 상황과 질문 ㅠ_ㅜ

이것 저것 설정을 많이 변경해 보고, 권한도 최대한 777 완전 오픈해보고 해봐도 증상 동일 한듯 보임.

단순히 PHP 5.4 에서는 XE 가 호환성 문제로 비정상 작동되는 것인지??

아님 PHP 5.4 이상이라서 php-mysql(미설치) 대신 php-mysqlnd만 설치 했는데 이 부분이 문제 일까요?

아니면 제가 웹프로그래머가 아니라서 자세히는 모르겠는데.

xe\classes\db\DBMysql.class.php 및 DBMysqli.class.php 소스를 보면.

mysql 방식은 DB 호스트네임과 DB Port 를 ':' 방식으로 연결해 주어서 sock 방식 접속이 가능한데.

mysql 방식은 mysqli_connect() 부분에 보면 ':' 연결하지 않고 호출 시 각각 변수로 넘겨 주어서,

sock 방식 연결이 불가능한 걸까요??

아니면 제가, 하나의 웹서버에 모두 설치되어 있고 sock 방식을 사용해서 3306 포트를 방화벽에서 오픈하지 않았는데 그게 문제 일까요??

아~ mysqlnd 관련 모듈은 아래와 같은 것들이 정상 로드 된 것 같습니다.

mysqlnd_mysqli.so
mysqlnd_mysql.so
mysqlnd.so
pdo_mysqlnd.so

php - m | grep mysql
mysql
mysqli
mysqlnd

뭐가 문제 인지 모르겠네요 ㅠ_ㅜ

 

첨부파일로 phpinfo 파일 첨부하였습니다 ㅠ_ㅜ

내부에서 테스트용으로 쓰는 서버라서 도메인은 실제 도메인이 아닌 변경 하였습니다.

고수님들의 답변을 간절히 기다리고 있습니다.

태그 연관 글
  1. [2019/08/02] 포럼 Which One is Better Mysql or MariaDB? by Adi *2
  2. [2018/09/03] 묻고답하기 [보안] 이번에 XE4 오픈소스 게시판을 utf-8 버전으로 업그레이드 했는데... by Hi_Roy *2
  3. [2017/04/19] 묻고답하기 견적내기페이지 문의 by 일반 *1
  4. [2016/12/20] 묻고답하기 XE mySQL에서 by James 009 *1
  5. [2016/03/24] 묻고답하기 폴더안 txt 문서를 php explode 하여 mysql 에 넣는 과정이 안됩니다ㅠㅠ by theaud****
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
양들의메밀묵 meta og태그 수정방법!  
Antras XEDITION 슬라이드 이미지를 바꾸고 첫 화면이 '설정되지 않음'이 뜨는 이유 [3] 2016.12.15 by 푸푸닌자
푸푸닌자 메인 메뉴 링크 수정 방법 [2] 2016.12.15 by 푸푸닌자
dfasdfasdf 사이드 스크롤배너 이미지와 링크 변경 및 삭제 방법 아시는 분 있으신가요? file  
쿨럭이 므흣 이미지들 관련해서요..  
뿅뿅 로그인 관련 질문드립니다. [1] 2016.12.15 by 제이와이엔소프트
kdmc 홈페이지 관련 로그인 문의입니다. secret  
살려줘용 외부 데이터를 확장변수로 가져오는 방법이 궁금합니다. [1] 2016.12.15 by 살려줘용
권만주 스마트폰 화면에서 PC모드 세로 화면에서 짤림현상 문의  
자뇽 외부페이지 한글명 파일 다운로드시 깨짐 [2] 2016.12.15 by 자뇽
독거노인 블루호스트 bluehost.com 관리자페이지오류 [2] 2016.12.15 by 꿈골
타이슨리 관리자 페이지에 있는 레이아웃 상세설정을 iframe으로 가져오기 방법이 없을까요? file  
고문관 게시판 권한 조정이 안되는데 DB에서 직접 확인할수 있을까요? [2] 2016.12.15 by 고문관
627ahn 위젯 수정시 충돌문제 도와주세요 ㅠ  
희망이890d7 도와주세요. 에디터가 표시되지 않습니다. [3] file 2016.12.15 by 희망이890d7
태수 게시판에서 사용자정의 말고 hidden 으로 값을 입력하려면 어떻게 해야하나요?  
닥터맨 xe3 버튼클릭 안되는거 문의  
알보칠 구글에서 검색시 m.이안떠요  
권만주 회원정보 보기에서 블로그, 홈페이지 링크 검토 부탁드려요 ^^  
권만주 회원정보보기에서 블로그, 홈페이지 클릭 이동 방법 [1] 2016.12.14 by 권만주