| 여러장의 이미지 간단히 합치기 | 움직이는GIF만들기 | 썸네일 쉽게 만들기
분류 전체보기 (85)
I am (0)
Today (1)
개발자이야기 (11)
나만의 유용한정보 (7)
서버관련 (40)
지름신 (5)
사진/여행 (1)
끄적끄적 (5)
골프 (11)
주식 (2)

«   2008/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Visitors up to today!
Today hit, Yesterday hit
daisy rss
티스토리 가입하기!
'2008/03'에 해당되는 글 3건
2008. 3. 17. 11:58

사내직원이 100명이 넘어가면서 imap(메일관련데몬)의 접속이 많아져서
가끔 아래와 같이 /var/log/messages 에 에러를 내뱉는다.

inetd[624]: imap from 203.x.x.x exceeded counts/min (limit 60/min)


우선 inetd의 데몬옵션을 확인
ps aux | grep inetd

root        624  0.0  0.0  1388   980  ??  Ss   20 208    0:28.94 /usr/sbin/inetd -wW -C 60


기본값으로 데몬이 떠 있는것...

-C 옵션은 max-connections-per-ip-per-minute 로 동일IP에 대해서 동일포트의 1분간 설정회수란다..
좀더 높여보자(imapd를 사용하는 웹메일에 문제가 있나?)

이왕 -R 값도 좀 높여보자..

일단 기존 inetd를 죽이고..
kill -9 624
재가동한다.

/usr/sbin/inetd -wW -C 256 -R 2048

그리고,
/etc/rc.conf 에 inetd_flag추가해주는 센쓰~

inetd_flag="-wW -C 256 -R 2048"

2008. 3. 4. 21:04
FreeBSD 에서 Apache2 + PHP 5.x 를 설치하는 방법

kldload accf_http
를 띄운다.

vi /boot/loader.conf 에
accf_http_load="YES"
추가하고 리부팅 한번 때려주거나,

커널옵션에
options ACCEPT_FILTER_HTTP
를 추가하고 커널컴팔 후 리부팅한다.

최신 아파치(현재는 2.2.8) 을 가져와서 소스를 푼다.

./configure --prefix=/usr/local/apache2 --enable-module=most --enable-shared=max --enable-rewrite --enable-headers --enable-rewrite --enable-deflate --enable-so --with-included-apr

PHP를 동적으로 컴파일해야 하기때문에  --enable-so는 반드시 있어야한다.
그외 옵션추가는 ./configure --help  로 참조한다.
설치디렉토리는 --prefix 의 경로로  변경이 가능하다.

make; make install

위의 과정으로 아파치 컴파일은 완료!

FreeBSD 6.x 의 경우 기본적으로 perl이 설치안되어 있으므로 perl을 설치하는것이 좋겠다.

cd /usr/port/lang/perl5.8
make install

최신의 PHP 소스롤 가져다가 푼다.

./configure  --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf --with-mysql=/usr/local/mysql --with-zlib-dir=/usr/local/zlib --enable-ftp --enable-sockets --enable-mbstring --disable-debug --with-config-file-path=/usr/local/lib --with-iconv

아파치 설치된 경로로 apxs 를 지정한다.
그외 gd를 설치하거나 기타 옵션을 주려면, 마찬가지로 ./configure --help를 참고한다.

make; make install

인스톨후
# php -v
PHP 5.2.5 (cli) (built: Nov  5 2007 16:11:19)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
와 같이 버젼이 제대로 나오는지 확인한다.

아파치 설치 디렉토리에서
vi /usr/local/apache2/conf/httpd.conf
후에 아래를 추가한다.
LoadModule php5_module        modules/libphp5.so
AddType application/x-httpd-php .php

그외 아파치 설정파일은 아파치 문서를 참고한다.
.php 외의 확장자나 다른확장자로 php 스크립트를 만드려면 뒤에 추가해도 된다.
ex) AddType application/x-httpd-php .php .html .phps

/usr/local/apache2/bin/apachectl start

아파치를 구동한다.
2008. 3. 3. 15:37

늘상있는대로 컴파일을 시도했다.


1.3.0 에서는 나오지 않는 에러가 나오는군... 뭔가 호환이 안되나...


gcc -DHAVE_CONFIG_H  -DFREEBSD6_2 -DFREEBSD6 -I.. -I../include -I/usr/local/mysql/include/mysql -O2 -Wall -c mod_sql_mysql.c
mod_sql_mysql.c: In function `cmd_defineconnection':
mod_sql_mysql.c:598: error: missing terminating " character
*** Error code 1

Stop in /usr/local/proftpd-1.3.1rc3/modules.
*** Error code 1

Stop in /usr/local/proftpd-1.3.1rc3.



따옴표문제가 설마...
일단 에러소스를 찾아보자.


vi ./contrib/mod_sql_mysql.c


598번째 라인이라... 헉!


     pr_log_pri(PR_LOG_WARNING, "warning: the mod_sql_mysql module has not been
      "properly intialized.  Please make sure your --with-modules configure "
      "option lists mod_sql *before* mod_sql_mysql, and recompile.");

    sql_log(DEBUG_FUNC, "%s", "The mod_sql_mysql module has not been properly "
      "intialized.  Please make sure your --with-modules configure option "
      "lists mod_sql *before* mod_sql_mysql, and recompile.");


뭐야.. 뭔가 이상하다... text를 그냥 엔터를 쳤네? 따옴표는 뭐양?


     pr_log_pri(PR_LOG_WARNING, "warning: the mod_sql_mysql module has not been \
      properly intialized.  Please make sure your --with-modules configure \
      option lists mod_sql *before* mod_sql_mysql, and recompile.");

    sql_log(DEBUG_FUNC, "%s", "The mod_sql_mysql module has not been properly \
      intialized.  Please make sure your --with-modules configure option \
      lists mod_sql *before* mod_sql_mysql, and recompile.");


위와 같이 고치고 컴파일을 해봤따아..

잘된다.. -.-;;

prev"" #1 next