ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


¸®´ª½º¿¡¼­ PHP, JSP, Servlet¼³Ä¡
13³â Àü
oracle 8.1.6 R2    
MySQL-3.22.32-1
apache 1.3.12    
php 4.0.2    
gd 1.8.3(jpeg zlib ÇÊ¿ä)    
tomcat 3.1(src·Î ¹ÞÁö ¸»°í binÀ¸·Î µÈ °ÍÀ» ´Ù¿î)    

¸ðµç ¼³Á¤Àº /etc/profile.d/myset.sh¿¡ ÀúÀåÇϱâ·Î ÇÑ´Ù.    
/etc/profile.dµð·ºÅ丮¿¡ ³õÀÌ´Â ÆÄÀÏÀº ½ÇÇàÆ۹̼ÇÀÌ ÀÖÀ¸¸é ºÎÆýà   
½ÇÇàµÇ°Ô µÈ´Ù. myset.shÀÇ ±ÇÇÑÀº 755¸ðµå·Î ÇØ¾ß ÇÑ´Ù.    



ÀÚ¹Ù¼³Ä¡
ÀÌ´Â /usr/java¿¡ ¼³Ä¡µÈ´Ù.    
javasoft¿¡¼­ ±âÁ¸ Blackdown¿¡¼­ ÇÏ´ø ¸®´ª½ºÆ÷ÆÃÀ» Çϸ鼭    
¼Ö¶ó¸®½º¿Í °°Àº ¹æ½ÄÀ¸·Î µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù.    
¼³Ä¡µÈ °÷Àº rpm -ql jdk·Î ¾Ë ¼ö ÀÖ´Ù.    
(rpm -qf /usr/java/jdk1.3/bin/java·Î½ÇÇàÆÄÀÏÀÌ ¾î´À RPMÆÐŶÁö¿¡¼­ ³ª¿Â °ÇÁö ¾Ë ¼öÀÖ´Ù.)    

chmod 755 j2sdk-1_3_0-linux-rpm.sh    
./j2sdk-1_3_0-linux-rpm.sh
rpm -ivh j2sdk-1_3_0-linux.rpm    

myset.sh¿¡ ÀÚ¹Ù¸¦ Ãß°¡ÇÏÀÚ    
export PATH=$PATH:/usr/java/jdk1.3/bin    




¿À¶óŬ ¼³Ä¡(Oracle for Linux 8i 8.1.6 Release 2)  
ÀÌ ¹öÀüÀº »ç½Ç ¼³Ä¡½Ã ¹ö±×°¡ ÀÖ´Ù.    
JREÀÇ ¹®Á¦°¡ ¾Æ´Ò±î ½ÍÀºµ¥ UIºÎºÐ¿¡ À־ inconsistentÇÏ°Ô    
core dump°¡ ¹ß»ýÇÑ´Ù. º»ÀÎÀº Xmanager¸¦ »ç¿ëÇØ °Ü¿ì ¾î·Æ°Ô    
¼³Ä¡¿¡ ¼º°øÇß´Ù.    

·çÆ®·Î ½ÇÇà    
ÀÏ´Ü ¿À¶óŬÀ» Ç®ÀÚ    
tar xvzf oracle8161_tar.gz -C /usr/local/src/oracle    
cd /usr/local/src/oracle/Oracle8iR2    

Oracle»çÀÇ OFA(Oracle Flexible Architecture)¿¡ µû¶ó    
/u01À» ¸¶¿îÆ® Æ÷ÀÎÆ®·Î »ï¾Ò´Ù.    
µð½ºÅ© ÇϳªÂ¥¸® ¸®´ª½º¶ó u02, u03..½ÄÀ¸·Î ¸¸µéÁø ¸øÇß´Ù. ÂÁ..    

cd /    
mkdir u01    
cd u01    
mkdir app    
cd app    
mkdir oracle    
cd oracle    
mkdir product    
cd product    
mkdir 8.1.6    
cd 8.1.6    

