- Solaris (SPARC, X86, X64) 자료실 -

순간을 위해 평생을 준비하라.
기회란 언제나 예고 없이 찾아온다 항상 낚싯대를 던져 놓아라.
전혀 기대하지 않았던 곳에서 고기가 잡히리라.




Vote Reply Modify Forward Prev Next List

  작성자   : 조성환 [ ladmin ] 추천: 6681, 조회: 36399, 줄수: 2404, 분류: Etc.
Sun Solaris10 x86-x64 APM 설치 가이드 [초강추]
*********************************************************************************************************
아래 APM 문서는 여러가지 형태의 재 배포가 가능합니다만 반드시 출처를 알린후 배포해 주시면 감사하겠습니다.

참고로 APM 설치 문서의 저작권은 "와우유닉스(wowunix By Cho Seong Hwan)" 에 있습니다.
*********************************************************************************************************





*************************************************************************
<<< Sun Solaris10 x86-x64 Intel/AMD 64Bit System -  APM Install Guide >>>
*************************************************************************


################################
######  Admin Infomation  ######
################################
Compiled Date : 2012-01-12
System Admin : Cho Seong Hwan
Hand Phone : 010-7212-0083
Home Page : www.wowunix.com
Email : istims@hanmail.net
################################


#######################################################
######  APM(Source & Package) Version Infomation ######
#######################################################
apache : httpd-2.2.21.tar.gz
php    : php-5.3.2.tar.gz
mysql  : mysql_5.1.60.tar.gz

apache-tocmat : apache-tomcat-7.0.23.tar.gz

zeroboard XE (zbxe) : xe.1.4.5.10.zip

zeroboard XE (zbxe) : xe.1.5.1.2.ko.zip

###########################################


##################################################
#############  Source Download Site  #############
##################################################
ALL : http://nas.wowunix.com/down/APM_src/

APACHE Webserver : http://mirror.apache.org
PHP   : http://www.php.net/downloads.php
MYSQL Database  : http://www.mysql.com
    ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/
    http://mirror.khlug.org/mysql
    http://mirror.khlug.org/mysql/downloads/mirrors.html

Apache-Tomcat : http://tomcat.apache.org
Zeroboard X   : http://www.xpressengine.com
 http://www.nzeo.com
bind          : ftp://ftp.bind.com/pub/bind9/
##################################################




참고

*********************************
< Zeroboard XE 설치시 필수 사항 >
*********************************
*********************************************************************************************
제로보드 XE는 아래와 같은 환경에서 설치/작동하므로 확인하셔야 합니다.

- PHP 4.x 또는 PHP 5.x (단 PHP 5.2.2는 PHP의 버그로 인하여 설치가 불가능)
- XML 라이브러리 (필수)
- ICONV (선택. 다만 특정 기능에서 이상현상을 보일 수 있음)
- GD library (필수. 이미지 변환 기능을 위해 필수)
- Apache 웹서버 mod_rewite 옵션으로 Compile (웹서버 rewite 모드 지원을 위해 필요)
- DATABASE
 MySQL 4.1 이상 : UTF-8을 사용하기 위해 MySQL은 4.1 이상만 지원  (4.x 불가능)
 Sqlite2 or Sqlite3 : Sqlite를 사용하기 위해서는 PHP에 Sqlite extension이 설치되어 있어야 함
 Cubrid
*********************************************************************************************



* Perl 패키지는 기본 운영체제에서 제공하는 버젼을 사용해도 전혀 문제가 되지 않으며,

운영체제에 Perl 패키지가 없을때에는 http://nas.wowunix.com/down/set/perl 에서 해당 운영체제별로 패키지를 다운받아 설치하시면 됩니다.




* 컴파일 Error 발생시 참조 사이트

(컴파일시 여러가지 서버 환경에 따라 에러가 발생할수 있습니다. 각자 알아서 해결 하시기 바랍니다. ^^;)
(아래 사이트가 여러분들에게 컴파일이 잘 끝날 수 있도록 도와 드릴 것입니다.)

http://www.phpschool.com
http://www.naver.com
http://www.google.co.kr








*******************************************************************
<APM test 장비>

System Configuration: HP ProLiant Micro Server
BIOS Configuration: HP O41     07/28/2010
BMC Configuration: IPMI 2.0 (KCS: Keyboard Controller Style)
*******************************************************************

# uname -a

SunOS hosting 5.10 Generic_147441-01 i86pc i386 i86pc



# showrev

Hostname: hosting
Hostid: 57ba63
Release: 5.10
Kernel architecture: i86pc
Application architecture: i386
Hardware provider:
Domain:
Kernel version: SunOS 5.10 Generic_147441-01



# cat /etc/release

                   Oracle Solaris 10 8/11 s10x_u10wos_17b X86
 Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
                           Assembled 23 August 2011



# isainfo -kv
64-bit amd64 kernel modules

*******************************************************************
*******************************************************************




기존에 아파치가 깔려 있다면 아파치 데몬을 Stop 시키시고 Directory 이름을 변경해 주시기 바랍니다.


그리고 새로운 아파치 소스를 다운 받으셔서 다음과 같이 APM 설치 순서에 맞게 설치 하세요.

(설치시 순서를 반드시 지켜 주세요.......!!!)







***********************
gcc & make Version 확인
***********************



# gcc -v

Reading specs from /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6


< 참고로 gcc version 3.3.2 사용시 반드시 아래 사이트의 문서를 잘 읽어 보시고 사용하시기 바랍니다. 해당 버젼에 버그 있습니다. >

http://www.wowunix.com/cgi-bin/CrazyWWWBoard.cgi?mode=read&num=1003&db=solaris&fval=mkheaders&backdepth=1




# make -v

GNU Make 3.82
Built for i386-pc-solaris2.10
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.





# perl -v

This is perl, v5.8.8 built for i86pc-solaris

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.






(현재 서버에 설치한 패키지)

[/pkg]# ls -l

-rw-r--r--   1 root     root     102241280 12월 12일  01:44 binutils-2.19-sol10-x86-local
-rw-r--r--   1 root     root     22591488 12월 12일  13:38 cmake-2.4.8-sol10-x86-local
-rw-r--r--   1 root     root     4328960 12월 13일  10:06 curl-7.23.1-sol10-x86-local
-rw-r--r--   1 root     root     4344832 12월 13일  11:03 curl_ldap-7.23.1-sol10-x86-local
-rw-r--r--   1 root     root     24821248 12월 12일  01:44 db-4.2.52.NC-sol10-intel-local
-rw-r--r--   1 root     root     7143424 12월 12일  01:44 freetype-2.3.9-sol10-x86-local
-rw-r--r--   1 root     root     80072192 12월 12일  01:44 gcc-3.4.6-sol10-x86-local
-rw-r--r--   1 root     root      732160 12월 12일  01:44 gd-2.0.35-sol10-x86-local
-rw-r--r--   1 root     root     1333760 12월 12일  01:44 gdbm-1.8.3-sol10-intel-local
-rw-r--r--   1 root     root     44644352 12월 12일  11:24 glib-2.25.13-sol10-x86-local
-rw-r--r--   1 root     root      375296 12월 12일  01:44 libart_lgpl-2.3.19-sol10-x86-local
-rw-r--r--   1 root     root     1862656 12월 12일  01:44 libgcc-3.4.6-sol10-x86-local
-rw-r--r--   1 root     root     2634752 12월 12일  11:24 libiconv-1.14-sol10-x86-local
-rw-r--r--   1 root     root     7070720 12월 13일  10:06 libidn-1.22-sol10-x86-local
-rw-r--r--   1 root     root      327168 12월 12일  01:44 libintl-3.4.0-sol10-x86-local
-rw-r--r--   1 root     root      803328 12월 12일  01:44 libpcap-1.0.0-sol10-x86-local
-rw-r--r--   1 root     root     1657856 12월 13일  18:17 libpng-1.2.39-sol10-x86-local
-rw-r--r--   1 root     root     1901568 12월 13일  10:06 libssh2-1.3.0-sol10-x86-local
-rw-r--r--   1 root     root     20989952 12월 12일  01:44 libxml2-2.6.31-sol10-x86-local
-rw-r--r--   1 root     root     1392640 12월 12일  01:44 lsof_0508-4.80-sol10-x86-local
-rw-r--r--   1 root     root     2961920 12월 12일  11:24 make-3.82-sol10-x86-local
-rw-r--r--   1 root     root     14005248 12월 12일  13:38 ncurses-5.7-sol10-x86-local
-rw-r--r--   1 root     root     9021440 12월 12일  01:45 nmap-4.76-sol10-x86-local
-rw-r--r--   1 root     root     13741568 12월 12일  01:45 ntop-3.3-sol10-x86-local
-rw-r--r--   1 root     root     14644224 12월 13일  10:06 openssl-1.0.0e-sol10-x86-local
-rw-r--r--   1 root     root     4353024 12월 12일  11:25 pcre-8.20-sol10-x86-local
-rw-r--r--   1 root     root     49598464 12월 12일  01:45 perl-5.8.8-sol10-x86-local
-rw-r--r--   1 root     root     4356608 12월 12일  01:45 rrdtool-1.2.19-sol10-x86-local
-rw-r--r--   1 root     root      875520 12월 12일  01:45 sed-4.1.5-sol10-x86-local
-rw-r--r--   1 root     root     7242752 12월 12일  11:25 slang-2.1.4-sol10-x86-local
-rw-r--r--   1 root     root     4994560 12월 12일  01:45 tar-1.21-sol10-x86-local
-rw-r--r--   1 root     root      352768 12월 12일  01:45 tcp_wrappers-7.6-sol10-intel-local
-rw-r--r--   1 root     root      238592 12월 12일  01:45 top-3.6.1-sol10-x86-local
-rw-r--r--   1 root     root     2078208 12월 12일  11:25 zlib-1.2.5-sol10-x86-local





