안녕하세요.

 

카페24 웹호스팅 운영 중 가상서버로 옮길 필요성이 생겼습니다. 

가상서버로 바로 옮길 경우 생길 여러 문제들을 사전에 가늠 해 보고자 제 로컬 pc에 우분투와 apm를 깔고 여러가지 시도를 해 보고 있습니다.

 

웹을 통해 학습을 해가면서 하는지라 단번에 쉽게 되질 않네요.

 

결론은 우분투와 amp 설치 후 xe를 신규 설치하게 되면 정상적으로 작동이 되는데 카페 24의 데이터와 디비를 이전 하게 되면 웹브라우져에서 백지가 뜨게 되는 문제점이 생기는 데 제가 어떤 부분을 더 살펴봐야 할지 도움 말씀 부탁드리겠습니다.

 

제가 진행해던 주요 작업 내용입니다.

 

[ 우분투 + apm 설치 후 xe 최신 버젼 신규 설치 및 정상 작동 확인 ]
1. 버츄얼 박스 > 우분투 데스크탑 버젼 16.04 lts 설치
2. apt-get amp 설치 
3. phpmyadmin 설치 및 디비 사용자 계정 생성
4. 우분투 일반 사용자 계정 생성
5. /var/www/html/ 폴더 관련 작업
  5-1)  생성한 일반 사용자를 html 폴더 소유자로 변경 
  5-2)   html 폴더에 xe 최신 버젼 설치 파일 다운로드 및 압축 해제  
  5-3)  htm 폴더 권한 707 변경 
  5-4)  웹브라우져에서 localhost/xe/ 입력, 사이트 정상 작동 확인 ( 파일 업로드, 게시글 작성 등 디비 연계부분도 이상없이 정상작동.)


[ 카페 24 데이터 디비 이전 설치 문제점 발생 ]

1. 위 테스트 작업 파일 중 생성된 디비와  /var/www/html 폴더 내 파일 모두 삭제

2. mysql 카페 24 디비 압축 해제 및 정상적으로 풀렸는지 확인
3. 카페24 데이터 파일 /var/www/html 폴더로 압축 해제 
4. /var/www/html 폴더의 권한 707 변경, /var/www/html/files 경로로 707로 권한 변경
5.  /var/www/html/files/cache 폴더내 파일 폴더 모두 삭제
6. db.config.php url 수정 및  아이디 비번 기타 사항 확인


[ 테스트 ]
localhost/admin 입력, 또는 localhost 입력 시  > 페이지 백지 > 페이지 소스 보기를 해도 아무 코드가 없습니다.
/var/www/html 폴더에 테스트 파일 info.php 파일 생성 phpinfo(); 실행 시 브라우저에서 이상없이 관련 내용이 출력됩니다.

 

[ apache 서버 에러 로그 ]