ÈÄ..
ORACLE_HOMEÀÎ /u01/app/oracle/product/8.1.6À» ¸¸µé¾ú´Ù.    
ORACLE_BASE´Â /u01/app/oracle·Î ÁöÁ¤ÇÑ´Ù.    
ÀÌ ³ðÀ» ¿À¶óŬ¼³Ä¡¿¡ °ü·ÃµÇ ±×·ìÀÎ oinstallÀÌ ¼ÒÀ¯ÇÏ°Ô ¸¸µç´Ù.    
ÀÌÀü¿¡´Â oinstallÀ̶ó´Â ±×·ìÀÌ ¾ø¾ú´Âµ¥ ¿À¶óŬ 8iR2ºÎÅÍ ÀÌ oinstallÀ̶ó´Â    
±×·ìÀÌ ³ªÅ¸³µ´Ù. ¸Å´º¾ó»óÀ¸·Î´Â ¿À¶óŬ ÇÁ·Î±×·¥ÀÇ ¼³Ä¡,°»½ÅµîÀ»    
´ã´çÇÑ´Ù°í ÇÑ´Ù.    

¿À¶óŬ »ç¿ëÀÚ/±×·ì»ý¼º    
dba(SYSDBA, OSDBA)¿Í oinstall±×·ìÀ» ¸¸µé°í dba´Â »ç¿ëÀÚ oracleÀÇ Secondary Group,    
oinstallÀº »ç¿ëÀÚoracleÀÇ Primary GroupÀ¸·Î ¸¸µç´Ù.    
oracle»ç¿ëÀÚÀÇ È¨µð·ºÅ丮¸¦ ORACLE_HOMEÀ¸·Î ¸¸µéÁö ¸»¶ó°í ±Ç°íÇϴµ¥    
¹ø°Å·Ó°íÇؼ­ ±×³É ¿©±â·Î ÁöÁ¤Çß´Ù.(¾Æ¹« »ó°üÀº ¾ø´Ù)    

groupadd dba    
groupadd oinstall    
useradd -d /u01/app/oracle/product/8.1.6 -g oinstall -G dba oracle    

/u01ÀÌÇÏ µð·ºÅ丮¸¦ oracle»ç¿ëÀÚ¿Í oinstall±×·ìÀÇ ¼ÒÀ¯·Î ¸¸µç´Ù.    
chown -R oracle:oinstall /u01    

Àû±â Èûµé´Ù. ÀÌÇÏ ¼³¸íÀÌ ÇÊ¿ä¾ø´Ù°í »ý°¢µÇ¸é »ý·«ÇÏ°Ú´Ù.    
À½.. ¹«Áö¸·ÁöÇϱº..    

ÀÌÁ¦ myset.sh¿¡´Â ´ÙÀ½°ú °°ÀÌ ¹Ì¸® ¼³Á¤ÇØ µÎÀÚ.    

myset.shÀÇ ³»¿ë    
# Java ¼³Á¤    
export JAVA_HOME=/usr/java/jdk1.3/jre    

# Oracle ¼³Á¤    
ORACLE_OWNER=oracle
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/8.1.6
NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
ORACLE_SID=piruks
ORACLE_DOC=$ORACLE_BASE/doc

LD_LIBRARY_PATH=$ORACLE_HOME/lib
#CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:$ORACLE_HOME/JRE
CLASSPATH=$JAVA_HOME/jre
TNS_ADMIN=$ORACLE_HOME/network/admin    # tnsnames.ora°¡ À§Ä¡ÇÏ´Â °÷ ÁöÁ¤    
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
EDITOR=vi

export ORACLE_OWNER ORACLE_BASE ORACLE_HOME NLS_LANG ORA_NLS33 ORACLE_SID ORACLE_DOC    
export LD_LIBRARY_PATH CLASSPATH TNS_ADMIN PATH EDITOR    

export PATH=$PATH:/usr/java/jdk1.3/bin    


¿À¶óŬ¼³Ä¡ÇÏÀÚ
cd ~oracle    
source /etc/profile.d/myset.sh    
./orainstRoot.sh

ÀÚ¹ÙVM¿¡¼­ ½ÇÇàµÇ´Â ¼³Ä¡È­¸é ½ÃÀÛ    
ÂÁ.. »ý·«ÇÒ¶õ´Ù.    
À½.. ¸Ç óÀ½ ³ª¿À´Â ±×·ìÀº oinstall·Î ÁöÁ¤ÇÏ°í    
±× ´ÙÀ½ Á¶±Ý µÚ¿¡ ³ª¿À´Â ±¸·ì¿¡¼­´Â dba,dba·Î ÁöÁ¤ÇÑ´Ù.    
Âü°í·Î DB»ý¼ºÀº ÇÏÁö ¸»°í ³ªÁß¿¡ dbassist·Î ÇÏ´Â °ÍÀÌ ÁÁ´Ù.    

