Posted on 2011/03/28 14:20
Filed Under Linux/설정방법

DNS server, DNS service  

----------------------------------------

리눅스 시스템에서의 GD 라이브러리 설치법

----------------------------------------


검색으로 찾아낸 설치법들을 확인한결과... 상당히 번거로운 라이브러리로 보인다.

이것저것 부가적으로 설치해야되는 라이브러리가 4개나 된다.



1. 필요한 라이브러리 좌표

- zlib 다운로드 : http://www.zlib.net

- png 다운로드 : http://www.libpng.org/pub/png/libpng.html

- JPEG 다운로드 : http://www.ijg.org

- freetype 다운로드 : http://download.savannah.gnu.org/releases/freetype/

- GD 다운로드 : http://www.boutell.com/gd/http/gd-2.0.33.tar.gz


※ 첫 설치하면서 함께  포스팅중이다. 최신버전의 라이브러리를 받아서 진행중임!!

※ root 디렉토리에 다운 받음


2. zlib 설치

./configure -shared -prefix=/usr/local/zlib

make

make install


3. png 설치

./configure -prefix=/usr/local/libpng

make

make install


4. jpeg 설치

----------------------------------------------

참고:

설치시 디렉토리 에러가 나는 경우가 있다고 한다.

버전 6b에서 일어나는 에러인 것으로 보인다.

8b를 받아 설치중이며 디렉토리 에러는 나타나지 않았다.

혹여라도 make install 중에 디렉토리 에러메시지가 보인다면 아래처럼 디렉토리를 생성한다.


mkdir -p /usr/man/man1/

----------------------------------------------


./configure -prefix=/usr/local/jpeg -enable-shared -enable-statie

make

make install


5. freetype 설치

./configure -prefix=/usr/local/freetype

make setup

make install


6. GD 설치

./configure -prefix=/usr/local/gd

=================================================================

출력문 일부 참고:

Support for PNG library: yes

Support for JPEG library: yes

Support for Freetype 2.x library: yes // 무료 폰트 렌더링 라이브러리

Support for Fontconfig library: no

Support for Xpm library: no //unix의 이미지 포맷 라이브러리

Support for pthreads: yes

=================================================================


make

----------------------------------------------

참고:

make시 에러가 나는 경우가 있다고 한다.

현재 설치중인 버전은 2.0.33 이다.

2.0.35 버전 설치중에 일어나는 현상인듯하다. 현재 설치버전엔 나타나지 않았다.

에러내용은 아래와 같다.


cd . && /bin/sh /usr/local/src/gd-2.0.35/config/missing –run aclocal-1.9 -I config