[Tue Jul 26 15:40:19.349017 2016] [mpm_prefork:notice] [pid 2636] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Tue Jul 26 15:40:19.356913 2016] [core:notice] [pid 2636] AH00094: Command line: '/usr/sbin/apache2'
[Tue Jul 26 15:41:37.410093 2016] [mpm_prefork:notice] [pid 2636] AH00169: caught SIGTERM, shutting down
[Tue Jul 26 15:41:57.177016 2016] [mpm_prefork:notice] [pid 2448] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Tue Jul 26 15:41:57.177917 2016] [core:notice] [pid 2448] AH00094: Command line: '/usr/sbin/apache2'
[Tue Jul 26 15:42:02.233672 2016] [mpm_prefork:notice] [pid 2448] AH00169: caught SIGTERM, shutting down
[Tue Jul 26 17:00:30.486765 2016] [mpm_prefork:notice] [pid 2451] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Tue Jul 26 17:00:30.491911 2016] [core:notice] [pid 2451] AH00094: Command line: '/usr/sbin/apache2'
[Tue Jul 26 17:11:39.817159 2016] [:error] [pid 2456] [client 127.0.0.1:56758] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(162): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:12:39.902390 2016] [:error] [pid 2458] [client 127.0.0.1:56804] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(162): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:13:15.007108 2016] [:error] [pid 2460] [client 127.0.0.1:56806] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(162): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:13:19.288876 2016] [:error] [pid 5691] [client 127.0.0.1:56808] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(162): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:13:53.331507 2016] [:error] [pid 5696] [client 127.0.0.1:56816] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(133): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:14:13.016442 2016] [:error] [pid 2458] [client 127.0.0.1:56830] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(133): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:14:19.125593 2016] [:error] [pid 2460] [client 127.0.0.1:56832] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(133): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:22:19.090096 2016] [:error] [pid 5693] [client 127.0.0.1:56894] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(162): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76
[Tue Jul 26 17:22:25.233232 2016] [:error] [pid 5687] [client 127.0.0.1:56898] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/classes/db/DBMysql.class.php:76\nStack trace:\n#0 /var/www/html/classes/db/DB.class.php(1292): DBMysql->__connect(Array)\n#1 /var/www/html/classes/db/DBMysql.class.php(49): DB->_connect()\n#2 /var/www/html/classes/db/DBMysql.class.php(58): DBMysql->DBMysql()\n#3 /var/www/html/classes/db/DB.class.php(168): DBMysql::create()\n#4 /var/www/html/config/func.inc.php(205): DB::getInstance()\n#5 /var/www/html/modules/module/module.model.php(162): executeQuery('module.getSiteI...', Object(stdClass))\n#6 /var/www/html/classes/context/Context.class.php(261): moduleModel->getDefaultMid()\n#7 /var/www/html/index.php(47): Context->init()\n#8 {main}\n  thrown in /var/www/html/classes/db/DBMysql.class.php on line 76 

 

 

  • profile

    db.config.php에서 DB 연결 방식을 mysqli로 변경하세요.

    우분투 16.04는 PHP 7.0이기 때문에 mysql을 지원하지 않습니다.

  • profile ?

    기진곰님 답변 진심 감사드립니다.
    xe 새로 설치 할때 왜 mysqli 로만 지정이 안되는지 의아했었는데 그 부분을 체크 못했네요.
    말씀 해 주신 부분 수정 후 다시 한번 시도 해보고 내일 중으로 결과 알려드리겠습니다. ^^

  • profile ?

    말씀 해 주신 답변으로 문제가 해결되었습니다. 감사합니다. ^^

     

    하나를 해결하니 또 한가지 문제가 발생이 되는데요. 검색을 해보고 이래저래 적용을 해봤지만 문제 해결이 되지 않는데 혹시 도움 말씀 좀 받을 수 있을까요? 

     

    1. localhost 입력 시 404 에러 발생
    2. localhost/admin 또는 localhost/index.php?module=admin 입력 시 관리자만 접속이 가능합니다. 메세지 발생. 

    1.jpg

    3. https://xetown.com/slope/152223 팁 적용 ( 에러 메세지 스킨을 default 로 변경 )

    4. 관리자 아이디와 패스워드를 입력 로그인을 시도 해도 계속 로그인 접속이 되지 않고 로그인 패스워드 입력 페이지가 그대로 입니다.

    5. 혹시 해서 관리자 로그인 아이디와 관리자 여부는 xe_member 테이블에서 확인을 했습니다.

     

    * 현재 시도하고 있는 xe는 1.8.20 버젼의 데이타이구요 제가 어떤 부분을 더 시도 해봐야 할지 도움 말씀 주시면 감사하겠습니다. 

     

     

  • ? profile
    db.config.php에서 기본 URL을 http://localhost/ 로 지정해 주세요. XE는 기본 URL과 요청한 주소가 다르면 제대로 작동하지 않습니다.
  • profile ?

    네 말씀 해 주신 부분은 이미 적용이 되어 있는데 에러 메세지가 발생하네요. 혹시 아래 default_url 부분이 맞죠?

    참고로 말씀 드리면 localhost 입력 시 소스 보기를 하면 소스는 보여지는데 화면이 백지 상태입니다.


    'default_url' => 'http://localhost/',
    'use_mobile_view' => 'Y',
    'use_rewrite' => 'Y',
    'time_zone' => '+0900',
    'use_prepared_statements' => 'Y',
    'qmail_compatibility' => 'Y',
    'use_db_session' => 'Y',
    'use_ssl' => 'none',
    'use_sso' => 'N',
    'use_cdn' => 'N',
    'use_html5' => 'N',
    'sitelock_whitelist' =>
    array (
    0 => '127.0.0.1',
    1 => '110.10.227.6',
    2 => '110.10.139.125',
    ),
    'use_sitelock' => 'N',
    'sitelock_title' => 'Maintenance in progress...',
    'sitelock_message' => NULL,
    'admin_ip_list' => NULL,

  • ?

    lamp 설치 과정에서 apt-get install lamp-server ^명령어로 AMP 일괄 설치를 진행했었습니다.
    혹시 카페24의 디비 MYSQL과 우분투에 설치 된 mysqli 호환을 위해 별도로 해줘야 하거나 virtualhost *:80 설정부분에서 localhost 실행을 위해 서버네임이나 기타 설정을 별도로 해줘야 하는 부분이 있을까요?