Âü°í:
ÀÌ ³ðÀÇ ¹öÀüÀº ¹ö±×°¡ ¸¹¾Æ¼­ °ÅÀÇ core dump°¡ ¹ß»ýÇÑ´Ù.    
/u01/app/oracle/product/8.1.6/assistants/dbca/jlibeµð·ºÅ丮 ¾Æ·¡¿¡    
¿¡·¯·Î±×°¡ javacore3613.txt°ú °°ÀÌ ±â·ÏµÈ´Ù.    
¾î¶»°Ô Xmanager·Î ¼³Ä¡ÇÏ´Ï ¾ïÁö·Î µÇ¾ú´Ù.    



MySQL¼³Ä¡
´ÙÀ½°ú °°Àº ÆÄÀÏÀ» ¸ù¶¥ ¼³Ä¡    
MySQL-3.22.32-1.i386.rpm
MySQL-client-3.22.32-1.i386.rpm
MySQL-devel-3.22.32-1.i386.rpm
MySQL-shared-3.22.32-1.i386.rpm

rpm -ivh MySQL-*    

MySQLÀÇ ·çÆ®¾ÏÈ£¸¦ ¼³Á¤    
/usr/bin/mysqladmin -u root password 'xxxxxxxx'    




¾ÆÆÄÄ¡, PHP, GD, ..¼Ò½ºÇ®±â  
tar xvzf apache_1.3.12.tar.gz -C /usr/local/src    
tar xvzf php-4.0.2.tar.gz -C /usr/local/src    
tar xvzf gd-1.8.3.tar.gz -C /usr/local/src    
tar xvzf jpegsrc.v6b.tar.gz /usr/local/src    
tar xvzf jakarta-tomcat.tar.gz -C /usr/local (src¿¡ Ç®Áö¸¶!)    

GD´Â libpng, zlib, jpeg ¶óÀ̺귯¸®¸¦ ¿ä±¸ÇÑ´Ù.    
libpng, zlib´Â rpmÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ¾ú´Ù.    
GDÀÇ READMEÆÄÀÏÀ» ÂüÁ¶ÇØ ÀÚ¾Ë~ ¼³Ä¡ÇÑ´Ù.    

cd /usr/local/src    
[root@piruks src]# l -1    
apache_1.3.12
gd-1.8.3
jpeg-6b
php-4.0.2



jpeg¼³Ä¡
cd jpeg-6b/    
./configure
make
make install    