(앞으로 설치할 소스)

[/src] # ls -l

-rw-r--r--   1 root     root     7095187 12월 12일  10:32 httpd-2.2.21.tar.gz
-rw-r--r--   1 root     root     24408313 12월 12일  17:02 mysql-5.1.60.tar.gz
-rw-r--r--   1 root     root     13734462 12월 13일  13:06 php-5.3.2.tar.gz








****************************************************
<< APM 설치 - 아래 순서로 컴파일 하시기 바랍니다. >>
****************************************************


###################
1.  MYSQL DBMS 설치
###################


다음과 같이 ./configure를 실행합니다..


# ./configure --prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=all \
--enable-thread-safe-client \
--with-readline \
--enable-dtrace





:  --with-charset을 euckr 로 할때 MYSQL 4.0 하위 버젼은 --with-charset=euc_kr 이고 MYSQL 4.0 이상 버전은 --with-charset=euckr 입니다.

:  --enable-thread-safe-client 옵션은 아파치(httpd)를 쓰레드로 운영(--with-mpm=worker) 할때 필요하고

:  --with-readline 옵션은 ssh원격접속(putty, utf-8) 콘솔에서 한글 입력을 가능하게 하기 위해 필요합니다.




참고로 mysql-5.5.x 버젼부터는 configure 대신 cmake 를 써야 합니다.... ^^

옵션을 참고로 적어 봤어요 다음 기회에 도전해 보겠습니다...... ^^



cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1



또는


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






configure 환경 설정이 끝난후에 make 와 make install 을 차례대로 실행합니다..



# make       
   
(make 시 에러가 날 경우가 있습니다.)
(반드시 make clean 하셔서 작업전 초기 상태로 되돌리시고 다시 ./configure 하셔야 합니다.)



< 참고로 make 실행시 위 에러가 계속나서 썬 사이트에서 문서를 찾아봤습니다.  반드시 아래 문서를 잘 읽어 보시고 컴파일 하는 서버에 적용해 주세요.>

http://www.wowunix.com/cgi-bin/CrazyWWWBdateoard.cgi?mode=read&num=1003&db=solaris&fval=mkheaders&backdepth=1



* gcc-3.3.2 일 경우!!

************************************
** gcc-3.3.2-sol10-sparc-local.gz **
************************************

<These gcc packages require the installation of libiconv>
*********************************************************

The GNU C compiler and related programs - installs in /usr/local.
This package includes the GNU C, C++, g77, Java, and OBJC compiler suites and support files.
The Gnat ada programs are not included yet.
When needed and the source code supports it, this C compiler can create 64-bit executables via the -m64 flag as well as the usual 32-bit ones.
It was compiled to use the SUN assembler and loader usually in /usr/ccs/bin if the SUNW developer packages are installed.
This gcc package requires the installation of libiconv.

Note that this version of gcc was created on build 60 of Solaris 10.
If you are using a higher version, you will need to redo some of the header files. This is done by doing the following steps:




* gcc-3.4.6 일 경우!!
: libiconv-1.13.1 이상, db-4.2.52.NC 이상, libgcc-3.4.6 이상의 패키지를 같이 설치하셔야 합니다.(gcc 의존성 필요)


**********************************
** gcc-3.4.6-sol10-x86-local.gz **
**********************************

<These gcc packages require the installation of libiconv>
*********************************************************

gcc-3.4.6-sol10-x86-local.gz. The GNU C compiler and related programs - installs in /usr/local. This package includes the GNU C, C++, and f77 suites and support files. These gcc packages require the installation of libiconv. It was compiled to use the SUN assembler and loader usually in /usr/ccs/bin if the SUNW developer packages are installed. If you need to do 64-bit compiles, you should use the gcc-3.4.3 that comes with Solaris 10 in /usr/sfw/bin. Please read the details on how this package was created which can be found at Comments on gcc 3.4.6 . The Details link below contains information on what is new in 3.4.6. Documentation is in /usr/local/doc/gcc, /usr/local/man, and /usr/local/info. The gcc package is quite large. Some users may have trouble downloading very large files via a browser. These users should try using command line anonymous ftp or perhaps the Sun Download Manager.








<make error>



아래는 솔라리스에서 mysql-5.1.x 컴파일시 나는 mysql 에러 입니다.


5.1.x: compile fails on Solaris: ld: elf error: file ./.libs/libndb.a: elf_getarsym



출처 : https://bugs.launchpad.net/percona-server/+bug/699896

출처 : http://bugs.mysql.com/bug.php?id=34866




