Disc Quotas 사용하기

설치
rpm -ivh quota-version.i386.rpm

설정
#cat /etc/fstab

/dev/sda1 /home ext2 defaults 1 2
/dev/sda5 /httpd ext2 defaults 1 2

위파일을 수정한다.

1> /home 디렉토리에 사용자 디스크할당을 할경우 설정
/dev/sda1 /home ext2 defaults,usrquota 1 2

2> /httpd 디렉토리에 유저 디스크할당을 할경우 설정
/dev/sda5 /httpd ext2 defaults,grpquota 1 2

/etc/rc.d/rc.local 에 아래 줄을 추가한다.

#Check quota and then turn quota on.
if [ -x /sbin/quotacheck ]; then
echo “Checking quotas. This may take some time…”
sbin/quotacheck. -avug
echo “Done.”
fi
if [ -x /sbin/quotaon]; then
echo “Enableing disk quota ..”
/sbin/quotaon -avug
echo “Done.”
fi

퀴타 실행후 각파일 시스템에 대한 퀴타 파일을 만들어야 된다.

touch /home/quota.user
touch /httpd/quota.group

사용자에게 디스크 할당

suhan 이란 사용자에게 디스크를 할당할려면
#edquota -u suhan
Quotas for user suhan:
/dev/sda5: blocks in use: 0, limits (soft=0,hard=0) <=사용중인 0kb, 한도설정이 없다.(limits)
inodes in use: 0, limits (soft=0,hard=0) <=파일소유가없다(inodes),한도 설정없다.(limists)
soft limit은 한사용자가 파일 시스템에서 가질 수 있는 최대 디스크 공간(블록)이나
파일수(inodes)를 말한다.
hard limit은 한사용자가 가질수 있는 대스크 공간이나 파일수를 절대적인 수치로 나타낸것이다.

예로 suhan 에게 1Mb(1024k) 의 soft limit 과 4Mb(4096k)의 hard limit로 디스크공간을 할당할려면
또한 이사용자가 소유할 수 있는 파일/디렉토리수에 대해 soft limit128개
hard limit 512개로 설정하려고한다
이럴 경우 다음처럼 edquota u suhan를 사용하여 할당한계를 설정한다.

Quotas for user suhan:
/dev/sda5: blocks in use: 0, limits (soft=1024,hard=4096)
inodes in use: 0, limits (soft=128,hard=512)

사용자가많을때.. -p prototype user 옵션을 사용하면 한사용자의설정을 다른 사용자게에복사할수 있따.

edquota -p suhan -u monster nimf forioso

그룹도이와 비슷..
edquiota -g group name

사용자와 그룹퀴타에 soft limit 을지정할라면 edquota -t 명령어를 사용한다.

Time units may be: days, hours,minutes,or seconds
Grace period before enforcing soft limits for users:
/dev/sda5: block grace period: 0 days, file grace period: 0 days

grace period 를 일,시간,분,초 단위로까지 지정할 수 있다.
예>
Time units may be: days, hours,minutes,or seconds
Grace period before enforcing soft limits for users:
/dev/sda5: block grace period: 7 days, file grace period: 5 hours
공간한도에 대한 grace period 는 7일간으로 파일 수에 대한 grace period 는 5시간으로 설정돼 있다.

디스크 사용량 모니터
#quota -u suhan <=계정 사용량보기
Disk quotas for user suhan (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 0 1024 4096 1 128 512
#quota -g group <= 그룹사용량보기

MP3파일 ID3v1 태그 읽어오기

$fp = fopen(“$mpfile”,”r”);

# 파일 포인터를 ID3v1태그의 위치로 이동한다.
fseek($fp,filesize(“$mpfile”)-128);

# ID3v1태그 부분을 읽어온다.
$ID_tag = fread($fp, 128);

#읽어온 ID3v1태그 부분을 각각의 정보별로 자른다.
$tag = substr($ID_tag,0,3);
$title = substr($ID_tag,3,30);
$artist = substr($ID_tag,33,30);
$album = substr($ID_tag,63,30);
$year = substr($ID_tag,93,4);
$comment = substr($ID_tag,97,30);
$genre = substr($ID_tag,127,1);

#앞에서 열은 파일을 닫음
fclose($fp);

#정보를 배열로 보내준다.
return array($tag,$title,$artist,$album,$year,$comment,$genre);
}
?>

IP address WHOIS