aclocal:configure.ac:64: warning: macro `AM_ICONV’ not found in library

cd . && /bin/sh /usr/local/src/gd-2.0.35/config/missing –run automake-1.9 –foreign

cd . && /bin/sh /usr/local/src/gd-2.0.35/config/missing –run autoconf

configure.ac:64: error: possibly undefined macro: AM_ICONV

If this token and others are legitimate, please use m4_pattern_allow.

See the Autoconf documentation.

make: *** [configure] 오류 1

----------------------------------------------


make install


7. 끝으로
php에서 사용하는 분들이 많은 것 같다.
검색으로 나오는 웬만한 설치법들은 끝부분에 php설정도 함께 게시하고 있다.
그래서 나도 적어볼란다. ㅋㅋ

php 컴파일시
./configure 옵션에 아래사항 추가

–with-gd=/usr/local/gd \
–with-jpeg-dir=/usr/local/jpeg \
–with-freetype-dir=/usr/local/freetype \
–with-png-dir=/usr/local/libpng \
–with-zlib-dir=/usr/local/zlib

** 이 블러그 보시고 설치하신 분은 아래처럼

./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-track-vars --enable-sockets --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --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=/usr/local/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 --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-zlib-dir=/usr/local/zlib
 
2011/03/28 14:20 2011/03/28 14:20

Posted on 2011/03/11 20:23
Filed Under Programming/C#

DNS server, DNS service  

- 코드:

    class Class1
    {
        /// <summary>
        /// 해당 응용 프로그램의 주 진입점입니다.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            //
            // TODO: 여기에 응용 프로그램을 시작하는 코드를 추가합니다.
            //
            string tmp = "한글English";

            byte []bArray_ =Encoding.Default.GetBytes(tmp);
            Console.Out.WriteLine(Encoding.Default.EncodingName);
            Console.Out.WriteLine(Encoding.Default.GetString(bArray_));
            Console.Out.WriteLine(bArray_.Length);

            byte []u7Array_ = Encoding.Convert(Encoding.Default, Encoding.UTF7, bArray_);
            Console.Out.WriteLine(Encoding.UTF7.EncodingName);
            Console.Out.WriteLine(Encoding.UTF7.GetString(u7Array_));
            Console.Out.WriteLine(u7Array_.Length);

            byte []u8Array_ = Encoding.Convert(Encoding.Default, Encoding.UTF8, bArray_);
            Console.Out.WriteLine(Encoding.UTF8.EncodingName);
            Console.Out.WriteLine(Encoding.UTF8.GetString(u8Array_));
            Console.Out.WriteLine(u8Array_.Length);

            byte []uArray_ = Encoding.Convert(Encoding.Default, Encoding.Unicode, bArray_);
            Console.Out.WriteLine(Encoding.Unicode.EncodingName);
            Console.Out.WriteLine(Encoding.Unicode.GetString(uArray_));
            Console.Out.WriteLine(uArray_.Length);

            byte []aArray_ = Encoding.Convert(Encoding.Default, Encoding.ASCII, bArray_);
            Console.Out.WriteLine(Encoding.ASCII.EncodingName);
            Console.Out.WriteLine(Encoding.ASCII.GetString(aArray_));
            Console.Out.WriteLine(aArray_.Length);
        }
    }

-----------------------------------------------------------------------------------

- 결과:
한국어
한글English
11
유니코드(UTF-7)
한글English
15
유니코드(UTF-8)
한글English
13
유니코드
한글English
18
US-ASCII
??English
9
2011/03/11 20:23 2011/03/11 20:23

Posted on 2011/03/07 16:38
Filed Under Programming/C#

DNS server, DNS service  

Written by Youngil Kim, C#.NET Developer

 

.NET Framework 2.0의 WebClient클래스는 FTP프로토콜도 대응하기에 GOM은 FTP를 기반으로 하는 파일 업/다운로드를 구현해보았습니다.

 

- FTP기반 다운로드 방법

일단 FTP의 파일 다운로드는 DownloadFile 메소드를 이용하여 첫번째 파라미터는 다운로드할 파일의 URL(형식: ftp://FTP서버명/파일경로)을 지정합니다.

에로 ftp://ftp.microsoft.com/developr/readme.txt를 직접 웹브라이저에서 입력해보세요 실제로 접속됩니다. 이는 ftp.microsoft.com이란 FTP서버에 developer란 폴더에 있는 readme.txt파일을 지정한다는 의미입니다.

참고로 FTP서버에 접근하려면 일반적으로 사용자ID와 비밀번호를 통해 인증을 받아야 하는 경우가 있습니다. 이런 경우 WebClient클래스의 Credentials속성을 선언해둘 필요가 있습니다.

 

[WCFtpDownload.cs]

using System;
using System.Collections.Generic;
using System.Net;

namespace WCFtpDownload
{
    class Program
    {
        static void Main(string[] args)
        {
           WebClient wc = new WebClient();
           wc.Credentials = new NetworkCredential("admin", "passwd");
           wc.DownloadFile("
ftp://server/temp/a.zip","temp.zip");
        }
    }
}

위 예제는 사용자명 admin, 비밀번호 passwd라는 계정으로 FTP서버 server에 로그인하고 temp폴더에 있는 a.zip파일을 다운로드하여 temp.zip이란 파일명으로 변경하여 현대 폴더에 저장하는 형태입니다.

 

- FTP기반 업로드 방법

업로드방법도 다운로드 방법만큼 간단합니다. UploadFile 메소드를 사용하면 끝나기 때문이죠 =_=;

 

[WCFtpUpload.cs]

using System;
using System.Collections.Generic;
using System.Net;

namespace WCFtpUpload
{
    class Program
    {
        static void Main(string[] args)
        {
            WebClient wc = new WebClient();
            wc.Credentials = new NetworkCredential("admin","passwd");
            wc.UploadFile("
ftp://server/temp/xxx.zip", "temp.zip");

        }
    }
}

 

이 예제는 급조해서 만든거라서 연속 실행하면 두번째이후는 계속 예외가 발생합니다. 이미 파일이 있기 때문이죠 그렇기 때문에 실무에 적용시, 기존 파일이 있는 경우 파일명을 변경하여 업로드를 하는 로직이 필요하겠죠?

또한, Credentials 속성을 설정하지 않고 FTP서버에 접근하는 경우 기본값으로 사용자ID는 anonymous, 비밀번호는 anonymous@가 사용됩니다.

 

이상 끝!

2011/03/07 16:38 2011/03/07 16:38

Posted on 2011/03/03 15:48
Filed Under Linux/장애처리

DNS server, DNS service  

출처 : http://blog.naver.com/lkylike/80120027958

Aapache 2.x, PHP 5.x, MySQL 5.x 설치후 서버 이전을 끝내고 사이트 접속해보니 한글이 모두 ㅁㅁㅁ 특수기호들로 깨져 버리더군요.
원인을 알아 보니 mysql 기본 설치시 기본 문자셋이 utf8이 아니라서 생긴 문제 이더군요.
웹소스는 utf8 이며 기존 DB 자료 역시 utf8인데 mysql 기본 문자셋은 다른 문자로 되어 있어서 생긴 문제 였습니다.
다행이도 해결 방법이 mysql 다시 설치 하는 것이 아니라 /etc/my.cnf MySQL 설정 파일만 수정해 주면되었습니다.


자신의 기본 문자셋이 어떻게 되어 있는지 확인 해 보실려면 mysql 접속후 다음과 같이 확인 해 보세요!

 

mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |

 

이와 같이 latin1 등의 문자셋으로 설정 되어 있음을 확인하실 수 있습니다.

설정파일 수정은 /etc/my.cnf 파일을 수정 하시면 되며, 각 [항목] 바로 아래에 문자셋 설정을 추가 해주시면 됩니다.

 

# vi /etc/my.cnf

 

[client]
default-character-set=utf8

 

[mysqld]
init_connect='set names utf8'
character-set-server=utf8
default-collation=utf8_unicode_ci
skip-character-set-client-handshake
character-set-filesystem=utf8
default-character-set=utf8

 

[mysqldump]
default-character-set=utf8

 

[mysql]
default-character-set=utf8

 

위와 같이 추가하고 저장후 mysql 데몬을 다시 실행 해 보시면 아래와 같이 문자 기본셋이 변경 되었음을 확인 하실 수 있습니다.

 

+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | utf8                                   |
| character_set_database   | utf8                                   |
| character_set_filesystem | binary                                 |
| character_set_results    | utf8                                   |
| character_set_server     | utf8                                   |
| character_set_system     | utf8                                   |
| character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+

 

사이트 접속해보니 이제 정상으로 한글이 보이는 군요.
등록 및 수정 등 쿼리 전송시 한글 처리는 잘되는지 아직 안해봤음 ^^

2011/03/03 15:48 2011/03/03 15:48

Posted on 2011/03/03 14:30
Filed Under Linux/장애처리

DNS server, DNS service  

MYSQL 설치 후 외부에서 접속시 다음과 같은 오류가 발생한다면..

MYSQL Error 1042 [ Can't get hostname for your address ]

두가지 옵션이 있다.

1. MySQL이 설치된 서버에 Reverse DNS 를 손봐야 한다.

2. MySQL 을 설치할때 " --skil-name-resolve"옵션을 붙이고 실행하거나, 아니면 my.ini (my.cnf) 파일에 다음의 옵션을 추가한다.
[mysqld] 
skip-name-resolve
2011/03/03 14:30 2011/03/03 14:30

Posted on 2011/03/02 13:40
Filed Under Linux/설정방법

DNS server, DNS service  

 

1. Mysql5.5.9 소스 파일 다운로드를 합니다.

- 웹페이지에서 다운로드 링크를 복사하여

 #wget http://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.9.tar.gz/from/http://mirror.khlug.org/mysql/

* 필자 서버에서 MySQL 을 다운받는 방법

명령어 :
wget
http://www.lovecoco.net/dataout/userdata/mysql-5.5.9.tar.gz  [다운로드]

2. Mysql 을 서비스할 계정을 생성합니다.(보안을 위해서)

#groupadd mysql
#useradd -g mysql mysql

3. configure 를 진행합니다.

 - 여기서 5.1 때와 5.5.9 가 다른걸 알았는데요...
 ./configure 가 없다는거...5.5.9 부터는 cmake 라는 것을 통해 설치를 진행하게 됩니다.
cmake 를 다운로드 받습니다. ( http://www.cmake.org/ )
압축만 풀면 사용 가능합니다.


그럼 본격적으로 cmake 를 통해 설치 옵션을 부여해서 해볼까요?

#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data  -DENABLED_LOCAL_INFILE=1 DWITH_INNOBASE_STORAGE_ENGINE=1 .

- 전 오래전부터 EUCKR을 사용하여 왔고 해당 DB의 호환성을 위해
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=euckr -DDEFAULT_COLLATION=euckr_korean_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data  -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.socket

를 사용했습니다이후 make all , make install 을 해줘야 합니다.


( cmake 설치 옵션 메뉴얼 :
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html#cmake-general-options )


이렇게 해서 설치를 하다보면 필요한 라이브러리가 필요하다며 중간에 실패가 떨어지기도 합니다.
그러면 해당 라이브러리를 설치 해주시면 됩니다. 설치방법은~~


#yum -y install zlib curl
#yum -y install gcc g++ cpp gcc-c++
#yum -y install openssl openssl-devel
#yum -y install libtermcap-devel ncurses-devel libc-client-devel bzip2-devel
#yum -y install bison

6. mysql 설치 디렉토리에 대한 mysql 권한 부여
#chown -R mysql:mysql /usr/local/mysql

7. 기본 DB 생성

설치 디렉토리로 이동하여서 실행하여야 합니다.(저는 /usr/local/mysql )
#./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data


8. mysql 설정 파일 복사

#cp support-files/my-medium.cnf  /etc/my.cnf
또는
#cp support-files/my-medium.cnf my.cnf

저는 /usr/local/mysql 설치 디렉토리에 위치 시켰는데 mysql 를 여러개 설치할 경우에
각 mysql에 대한 설정값을 사용하기 위해 mysql설치디렉토리에 위치 시켰습니다.


다음으로 MySQL 서버와 프로그램을 연결해줄 소켓을 링크파일로 생성하야 한다.
ln -s /var/lib/mysql/mysql.sock /usr/local/mysql/mysql.socket
(여기 블러그 보시고 Apache 와 PHP 설정하실분 해당)

9. 서버 부팅시 mysql 실행을 위한 서비스 등록

#cp support-files/mysql.server /etc/init.d/mysqld
(기존에 mysqld 파일이 있을경우 해당서버에 설치된 mysql 이 있다는 뜻으므로, 이전 설치된 mysql을 사용하지 않을경우 overwite해도 무관)

10. mysql 실행시 생성되는 pid 파일이 /var/run/mysqld 에 생성됩니다.
이것때문에 mysql 이 뜨지 않아 로그파일을 보고 알았습니다.
#mkdir -P /var/run/mysqld  
#chown -R mysql:mysql /var/run/mysqld
(기존 mysql 이 설치되었을 경우 해당 디렉토리가 존재할 가능성이 높음. 존재하면 Step 10은 Skip)

11. 외부에서 mysql 에 대한 접근을 위해 서비스 포트를 오픈해야합니다.( 3306 포트 )
/etc/sysconfig/iptables 파일에
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
 추가 후
#/etc/rc.d/init.d/iptables restart 로 갱신된 정보를 다시 서비스함.

12. Mysql 실행

#cd /usr/local/mysql/bin
#mysqld_safe --datadir=/usr/local/mysql/data &

이전버젼으로의 호환성을 위해 old-password 를 붙여줌
#/usr/local/mysql/bin/mysqld_safe --user=mysql --language=korean --old-passwords &

13. Mysql Root 비밀번호 생성

#mysqladmin -uroot password 신규비밀번호

14. Mysql 접속

#mysql -uroot -p
Mysql>


15. 재부팅시 자동 실행

마지막으로 부팅시 자동실행을 하도록 만드는 방법은 "/etc/rc.local"파일 재일 마지막 부분에 "/usr/local/mysql/bin/mysqld_safe --user=mysql --language=korean --old-passwords & "

을 추가하도록 한다.

그럼 모든 설치가 끝납니다~ ^^



2011/03/02 13:40 2011/03/02 13:40

About

by CoCo

Notice

Counter

· Total
: 846588
· Today
: 75
· Yesterday
: 70