Solaris 11.3 + Oracle 11.2.0.4.0 + Apache 2.4.57 + php 7.4.33

Solaris 11.4 (11.4.42.111.0)¿¡¼­´Â Apache°¡ 2.4°¡ ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ´Ù. Á¤È®È÷ Apache 2.4.51 ÀÌ ¼³Ä¡µÇ¾î ÀÖÀ½. ±×¸®°í php´Â ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ¸¹Ç·Î 7.4.32 versionÀ» ¼³Ä¡ÇÏ¿© »ç¿ëÇÒ °æ¿ì ¹®Á¦¾øÀÌ ¼³Ä¡µÇ°í Àß ÀÛµ¿ µÈ´Ù.

ÇÏÁö¸¸, Solaris 11.3 ¿¡¼­´Â Apache 2.2 (2.2.31)°¡ ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ°í, ¿©±â¿¡ ¡°php 7.4.32¡±¸¦ ¼³Ä¡ÇÒ °æ¿ì ÄÄÆÄÀÏ Error°¡ ¹ß»ýÇÑ´Ù. ±×·¡¼­ ¡°Apache-2.4.57¡±À» º°µµ·Î ¼³Ä¡ÇÏ°í ¡°php-7.4.33¡±À» ¼³Ä¡Çϵµ·Ï ÇÑ´Ù.

ÇÊ¿äÇÑ Package

1.     Oracle Instant Client 11.2.0.4

ü   instantclient-basic-solaris.x64-11.2.0.4.0

ü   instantclient-sdk-solaris.x64-11.2.0.4.0

2.     Apache 2.4.57

ü   httpd-2.4.57 (apache 2.4.57)

ü   apr-1.7.4

ü   apr-util-1.6.3

3.     PHP 7.4.33

ü   php-7.4.33

 Package download

1.      Oracle instant client

¡°oracle.com¡±¿¡¼­ ÇØ´ç versionÀÇ package¸¦ ´Ù¿î¹Þ¾Æ $ORACLE_BASE¿¡¼­ unzipÀ¸·Î ¾ÐÃàÀ» Ç®¸é ¡°instantclient_11_2¡±¶ó´Â µð·ºÅ丮°¡ »ý±â°í ±× ¾Æ·¡¿¡ S/W°¡ ¼³Ä¡µÈ´Ù.

¡°oracle¡± user·Î ÀÛ¾÷

Ex) Oracle$ cd $ORACLE_BASE

   Oracle$ pwd

   /oracle

   Oracle$ unzip instantclient-basic-solaris.x64-11.2.0.4.0.zip

   Oracle$ unzip instantclient-sdk-solaris.x64-11.2.0.4.0.zip

Oracle$ cd /oracle/instantclient_11_2

2.      Apache

https://httpd.apache.org/download.cgi#apache24 ¿¡¼­ ¡°httpd-2.4.57.tar.bz2¡± download

https://apr.apache.org/download.cgi ¿¡¼­ ¡°apr-1.7.4.tar.bz2¡±, ¡°apr-util-1.6.3.tar.bz2¡± download

¡°root¡±·Î °¢ ´Ù¿î¹ÞÀº fileÀ» ÀÓÀÇÀÇ µð·ºÅ丮¿¡¼­ ¾ÐÃàÇØÁ¦

Ex) # mkdir httpd

   # cd httpd

   # tar xvf httpd-2.4.57.tar.bz2

   # tar xvf apr-1.7.4.tar.bz2

   # tar xvf apr-util-1.6.3.tar.bz2

3.      Php

https://www.php.net/releases/ ¿¡¼­ PHP 7.4.33 (tar.bz2)¸¦ Download

¡°root¡±·Î °¢ ´Ù¿î¹ÞÀº fileÀ» ÀÓÀÇÀÇ µð·ºÅ丮¿¡¼­ ¾ÐÃàÇØÁ¦

# cd httpd

# tar xvf php-7.4.33.tar.bz2

# cd ..

# chown -R root:root httpd

¼³Ä¡ÇÑ file, directoryÀÇ user, groupÀ» root. root·Î ¸ÂÃçÁØ´Ù.

 

Package Install

1.       Oracle Instant Client ´Â º°µµÀÇ Install(¼³Ä¡)°úÁ¤ ¾øÀÌ »ç¿ë.

2.       Apache

