Freetds 설치 및 PHP 연동 방법에 대해서 알아보겠습니다.
    설치 환경은 CentOS 5.5, Apache, MySQL 이 설치되어 있는 상태이며 Apache, MySQL 부분만 연동이 된 상태입니다.
    서버 관리가 잘 안돼 있던 서버라 PHP 가 버전별로 여러 폴더들이 존재하였고 기존에 설치된 PHP에 Freetds 연동을 하루종일 시도했지만 번번히 실패하여 시스템 상의 PHP를 모두 삭제 한 후 설치를 진행하였습니다..--;;

    그럼 지금부터 Freetds, PHP 설치 및 연동을 시작하겠습니다~

    1. freetds-stable 파일을 다운 받습니다.
      - 저는 /usr/local/src 폴더 밑에 다운을 받았습니다.

    freetds-stable.tgz



    2. 압축을 해제합니다.

     


    3. 압축 후 폴더 화면입니다.
      - 버전 : freetds-0.82


    4. Makefile 을 만드는 과정입니다.


      - FreeTDS 설치 시 libsydbd.a|so 및 Drrectory /usr/local/freetds is not a FreeTDS installation directory 등의 에러가 나신다면 http://sybd.tistory.com/107 을 참조하시기 바랍니다~


    5. 컴파일 및 설치를 진행합니다.


    6. Freetds 설치가 완료 되었습니다. 의외로 쉽죠? 이제 PHP 연동 부분만 남아있습니다~


    7. PHP 설치에 앞서...
      - 왠만한 소스들은 안정화 버전 및 소스 간의 충돌은 없는지를 미리 검토 후 설치 하시는게 좋습니다. 저는 그 당시 최신으로 나온 PHP 5.2.15로 설치를 진행했지만 Freetds 연동 부분에서만 반나절씩이나 허비했네요...원인은 정확치는 않지만 PHP 5.2.15 버전과 MySQL 5.1.53 버전 간의 버그가 있다고 합니다..

      - 아래 화면은 5.2.15버전으로 설치를 진행한 화면입니다.


     8. 에러 내용 
         colloct2: ld returned 1 exit status
         make: *** [sapi/cli/php] 오류 1

    위 오류는 무수한 원인이 있지만 PHP 버그로 인해 발생할 수 있는 오류이기도 해서 결국 현재 Stable 버전인 PHP 5.3.6 버전으로 재 설치를 진행하였습니다.


    9. PHP 다운 로드 URL : http://kr2.php.net/downloads.php

      - PHP 5.3.6 버전을 다운받아 압축을 풀고 설치를 진행합니다.
      - ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mssql=/usr/local/freetds --disable-debug

      - Makefile이 아래와 같이 만들어지면 컴파일 및 설치를 진행합니다.
      - make; make install


    10. PHP 설치가 완료 되면 php.ini-production (PHP 압축을 풀었던 폴더에 있음) 파일을 Apache 폴더로 복사를 합니다.


    11. 이제 PHP 와 Apache 와의 연동 부분입니다.
      - 보통은 PHP 설치 시 apxs 관련 옵션을 주면 자동으로 삽입이 되는 내용들입니다.
      - LoadModule php4_module 모듈이 보이는 것은... 이전에 4버전을 누군가 설치를 했나봅니다;;
      - PHP 설치 버전에 맞는 모듈만 적재하셔야 합니다. 저는 php4 module은 주석처리를 하였습니다. 만약 주석처리를 하지 않는다면 apache 재 시작시 ./apachectl: line 78 $HTTPD -k $ARGV 요런 에러를 보시게 됩니다..;


      - index.php 를 추가하여 줍니다.



      - Mime 값 확인~


      12. 자~ 그럼 PHP 와 Freetds 설치가 모두 완료 되었습니다.
      - PHP가 정상적으로 설치가 되었는지 확인을 해봅시다~
      - PHP 테스트 페이지를 만든 후 내용에는 <?phpinfo()?> 를 집어넣고 브라우저를 통해 보시면 아래와 같은 화면을 보실 수가 있습니다. 만약 Text 로만 나온다면 PHP연동이 되지 않아서입니다.


    13. PHP info 화면에서 쭉 스크롤하시다 보면  아래와 같은 mssql 부분을 확인 하실 수 있습니다.
      - mssql 이라는 문구를 확인할 수 없다! 하시면.. Freetds 연동이 잘 안된 것이므로 다시 한번 검토 !! 


    수고하셨습니다


    Posted by sybd