storage/csv/libcsv.a ../storage/heap/libheap.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz -ldl -lpthread -lthread -lposix4 -lsocket -lnsl -lm -lpthread -lthread -Wl,-R -Wl,/usr/local/lib -Wl,-R -Wl,/usr/local/lib
ld: elf error: file ./.libs/libndb.a: elf_getarsym
ld: warning: file /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/../../../libstdc++.so: linked to /usr/local/lib/libstdc++.so: attempted multiple inclusion of file
ld: fatal: file processing errors. No output written to mysqld
collect2: ld returned 1 exit status
make[3]: *** [mysqld] 오류 1
make[3]: Leaving directory `/src/mysql-5.1.60/sql'
make[2]: *** [all-recursive] 오류 1
make[2]: Leaving directory `/src/mysql-5.1.60/sql'
make[1]: *** [all] 오류 2
make[1]: Leaving directory `/src/mysql-5.1.60/sql'
make: *** [all-recursive] 오류 1



다음과 같이 해결하시면 됩니다............. ^^





[hosting:/src/mysql-5.1.60] #   cd sql



[hosting:/src/mysql-5.1.60/sql] #   /usr/ccs/bin/ar -ts .libs/libndb.a
libndb_la-ha_ndbcluster.o
libndb_la-ha_ndbcluster_binlog.o
libndb_la-ha_ndbcluster_cond.o




[hosting:/src/mysql-5.1.60/sql] #   make mysqld

/bin/bash ../libtool --preserve-dup-deps --tag=CXX   --mode=link g++  -O3    -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T   -o mysqld sql_lex.o sql_handler.o sql_partition.o item.o item_sum.o item_buff.o item_func.o item_cmpfunc.o item_strfunc.o item_timefunc.o thr_malloc.o item_create.o item_subselect.o item_row.o item_geofunc.o item_xmlfunc.o field.o strfunc.o key.o sql_class.o sql_list.o net_serv.o protocol.o sql_state.o lock.o my_lock.o sql_string.o sql_manager.o sql_map.o mysqld.o password.o hash_filo.o hostname.o sql_connect.o scheduler.o sql_parse.o set_var.o sql_yacc.o sql_base.o table.o sql_select.o sql_insert.o sql_profile.o sql_prepare.o sql_error.o sql_locale.o sql_update.o sql_delete.o uniques.o sql_do.o procedure.o sql_test.o log.o init.o derror.o sql_acl.o unireg.o des_key_file.o log_event.o rpl_record.o log_event_old.o rpl_record_old.o discover.o time.o opt_range.o opt_sum.o records.o filesort.o handler.o ha_partition.o debug_sync.o sql_db.o sql_table.o sql_rename.o sql_crypt.o sql_load.o mf_iocache.o field_conv.o sql_show.o sql_udf.o sql_analyse.o sql_cache.o slave.o sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utility.o rpl_injector.o rpl_rli.o rpl_mi.o rpl_reporting.o sql_union.o sql_derived.o sql_client.o repl_failsafe.o sql_olap.o sql_view.o gstream.o spatial.o sql_help.o sql_cursor.o tztime.o my_decimal.o sp_head.o sp_pcontext.o sp_rcontext.o sp.o sp_cache.o parse_file.o sql_trigger.o event_scheduler.o event_data_objects.o event_queue.o event_db_repository.o events.o sql_plugin.o sql_binlog.o sql_builtin.o sql_tablespace.o partition_info.o sql_servers.o event_parse_data.o mini_client_errors.o pack.o client.o my_time.o my_user.o libndb.la ../storage/csv/libcsv.a ../storage/heap/libheap.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz     -ldl    -lpthread -lthread -lposix4 -lsocket -lnsl -lm  -lpthread -lthread
libtool: link: g++ -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -o mysqld sql_lex.o sql_handler.o sql_partition.o item.o item_sum.o item_buff.o item_func.o item_cmpfunc.o item_strfunc.o item_timefunc.o thr_malloc.o item_create.o item_subselect.o item_row.o item_geofunc.o item_xmlfunc.o field.o strfunc.o key.o sql_class.o sql_list.o net_serv.o protocol.o sql_state.o lock.o my_lock.o sql_string.o sql_manager.o sql_map.o mysqld.o password.o hash_filo.o hostname.o sql_connect.o scheduler.o sql_parse.o set_var.o sql_yacc.o sql_base.o table.o sql_select.o sql_insert.o sql_profile.o sql_prepare.o sql_error.o sql_locale.o sql_update.o sql_delete.o uniques.o sql_do.o procedure.o sql_test.o log.o init.o derror.o sql_acl.o unireg.o des_key_file.o log_event.o rpl_record.o log_event_old.o rpl_record_old.o discover.o time.o opt_range.o opt_sum.o records.o filesort.o handler.o ha_partition.o debug_sync.o sql_db.o sql_table.o sql_rename.o sql_crypt.o sql_load.o mf_iocache.o field_conv.o sql_show.o sql_udf.o sql_analyse.o sql_cache.o slave.o sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utility.o rpl_injector.o rpl_rli.o rpl_mi.o rpl_reporting.o sql_union.o sql_derived.o sql_client.o repl_failsafe.o sql_olap.o sql_view.o gstream.o spatial.o sql_help.o sql_cursor.o tztime.o my_decimal.o sp_head.o sp_pcontext.o sp_rcontext.o sp.o sp_cache.o parse_file.o sql_trigger.o event_scheduler.o event_data_objects.o event_queue.o event_db_repository.o events.o sql_plugin.o sql_binlog.o sql_builtin.o sql_tablespace.o partition_info.o sql_servers.o event_parse_data.o mini_client_errors.o pack.o client.o my_time.o my_user.o  ./.libs/libndb.a -lpthread -lthread -lpthread -lthread -lpthread -lthread -lpthread -lthread /usr/local/lib/libstdc++.so -L/sol10/SOURCES/I10/gcc-3.4.6/objdir/i386-pc-solaris2.10/libstdc++-v3/src -L/sol10/SOURCES/I10/gcc-3.4.6/objdir/i386-pc-solaris2.10/libstdc++-v3/src/.libs -lm -lm -lm -L/sol10/SOURCES/I10/gcc-3.4.6/objdir/gcc -L/usr/local/i386-pc-solaris2.10/bin -L/usr/local/i386-pc-solaris2.10/lib -L/usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6 -L/usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/../../../../i386-pc-solaris2.10/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/../../.. -lgcc_s -lgcc_s -lm -lgcc_s -lgcc_s ../storage/csv/libcsv.a ../storage/heap/libheap.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz -ldl -lpthread -lthread -lposix4 -lsocket -lnsl -lm -lpthread -lthread -Wl,-R -Wl,/usr/local/lib -Wl,-R -Wl,/usr/local/lib
ld: warning: file /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/../../../libstdc++.so: linked to /usr/local/lib/libstdc++.so: attempted multiple inclusion of file

[hosting:/src/mysql-5.1.60/sql] #







(make 가 이상없이 끝나면)


# make install     




컴파일중 많은 에러가 있을수 있습니다..........
제가 해결했던 방법중 하나는 gcc (컴파일러)를 다른 버젼 (구버젼) 으로 재설치 해서 컴파일에 성공했답니다...........




간혹 ./configure 하다 크로스 컴파일링 에러가 떨어지는경우 다음과 같이 해보세요..

configure 작업시 cross compiling error가 발생하는 경우는 거의 90%가 환경변수인
LD_LIBRARY_PATH에 라이브러리 경로가 추가되지 않아서 생기는 현상이라고 보시면 될것 같습니다.

자신이 로긴하여 쓰고 있는 쉘이 무엇인지 확인하시고   (#  echo $SHELL)
/bin/sh 이거나 /bin/ksh이면  ~/.profile 에
/bin/csh 또는 /bin/tcsh 이면 ~/.cshrc  파일을 열어서 아래의 줄을 추가하세요.




* 다음은 sh 과 ksh을 기준으로 한것입니다. *
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH



* 다음은 csh을 기준으로 한것입니다. *

##############################################################
setenv LD_INCLUDE_PATH /usr/local/include:/usr/dt/include:/usr/include:/usr/openwin/include
setenv LD_LIBRARY_PATH /usr/lib:/usr/local/lib:/usr/local/X11/lib:/usr/dt/lib:/usr/openwin/lib

export path MANPATH LD_INCLUDE_PATH LD_LIBRARY_PATH
##############################################################





make 와 make install 을 실행한 후에 데이터베이스 디렉토리가 생성되지 않으므로,
다음과 같은 명령을 실행하여 db 디렉토리를 생성해 주어야 합니다.

(데이타베이스 설치가 끝난후 mysql_install_db 명령을 다음과 같이 한번만 실행한다.)


# /usr/local/mysql/bin/mysql_install_db

이 명령은 설치후 단 한번만 하는 명령으로 기초테이블 6개가 설치된다.
(`user', `db', `host', `tables_priv', `columns_priv' and `func')


설치과정은 다음과 같다.

Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h photo password 'new-password'

Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

The latest information about MySQL is available at http://www.mysql.com/
Support MySQL by buying support/licenses from http://shop.mysql.com/







User & Group & 퍼미션 설정



# vi /etc/passwd <-- mysql User (예, uid=1011)를 생성해 주어야 합니다.....

mysql:x:1011:1011:Mysql_User:/usr/local/mysql:/bin/csh



# vi /etc/group <-- mysql Group (예, gid=1011)을 생성해 주어야 합니다.....

mysql::1011:mysql



# chown -R mysql:mysql /usr/local/mysql ;  chmod -R 755 /usr/local/mysql/var





마지막으로 safe_mysqld 명령으로 mysql 데몬을 가동시켜 주고,

데이터베이스를 종료하고자 할때는 mysqladmin 명령을 이용하여 셧다운 하시면 됩니다..............


# /usr/local/mysql/bin/mysqld_safe &        ;   start Command   (mysql 4.X  Version 이상)





참고,


mysql 3.X  Version 은 다음과 같이 실행한다.

# /usr/local/mysql/bin/safe_mysqld &        ;   start Command   (mysql 3.X  Version)






(mysql 프로세서 확인)


# ps -ef |grep mysql

   root 17674 17607   0 18:21:42 pts/3       0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
   root 17721 10340   0 18:23:57 pts/2       0:00 grep mysql
  mysql 17711 17674   0 18:21:42 pts/3       0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local




참고 ,  Mysql Server Version 보는 명령...   

(mysqladmin은 mysql 데몬이 실행되거나 실행되지 않은 상태 모두 확인 가능합니다.)

# /usr/local/mysql/bin/mysqladmin -V

/usr/local/mysql/bin/mysqladmin  Ver 8.42 Distrib 5.1.60, for pc-solaris2.10 on x86_64






(사용자 패스워드 변경하기)

; 참고로 mysql 데몬이 떠있을때 [기동중일때] 패스워드 변경이 가능합니다.


# mysqladmin -u root -p password 'root'  (enter)

Enter password: (enter)  ;  mysql DB 유저인 "root" 의 초기 패스워드를 물어보는 것으로 enter  치시면 됩니다.
(mysql DB 초기 패스워드는 없습니다.)







(mysql 데몬 종료)

# /usr/local/mysql/bin/mysqladmin -uroot -proot shutdown  (stop Command)









###############################
start, stop 스크립트 만들기 !!!
###############################



# vi /usr/local/mysql/bin/start.sh

echo
/usr/local/mysql/bin/mysqld_safe &
echo
sleep 2
echo
echo
echo
echo "    ********************** "
echo "    현재 Mysql Daemon 확인 "
echo "    ********************** "
echo
ps -ef |grep mysql |grep -v grep
echo
echo
echo


:wq!





# vi /usr/local/mysql/bin/stop.sh

echo
/usr/local/mysql/bin/mysqladmin -uroot -proot shutdown
echo
sleep 2
echo
echo
echo
echo "    ********************** "
echo "    현재 Mysql Daemon 확인 "
echo "    ********************** "
echo
ps -ef |grep mysql |grep -v grep
echo
echo
echo


:wq!





# chmod 744 /usr/local/mysql/bin/*.sh










##########################
2.  Apache Web_Server 설치
##########################


다음과 같이 ./configure를 실행합니다..


# ./configure \
--prefix=/usr/local/apache \
--with-perl=/usr/local/bin/perl \
--enable-rewrite \
--enable-charset-lite \
--enable-modules=so \
--enable-speling=shared \
--enable-rewrite=shared



# make



# make install









############
3.  php 설치
############


다음과 같이 ./configure 를 실행합니다..


# ./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--with-exec-dir=/usr/local/apache/bin \
--with-jpeg-dir=/usr \
--enable-mod-charset=utf-8 \
--with-gd \
--with-zlib \
--without-pear \
--enable-mbstring \
--disable-debug



(--enable-mbstring 옵션은 한글 멀티바이트 처리를 위해서 추가했습니다.)




아래 configure 는 참고만 하세요 ^^


./configure --prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-mysql-dir=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--with-zlib-dir=/usr/lib \
--with-gdbm=/usr/lib \
--with-libidn=/usr/local \
--with-freetype-dir=/usr \
--with-libxml-dir=/usr \
--with-jpeg-dir=/usr \
--enable-mod-charset \
--with-language=utf-8 \
--with-charset=utf-8 \
--with-gettext \
--with-ldap \
--with-db \
--with-zlib \
--with-xml \
--with-idn \
--enable-exif \
--enable-trans-sid \
--enable-wddx \
--enable-bcmath \
--enable-magic-quotes \
--enable-calendar \
--enable-ftp \
--enable-gd-imgstrttf \
--enable-bcmath \
--enable-force-cgi-redirect \
--enable-track-vars=yes \
--enable-mbstring \
--enable-mbregex \
--enable-mbstr-enc-trans \
--enable-sigchild \
--enable-idn \
--enable-sockets \
--enable-force-cgi-redirect \
--disable-debug \
--enable-module=so \
--with-iconv \
--with-gd







******
참고 1
******

make install 시에 다음과 같이 pear 관련 오류가 나서 --without-pear 옵션을 추가해 컴파일 했습니다.


(# make install)

Installing PHP SAPI module:       apache
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/man/man1/
Installing PEAR environment:      /usr/local/php/lib/php/
[PEAR] Archive_Tar: Invalid Package File, no <package> tag
[PEAR] Console_Getopt: Invalid Package File, no <package> tag
[PEAR] PEAR: Invalid Package File, no <package> tag
ld.so.1: /src/php-5.3.2/sapi/cli/php: 치명적: 재할당 오류: 파일 /src/php-5.3.2/sapi/cli/php: 기호 xmlRelaxNGCleanupTypes: 참조 기호가 없습니다.
중단됨(Killed)
make[1]: *** [install-pear-installer] Error 137
make: *** [install-pear] Error 2





******
참고 2
******


configure 할때 (소스 컴파일시 필요한 패키지들의) 의존성에 걸려서 error 가 떨어질때가 있습니다.


gd

libgcc

libiconv

libpng

libxml

libxml2

zlib


위 패키지들을 소스 컴파일 하기 전에 해당 서버에 설치하시면 일반적으로 발생할수 있는 configure error 는 사전에 없앨수 있습니다.




*****************************************************************************************

다음은 썬프리웨어 사이트에서 확인한 내용입니다.

두번째줄을 참고하여 의존성에 걸리는 패키지들을 설치해 주시면 됩니다.


Libxml2 is the XML C library developed for the Gnome project - installs in /usr/local.

libxml2 requires that the zlib, libiconv, and either libgcc or gcc packages be installed.

*****************************************************************************************



* 의존성에 걸리는 error 들이 많으니 컴파일시 위 패키지를 모두 미리 설치해 놓는것도 좋고

error 가 날때 로그를 분석해서 해당 패키지를 설치해도 된다.





******
참고 3
******

make 시 다음과 같은 에러 발생할 경우

.lo Zend/zend_API.lo Zend/zend_extensions.lo Zend/zend_hash.lo Zend/zend_list.lo \
Zend/zend_indent.lo Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo Zend/zend_ini.lo \
Zend/zend_qsort.lo Zend/zend_multibyte.lo Zend/zend_ts_hash.lo Zend/zend_stream.lo Zend/zend_iterators.lo \
Zend/zend_interfaces.lo Zend/zend_exceptions.lo Zend/zend_strtod.lo Zend/zend_objects.lo Zend/zend_object_handlers.lo \
Zend/zend_objects_API.lo Zend/zend_mm.lo Zend/zend_default_classes.lo Zend/zend_reflection_api.lo Zend/zend_execute.lo =
sapi/cli/php_cli.lo sapi/cli/php_cli_readline.lo sapi/cli/getopt.lo main/internal_functions_cli.lo \
-lmysqlclient -lz -lresolv -lm -ldl -lnsl -lsocket -lgcc -lxml2 -lz -liconv -lm -lsocket -lnsl -lxml2 -lz -liconv \
-lm -lsocket -lnsl -lxml2 -lz -liconv -lm \
-lsocket -lnsl -lxml2 -lz -liconv -lm -lsocket -lnsl  -o sapi/cli/php

Output line too long.
Output line too long.
Output line too long.

ld: fatal: file ext/mbstring/libmbfl/: unknown file type
ld: fatal: File processing errors. No output written to a.out
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1


; 이 에러는 "Output line too long" 메시지로 알수있는데

Makefile 에서 라이브러리 경로가 상당히 긴 부분에서 걸리는 문제입니다.


sed 패키지를 설치하신후  make clean --> configure 부터 다시 하시면 에러없이 make 될것입니다.







이상 없이 끝났다면




# make




# make install





이것으로 소스 컴파일 과정은 모두 끝났습니다...................










*************************
Apache Config 파일 수정 !
*************************



아파치 컴파일이 끝난 후에 마지막으로 php source 디렉토리에 있는 php.ini-dist 파일을

앞서 configure에서 지정해준 디렉토리로 php.ini 파일로 복사하여야 합니다.



# cp /src/php-5.3.2/php.ini-production /usr/local/apache/conf/php.ini



# chmod 744 /usr/local/apache/conf/php.ini



# vi /usr/local/apache/conf/php.ini

(이파일을 열어서 아래 세팅값을 참고하여 수정 및 추가합니다.)




; register_globals = Off      --> 요즘은 보안상의 이유로 사용 안하더라고요 ^^;  참고만.....


default_charset = "utf-8"      ---> 추가


short_open_tag = On       ---> 수정   (이부분을 On 으로 해줘야 phpinfo 명령을 통해 인터넷 브라우저에서 phpinfo 를 볼 수 있다)


; max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_execution_time = 0     ; Maximum execution time of each script, in seconds


; max_input_time = 60   ; Maximum amount of time each script may spend parsing request data
max_input_time = 120    ; Maximum amount of time each script may spend parsing request data


; memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)
memory_limit = 512M      ; Maximum amount of memory a script may consume (128MB)



(중간 생략)

; Maximum size of POST data that PHP will accept.
; post_max_size = 8M
post_max_size = 1024M       ---> 수정   (이부분을 원하는 파일 업로드 용량으로 수정)



(중간 생략)

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
upload_tmp_dir = /tmp

; Maximum allowed size for uploaded files.
upload_max_filesize = 1024M       ---> 수정   (이부분을 원하는 파일 업로드 용량으로 수정)



(중간 생략)

; Default timeout for socket based streams (seconds)
; default_socket_timeout = 60
default_socket_timeout = 120




참고

Call-time pass-by-reference 오류를 해결하기 위해 다음을 설정



; allow_call_time_pass_reference = Off
allow_call_time_pass_reference = On







:wq!












<설정시 참고 사항 !!>



1. PHP 는 기본 업로드 용량이 2M로 제한되어 있습니다.

아래 두 파일을 수정하면 원하는 사이즈로 변경할 수 있습니다.

post_max_size = 1024M       ---> 수정   (이부분을 원하는 파일 업로드 용량으로 수정)
upload_max_filesize = 1024M       ---> 수정   (이부분을 원하는 파일 업로드 용량으로 수정)




2. php.ini 파일 설정시 다음을 참고 하셔서 수정하세요.  웹서버 속도와 관련 있습니다.


memory_limit  >>  post_max_size  >>  upload_max_filesize



(관련 사이트)

http://www.wowunix.com/cgi-bin/CrazyWWWBoard.cgi?mode=read&num=25&db=zeroboard&backdepth=1








이렇게 하신후 제대로 셋팅이 되었나 확인하기 위해 test.php를 만듭니다.


# vi /usr/local/apache/htdocs/test.php

<?
phpinfo();
?>



:wq!










<httpd.conf 설정>




# vi /usr/local/apache/conf/httpd.conf


   ServerRoot "/usr/local/apache"

   Listen 80 <--- 원하는 웹서비스 포트

   User daemon <--- Default User
   Group daemon <--- Group 확인

   ServerAdmin istims@hanmail.net <--- 관리자 이메일 주소

   ServerName www.wowunix.com:80 <--- 서버 이름 (Domain 또는 Server-IP)

   (or)

   ServerName 192.168.0.10:80

   DocumentRoot "/usr/local/apache/htdocs"    <--- Main index (html) 가 위치할 디렉토리


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 

   # This should be changed to whatever you set DocumentRoot to.
   #

   <Directory "/usr/local/apache/htdocs">  <--- 아파치 웹서버에서 perl (cgi) 를 사용하기 위한 설정1
   #
   # Possible values for the Options directive are "None", "All",
   # or any combination of:
   #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
   #
   # Note that "MultiViews" must be named *explicitly* --- "Options All"
   # doesn't give it to you.
   #
   # The Options directive is both complicated and important.  Please see
   # http://httpd.apache.org/docs/2.2/mod/core.html#options
   # for more information.
   #
   Options Indexes FollowSymLinks

   #
   # AllowOverride controls what directives may be placed in .htaccess files.
   # It can be "All", "None", or any combination of the keywords:
   #   Options FileInfo AuthConfig Limit
   #
   # AllowOverride None
   AllowOverride All  <--- None 을 All 로 바꿔 줍니다.

   #
   # Controls who can get stuff from this server.
   #
   Order allow,deny
   Allow from all

</Directory>


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


   #
   # DirectoryIndex: sets the file that Apache will serve if a directory
   # is requested.
   #
   <IfModule dir_module>
       DirectoryIndex index.htm index.html index.php
   </IfModule>

   (사용자가 정의하는 Default 확장자 설정)


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


   AddType application/x-tar .tgz
   AddType image/x-icon .ico
   AddType application/x-httpd-php .php .php3 .php4 .php5 .htm .html .phtml .ph
   AddType application/x-httpd-php-source .phps
  
   AddType application/x-httpd-php .php


   # 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 command (see below)
   #
   # If you want to use server side includes, or CGI outside
   # ScriptAliased directories, uncomment the following lines.
   #
   # To use CGI scripts:
   #
   AddHandler cgi-script .cgi            <--- 아파치 웹서버에서 perl (cgi) 를 사용하기 위한 설정2 (주석을 풀어줍니다.)


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>




########################
# Virtual Host Setting #
########################
###########################################################################################
# 인클루드 함수를 써서 conf 디렉토리에 있는 vhosts.conf 로 Virtual Host 를 세팅한다........
###########################################################################################

# Include conf/vhosts.conf



:wq!









(참고)

Virtual Host를 사용할 경우 위 Include conf/vhosts.conf 부분 왼쪽에 있는 주석(#) 을 풀어 주셔야 아래 vhosts.conf 가 적용됩니다.






아파치 "버추얼-호스트 (VirtualHost)" 파일 생성




# vi /usr/local/apache/conf/vhosts.conf

########################################
# /usr/local/apache/conf/vhosts.conf
########################################

########################################
# 다음은 VirtualHost 에 관한 설정입니다.
########################################



NameVirtualHost 192.168.0.10


########################################
# wowunix.com 에 대한 Virtual Host 설정.
########################################

<VirtualHost 192.168.0.10>
ServerAdmin     istims@hanmail.net
ServerName      wowunix.com
DocumentRoot    /usr/local/apache/htdocs/vhosts/wowunix.com
ErrorLog        /usr/local/apache/logs/error_log
CustomLog       /usr/local/apache/logs/access_log combined
</VirtualHost>

<VirtualHost 192.168.0.10>
ServerAdmin     istims@hanmail.net
ServerName      www.wowunix.com
DocumentRoot    /usr/local/apache/htdocs
ErrorLog        /usr/local/apache/logs/error_log
CustomLog       /usr/local/apache/logs/access_log combined
</VirtualHost>

<VirtualHost 192.168.0.10>
ServerAdmin     istims@hanmail.net
ServerName      mail.wowunix.com
DocumentRoot    /usr/local/apache/htdocs/vhosts/wowunix.com/mail
ErrorLog        /usr/local/apache/logs/error_log
CustomLog       /usr/local/apache/logs/access_log combined
</VirtualHost>

<VirtualHost 192.168.0.10>
ServerAdmin     istims@hanmail.net
ServerName      sol44.wowunix.com
DocumentRoot    /usr/local/apache/htdocs/vhosts/wowunix.com/sol44
ErrorLog        /usr/local/apache/logs/error_log
CustomLog       /usr/local/apache/logs/access_log combined
</VirtualHost>



:wq!










   <다음은 아파치 웹서버 옵션입니다.  강력추천! 합니다~>




~~~ 한글 URL 서비스를 위한 Apache mod_url (한글 인식 모듈) 설치하기[초강추] ~~~


(한글 인식 모듈 설치는 제 홈페이지에서도 보실 수 있습니다.)

출처 : http://www.wowunix.com/cgi-bin/CrazyWWWBoard.cgi?mode=read&num=1140&db=solaris&backdepth=1




Apache 에서는 기본적으로 한글 인식이 되지 않습니다.


이는 아래 예시처럼 실제 한글.html 파일이 해당 경로에 있어도 Read 되지 않는다~ 라는 말입니다.

(ex) http://www.test.com/한글.html


Apache에서의 한글파일 인식 문제를 해결하기 위해 mod_url 이라는 Apache 모듈이 나오게 되었습니다.

몇 가지 절차만 거치면 손 쉽게 모듈 설치가 완료 되니 끝까지 따라해 보시기 바랍니다.


.......................................... (생략)



제 홈페이지에 적용해 봤는데 잘 됩니다.

참고로 Apache 웹서버 설치시 DSO 로 컴파일 되어 있어야 합니다. ^^

확인하는 방법은 다음과 같습니다.

(맨 밑에 mod_so.c 이 보이시면 DSO 로 설치된 것으로 보시면 됩니다. ^^)



[www:/] #   httpd -l

Compiled in modules:
 core.c
 mod_authn_file.c
 mod_authn_default.c
 mod_authz_host.c
 mod_authz_groupfile.c
 mod_authz_user.c
 mod_authz_default.c
 mod_auth_basic.c
 mod_include.c
 mod_filter.c
 mod_charset_lite.c
 mod_log_config.c
 mod_env.c
 mod_setenvif.c
 mod_version.c
 prefork.c
 http_core.c
 mod_mime.c
 mod_status.c
 mod_autoindex.c
 mod_asis.c
 mod_cgi.c
 mod_negotiation.c
 mod_dir.c
 mod_actions.c
 mod_userdir.c
 mod_alias.c
 mod_so.c






우선 위 사이트에서 알려준 mod_url 설치 파일을 다운 받습니다.


- 아래 URL로 이동 후, 적합한 버전을 다운 받습니다.

- http://caos.kldp.net/export/rss20_download.php?group_id=490

- 저는 mod_url 최신버전인 2.1.15 버전을 다운받았습니다.

(위에서 말씀 드린 제 홈페이지에서도 파일 다운 받으실 수 있습니다. ^~)


- wget http://caos.kldp.net/frs/download.php/4855/mod_url-apache2-1.15.tar.bz2





mod_url 설치 파일을 설치할 서버에 올리고 mod_url 모듈을 Apache 서버에 설치(LoadModule) 합니다.


[www:/src/mod_url-apache2.1.15] #   ls

./            Changelog     Makefile.in   config.m4     mod_url.exp
../           GNUmakefile   README        mod_url.c     win32/



[www:/src/mod_url-apache2.1.15] #   ls -l

drwxr-xr-x   4 root     root         512 12월 13일  19:09 ./
drwxr-xr-x  10 root     root        1024 12월 15일  17:36 ../
drwxr-xr-x   2 root     root         512 12월 13일  19:09 .libs/
-rw-r--r--   1 root     root        1502 12월 12일  00:48 Changelog
-rw-r--r--   1 root     root         323 12월 12일  00:48 GNUmakefile
-rw-r--r--   1 root     root          96 12월 12일  00:48 Makefile.in
-rw-r--r--   1 root     root        3272 12월 12일  00:48 README
-rw-r--r--   1 root     root         817 12월 12일  00:48 config.m4
-rw-r--r--   1 root     root       22949 12월 12일  00:48 mod_url.c
-rw-r--r--   1 root     root          14 12월 12일  00:48 mod_url.exp
-rw-r--r--   1 root     root         793 12월 13일  19:09 mod_url.la
-rw-r--r--   1 root     root         312 12월 13일  19:09 mod_url.lo
-rw-r--r--   1 root     root       38072 12월 13일  19:09 mod_url.o
-rw-r--r--   1 root     root           0 12월 13일  19:09 mod_url.slo
drwxr-xr-x   2 root     root         512 12월 12일  00:48 win32/



[www:/src/mod_url-apache2.1.15] #   /usr/local/apache/bin/apxs -iac mod_url.c

/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -g -O2 -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include   -c -o mod_url.lo mod_url.c && touch mod_url.slo
mod_url.c: In function `check_redurl_iconv':
mod_url.c:299: warning: passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/apache/build/libtool --silent --mode=link gcc -o mod_url.la  -rpath /usr/local/apache/modules -module -avoid-version    mod_url.lo
/usr/local/apache/build/instdso.sh SH_LIBTOOL='/usr/local/apache/build/libtool' mod_url.la /usr/local/apache/modules
/usr/local/apache/build/libtool --mode=install cp mod_url.la /usr/local/apache/modules/
cp .libs/mod_url.so /usr/local/apache/modules/mod_url.so
chmod +x /usr/local/apache/modules/mod_url.so
cp .libs/mod_url.lai /usr/local/apache/modules/mod_url.la
cp .libs/mod_url.a /usr/local/apache/modules/mod_url.a
chmod 644 /usr/local/apache/modules/mod_url.a
ranlib /usr/local/apache/modules/mod_url.a
----------------------------------------------------------------------
Libraries have been installed in:
 /usr/local/apache/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
 - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
   during execution
 - use the `-RLIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/apache/modules/mod_url.so
[activating module `redurl' in /usr/local/apache/conf/httpd.conf]