¸ÕÀú apr, apr-util, httpd(apache) ¼ø¼­´ë·Î ¼³Ä¡ÇÏ°í ¡°64bit (ELF 64-bit LSB executable AMD64 Version 1 )¡±·Î ¼³Ä¡Çϰí InstantclientÀÇ library¸¦ ÂüÁ¶ÇϱâÀ§ÇØ ¡°.profile¡±¿¡ º¯¼ö¸¦ setting

# vi .profile

CFLAGS=-m64; LDFLAGS=-m64; CXXFLAGS=-m64; CC=gcc; CXX=g++

export CFLAGS CC CXX LDFLAGS CXXFLAGS

LD_LIBRARY_PATH=/oracle/instantclient_11_2:/oracle/oracle/lib:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

$ . .profile

A.      Apr Install

# cd /root/httpd/apr-1.7.4

# ./configure --prefix=/usr/local/apr-1.7.4

# make

# make install

B.       Apr-util install

# cd /root/httpd/apr-util-1.6.3

# ./configure --prefix=/usr/local/apr-util-1.6.3 --with-apr=/usr/local/apr-1.7.4

# make

# make install

C.       Httpd(apache) install

# vi /usr/local/apr-1.7.4/build-1/libtool

¾Æ·¡¿Í °°ÀÌ ¼öÁ¤

427 # The commands to list exported symbols.

    428 #export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"

    429 export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe  \$SED 's/.* //' | sort | uniq > \$export_symbols"

# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr-1.7.4 --with-apr-util=/usr/local/apr-util-1.6.3

# make

# make install

Libtool fileÀ» ¼öÁ¤ÇÏÁö ¾ÊÀ¸¸é ´ÙÀ½°ú °°Àº error ¹ß»ý

/usr/local/apr-1.7.4/build-1/libtool[1888]: eval: syntax error at line 1: `|' unexpected

*** Error code 3

make: Fatal error: Command failed for target `mod_sed.la'

¼³Ä¡°¡ µÇ¸é SMF·Î µî·ÏÀÌ ¾ÈµÇ¾î ÀÖÀ¸¹Ç·Î ¡°svcadm¡±¸í·É¾î·Î ÀÛµ¿/ÁßÁö ½Ãų ¼ö ¾ø°í ¡°apachectl¡±·Î ÀÛµ¿½ÃŲ´Ù. ±×¸®°í ÀÛµ¿½Ã۱â Àü¿¡ ¡°80¡± port°¡ ±âº»À̹ǷΠ´Ù¸¥ ¾îÇø®ÄÉÀ̼ǰú Ãæµ¹µÉ ¼ö ÀÖÀ¸¹Ç·Î ´Ù¸¥ port¹øÈ£·Î ¼öÁ¤ÇÑ´Ù. (11500¹øÀ» »ç¿ëÇϱâ·Î ÇÔ)

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

Listen 11500

# cd /usr/local/apache2/bin

# ./apachectl start

# ps -ef |grep httpd  # apache µ¿ÀÛÈ®ÀÎ

 

3.       PHP

php-7.3.32 package·Î ¼³Ä¡Çϸé makeÇÒ ¶§ ´ÙÀ½°ú °°Àº error ¹ß»ý

# make

Undefined                       first referenced

 symbol                             in file

_tsrm_ls_cache                      ext/standard/.libs/info.o

executor_globals_offset             ext/standard/.libs/info.o

tsrm_api_name                       ext/standard/.libs/info.o

tsrm_env_lock                       ext/standard/.libs/info.o

tsrm_env_unlock                     ext/standard/.libs/info.o

ld: fatal: symbol referencing errors

collect2: error: ld returned 1 exit status

 

php-7.4.33·Î ¼³Ä¡ÇØ¾ß ÇÑ´Ù.

#./configure --prefix=/usr/local/php74 --with-oci8=instantclient,/oracle/instantclient_11_2 --with-apxs2=/usr/local/apache2/bin/apxs --with-openssl  --with-curl

# make

# make install

# ln -s /usr/local/php74 /usr/local/php

# cp php.ini-development  /usr/local/php/lib

Apache ÀÇ httpd.conf ÆÄÀÏ¿¡ php ºÎºÐ ÷°¡

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

LoadModule php7_module        modules/libphp7.so

AddType application/x-httpd-php  .php

AddType application/x-httpd-php-source  .phps

 

# cd /usr/local/apache2/bin

# ./apachectl  stop

# ./apachectl  start

 

2023. 7. 6 sdhur