function whois($host){
if(ereg(“([0-9]).([0-9]).([0-9]).([0-9])”,$host)) {
$server = “whois.krnic.net”;
$port = 43;

$fp = fsockopen($server, $port, &$errno, &$errstr, 30);

fputs($fp, “$host
“);

while(!feof($fp)) {
$list = fgets($fp, 1024);
$str=$str.$list;
}
fclose($fp);
if(!strpos($str,”조회하신 해당 IP주소는 국내(KRNIC)에 배정된 주소가 아닙니다.”)){
$ip[0]=strpos($str,”IP 주소”);
$ip[1]=strpos($str,”네트워크 이름”);
$ip[2]=strpos($str,”연결 ISP명”);
$ip[3]=strpos($str,”ISP 연결날짜”);
$ip[4]=strpos($str,”기관명”);
$ip[5]=strpos($str,”시도명”);
$ipaddress=substr($str,$ip[0]+21,$ip[1]-$ip[0]-22);
$netname=substr($str,$ip[1]+21,$ip[2]-$ip[1]-22);
$ispname=substr($str,$ip[2]+21,$ip[3]-$ip[2]-22);
$office_name=substr($str,$ip[4]+21,$ip[5]-$ip[4]-22);
$whois=array(“IP” => $ipaddress,
“ISP” => $ispname,
“OFFICE” => $office_name,
“NETNAME” => $netname
);
} else {
echo “검색할 수 없는 IP 주소 입니다.”;
}
} else {
echo “죄송합니다. IP주소만 이용가능 합니다.”;
}

return $whois;
}

/* IP WHOIS하는 함수
배열로 IP,기관명,ISP이름,네트워크 이름을 리턴한다.

EX > $whois=whois(“127.0.0.1”);
echo “[KRNIC WHOIS RESULT] $whois[IP] , $whois[OFFICE] , ($whois[ISP]/$whois[NETNAME])”;

위와 같은 사용이 가능함.
*/
?>

php로 pdf 만들기

저자 최현일
http://www.tipland.com

============================================
PHP를 이용한 PDF 문서 만들기 #1
——————————————–

이 강좌는 기본적으로 Linux 에 Apache, PHP 가 설정되어있다는 가정하에 진행토록 하겠습니다.
참고로 M$ 사의 NT 나 Win2000 에서는 PDF 라이브러리 자체가 상용으로 제공됩니다.
물론.. sample 이라는 배경화면이 멋지게 깔려있는(?) 상태로는 연습삼아 해보실 수 있겠네요..

자, 그럼… 첫번째 시간으로 PDF Lib 의 설치방법에 대해서 말씀드리도록 하겠습니다.

우리가 사용할 PDFLib 의 최신버전은 http://www.pdflib.org 에서 다운로드 받으실 수 있습니다. 4.0.3 버전까지 나와있군요…

다운로드하신 파일 pdflib-4.0.3-Linux.tar.gz 을 압축해제 합니다.

> tar xvzf pdflib-4.0.3-Linux.tar.gz

이렇게 해서 압축을 해제하고나시면

pdflib-4.0.3/ 이라는 디렉토리가 생성되었을 것입니다. 해당디렉토리로 이동을합니다.

이제 라이브러리의 설치를 위해서 기본 환경설정을 해주어야 합니다.

./configure 를 실행시켜주시면 알아서 척척 잡아줄것입니다.

설정을 하실때 몇가지 옵션을 추가로 해서 설정하실 수 있는데.. 보통은 그냥 사용하셔도 아무런 문제가 없을것입니다.

설정이 끝났으면 다음과같은 순서에 의해서 컴파일 작업과 인스톨 작업을 수행합니다.

> make test
> make install

위의 두단계가 에러없이 진행이 되어진다면, 여러분들의 리눅스 머신에 PDFLib 가 성공적으로 설치가 되어진 것입니다.

자.. 이젠 라이브러리의 설치가 끝났구요.. 이 라이브러리를 PHP 에서 사용하기 위해 PHP 도 다시한번 컴파일을 해주셔야 합니다.

자.. PHP 소스 디렉토리로 이동을 합니다.

PHP 에서도 마찬가지로 환경설정을 해주셔야 하는데요.. 기존에 컴파일을 해보신분들은 ./configure 를 이용해서 여러가지 환경설정을 해보셨을것입니다. PDFLib 를 사용하기위해 –with-pdflib 옵션을 추가하셔서 컴파일 하시면 됩니다.

아래는 제가 사용했던 PHP 의 컨피그래이션 부분입니다.

## PHP4 Compile option —-> mysql + oracle + pdflib + apache

./configure –with-apache=/usr/src/apache_1.3.23 –with-language=korean –with-charset=euc_kr –enable-track-vars –disable-debug –with-oci8=/home/oracle/ORA_HOME –with-oracle=/home/oracle/ORA_HOME –with-config-file=/usr/local/lib –with-pdflib –enable-sigchild –enable-calendar –enable-track-vars –enable-sockets –enable-bcmath

참고하시고 각각의 환경에 맞추어 컴파일을 해주시기 바랍니다.

> make
> make install

이렇게해서 PHP 까지 컴파일

아주 멋지네요…

잠시 들렸다가 갑니다. 아주 잘해놓으셨네요.
저는 언제나 이런 홈페이지를 가질 공력이 될지….. 헤헤헤헤
날씨가 더우면서 비도오고… 그렇습니다. 좋은 하루되시길,..