[www:/src/mod_url-apache2.1.15] #




httpd.conf 에 redurl_module 이 추가 된 것을 확인 합니다. ^^

- apxs 를 이용한 설치는 httpd.conf 설정파일에 모듈 관련 내용이 자동으로 추가가 됩니다. (확인만)


............................

LoadModule redurl_module      modules/mod_url.so






마지막으로 httpd.conf 맨 마지막에 다음을 추가해 줍니다.


###############################
# mod_url 한글 인식 모듈 설치 #
###############################

<IfModule mod_url.c>
CheckURL On
</IfModule>






설치는 끝났습니다.

Apache 웹서버를 restart 하신 후 한글 URL 서비스가 되는지 확인해 보시면 됩니다.


참고로 한글뿐 아니라 일본어 등 영어가 아닌 다른 언어도 잘 됩니다....  정말 좋네요 ^^~









#################
# Apache Tuning #
#################


Timeout    300

# Timeout은 클라이언트에서 서버로 접속할 때 클라이언트나 서버의 통신장애로 인해 300초 동안 클라이언트에서
# 완벽한 처리를 하지 못할 때 클라이언트와의 연결을 해제한다.


KeepAlive  On

# 서버와의 지속적인 연결을 하도록 설정되어 있다. 즉 한번의 연결에 대해 한번의 요청만 처리하는 것이 아니라 또
다른
# 요청을 기다리게 된다. 하지만 지속적인 연결 시간은 KeepAliveTimeout 값에 설정한 만큼 유지된다.
# KeepAlive를 Off로 설정하게 되면 클라이언트로 부터 한번의 요청을 받은 후 바로 접속을 해제한다.
# 특별한 경우가 아니라면 On 상태로 유지하는 것이 좋다.