gd¼³Ä¡
make
make install    
cp: cannot create regular file `/usr/local/include/gd.h': No such file or directory    
chmod: /usr/local/include/gd.h: No such file or directory    
make: *** [install] Error 1    

¿¡·¯°¡ ³­´Ù. À½.. ¾ø´Ù°í ÇÏ´Ï »ý¼ºÇÏÀÚ    
mkdir /usr/local/include    
make install    




¾ÆÆÄÄ¡¼³Ä¡(DSO·Î ¼³Ä¡)  
./configure \    
--prefix=/usr/local/apache \    
--enable-module=most \    
--enable-shared=max

make
make install    

myset.shÀÇ PATH¿¡ ¾ÆÆÄÄ¡ÀÇ °æ·Î¸¦ µî·ÏÇÑ´Ù.    
export PATH=$PATH:/usr/java/jdk1.3/bin:/usr/local/apache/bin    

Âü°í(Configure»ç¿ë) -------------------------------------    
--enable-module
¾ÆÆÄÄ¡¿Í ÇÔ²² ¹èÆ÷µÇ¾îÁø(¾ÆÆÄÄ¡ tarball¿¡ µ¿ºÀµÈ) ¸ðµâÀ» enable½ÃÅ´    
¾ÆÆÄÄ¡ tarball¿¡ ÀÖ´Â ¸ðµâÁß¿¡ default·Î ¼³Ä¡µÇ´Â ¸ðµâÀÌ ÀÖ°í default·Î    
¼³Ä¡µÇÁö ¾Ê´Â ¸ðµâÀÌ ÀÖ´Ù.    
value·Î´Â mod_perlÀ̶ó¸é mod_¸¦ Á¦¿ÜÇÑ perlÀ» ÁöÁ¤ÇØÁØ´Ù.    
value¿¡´Â À§Ã³·³ ÁöÁ¤µÈ ¸ðµâ¸íÀ» Á¤È®ÇÏ°Ô ÀûÁö¾Ê°í all, most¸¦ ÀûÀ» ¼ö ÀÖ´Ù.    
all: ¾ÆÆÄÄ¡¹èÆ÷½Ã ³»ÀåÇÑ ¸ðµç ¸ðµâÀ» »ç¿ëÇÏ°Ú´Ù´Â Àǹ̠   
most:°¡¿ëÇÑ ¸ðµç ¸ðµâÀ» »ç¿ëÇÏ°Ú´Ù´Â Àǹ̠   
(all¿¡¼­ OSÀÇÁ¸ÀûÀ̸ðµâµîÀ» Á¦°Å ¿¹:auth_db, ..)    


--enable-shared
shared object support(DSO)¸¦ enableÇÑ´Ù´Â Àǹ̠   
ÀÌ ¿É¼ÇÀÇ »ç¿ëÀº ÀÚµ¿ÀûÀ¸·Î '--enable-module=so'¸¦ »ç¿ëÇÑ´Ù´Â Àǹ̸¦ °¡Áø´Ù.    
max        so¸ðµâÀ» Á¦¿ÜÇÑ ¸ðµç ¸ðµâÀ» DSO·Î ÇÏ°ÚÀ½    
remain        ?(Çؼ®ÀÌ ¾ÈµÊ)    

(¿¹Á¦)
--enable-module=rewrite \         // rewrite¸ðµâ(mod_rewrite)À» DSO·Î ¼³Ä¡    
--enable-shared=rewrite


(Áß¿ä)
Â÷ÈÄ, ¾ÆÆÄÄ¡ÀÇ DSO+APXS¸ÞÄ¿´ÏÁòÀ» ÀÌ¿ëÇØ thiry-party¸ðµâÀ» ¼³Ä¡ÇÒ ÀÏÀÌ ÀÖ´Ù¸é,    
¹Ýµå½Ã enable-module=so¸¦ ÇØÁà¾ß ÇÑ´Ù.    




PHP¼³Ä¡(DSO·Î ¼³Ä¡)
PHP¿¡ ¿À¶óŬ, MySQL, GDÁö¿øÀ» ÇÏ°Ô ÄÄÆÄÀÏÇÏÀÚ    

cd ../php-4.0.2/    
./configure \    
--with-apxs=/usr/local/apache/bin/apxs \    
--with-gd \    
--with-mysql \    
--with-oci8

make
make install    
cp php.ini-dist /usr/local/lib/php.ini    


¾ÆÆÄÄ¡¿¡ PHP¼³Á¤À» µî·ÏÇÏÀÚ    
cd /usr/local/apache/conf    
vi httpd.conf    
AddType application/x-httpd-php .php <-À̺κÐÀ» ÁÖ¼®ÇØÁ¦    

¾ÆÆÄÄ¡ ½ÃÀÛ    
apachectl start    


APACHE´Â µ¿Àû, PHP´Â Á¤ÀûÀ¸·Î ÄÄÆÄÀÏÇϱâ(PART2)
[root@ns apache_1.3.12]# ./configure --prefix=/usr/local/apache --enable-module=so
[root@ns apache_1.3.12]# cd ../php-4.0.3pl1
[root@ns php-4.0.3pl1]# ./configure \
> --with-mysql \
> --with-oci8 \
> --with-gd \
> --with-apache=../apache_1.3.12 \
> --enable-track-vars
..»ý·«
[root@ns php-4.0.3pl1]# make
[root@ns php-4.0.3pl1]# make install
[root@ns php-4.0.3pl1]# cd ../apache_1.3.12
[root@ns apache_1.3.12]# ./configure --prefix=/usr/local/apache \
> --activate-module=src/modules/php4/libphp4.a \
> --enable-module=so
[root@ns apache_1.3.12]# make
[root@ns apache_1.3.12]# make install
[root@ns apache_1.3.12]# cd ../php-4.0.3pl1
[root@ns php-4.0.3pl1]# cp php.ini-dist /usr/local/lib/php.ini
[root@ns php-4.0.3pl1]# cd ../../apache/conf/
[root@ns conf]# vi httpd.conf
  AddType application/x-httpd-php .phpºÎºÐÀ» ÁÖ¼®ÇØÁ¦




PHPÅ×½ºÆ®
/usr/local/apache/htdocs/test.php¸¦ »ý¼ºÇÏ¿© ´ÙÀ½°ú °°ÀÌ Àû´Â´Ù.    
phpinfo();

À¥ºê¶ó¿ìÀú¸¦ ¿­¾î Á¦´ë·Î ½ÇÇàµÇ´ÂÁö È®ÀΠ   
http://localhost/test.php



¿À¶óŬ ¿¬µ¿ Å×½ºÆ®  
¿À¶óŬ¿¡¼­ system»ç¿ëÀÚ·Î ·Î±×ÀÎÇÏ¿© kangÀ̶ó´Â »ç¿ëÀÚ¸¦ »ý¼ºÇÑ´Ù    

sqlplus system/manager    

create user kang identified by merong    
default tablespace users    
temporary tablespace temp    
profile default  
/

grant connect, resource to kang;    
/


kangÀ̶ó´Â »ç¿ëÀÚ·Î ´ÙÀ½À» ½ÇÇà    
sqlplus kang/merong    

creat table test    
(
        name varchar2(10);    
        age number(2)    
)
/

insert into test values ('°­¸í±Ô', 27)    
/


/usr/local/apache/htdocs/test_oracle.php¸¦ »ý¼ºÇÏ¿© ´ÙÀ½°ú °°ÀÌ Àû´Â´Ù.    
<html>
<body>
¿À¶óŬ Å×½ºÆ® Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ºÒ·¯¿É´Ï´Ù<br>    
<?
        $sql = "select name, age from test";    
        $conn = ocilogon("kang", "merong");    
        $stmt = ociparse($conn, $sql);    
        ociexecute($stmt);
        ocifetchinto( $stmt, &$col, OCI_ASSOC+OCI_RETURN_NULLS);    

        echo "À̸§: ".$col[NAME]."<br>";    
        echo "³ªÀÌ: ".$col[AGE]."<br>";    

        ocifreestatement($stmt);
        ocilogoff($conn);
?>
</body>
</html>

http://localhost/test_oracle.php¸¦ ½ÇÇà    



MySQL°ú ¿¬µ¿ Å×½ºÆ®  
MySQLÀÇ °£´ÜÇÑ ¿ä¾à    
(µµ¿ò¸»Àº help¸¦ Ä¡¸é ³ª¿À¹Ç·Î °£´ÜÈ÷ ¿ä¾à)    
[oracle@piruks 8.1.6]$ mysql -u root -p mysql    
Enter password:    
Reading table information for completion of table and column names    
You can turn off this feature to get a quicker startup with -A    

Welcome to the MySQL monitor.  Commands end with ; or \g.    
Your MySQL connection id is 5 to server version: 3.22.32    

Type 'help' for help.    

mysql> show databases;    
'+----------+
| Database |    
+----------+
| mysql    |    
| test     |    
+----------+
2 rows in set (0.00 sec)    

mysql> use test;    
Database changed    
mysql> show tables;    
Empty set (0.00 sec)    

mysql> create table test    
    -> (    
    -> name varchar(10),    
    -> age int    
    -> );    
Query OK, 0 rows affected (0.00 sec)    

mysql> insert into test values('°­¸í±Ô', 27);    
Query OK, 1 row affected (0.00 sec)    

mysql> select * from test;    
+--------+------+
| name   | age  |    
+--------+------+
| °­¸í±Ô |   27 |    
+--------+------+
1 row in set (0.01 sec)    

ÀÌÁ¦ kangÀ̶ó´Â »ç¿ëÀÚ¸¦ ¸¸µé¾î ¿ä³ðÀ¸·Î Å×½ºÆ®ÇÏÀÚ.    
mysql> use mysql    
mysql> insert into user ( host, user, password ) values ( 'localhost', 'kang', password('xxxxxx') );    

MySQL¼³Ä¡½Ã ¹Ì¸® ¸¸µé¾îÁ® ÀÖ´Â test¶ó´Â DB¸¦ kang¿¡°Ô ÇÒ´çÇÏÀÚ.    
mysql> update db set user='kang' where db='test';    
Query OK, 1 row affected (0.02 sec)    
Rows matched: 1  Changed: 1  Warnings: 0    

Âü°í>
»õ·Î¿î DB¸¦ »ý¼ºÇÏ¿© »ç¿ëÀÚkang¿¡°Ô ÇÒ´çÀº ´ÙÀ½°ú °°´Ù.    
%> mysql -u root -p mysql    
Enter password:(ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇÑ´Ù.)    
mysql> create database db_chat;    
mysql> insert into db values ( '%', 'db_chat', 'chat_user', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y' );    
mysql> insert into user ( host, user, password ) values ( 'localhost', 'chat_user', password('chat_pass') );    
mysql> FLUSH PRIVILEGES;    
mysql> quit    
%> mysql -u chat_user -p db_chat    

ÀÌÁ¦ PHP¿¡¼­ MySQL¿¬µ¿ Å×½ºÆ®¸¦ ÇÏÀÚ (À½.. Áö°ã±º..)    
test_mysql.php
<html>
<body>
<?
    $connect = mysql_connect( "localhost", "kang", "xxxxxx" ) or die( "Can't access DB" );    
    mysql_select_db( "test", $connect );    

    $query = "select name, age from test";    
    $result = mysql_query( $query, $connect );    
    $row = mysql_fetch_array( $result );    
    $name = $row[name];    
    $age = $row[age];    

    echo "À̸§: $name, ³ªÀÌ: $age";    
    mysql_close();
?>
</body>
</html>

¿©·¯°³ÀÇ row°¡ Á¸Àç½Ã ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.    
<html>
<body>
<?
    $connect = mysql_connect( "localhost", "kang", "xxxxxx" ) or die( "Can't access DB" );    
    mysql_select_db( "test", $connect );    

    $query = "select name, age from test";    
    $result = mysql_query( $query, $connect );    
    $total = mysql_num_rows($result);        // °Ë»öµÈ ¸ðµç ·¹ÄÚµå¼ö    
    for( $i=0; $i<$total; $i++)    
    {
                mysql_data_seek( $result, $i );    
                $row = mysql_fetch_array( $result );    
                echo "[$i] À̸§: $row[name], ³ªÀÌ: $row[age]<br>";    
    }

    mysql_close();
?>
</body>
</html>

GD´Â »ý·«    





Tomcat¼³Ä¡
ÀÏ´Ü ¾ÆÆÄÄ¡¿Í ¿¬µ¿ÇÏ·Á¸é mod_jserv.so°¡ ÇÊ¿äÇѵ¥ À̴    
¹Ì¸® ÄÄÆÄÀÏµÈ °ÍÀÌ jakarta.apache.org¿¡ Á¸ÀçÇÏÁö¸¸    

¸¸¾à tomcatÀÇ ¼Ò½º¸¦ ¼³Ä¡Çß´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¿© ¸¸µé¼öµµ ÀÖ´Ù.    
¸¸¾à jakarta-tomcatÀ» ¼Ò½º·Î ¼³Ä¡ÇÑ´Ù¸é jakarta-antµµ ÇÊ¿äÇÏ´Ù    

cd /usr/local/jakarta-tomcat/src/native/apache/jserv    
apxs -c -o mod_jserv.so *.c    

apxs´Â ¾ÆÆÄÄ¡ÀÇ binµð·ºÅ丮¿¡ Á¸ÀçÇÑ´Ù.    
mod_jserv.so¸¦ /usr/local/apache/libexec¿¡ º¹»çÇÑ´Ù.    

mv mod_jserv.so /usr/local/apache/libexec/    


ÀÌÁ¦ ¼³Á¤À» ÀâÀÚ    
/usr/local/apache/conf/httpd.confÀÇ ¸¶Áö¸· ¶óÀο¡ ´ÙÀ½À» Ãß°¡    

Include /usr/local/jakarta-tomcat/conf/tomcat-apache.conf    

TOMCAT-HOME, JAVA_HOME ȯ°æº¯¼ö¼³Á¤    

# Tomcat ¼³Á¤    
export TOMCAT_HOME=/usr/local/jakarta-tomcat    
# Java ¼³Á¤    
export JAVA_HOME=/usr/java/jdk1.3    

¼³Á¤³¡.



tomcatÅ×½ºÆ®
startup.sh (½ÃÀÛ)    
shutdown.sh(Á¾·á)

http://localhost/examples/jsp/index.html
http://localhost/examples/servlets/index.html

¸¸ÀÏ 8080Æ÷Æ®¸¦ »ç¿ëÇÏÁö ¾Ê°Ú´Ù¸é server.xml¿¡¼­ ´ÙÀ½Ã³·³ ÁÖ¼®Ã³¸®ÇÑ´Ù.  

<!--
        <Connector className="org.apache.tomcat.service.SimpleTcpConnector">  
            <Parameter name="handler" value="org.apache.tomcat.service.http.HttpConnectionHandler"/>  
            <Parameter name="port" value="8080"/>  
        </Connector>
-->


jspÅ×½ºÆ®
jsp¸¦ Å×½ºÆ®Çϱâ À§ÇØ 2°³ÀÇ ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù.


kang.jsp

<!--
        ÀÌ ÆÄÀÏÀº /usr/local/jakarta-tomcat/webapps/test/¿¡ kangÀ̶ó´Â µð·ºÅ丮¸¦ ¸¸µé°í
        kang.jsp·Î ÀúÀåÇÑ´Ù.
-->

<%@ page import="hello.NameHandler" %>

<jsp:useBean id="mybean" scope="page" class="hello.NameHandler" />
<jsp:setProperty name="mybean" property="*" />

<html>
<head><title>JSP¿¹Á¦</title>

<body>

<form method="get">
´ç½ÅÀÇ À̸§Àº?<input type="text" name="username" size="25"><br>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

<%
    if ( request.getParameter("username") != null ) {
%>
        ´ç½ÅÀÇ À̸§Àº <jsp:getProperty name="mybean" property="username" />À̱º¿ä
<% } %>

</body>
</html>



NameHandler.java

// ÀÌ ÆÄÀÏÀº /usr/local/jakarta-tomcat/webapps/test/WEB-INF/classes¿¡ hello¶ó´Â µð·ºÅ丮¸¦
// ¸¸µé°í ¿©±â¿¡ ÆÄÀÏ ÀúÀåÈÄ ÄÄÆÄÀÏÇÑ´Ù.

package hello;

public class NameHandler {

    private String username;

    public NameHandler() {
        username = null;
    }

    public void setUsername( String name ) {
        username = name;
    }

        public String getUsername() {
        return username;
    }
}


´ÙÀ½°ú °°ÀÌ ºê¶ó¿ìÀú¿¡ ÀÔ·ÂÇÑ´Ù.

http://10.0.0.102/test/kang/kang.jsp




ÀÚ¹Ù¿Í MySQL¿¬µ¿Å×½ºÆ®
¾Æ¹«·¡µµ ÂóÂóÇÏ´Ï MySQL°ú Java¿ÍÀÇ ¿¬µ¿µµ Å×½ºÆ®ÇØ º¸ÀÚ
À¥¿¡¼­´Â ¾Ë¾Æ¼­ ÇÏ°í ±×³É ½©»ó¿¡¼­ Å×½ºÆ®ÇÏ°Ú´Ù..  
±ÍÂú¾Æ¼­..



www.mysql.comÀÇ download¸Þ´º¿¡ °¡¸é JDBC¶ó´Â ¸µÅ©°¡ °É¸°µ¥·Î °¡¼­
JDBCµå¶óÀ̹ö¸¦ ´Ù¿î¹Þ´Â´Ù.

[root@piruks /down]# tar xvzf mm.mysql.jdbc-1.2c.tar.gz -C /usr/local

export CLASSPATH=$CLASSPATH:/usr/local/mm.mysql.jdbc-1.2c/:.

ÂÁ..
ÀÌÁ¦±îÁö myset.sh¿¡ µî·ÏÇÑ È¯°æº¯¼ö¸¦ ¾Ë¾Æº¸ÀÚ

[root@piruks htdocs]# cat /etc/profile.d/myset.sh
#!/bin/bash

# Java ¼³Á¤
export JAVA_HOME=/usr/java/jdk1.3

# Oracle ¼³Á¤
ORACLE_OWNER=oracle
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/8.1.6
NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
ORACLE_SID=piruks
ORACLE_DOC=$ORACLE_BASE/doc

LD_LIBRARY_PATH=$ORACLE_HOME/lib
#CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:$ORACLE_HOME/JRE
CLASSPATH=$JAVA_HOME/jre
TNS_ADMIN=$ORACLE_HOME/network/admin    # tnsnames.ora°¡ À§Ä¡ÇÏ´Â °÷ ÁöÁ¤
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
EDITOR=vi

export ORACLE_OWNER ORACLE_BASE ORACLE_HOME NLS_LANG ORA_NLS33 ORACLE_SID ORACLE_DOC
export LD_LIBRARY_PATH CLASSPATH TNS_ADMIN PATH EDITOR

# Tomcat ¼³Á¤
export TOMCAT_HOME=/usr/local/jakarta-tomcat
export CLASSPATH=$CLASSPATH:/usr/local/jakarta-tomcat/lib/servlet.jar
export PATH=$PATH:/usr/java/jdk1.3/bin:/usr/local/apache/bin:/usr/local/jakarta-tomcat/bin

# MySQL JDBC Ãß°¡
export CLASSPATH=$CLASSPATH:/usr/local/mm.mysql.jdbc-1.2c/:.
alias l='ls -l'
alias ll='ls -la'


±×·³ ¾Æ¹« µð·ºÅ丮¿¡¼­ DBTest.java¸¦ ¸¸µé°í ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÏÀÚ
import org.gjt.mm.mysql.*;
import org.gjt.mm.mysql.Connection;
import org.gjt.mm.mysql.Statement;
import org.gjt.mm.mysql.Driver;
import java.sql.*;

public class DBTest
{
    final static String strConn = "jdbc:mysql://localhost:3306/test";
    final static String strDbId = "kang";
    final static String strDbPass = "xxxxxx";

    public static void main(String args[])
    {
        Connection con;
        Statement stmt;
        java.sql.ResultSet rs;
        String sql = "select name, age from test";

        String name=null;
        int age;

        // µå¶óÀ̹ö¸¦ ÀνºÅç/·Îµå(Á¦°øº¥´õ¿¡ µû¶ó »óÀÌÇÏ´Ù.)
        try {
            Class.forName("org.gjt.mm.mysql.Driver");
        } catch(java.lang.ClassNotFoundException e) {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
        }

        try {
            // DB¿ÍÀÇ ¿¬°á(url, »ç¿ëÀÚÀ̸§, »ç¿ëÀÚ¾ÏÈ£)
            con = (Connection) DriverManager.getConnection( strConn, strDbId, strDbPass );
            System.out.println ("SQL Server¿Í ¿¬°áµÇ¾ú½À´Ï´Ù");

            // SQL¹® »ý¼º
            // select´Â executeQueryÁö¸¸ insert, update, deleteµîÀº executeUpdate¸¦ »ç¿ëÇÑ´Ù.
            stmt = (Statement)con.createStatement();
            rs = (java.sql.ResultSet)stmt.executeQuery(sql);

            // Æнº¿öµå¸¦ °¡Á®¿Ô´Ù. rs.next()¾ÈÇØÁ൵ µÇ³ª?
            while(rs.next())
            {
                                name = rs.getString("name");
                                age = rs.getInt("age");
                                System.out.println("À̸§: "+name+", ³ªÀÌ: "+age);
            }
            stmt.close();
            con.close();
        } catch(SQLException ex) {
            System.err.println("==> SQLException: ");
            while (ex != null) {                                                
                                System.out.println("Message:   " + ex.getMessage ());                                                
                                System.out.println("SQLState:  " + ex.getSQLState ());                                                
                                System.out.println("ErrorCode: " + ex.getErrorCode ());                                                
                                ex = ex.getNextException();
            }
        }
    }
}

ÄÄÆÄÀÏ&½ÇÇà
[root@piruks htdocs]# javac DBTest.java
[root@piruks htdocs]# java DBTest
SQL Server¿Í ¿¬°áµÇ¾ú½À´Ï´Ù
À̸§: °­¸í±Ô, ³ªÀÌ: 27
À̸§: °­º´¿í, ³ªÀÌ: 29
[root@piruks htdocs]#
ÃßõÃßõ : 633 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
17
´ÙÁß ¿¬°á Çã¿ë ¼­¹öÀÇ ±¸Çö¹ý (socket programming)
16
¸®´ª½º ¼­¹ö Á¤º¸ È®ÀÎ ¼¿½ºÅ©¸³Æ®
15
¸®´ª½º ¼­¹ö ±¸ÃàÇϱâ - ¸®´ª½ºÆ÷ÅÐ
14
¸®´ª½º¼­¹ö ¹«¾ùÀ» ¼±ÅÃÇÒ °ÍÀΰ¡
13
¸®´ª½º ¼­¹ö À¥°ü¸®Åø Webmin
12
ÀÚÁÖ¾²´Â ¸í·É¾î ¸ðÀ½
11
À¯¿ëÇÑ vi¸í·É¾î
¸®´ª½º¿¡¼­ PHP, JSP, Servlet¼³Ä¡
9
¸®´ª½º ¼­¹ö ¿î¿µ Ãʺ¸ÀÚ¸¦ À§ÇÑ ºÏ¸¶Å©
8
8. ¾ÆÆÄÄ¡(Apache) HTTP ¼­¹ö ¼³Ä¡¿Í ¿î¿µ
7
7. ¸®´ª½º ¼­¹ö ½Ã½ºÅÛ¿¡ ´ëÇÑ ÀÌÇØ
6
6. NFS ¼­ºñ½º
5
5. ¸ÞÀÏ ¼­ºñ½º
4
4. FTP ¼­ºñ½º
3
3. ÅÚ³Ý ¼­ºñ½º(Telnet)
2
2. ¾î¶² ¼­ºñ½º¸¦ Á¦°øÇÒ °ÍÀΰ¡?
1
1. ½ÃÀÛÇÏ´Â À̾߱â
1
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.