2008년 7월 22일 화요일

APACHE에서 PHP 파일을 인식하지 못할때

/usr/local/apache/conf/httpd.conf
파일중..
아래부분에 빨강색 부분을 추가한다.

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    # And for PHP 4.x, use:
    AddType application/x-httpd-php .php .php3 .inc .ph .htm .html
    AddType application/x-httpd-php-source .phps

    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    AddHandler cgi-script .cgi .pl

    # For files that include their own HTTP headers:
    #AddHandler send-as-is asis

    # For server-parsed imagemap files:
    #AddHandler imap-file map

    # For type maps (negotiated resources):
    #AddHandler type-map var

    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>

2008년 7월 19일 토요일

ProFTPd 설치 및 실행시... 접속이 지연되는 현상

Proftpd 설치

다음의 주소에서 다운로드

#
ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2rc1.tar.gz


Proftpd 실행시 Client 접속시 접속이 지연되는 현상.
이는 Proftpd 가 Client 의 접속요구를 받으면, 역방형 DNS를 확인하기 때문이다

proftpd.conf 에 다음의 두줄을 추가

UseReverseDNS                   off
IdentLookups                    off

2008년 7월 16일 수요일

ZBXE 첫 모임~ 참석해야지~

사용자 삽입 이미지

3번 주제가 무척 땡김;
그래서 참석! 결정..

사실 몇몇 홈페이지를 ZBXe를 써서 만들어봤는데... 기존의 보던 PHP 소스와는 많이 달라 약간 헤맨다는 ㅠㅠ 그래서 2번도 궁굼~~

2008년 7월 15일 화요일

LINUX의 한글문제로 인해.. 영문으로 지정

LINUX에 Fedora Core 3? 부터인가 유니코드를 사용한다.
따라서 기존의 EUC_KR과 충돌하여.. 깨지는데 이럴때는 그냥 영문판으로 지정해서 쓴다

파일 : /etc/sysconfig/i18n

LANG="en_US"
#LANG="ko_KR.UTF-8"
SUPPORTED="en_us:euc_kr"
SYSFONT="latarcyrheb-sun16"

내가 사용하는 APM 셋팅 옵션

아래 명령어 다운로드
- Command : wget
http://www.lovecoco.net/dataout/userdata/command.txt



MYSQL
- DownLoad : wget
http://www.lovecoco.net/dataout/userdata/mysql-5.1.22-rc.tar

./configure --prefix=/usr/local/mysql --with-charset=euckr --with-unix-socket-path=/usr/local/mysql/mysql.socket --with-mysqld-user=mysql


APACHE
- DownLoad : wget
http://www.lovecoco.net/dataout/userdata/http-2.2.0.tar

./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-modules=so --with-mpm=worker


PHP
- DownLoad : wget
http://www.lovecoco.net/dataout/userdata/php-5.2.4.tar

WEBDB
- DownLoad : wget
http://www.lovecoco.net/dataout/userdata/webdb.tar


./configure --prefix=/usr/local/php --with-exec-dir=/usr/bin --with-apxs2=/usr/local/apache/bin/apxs --with-apache-install=/usr/local/apache --with-mysql=/usr/local/mysql --with-config-file-path=/etc --disable-debug --enable-safe-mode --enable-track-vars --enable-sockets --with-png-dir=/usr/lib --with-freetype-dir=/usr/include/freetype2 --with-mod_charset --with-charset=euc_kr --with-xml --with-language=korean --enable-mailparse --enable-calender --enable-sysvsem=yes --enable-sysvshm=yes --enable-ftp --enable-magic-quotes --enable-gd-native-ttf --enable-versioning --enable-url-includes --enable-trans-id --enable-inline-optimization --with-iconv --enable-mbstring --enable-mbregex --with-gd --with-ttf --with-gettext --enable-sigchild --enable-module=so   --enable-versioning --enable-url-includes --enable-trans-id --enable-inline-optimization --enable-bcmath --with-jpeg --with-png --with-zlib

make all -> make test 를 실행해야함



# FTP Server Start
/usr/local/proftpd/sbin/proftpd

# MySQL Server Start
/usr/local/mysql/bin/mysqld_safe --user=mysql --language=korean --old-passwords &

# Apache Server Start
/usr/local/apache/bin/apachectl start

2008년 7월 14일 월요일

비트필드 구조체란?

질문: 비트필드 구조체란? nasanjin / 2007-10-18 18:24

비트필드 구조체란 무엇이며?
어떠한 형태로 사용하며????
사용예제 하나 보여주시고요;;;
사용하는 경우는 어떤 경우인지??
사용하게 되면 좋은 이점은 무엇이며? 단점은 무엇입니가?
메모리 공간은 어떤방식으로 할당하는지???