MinSpareServers  10

# 아파치가 실행될 때 최소 예비 프로세스 수를 설정한다. 이 값에 의해 현재 nobody 소유의 아파치 프로세스가 5보

# 작을 경우 자동으로 부족한 만큼의 아파치 프로세스 생성한다.
# 8 정도 설정하는 것이 적당하다.
# 접속자가 많은 경우는 10~15 정도로 설정하자.


MaxSpareServers  20

# 아파치가 실행될 때 최대 예비 프로세스 수를 설정한다. 이 값에 의해 현재 nobody 소유의 아파치 프로세스가 10
보다
# 클 경우 불필요한 프로세스를 제거한다.
# 20 정도 설정하는 것이 적당하다.
# 접속자가 많은 경우는 40-50 으로 설정하자.


StartServers  10

# 아파치가 실행될 때 생성 시키는 자식 프로세스 수이다.
# 하지만 이 값이 MinSpareServers 값보다 작을 경우 아파치 실행 후에 바로 MinSpareServers 의 설정만큼 생성하기

# 때문에 아무런 의미가 없게 된다. StartServer 값과 MinSpareServers 값은 같은 값을 설정하는것이 바람직하다.


MaxClients  150

# 아파치 서버의 동시 접속자 수를 정의한다.
# 최대 값은 256이다.
# 256 이상의 값을 설정하고 싶을 때는 아파치 소스의 httpd.h 헤어 파일의 HARD_SERVER_LIMIT 부분을 수정하고
# 아파치를 다시 컴파일 해야 된다.






