제로보드(Xpress Engine)/카페24 계정에서 쉬운설치 안될때(msg_make_directory_failed)

말 그대로이다.
제로보드 최신, 그러니깐 Xpress Engine 1.5 이상에서 쉬운 설치가 안될때..
에러메시지는 아래같은 것들이다.
Cannot modify header information
msg_make_directory_failed

(에라이 망할 에러들)

등등.. 한 3시간을 검색해본 결과, 뭐 다들 계정이 잘못됬다고 하는데..
일단 원인 설명하기전에 해결방법은

FTP 주소에 실제 서버 IP넣고
제로보드 설치 경로에 /www/가 포함된 경로(xe라면 /www/xe/) 로 넣기
Passive 모드 활성화
SFTP 사용 안함

혹시 위에 해도 안되면 telnet 들가서 chmod -R 755 www 함 시원하게 때려주자. 

이유를 한번 찾아보자.(나의 3시간 삽질)

카페24가 특이한 점이 있을까 해서 IP에 127.0.0.1 넣고 경로에 절대 경로인 /home/hosting_users/[ID]/www/ 넣고 (아 참고로 나는 걍 www 루트에다가 xe설치했다.) 하는데 자꾸 위에 에러가 난다.
안되서 경로에다가  /home/hosting_users/[ID]/www/  부터해서  home/hosting_users/[ID]/www/ ,  /hosting_users/[ID]/www/ , hosting_users/[ID]/www/ … 등등 생각나는 경로는 죄다 입력해봤으나..

자꾸 autoinstall.lib.php 의 361 째 라인에서 “msg_make_directory_failed” 뱉길래 아에 걍 소스를 함 까봤다.

 
뭐 대충 이러한데, 여기서 중요한건 ftp_mkdir 그러니깐 폴더를 만드는데 경로가 대충 뭐 쉬운설치중에 플러그인이 “css3pie”라는 게 있으면 “/addons/css3pie” 이렇게 되서 내 FTP상 루트 경로가(다시 말해 제로보드 설치 경로) “/www/” 이니깐

ftp_mkdir(커넥션,”/www/addons/css3pie”);

이렇게 해야지 만들어진다.
실제로 테스트 소스르 만들어봤는데,
<?
        $connection = ftp_connect(“127.0.0.1”, 21); // 커넥션 생성

$login_result = @ftp_login($connection, ‘아이디’, ‘비번’); // 로긴
if ((!$connection) || (!$login_result)) { //이건 잘됨
echo “error”;
}
ftp_pasv($connection,true);  // Passive Mode 활성화

        ftp_chdir($connection,’www’); // 에러뱉음
        echo ftp_pwd($connection); // 암것도 안나옴
        print_r(ftp_rawlist($connection,’/www’)); // Array() 밖에 안나옴
if(!@ftp_mkdir($connection, ‘/www/addons/css3pie/’)) 
                        {
                            echo “failed”; // 에러남 ㅋㅋ 원인은 mkdir의 뒤에 슬래시에 있었음.
                        }
ftp_close($connection); // ㅜㅜ
?> 

거두절미하고, 위에꺼 아이피 127.0.0.1 넣으면 ftp_chdir 에서 경고 뱉고, echo ftp_pwd 에서 암것도 안나오고 print_r하면 Array() 밖에 안나온다.

그래서 혹시나 해서 내 도메인에 ping때리니(윈도우의 경우 시작->실행->cmd->ping 도메인) IP가 나와서 그걸 직접 넣으니깐..
된다 ! 이런;; 그러니깐 IP를 실제 자기 계정의 IP에 맞게 넣으라는 것이다.

그리고 중요한 것은 설치된 XE의 FTP 경로인데

 난 위에처럼 넣으니깐 되더라. 실제로 소스상에서 (autoinstall.lib.php 356 line) $ftp_path 의 뒤에 .”/” 을 해주기때문에 만약 설치된 XE의 FTP 계정이 “/” 라면 FTP상에서 폴더를 만드는 데에 “/addons/css3pie/” 이런 엄한 시도를 한다.
참고로 ftp_mkdir(커넥션,만들폴더) 에서  [만들폴더] 에 해당하는 부분에 뒤에 슬래쉬 붙어있으면 안맹거진다.

이상.. 휴 겨우 쉬운설치 했다.
추가적으로, 난 1.4.5.7 라는 초 하위버전에서 한 4개월 만에 1.5 로 업글했는데 잘 안되길래 
http://code.google.com/p/xe-core/downloads/list
여기 가서  XE.버전.changed.tar 파일만 죄다 받아서 하위버전부터 업로드 했더니.. 잘된다.(물론 이건 진짜 엄청난 노가다이다.)

여기서 중요한점.
최신 업데이트를 빠릿빠릿 하게 빨리빨리 하고 반영할 것.
무엇보다 사이트에 대한 애착을 가지고 잘 관리하는 것이 가장 좋겠다. 나처럼 고생하는 분이 많지 않길 바라며… 

failed : 실패하다, 낙제하다, 못하다, 게을리하다, 부족하다