답변: re: 비트필드 구조체란? keyseek / 2007-10-18 22:41

구조체 멤버를 비트단위로 선언할 수 있는 구조체 입니다.

struct st
{
   unsigned int a : 2;
   unsigned int b : 3;
};

이런 식으로 표현합니다. 즉 일반 구조체의 멤버 산언과 동일하나 멤버명뒤에 : n 으로 비트수를 지정합니다.
예제? 위에 선언한 구조체를 이용하겠습니다.

struct st x = {1,5};

이렇게 하면 x.a는 1, x.b는 5 가 들어갑니다.
즉, a는 2비트인데 1이 들어가므로 2진수로 보면 01 이 들어가게 됩니다.
b는 3비트인데 5가 들어 가므로 2진수로 보면 101 이 들어가게 됩니다
즉, 일반 구조체 사용하듯이 사용하면 되는 겁니다.
사용하는 경우? 뭐 다양하게 사용되겠지만
flag선언때 많이 사용합니다. (이걸 어떻게 설명드리지요?)
또한 어떤 데이터 스트림(헤더정도 등)의 parsing에도 많이 쓰입니다.
예를들어 총 4바이트 헤더에서 처음 3비트는 어떤 정보이고 다음 8비트는 뭐고
그다음 몇비트는 뭐고 하는 식으로 비트들로 필드가 구분되어 있다면
이들 필드들만 억세스 하기 위하여 비트필드를 선언하여 사용합니다.

장점? 아무래도 변수를 비트로 사용하니까 메모리가 줄어들겠죠
예를들어 int a = YES; a = NO; (여기서 YES, NO는 1과 0으로 사전 define된것으로 가정)
이렇게 a가 사용된다면 a는 4바이트 변수인데 실제 저장하는 값은 0 아니면 1 혹은
YES, NO 등 입니다. 따라서 이런 경우는 1비트면 충분하지요
만약 이런식의 변수들이 여러개 있다면 이들을 묶어서 하나의 구조체로 만들고
그 내부 필드를 비트필드로 하는 거지요 그럼 메모리 총량이 감소되어 절약이 가능합니다.

단점? 전체 32비트 메모리(비트필드 이지만 구조체의 최소크기는 int가 됨)에서
특정 비트들만 값을 변경하면 즉 위의 구조체에서 x.a = 1을 하면 실제 이 코드는
1을 그냥 a에 대입하는 것이 아니라 실제 코드는 (x & 3  | 1) 로 처리되어 비트 연산을
수행하게 됩니다. 결국 메모리는 아끼지만 속도는 느려지는 거지요

메모리는 먼저 선언된 멤버가 낮은비트(0번지크)부터 채워집니다.
위의 구조체는 32비트(int)로 총 사이즈가 잡힙니다.

그 32비트에서 하위 두비트 0,1 비트는 a가 그 위의 3비트 3,4,5 비트는 b가 위치합니다.
나머지 비트들은 사용되지 않습니다.

이해 되실런지요?

널리 알려진 포트 번호 보기

 PC의 모든 포트는 제한이 없어 어떤 프로그램이라도 자유롭게 데이터를 주고 받을 수 있다. 제한이 없는 만큼 밖에서 PC를 공격하는 프로그램이 밀고 들어와도 막을 방법이 없다. 방화벽(Firewall)은 열린 포트를 막아 밖에서 나쁜 프로그램이 침입하지 못하도록 한다. 물론 방화벽이 모든 인터넷 서비스를 막으면 안되니까 80(웹), 21(FTP)번 포트같이 자주 쓰고 믿을 수 있는 포트는 열어 놓는다. 방화벽은 밖에서 들어오는 공격도 막지만 안에서 밖으로 데이터를 보내지 못하도록 막는 일도 해 네트워크 안의 정보가 밖으로 새는 것을 막아준다.