이것으로 httpd.conf 설정은 다 끝났습니다.










**********************
아파치 Config 문법검사
**********************


# /usr/local/apache/bin/apachectl configtest

Syntax OK







********************
[[ Apache Restart ]]
********************


# /usr/local/apache/bin/apachectl stop


# /usr/local/apache/bin/apachectl start



OR



다음과 같이 스크립트를 만들어서 편하게 사용하면 된다............



# vi /usr/local/apache/bin/start.sh

echo
echo
echo

/usr/local/apache/bin/apachectl start

sleep 2

echo
echo
echo "  ************************************************************************"
echo "  ************************************************************************"
ps -ef |grep httpd |grep -v grep
echo "  ************************************************************************"
echo "  ************************************************************************"
sleep 2

echo
echo "  모두 `pgrep httpd |grep -v grep |wc -l` 개의 Apache Processor 가 Running 중입니다.............!!!! "
echo
echo
echo



:wq!







# vi /usr/local/apache/bin/stop.sh

echo
echo
echo

/usr/local/apache/bin/apachectl stop
sleep 2

echo
echo
echo "  ************************************************************************"
echo "  ************************************************************************"
ps -ef |grep httpd |grep -v grep
echo "  ************************************************************************"
echo "  ************************************************************************"
sleep 2

