나중에 svn 도 통합될 듯 싶어 ajaxplorer 설치.
몇가지 문제점 발견, 내키면 삽질해서 수정예정..
- zip내에 한글파일있으면 안열림.(access.fs/class~drive.php 내에 case "ls" - nodename가 꼬인듯 iconv로 utf로 변환후 로그확인하면 ls가 정상종료됨. 그러나 서버에 접속하면 500에러 내면서 뻗음.) - 일단 무기한연기.
모든 권한은 www-data(apache유저)로 설정함.
업로드 파일 제한 풀기 및 공유링크 활성화.(http~~형식으로 다운로드 용 링크 딸수있음)
삼바(cifs/윈도우 공유)와 공유하기
한글파일 업로드 다운로드 가능하게 만들기.
업로드 파일 제한 풀기 및 공유링크 활성화.(http~~형식으로 다운로드 용 링크 딸수있음)
/etc/php5/apache2/php.ini
post_max_size = 2000M
upload_max_filesize = 2000M
/server/conf/conf.php
$upload_max_size_per_file = 0;
$upload_max_number = 0;
공류링크 생성기능 활성.(public link)
디버그 모드 -log에 디버깅 정보 저장됨.
post_max_size = 2000M
upload_max_filesize = 2000M
/server/conf/conf.php
$upload_max_size_per_file = 0;
$upload_max_number = 0;
공류링크 생성기능 활성.(public link)
ajaxplorer/public 디렉토리 생성
디버그 모드 -log에 디버깅 정보 저장됨.
/server/conf/conf.php
$AJXP_JS_DEBUG = true;
$AJXP_SERVER_DEBUG = true;
한글문제 폴더 문제.
크롬의 경우 문제없음.
ie8 의 경우 업로드에서 flash 사용.
http로 ie에서 보내는 패킷을 열어보면, 디렉토리 이름을 base64_encode후 urlencode한 데이터가 올라감.ex) /한글 ->L+2VnOq4gA== ->L%2B2VnOq4gA==
디코딩에 urldecode빠짐. base64decode 전에 urldecode 추가
/plugins/uploader.flex/class.FlexUploadProcessor.php
public function preProcess($action, &$httpVars, &$fileVars){
~
AJXP_Logger::debug("Dir before base64", $httpVars);
$httpVars["dir"] = base64_decode(urldecode($httpVars["dir"]));
~
}
삼바(cifs/윈도우 공유)와 공유하기
/etc/samba/smb.conf
~~~
[ajaxplorer]
comment = ajaxplore files
writable = yes
read only = no
locking = no
path = /var/www/ajaxplorer/files
force user = www-data
force group = www-data
guest ok = yes
~~~
[ajaxplorer]
comment = ajaxplore files
writable = yes
read only = no
locking = no
path = /var/www/ajaxplorer/files
force user = www-data
force group = www-data
guest ok = yes
한글파일 업로드 다운로드 가능하게 만들기.
ubuntu 에 설치된 apache2기본설정을 보면 locale이 C로 되어있음.
-> phpinfo()등으로 확인하면 enviroment에 LANG 가 C로 나옴.
/etc/apache2/envvars
## The locale used by some modules like mod_dav
export LANG=ko_KR.UTF-8
또는
/etc/default/locale
LANG="ko_KR.UTF-8"
/etc/apache2/envvars
## Uncomment the following line to use the system default locale instead:
. /etc/default/locale
-> phpinfo()등으로 확인하면 enviroment에 LANG 가 C로 나옴.
/etc/apache2/envvars
## The locale used by some modules like mod_dav
export LANG=ko_KR.UTF-8
또는
/etc/default/locale
LANG="ko_KR.UTF-8"
/etc/apache2/envvars
## Uncomment the following line to use the system default locale instead:
. /etc/default/locale
export LANG
<- # 제거
<- # 제거
한글이름 파일 업로드 및 다운로드 가능토록 수정 - 위 설정을 건드리지 않고 소스수정
1. /server/conf/conf.php
$default_language="kr"
2. server/classes/class.SystemTextEncoding.php
function getEncoding(){
global $_SESSION;
// Check if the session get an assigned charset encoding (it's the case for remote SSH for example)
if (isset($_SESSION["AJXP_CHARSET"]) && strlen($_SESSION["AJXP_CHARSET"])) return $_SESSION["AJXP_CHARSET"];
// Get the current locale (expecting the filesystem is in the same locale, as the standard says)
setlocale(LC_CTYPE, 'ko_KR.UTF-8');
return SystemTextEncoding::parseCharset(setlocale(LC_CTYPE, 0));
}
한글파일 압축지원(깨짐방지)
/plugins/access.fs/class.fsAccessDriver.php 파일
function makeZip ($src, $dest, $basedir)
{
~
$filePaths[] = array(PCLZIP_ATT_FILE_NAME => $realFile,
PCLZIP_ATT_FILE_NEW_SHORT_NAME => iconv('utf-8', 'euc-kr', basename($item)));
~
return $vList;
}
{
~
$filePaths[] = array(PCLZIP_ATT_FILE_NAME => $realFile,
PCLZIP_ATT_FILE_NEW_SHORT_NAME => iconv('utf-8', 'euc-kr', basename($item)));
~
return $vList;
}