자주 쓰는 프로그램, 서비스의 포트 번호

  포트 포워딩을 하려면 인터넷 서비스, 소프트웨어가 쓰는 포트 번호를 알아야 한다. 사람들이 많이 쓰는 네트워크 서비스, 메신저, P2P 프로그램의 포트 번호를 정리한다.

  ▲ 21번: FTP
  ▲ 22번: 보안 텔넷(SSH)
  ▲ 23번: 텔넷
  ▲ 25번: SMTP(메일 발송)
  ▲ 42번: 호스트 네임 서버
  ▲ 53번: 도메인 메인 서버
  ▲ 70번: 고퍼(Gopher)
  ▲ 79번: 핑거(Finger)
  ▲ 80번: 웹(HTTP)
  ▲ 88번: 커베로스 보안 규격
  ▲ 110번: POP3(메일 수신)
  ▲ 118, 156번: SQL 서비스
  ▲ 137~139번: NetBIOS(파일 서버)
  ▲ 161번: SNMP(네트워크 관리)
  ▲ 220번: IMAP3(일부 메일 서비스)
  ▲ 812, 987번: 버디버디
  ▲ 1214번: 카자
  ▲ 1720번: 넷미팅
  ▲ 1863, 6891~6900번: MSN 메신저
  ▲ 3389번: 터미널 서비스(원격 데스크톱)
  ▲ 4000번: ICQ
  ▲ 4000, 6112번: 배틀넷(디아블로, 스타크래스트, 워크래프트)
  ▲ 4662번: e동키(기본값)  ▲ 5500, 5800, 5900번: VNC
  ▲ 6257, 6699번: 윈MX(기본값)
  ▲ 6346번: 그누텔라
  ▲ 6699번: 냅스터
  ▲ 7674, 22321번: 소리바다 2
  ▲ 9292, 9999번: 구루구루
  ▲ 28290번: PDBOX

  여기에 나오지 않은 프로그램의 포트 번호는 소프트웨어 제조사에 물어보면 알 수 있다. 몇몇 프로그램은 정해진 포트 번호를 쓰지 않고 사용자가 마음대로 정하는 메뉴를 둔다. 그런 프로그램을 쓴다면 포트 번호를 10,000번보다 높은 숫자로 정하는 것이 좋다. 이렇게 하면 다른 프로그램과 포트가 충돌하는 문제가 생기지 않는다.

 

 

 

 

 

첨부1) P2P 프로그램이 사용하는 네트워크 포트

Service Name Protocol Port Description
당나귀
TCP 4661 서버 접근 포트(변경가능)
4662 자료 전송 포트(변경가능)
4242  
UDP 4672  
4665  
iMash TCP 5000  
BitTorrent TCP 6881  
6889  
소리바다 v.2 UDP 22321 hello message, bye message 사용 포트
7674 mp3를 검색
7675 mp3파일을 보내는 사람
WINMX TCP 6699  
UDP 6257  
Direct-Connect TCP 411-412  
UDP 411-412  
KaZaA TCP 1214  
Guntella-Morpheus TCP 6346-6347  
UDP 6346-6347  
GuRuGuRu TCP 9292  
8282  
31200  
파일 구리 TCP 9493  
Madster-Aimster TCP 23172  
9922  
HotLine TCP 5497  
5498  
5500-5503  
UDP 5499  
V-Share TCP 8404  
Maniac TCP 2000  
UDP 2010  
TCP 2222  
MiRC TCP 6667 Default
6665-6670 변경
7000  
Shareshare TCP 6399  
UDP 6777  
Bluster UDP 41170  
GoToMyPc TCP 8200  
Napster TCP 6600-6699  
4444  
5555  
6666  
7777  
8888  
8875  
첨부2) 메신저 프로그램 사용 포트
Service Name Server Port Description
MSN
64.4.130.0/24
207.46.104.0/24
207.46.106.0/24
207.46.107.0/24
207.46.108.0/24
207.46.110.0/24
TCP 1863 ,80 1863접속 시도 후 차단 되면 80 접속 시도
TCP 6891-6900 파일 전송
UDP 6901 음성채팅
UDP1863,5190 Microsoft Network Messenger
   
Yahoo 216.136.233.152/32
216.136.233.153/32
216.136.175.144/32
216.136.224.143/32
66.163.173.203/32
216.136.233.133/32
216.136.233.148/32
66.163.173.201/32
216.136.224.213/32
TCP 5050,5101 5050 접속 시도 후 차단 되어 있으면 Port 계속 변경
   
TCP 5000-5001 음성채팅
   
   
TCP 5100 화상채팅
   
   
Nate On 203.226.253.75/32
203.226.253.135/32
203.226.253.82/32
TCP 5004-5010 기본 포트 5004-5010 접속 시도후 차단되어 있으면 Port를 계속 변경
TCP80,83,7003 웹 컨텐츠 및 문자 보내기
Daum 211.233.29.78/32 TCP 8062  
SayClub 211.233.47.20/32    
AOL   TCP 5190 AOL Instant Messenger Also used by: ICQ
UDP 4000 ICQ_locator
Dreamwize 211.39.128.236/32
211.39.128.184/32
TCP 10000  
버디버디   TCP 810  
TCP 940  
TCP 950  
케이친구   TCP 7979  
천리안   TCP 1420  
TCP4949, 8989 파일 송수신
ICQ   TCP 5190  
UIN   TCP 8080  
Genile   TCP 10000