echo
echo "  모두 `pgrep httpd |grep -v grep |wc -l` 개의 Apache Processor 가 Running 중입니다.............!!!! "
echo
echo
echo


:wq!






# chmod 744 /usr/local/apache/bin/*.sh











######################
4.  apache-tomcat 설치
######################



Tomcat 이란?? 가장 유명한 무료 JSP Servlet Container 입니다. (jsp 해석기라고 보시면 됩니다. ^^)


참고로 Tomcat 설치는 압축을 푸는 것 만으로 완료 됩니다.(바이너리 파일을 사용할 경우 ^^)



바이너리 파일을 웹에서 다운 받으시거나 아래 제가 운영하는 웹서버에서 다운 받아 작업 하시면 됩니다. ^^

http://nas.wowunix.com/down/APM_src/

http://nas.wowunix.com/down/set/tomcat/bin/





다운받은 apache-tomcat 패키지 파일을 /usr/local 디렉토리에 가서 풉니다.

[www:/usr/local] #   ls -l
총 12076
drwxr-xr-x  25 root     root        1024 12월 14일  13:45 ./
drwxr-xr-x  42 root     sys         1024 12월 11일  10:50 ../
-rw-r--r--   1 root     root     7459741 12월 14일  13:44 apache-tomcat-7.0.23.tar.gz
............................
............................




# gzip -d apache-tomcat-7.0.23.tar.gz



# tar xvf apache-tomcat-7.0.23.tar



[www:/usr/local] #   ls -l
총 12076
drwxr-xr-x  25 root     root        1024 12월 14일  13:45 ./
drwxr-xr-x  42 root     sys         1024 12월 11일  10:50 ../
drwxr-xr-x   9 root     root         512 12월 14일  13:45 apache-tomcat-7.0.23/
-rw-r--r--   1 root     root     7459741 12월 14일  13:44 apache-tomcat-7.0.23.tar.gz
............................
............................





심볼릭 링크를 걸어 /usr/local/tomcat 디렉토리를 다음과 같이 생성합니다.



[www:/usr/local] #   ln -s ./apache-tomcat-7.0.23 ./tomcat



ls 하면 다음과 같이 심볼릭 링크가 생성 됬을 겁니다.

lrwxrwxrwx   1 root     root          22 12월 14일  13:46 tomcat -> ./apache-tomcat-7.0.23/





그리고 다음과 같이 tomcat-users.xml 파일을 열어 맨 마지막에 Tomcat Manager Application의 사용자 이름(admin)과 암호(admin)를 등록해 줍니다.

이것은 나중에 tomcat 설치후 웹브라우저 상에서 Administration(Status & Tomcat Manager)를 접속하기 위한 암호입니다.



[www:/usr/local/tomcat/conf] #   cat tomcat-users.xml

(중간생략)
..................................................

<tomcat-users>
<!--
 NOTE:  By default, no user is included in the "manager" role required
 to operate the "/manager" web application.  If you wish to use this app,
 you must define such a user - the username and password are arbitrary.
-->
<!--
 NOTE:  The sample user and role entries below are wrapped in a comment
 and thus are ignored when reading this file. Do not forget to remove
 <!.. ..> that surrounds them.
-->
<!--
 <role rolename="tomcat"/>
 <role rolename="role1"/>
 <role rolename="manager"/>
<!--
 <user username="tomcat" password="tomcat" roles="tomcat"/>
 <user username="both" password="tomcat" roles="tomcat,role1"/>
 <user username="role1" password="tomcat" roles="role1"/>
<!--
 <user username="admin" password="admin" roles="manager"/>
-->

</tomcat-users>






######################
5.  JK Connector 설치
######################

JK Connector 란? - Apache + Tomcat 연동 프로그램


[참고1] JK2 Connector 는 2004.11. 이후 개발 및 지원 중단되어 더이상 사용되지 않으므로 JK2 가 최신버전인 것으로 오해하지 않도록 주의. (deprecated)

[참고2] JK1.2.21 버전과 JK1.2.23 버전에서 중요한 보안 업데이트가 이루어 졌으므로 반드시 1.2.24 이상의 최신버전을 사용해야 한다. 최신버전을 사용하고 있지 않다면 반드시 업데이트 해야한다.



JK 설치에는 두 가지 방법이 있는데,

하나는 일반적인 컴파일로 jk_mod.so 생성 후 아파치 모듈 디렉토리에 복사하고 설정파일에도 추가하는 동적모듈방식이고,

다른 하나는 아파치를 설치하기 이전에 아파치 소스에 포함하여 아파치 설치 때 자동으로 설치되는 정적모듈방식이다.

이중 두번째 방식이 성능이 좋으나 Apache2.2 에서 아직 지원되지 않고 있기 때문에 동적모듈방식으로 작업합니다.



소스 파일을 apache.org 사이트에서 직접 다운 받으시거나 아래 제 웹서버에서 다운 받아 작업 하시면 됩니다. ^^

http://nas.wowunix.com/down/APM_src/

http://nas.wowunix.com/down/set/tomcat/tomcat-connectors/jk

http://mirror.apache-kr.org/tomcat/tomcat-connectors/jk/





다운받은 JK Connector 소스 파일을 웹서버 작업 디렉토리(/usr/local)에 올린후 압축을 풉니다.

[www:/usr/local] #   ls -l
총 12076
drwxr-xr-x  25 root     root        1024 12월 14일  13:45 ./
drwxr-xr-x  42 root     sys         1024 12월 11일  10:50 ../
-rw-r--r--   1 root     root     1545588 12월 14일  14:30 tomcat-connectors-1.2.32-src.tar.gz
............................
............................



# gzip -d tomcat-connectors-1.2.32-src.tar.gz


# tar xvf tomcat-connectors-1.2.32-src.tar



[www:/usr/local] #   ls -l
총 12076
drwxr-xr-x  25 root     root        1024 12월 14일  13:45 ./
drwxr-xr-x  42 root     sys         1024 12월 11일  10:50 ../
drwxr-xr-x   9 root     bin          512  7월  2일  14:47 tomcat-connectors-1.2.32-src/
-rw-r--r--   1 root     root     1545588 12월 14일  14:30 tomcat-connectors-1.2.32-src.tar.gz

............................
............................




# cd tomcat-connectors-1.2.32-src/



# cd native



# ./configure --with-apxs=/usr/local/apache/bin/apxs


..................................

configure: creating ./config.status
config.status: creating Makefile
config.status: creating apache-1.3/Makefile
config.status: creating apache-1.3/Makefile.apxs
config.status: creating apache-2.0/Makefile
config.status: creating apache-2.0/Makefile.apxs
config.status: creating common/Makefile
config.status: creating common/list.mk
config.status: creating common/jk_types.h
config.status: creating jni/Makefile
config.status: creating common/config.h
config.status: common/config.h is unchanged
config.status: executing depfiles commands
[hosting:/usr/local/tomcat-connectors-1.2.32-src/native] #





# make




# cp ./apache-2.0/mod_jk.so /usr/local/apache/modules/


make 명령으로 생성된 mod_jk.so 를 apache/modules 에 복사해 넣는 것으로 JK Connector 작업은 끝났습니다. ^^






환경변수(.cshrc)에 /usr/local/jk 를 CONNECTOR_HOME 변수로 선언해서 사용하기 위해 심볼릭 링크를 설정합니다.

(참고로 현재 작업 디렉토리는 /usr/local 입니다.)



# ln -s ./tomcat-connectors-1.2.32-src ./jk











apache/conf/httpd.conf 설정에 다음을 추가 합니다. ^^



# vi httpd.conf

............................
............................


# index.jsp 를 추가합니다.

DirectoryIndex index.htm index.html index.php index.jsp








######################
# JK Connection 설정 #
######################

LoadModule jk_module modules/mod_jk.so
JkWorkerProperty worker.list=ajp13
JkWorkerProperty worker.ajp13.type=ajp13
JkWorkerProperty worker.ajp13.host=localhost
JkWorkerProperty worker.ajp13.port=8009
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkMount /*.jsp ajp13
JkMount /*.jspx ajp13
JkMount /*.XXX ajp13






참고로 위 마지막줄은 원하는 JSP 파일 확장자를 추가하는 부분으로

/usr/local/tomcat/conf/web.xml (line:368) 위치에 다음과 같이 같은 확장자를 설정해주면 된다. (필수 아닌 선택입니다.)



<servlet-mapping>
   <servlet-name>jsp</servlet-name>
   <url-pattern>*.jsp</url-pattern>
   <url-pattern>*.jspx</url-pattern>
   <url-pattern>*.XXX</url-pattern>
</servlet-mapping>






JK Connection 설정은 이것으로 마칩니다.









OS 유저(root)의 환경변수에 다음과 같이 설정합니다.


예) tomcat의 User 는 root 이고 쉘은 c shell(~/.cshrc)을 사용한다고 가정하겠습니다.




# vi ~/.cshrc


....................................


############################################
#  Java & Tomcat  Environment Setting 설정 #
############################################

##############################################################
setenv path "/usr/java/bin:$path"

setenv JAVA_HOME /usr/java
setenv CONNECTOR_HOME /usr/local/jk

setenv TOMCAT_HOME /usr/local/tomcat
setenv CATALINA_HOME /usr/local/tomcat
setenv CATALINA_OPTS "-server"

export path JAVA_HOME TOMCAT_HOME CATALINA_HOME CONNECTOR_HOME
##############################################################






참고로 korn shell 일 경우는 setenv 대신에 아래와 같이 설정하시면 됩니다. ^^


예)

export JAVA_HOME=/usr/java

export PATH=$PATH:$JAVA_HOME/bin







마지막으로 start, stop 스크립트를 다음과 같이 생성합니다.



# vi /usr/local/tomcat/bin/start.sh

echo
echo
echo

/usr/local/tomcat/bin/catalina.sh start

sleep 3

echo
echo
echo "  ************************************************************************"
echo "  ************************************************************************"
ps -ef |grep java |grep tomcat
echo "  ************************************************************************"
echo "  ************************************************************************"
sleep 3

echo
echo "  모두 `ps -ef |grep java |grep tomcat |wc -l` 개의 Apache-Tomcat Processor 가 Running 중입니다.............!!!! "
echo
echo
echo



:wq!







# vi /usr/local/tomcat/bin/stop.sh

echo
echo
echo

/usr/local/tomcat/bin/catalina.sh stop
sleep 3

echo
echo
echo "  ************************************************************************"
echo "  ************************************************************************"
ps -ef |grep java |grep tomcat
echo "  ************************************************************************"
echo "  ************************************************************************"
sleep 3

echo
echo "  모두 `ps -ef |grep java |grep tomcat |wc -l` 개의 Apache-Tomcat Processor 가 Running 중입니다.............!!!! "
echo
echo
echo



:wq!






# chmod 744 /usr/local/tomcat/bin/*.sh




Apache 데몬(Default Port : 80)과 Tomcat(Default Port : 8080) 데몬이 정상으로 올라오면 웹브라우저로 다음과 같이 확인할수 있습니다.


http://web-server-ip(Full-domain-name)   [enter]
http://web-server-ip(Full-domain-name)/test.php  [enter]   
http://web-server-ip(Full-domain-name)/index.htm [enter]

http://web-server-ip(Full-domain-name):8080  [enter]
http://web-server-ip(Full-domain-name):8080/index.jsp [enter]   
http://web-server-ip(Full-domain-name):8080/index.html [enter]



그리고 apache-tomcat의 홈 디렉토리는 $CATALINA_HOME/webapps/ROOT/ 입니다.

여기서 $CATALINA_HOME은 위에서 setenv 명령으로 shell 에 /usr/local/tomcat으로 설정해 두었습니다.

(위에서 c-shell 을 사용한다고 가정하고 setenv CATALINA_HOME /usr/local/tomcat 으로 설정했음)





Tomcat의 Default Port(8080) 설정을 바꾸고 싶으실 때는 /usr/local/tomcat/conf/server.xml 에서

Connector port를 원하시는 포트로 변경후 사용하시면 됩니다.



참고로 connector excutor는 변경하지 않으셔도 됩니다. ^^



   <!-- A "Connector" represents an endpoint by which requests are received
        and responses are returned. Documentation at :
        Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
        Java AJP  Connector: /docs/config/ajp.html
        APR (HTTP/AJP) Connector: /docs/apr.html
        Define a non-SSL HTTP/1.1 Connector on port 8080
   -->
   <Connector port="8080" protocol="HTTP/1.1"  <==== 이 부분만 원하시는 포트로 수정!!
              connectionTimeout="20000"
              redirectPort="8443" />
   <!-- A "Connector" using the shared thread pool-->
   <!--
   <Connector executor="tomcatThreadPool"
              port="8080" protocol="HTTP/1.1"
              connectionTimeout="20000"
              redirectPort="8443" />
   -->





apache-tomcat 설치 및 config 설정 끝~.









##########################
# 제로보드XE (zbxe) 설정 #
##########################


패키지 다운로드 사이트

http://www.xpressengine.com/download


저는 "XpressEngine 게시판 패키지 1.5.1.2" 를 설치하였습니다.



[www:/usr/local/apache/htdocs] #   ls -l

-rw-r--r--   1 root     root     6077207  1월 12일  03:43 xe.1.5.1.2.ko.zip






[www:/usr/local/apache/htdocs] #   unzip xe.1.5.1.2.ko.zip



[www:/usr/local/apache/htdocs] #   ls -l

-rw-r--r--   1 root     root     6077207  1월 12일  03:43 xe.1.5.1.2.ko.zip
drwxr-xr-x  13 root     root         512 12월 15일  11:37 xe/





[www:/usr/local/apache/htdocs] #   mv xe xe.1.5.1.2.ko





[www:/usr/local/apache/htdocs] #   ln -s ./zbxe_board_package.1.5.1.2.ko ./zbxe






[www:/usr/local/apache/htdocs] #   ls -l

lrwxrwxrwx   1 root     root          15  1월 12일  03:53 zbxe -> ./xe.1.5.1.2.ko/





제로보드XE (zbxe) 설치를 위한 작업은 끝났습니다.  웹브라우져에서 아래 설치 주소로 접속해서 설치(install) 하시면 됩니다.


설치 주소 : http://web-server-ip(Full-domain-nam)/zbxe



제로보드XE (zbxe) 설치시 입력한 정보는 다음과 같습니다.

*********************************
hostname = localhost
SQL User ID = root
password = root
DB Name = db_zbxe
Admin User/Password = admin/admin
*********************************



주소란에

http://web-server-ip(Full-domain-nam)/zbxe/?module=admin
http://web-server-ip(Full-domain-nam)/zbxe/index.php?module=admin

http://web-server-ip(Full-domain-nam)/zbxe/admin          (rewrite mod 사용시)

으로 접속, admin / admin 으로 로그인한 다음 게시판 생성후 사용하시면 됩니다.

그리고 초기 admin 패스워드(admin) 변경하셔서 사용해 주세요.




<mod_rewrite 설정에 대한 질문>

http://www.zeroboard.com/?mid=zbxe_qna&search_target=title&search_keyword=rewrite&document_srl=12146225





참고로 설치되어 있는 Mysql Database를 보려면........


#  mysql -uroot -proot

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 584
Server version: 5.1.60 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql> show databases ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_gnuboard4       |
| db_zbxe            |
| db_zbxe_cafe       |
| mysql              |
| test               |
+--------------------+
6 rows in set (0.00 sec)






지금까지 Sun Solaris10 x86-x64 Intel/AMD 64Bit System -  APM 설치를 모두 마치겠습니다.





*********************************************************************************************************
위 APM 문서는 여러가지 형태의 재 배포가 가능합니다만 반드시 출처를 알린후 배포해 주시면 감사하겠습니다.

참고로 APM 설치 문서의 저작권은 "와우유닉스(wowunix By Cho Seong Hwan)" 에 있습니다.
*********************************************************************************************************




이전: 시놀로지 NAS 서버를 apache Indexes 옵션을 주어 사용하고 싶을때 [강추]
다음: 웹서버에서 발생하는 Error Code [강추]
2012/01/12(16:43) from 121.189.168.76
CrazyWWWBoard 2000

Vote Reply Modify Forward Prev Next List

(c) Nobreak Technologies, Inc.