cd /root/src; tar xvzf php-5.3.29.tar.gz; cd php-5.3.29


*imap 관련 에러 발생
wget ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz
tar zxvf imap-2007f.tar.gz
cd imap-2007f/src/c-client
cp *.h /usr/local/include/


cd  /usr/local/src/imap-2007f

make lr5 PASSWDTYPE=std SSLTYPE=unix.nopwd EXTRACFLAGS=-fPIC IP=4

mkdir /usr/local/imap-2007f/
mkdir /usr/local/imap-2007f/include/
mkdir /usr/local/imap-2007f/lib/
cp c-client/*.h /usr/local/imap-2007f/include/
cp c-client/*.c /usr/local/imap-2007f/lib/
cp c-client/c-client.a /usr/local/imap-2007f/lib/libc-client.a


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

./configure \
--prefix=/opt/php \
--with-mysql=/opt/mysql \
--with-mysqli=/opt/mysql/bin/mysql_config \
--with-pdo-mysql=/opt/mysql \
--with-apxs2=/opt/apache/bin/apxs \
--with-curl \
--with-gd \
--with-jpeg-dir=/usr \
--with-freetype-dir=/usr \
--with-png-dir=/usr \
--with-xpm-dir=/usr \
--with-zlib \
--with-zlib-dir=/usr \
--with-gdbm \
--with-gettext \
--with-iconv \
--with-openssl \
--with-libxml-dir=/usr/lib \
--with-bz2 \
--with-mcrypt \
--with-imap=/usr/local/imap-2007f
--with-pspell \
--with-snmp \
--with-xmlrpc \
--enable-gd-native-ttf \
--enable-exif \
--enable-ftp \
--enable-magic-quotes \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-soap \
--enable-mbstring=all \
--enable-bcmath \
--enable-zip \
--enable-intl



make -j `grep processor /proc/cpuinfo | wc -l`; make install


*make 시 에러 발생시
에러 내용 :
imap /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/fpm/php] Error 1

해결 :
cd /root/src/php.5.3.29

vim Makefile

EXTRA_LIBS 구문 끝에
-lstdc++ 추가 후 다시 Make 진행

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




cp -f php.ini-production /opt/php/lib/php.ini

perl -i -pe "s/memory_limit = 8M/memory_limit = 128M/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/short_open_tag = Off/short_open_tag = On/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/;date.timezone =/date.timezone = Asia\/Seoul/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/max_file_uploads = 20/max_file_uploads = 30/g" /opt/php/lib/php.ini

cd /root/src/
wget https://pecl.php.net/get/ssh2-1.3.1.tgz
tar xzvf ssh2-1.3.1.tgz
cd ssh2-1.3.1
/opt/php/bin/phpize

./configure --with-php-config=/opt/php/bin/php-config --with-ssh2
./configure --with-php-config=/opt/php/bin/php-config --with-ssh2=/usr/lib64/
ㄴ 위 2개는 에러 발생

yum install libssh2-devel
./configure --with-php-config=/opt/php/bin/php-config --with-ssh2
make -j `grep processor /proc/cpuinfo | wc -l`; make install

vi /opt/php/lib/php.ini
ㄴ extension=ssh2.so 추가 

*정상 설치여부 확인
[root@cobuy-1207 ~/src/ssh2-1.3.1]# php -m | grep ssh       
ssh2

[root@cobuy-1207 ~/src/ssh2-1.3.1]# php -i | grep ssh2
Registered PHP Streams => https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp
libSSH Version => libssh2/1.8.0
ssh2
libssh2 version => 1.8.0
banner => SSH-2.0-libssh2_1.8.0
PWD => /root/src/ssh2-1.3.1
$_SERVER['PWD'] => /root/src/ssh2-1.3.1





*opcache 설치
5.6은 내장되어 있어서, cd /root/src/php-5.6.40/ext/opcache/ 들어간뒤에
/opt/php/bin/phpize

./configure \
--enable-opcache \
--with-php-config=/opt/php//bin/php-config

make
make install

php.ini 추가
[Zend]
zend_extension=/opt/php/lib/php/extensions/no-debug-non-zts-20090626/opcache.so


*ZendGuard Loader 설치
tar -zxvf zend-loader-php5.6-linux-x86_64_update1.tar.gz
cd zend-loader-php5.6-linux-x86_64
cp -a ZendGuardLoader.so /opt/php/lib/php/extensions/

php.ini 추가
zend_extension=/opt/php/lib/php/extensions/ZendGuardLoader.so

[root@~]# php -v
PHP 5.6.40 (cli) (built: Nov  1 2022 13:46:21)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend Guard Loader v3.3, Copyright (c) 1998-2015, by Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies




cd /root/src
wget https://pecl.php.net/get/imagick-3.4.4.tgz
tar -zxvf imagick-3.4.4.tgz
cd imagick-3.4.4

/opt/php/bin/phpize
yum install ImageMagick-devel
./configure --with-php-config=/opt/php/bin/php-config

make
make install

php.ini 추가
extension=imagick.so

[root@~]# php -m | grep ima
imagick




cd /root/src
wget https://pecl.php.net/get/memcached-2.2.0.tgz
tar -zxvf memcached-2.2.0.tgz
cd memcached-2.2.0

/opt/php/bin/phpize
yum install libmemcached-devel
./configure --with-php-config=/opt/php/bin/php-config

make
make install

php.ini 추가
extension=memcached.so

[root@~]# php -m | grep mem
memcached




cd /root/src
wget https://pecl.php.net/get/redis-4.3.0.tgz
tar -zxvf redis-4.3.0.tgz
cd redis-4.3.0

/opt/php/bin/phpize
./configure --with-php-config=/opt/php/bin/php-config

make
make install

php.ini 추가
extension=redis.so

[root@~]# php -m | grep redis
redis






cd /root/src
wget https://pecl.php.net/get/libsodium-1.0.6.tgz
tar -zxvf libsodium-1.0.6.tgz
cd libsodium-1.0.6

/opt/php/bin/phpize
yum install libsodium-devel
./configure --with-php-config=/opt/php/bin/php-config

make
make install

php.ini 추가
extension=libsodium.so

[root@~]# php -m | grep sodium           
libsodium

<기존 php 5.2>
<?php
//error_reporting(E_ALL);
//ini_set('display_errors', 1);

$DB_id = "op_qric";
$DB_pw = "gammac0818" ;
$DB_name = "op_qric";

@$mysql_con = mysql_connect('localhost', $DB_id, $DB_pw);
mysql_select_db($DB_name);

$dir = "main/qric" ;
include_once $_SERVER['DOCUMENT_ROOT'] . "/$dir/lib.php3" ;

$url_flag = $_SERVER['HTTP_HOST'];

// 오렌지메세지에서 발급한 API KEY
$kakao_orange_key = "" ;
$kakao_sender   = "" ;  // 오렌지메세지 사이트에서 등록하신 발신번호를 넣어주세요. ( 하이픈까지 일치해야 합니다 )

$q = " select * from QR_OM_MEMBER order by number desc limit 1 " ;
$r = mysql_query($q);
$WNW = mysql_fetch_array($r);
$WO_company_tel = $WNW[WO_company_tel];

<변경 7.3>
<?php
//error_reporting(E_ALL);
//ini_set('display_errors', 1);

$DB_id = "op_qric";
$DB_pw = "gammac0818" ;
$DB_name = "op_qric";

@$mysql_con = mysqli_connect('localhost', $DB_id, $DB_pw);
mysqli_select_db($mysql_con, $DB_name);

$dir = "main/gammac" ;
include_once $_SERVER['DOCUMENT_ROOT'] . "/$dir/lib.php3" ;

$url_flag = $_SERVER['HTTP_HOST'];

// 오렌지메세지에서 발급한 API KEY
$kakao_orange_key = "" ;
$kakao_sender   = "" ;  // 오렌지메세지 사이트에서 등록하신 발신번호를 넣어주세요. ( 하이픈까지 일치해야 합니다 )

$q = " select * from OM_MEMBER order by number desc limit 1 " ;
$r = mysqli_query($mysql_con, $q);
$WNW = mysqli_fetch_array($r);
$WO_company_tel = $WNW['WO_company_tel'];

rpm -ivh oracle-instantclient-basic-21.4.0.0.0-1.x86_64
rpm -ivh oracle-instantclient-devel-21.4.0.0.0-1.x86_64

./configure --with-php-config=/opt/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/21/client64/lib

/root/src/php버전/ext/oci

/opt/php/bin/phpize

1) oracle 설치
rpm -ivh oracle-instantclient-basic-21.4.0.0.0-1.x86_64
rpm -ivh oracle-instantclient-devel-21.4.0.0.0-1.x86_64

ㄴ 아마 /usr/lib/oracle/21/client64/lib하단에 올라옵니다.

2) php 컴파일
cd /root/src/php버전/ext/oci
/opt/php/bin/phpize
ㄴ 컴파일 파일 생성
./configure --with-php-config=/opt/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/21/client64/lib

3) apache 재실행

wget -P /root/src/ https://museum.php.net/php5/php-5.3.3.tar.gz
cd /root/src; tar xvzf php-5.3.3.tar.gz; cd php-5.3.3



./configure --prefix=/opt/php --with-mysql=/opt/mysql --with-mysqli=/opt/mysql/bin/mysql_config --with-pdo-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --with-curl --with-gd --with-jpeg-dir=/usr --with-freetype-dir=/usr --with-png-dir=/usr --with-xpm-dir=/usr --with-zlib --with-zlib-dir=/usr --with-gdbm --with-gettext --with-iconv --with-openssl --with-libxml-dir=/usr/lib --with-bz2 --with-mcrypt --enable-gd-native-ttf --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-soap --enable-mbstring=all --enable-bcmath --enable-zip

make -j `grep processor /proc/cpuinfo | wc -l`; make install

*make 시 에러 발생
error: dereferencing pointer to incomplete type
make: *** [ext/dom/node.lo]
=> 해결법 : php5.3.3 경로 내 libxml29_compat.patch 설치 
1)wget -P /root/src/php-5.3.3/ http://tcs-down.simplexi.com/teamuser/spchoi/libxml29_compat.patch
2)cd /root/src/php-5.3.3/
3)patch -p0 < ./libxml29_compat.patch
ㄴ 위 진행후 다시 make 하면 잘된다.


cp -f php.ini-production /opt/php/lib/php.ini

perl -i -pe "s/memory_limit = 8M/memory_limit = 128M/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/short_open_tag = Off/short_open_tag = On/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/;date.timezone =/date.timezone = Asia\/Seoul/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/max_file_uploads = 20/max_file_uploads = 30/g" /opt/php/lib/php.ini

'On-premise > php' 카테고리의 다른 글

php 5 -> php 7 변경시 db 커넥트 수정 필요 구문  (0) 2023.11.07
php oci8 모듈 설치 (소스컴파일)  (0) 2023.11.07
php 8.1 설치  (0) 2023.11.07
php 7.4 재컴파일(재설치)  (0) 2023.11.07
라이믹스(Rhymix 설치)  (0) 2023.11.07

Apache 2.4.39 / Mariadb 10.3.15 와 연동

1) apache, mysql 데몬 중지
실행되어 있지 않아, 별도로 데몬 중지는 진행 하지않음

2) 기존 php 백업
[root@ /opt]# mv php php_bak
[root@ /opt]# ll | grep php
drwxr-xr-x  8 root  root   76 2019-07-11 17:44 php_bak

3) 기존 apache libphp7.so 파일 백업
[root@ /opt/apache/modules]# mv libphp7.so libphp7.so_bak

4) 설치
wget -P /root/src/ https://www.php.net/distributions/php-8.1.0.tar.gz

cd /root/src; tar -zxvf php-8.1.0.tar.gz ; cd php-8.1.0

./configure --prefix=/opt/php --with-apxs2=/opt/apache/bin/apxs --with-pdo-mysql --with-mysqli --with-curl --with-jpeg --with-freetype --with-xpm --with-zlib --with-zlib-dir=/usr --with-gdbm --with-gettext --with-iconv --with-openssl --with-libxml --with-bz2 --with-zip --enable-mysqlnd --enable-exif --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-soap --enable-mbstring=all --enable-bcmath --enable-gd

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

*에러발생*
1) configure: error: Package requirements (sqlite3 >= 3.7.7)
해결 : yum install sqlite-devel

2) configure: error: Package requirements (oniguruma) were not met:
해결 : yum install oniguruma-devel

3) Warning (정상적으로 php 컨파일은 됐지만 아래 옵션들이 php 8 부터는 바뀐것으로 보인다.
ㄴ png 는 php 7.4 부터는 기본 gd 포함이라고 한다!
configure: WARNING: unrecognized options: --with-gd, --with-jpeg-dir, --with-freetype-dir, --with-png-dir, --with-xpm-dir, --with-libxml-dir, --enable-zip
변경 된 내용 :
--enable-gd             Include GD support
--with-jpeg             GD: Enable JPEG support (only for bundled libgd)
--with-freetype         GD: Enable FreeType 2 support (only for bundled
--with-xpm              GD: Enable XPM support (only for bundled libgd)
--with-zip              Include Zip read/write support
--without-libxml        Build without LIBXML support / --with-expat            XML: use expat instead of libxml2

4) configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
yum remove libzip
yum install cmake3 (3.x 설치)

ln -s /usr/bin/cmake3 /usr/local/bin/cmake
wget -P /root/src --no-check-certificate https://libzip.org/download/libzip-1.8.0.tar.gz
cd /root/src; tar -xvf libzip-1.8.0.tar.gz; cd libzip-1.8.0
cmake3 -DCMAKE_INSTALL_PREFIX=/usr/local/libzip-1.8.0
make -j 4
make install -j 4
export PKG_CONFIG_PATH=/usr/local/libzip-1.8.0/lib64/pkgconfig 진행후 다시 configure

5) mysql 옵션 변경
[root@~/src/php-8.1.0]# ./configure --help | grep mysql
  --with-mysqli[=FILE]    Include MySQLi support. FILE is the path to
                          mysql_config. If no value or mysqlnd is passed as
  --with-mysql-sock[=SOCKPATH]
  --with-pdo-mysql[=DIR]  PDO: MySQL support. DIR is the MySQL base directory.
                          If no value or mysqlnd is passed as DIR, the MySQL
  --enable-mysqlnd        Enable mysqlnd explicitly, will be done implicitly
  --disable-mysqlnd-compression-support
                          mysqlnd
해결 : 기존에는 --with-mysqli=/opt/mysql/bin/mysql_config 로 했고, 변경후는 --with-mysqli
          기존에는 --with-pdo-mysql=/opt/mysql 로 했고, 변경후는 --with-pdo-mysql
          --enable-mysqlnd 추가
=============================================

make -j `grep processor /proc/cpuinfo | wc -l`; make install

cp -a php.ini-production /opt/php/lib/php.ini

perl -i -pe "s/memory_limit = 8M/memory_limit = 128M/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/short_open_tag = Off/short_open_tag = On/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/;date.timezone =/date.timezone = Asia\/Seoul/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/max_file_uploads = 20/max_file_uploads = 30/g" /opt/php/lib/php.ini

[Zend opache 적용]
mv /root/src/php-8.1.0/modules/opcache.so /opt/php/lib/php/extensions/

vi /opt/php/lib/php.ini
아래 내용 추가
[Zend]
zend_extension=/opt/php/lib/php/extensions/opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
;opcache.revalidate_freq=60
opcache.fast_shutdown=1


[root@~]# php -v
PHP 8.1.0 (cli) (built: Dec 14 2021 14:46:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies

php8 은 apache httpd.conf 내 적용되는 모듈은 다음과 같다.
LoadModule php_module         modules/libphp.so

'On-premise > php' 카테고리의 다른 글

php oci8 모듈 설치 (소스컴파일)  (0) 2023.11.07
PHP 5.3.3 소스 설치 (MySQL 5.1)  (0) 2023.11.07
php 7.4 재컴파일(재설치)  (0) 2023.11.07
라이믹스(Rhymix 설치)  (0) 2023.11.07
php 7.4 옵션 변경  (0) 2023.11.07

1. 기존 php config 설치 파일 백업
[root@~/src]# mv /root/src/php-7.4.9 /root/src/php-7.4.9_bak

2. apache, mysql 중지
[root@~]# /opt/apache/bin/apachectl stop
[root@~]# /opt/mysql/support-files/mysql.server stop
Shutting down MariaDB. SUCCESS!

[root@~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1555/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1555/ssh

3. 기존 php 디렉토리 백업 완료
[root@~]# mv /opt/php /opt/php_bak

4. 기존 apache libphp7.so 파일 백업
[root@qs211-0124 /opt/apache/modules]# mv libphp7.so libphp7.so_bak

5. php 재컴파일

[root@~/src]# cd /root/src; tar -zxvf php-7.4.9.tar.gz; cd php-7.4.9

ㄴ 아래 내용은 php-7.4.9 먼저 tar로 풀고 진행하자
ㄴ 아래 컴파일 진행할때 libzip이 안될수도 있다. 
ㄴ 에러 내용 : configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
                       No package 'libzip' found
ㄴ 해결법 : libzip 설치 후 export 해야한다.
wget -P /root/src --no-check-certificate https://libzip.org/download/libzip-1.8.0.tar.gz
cd /root/src; tar -xvf libzip-1.8.0.tar.gz; cd libzip-1.8.0
cmake3 -DCMAKE_INSTALL_PREFIX=/usr/local/libzip-1.8.0
make -j 4
make install -j 4

export PKG_CONFIG_PATH=/usr/local/libzip-1.8.0/lib64/pkgconfig


./configure \
--prefix=/opt/php \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-apxs2=/opt/apache/bin/apxs \
--with-curl \
--with-jpeg=/usr \
--with-freetype=/usr \
--with-png-dir=/usr \
--with-xpm=/usr \
--with-zlib \
--with-zlib-dir=/usr \
--with-gdbm \
--with-gettext \
--with-iconv \
--with-openssl \
--with-libxml=/usr/lib \
--with-bz2 \
--with-zip \
--enable-gd \
--enable-exif \
--enable-ftp \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-soap \
--enable-mbstring=all \
--enable-bcmath

*실행결과
Thank you for using PHP.
configure: WARNING: unrecognized options: --with-png, --with-xpm-dir, --with-libxml-dir, --enable-zip

make -j `grep processor /proc/cpuinfo | wc -l`; make install

6. php.ini 파일 복사
cp -f /opt/php_bak/lib/php.ini /opt/php/lib/php.ini

7. apache, mysql 시작
[root@~]# /opt/apache/bin/apachectl configtest
Syntax OK
[root@~]# /opt/apache/bin/apachectl start
[root@~]# /opt/mysql/support-files/mysql.server start
Starting MariaDB.211201 14:55:35 mysqld_safe Logging to '/home/mysql/var/qs211-0124.cafe24.com.err'.
211201 14:55:35 mysqld_safe Starting mariadbd daemon with databases from /home/mysql/var
SUCCESS!

8. 모듈 추가 확인 확인
[root@~]# php -m | grep gd
gd

9. png, jpeg, gd 라이브러리 활성화 확인
ㄴ PNG 는 php 7.4 에서는 기본 포함

[root@~]# php -r 'print_r(gd_info());'
Array
(
    [GD Version] => bundled (2.1.0 compatible)
    [FreeType Support] => 1
    [FreeType Linkage] => with freetype
    [GIF Read Support] => 1
    [GIF Create Support] => 1
    [JPEG Support] => 1
    [PNG Support] => 1
    [WBMP Support] => 1
    [XPM Support] => 1
    [XBM Support] => 1
    [WebP Support] =>
    [BMP Support] => 1
    [TGA Read Support] => 1
    [JIS-mapped Japanese Font Support] =>

ㄴ jpeg, png 모두 1로 활성화 되어있는것이다!!

'On-premise > php' 카테고리의 다른 글

PHP 5.3.3 소스 설치 (MySQL 5.1)  (0) 2023.11.07
php 8.1 설치  (0) 2023.11.07
라이믹스(Rhymix 설치)  (0) 2023.11.07
php 7.4 옵션 변경  (0) 2023.11.07
php 5.6 설치 ( curl 특정 경로 지정하여 설치)  (0) 2023.11.07
Rhymix 공식문서 참고하여 설치진행
 
1) php.ini 설정 확인
 
session.auto_start = 0
upload_max_filesize = 20M
post_max_size = 20M
memory_limit = 128M
 
2) 설치 진행
 
[root@qs211-0124 /opt]# git clone https://github.com/rhymix/rhymix.git
Cloning into 'rhymix'...
remote: Enumerating objects: 190723, done.
remote: Counting objects: 100% (2606/2606), done.
remote: Compressing objects: 100% (1363/1363), done.
remote: Total 190723 (delta 1369), reused 2199 (delta 1167), pack-reused 188117
Receiving objects: 100% (190723/190723), 102.79 MiB | 18.13 MiB/s, done.
Resolving deltas: 100% (134819/134819), done.
 
3) rhymix 폴더 생성 확인
 
[root@qs211-0124 /opt]# ll | grep rhymix
drwxr-xr-x 15 root  root  4096 2021-12-01 10:45 rhymix
 
4) 파일 폴더 생성 및 퍼미션 조정
 
[root@qs211-0124 /opt/rhymix]# mkdir files
[root@qs211-0124 /opt/rhymix]# chmod 707 files
 
5) DB 생성
 
MariaDB [mysql]> create database lbis;
Query OK, 1 row affected (0.000 sec)
 
6) apache vhost 설정
 
- httpd.conf 내 httpd-vhosts.conf 주석 해제
 
- httpd-vhosts.conf 설정
 
<VirtualHost *:80>
    DocumentRoot "/opt/rhymix"
    ServerName 110.10.129.206
    ErrorLog "logs/110.10.129.206-error_log"
    CustomLog "logs/110.10.129.206-access_log" common
 
    DirectoryIndex index index.php index.html index.htm
<Directory /opt/rhymix>
        Options FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
        Deny from env=go_out
</Directory>
 
7) 에러 발생
 
[Wed Dec 01 11:30:31.636970 2021] [core:alert] [pid 237243] [client 123.140.249.103:53301] /opt/rhymix/.htaccess: Invalid command 'RewriteEngine',
perhaps misspelled or defined by a module not included in the server configuration
 
ㄴ /opt/apache/conf/httpd.conf 내 mod_rewrite 기능 활성화
 
8) 페이지 접속 진행
http://110.10.129.206/ 접속 시 Rhymix 페이지 활성화 확인

 

Old
RUN docker-php-ext-configure gd
--with-mysqli=/opt/mysql/bin/mysql_config 
--with-pdo-mysql=/opt/mysql 
--with-gd
--with-xpm-dir
--with-libxml-dir
--enable-zip
--with-png-dir=/usr/include/
--with-jpeg-dir=/usr/include/
--with-freetype-dir=/usr/include/
 
New
RUN docker-php-ext-configure gd
--with-mysqli=mysqlnd 
--with-pdo-mysql=mysqlnd
--enable-gd/
--with-xpm
--with-libxml
--with-zip
--with-png=/usr/include/
--with-jpeg=/usr/include/
--with-freetype=/usr/include/

 

./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-curl=/usr/local/curl/bin/curl \
--with-gd \
--with-jpeg-dir=/usr \
--with-freetype-dir=/usr \
--with-png-dir=/usr \
--with-xpm-dir=/usr \
--with-zlib \
--with-zlib-dir=/usr \
--with-gdbm \
--with-gettext \
--with-iconv \
--with-openssl \
--with-libxml-dir=/usr/lib \
--with-bz2 \
--with-mcrypt \
--enable-gd-native-ttf \
--enable-exif \
--enable-ftp \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-soap \
--enable-mbstring=all \
--enable-bcmath \
--enable-zip
 
make -j `grep processor /proc/cpuinfo | wc -l`; make install
 
cp -f php.ini-production /usr/local/php/lib/php.ini
 
 
perl -i -pe "s/memory_limit = 8M/memory_limit = 128M/g" /usr/local/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /usr/local/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /usr/local/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /usr/local/php/lib/php.ini
perl -i -pe "s/short_open_tag = Off/short_open_tag = On/g" /usr/local/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /usr/local/php/lib/php.ini
perl -i -pe "s/;date.timezone =/date.timezone = Asia\/Seoul/g" /usr/local/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /usr/local/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /usr/local/php/lib/php.ini
perl -i -pe "s/max_file_uploads = 20/max_file_uploads = 30/g" /usr/local/php/lib/php.ini

 

'On-premise > php' 카테고리의 다른 글

라이믹스(Rhymix 설치)  (0) 2023.11.07
php 7.4 옵션 변경  (0) 2023.11.07
Php 7.0.21 소스 설치 (apache 2.4 , mariadb 10.3 과 연동), /opt에 설치  (0) 2023.11.06
php 모듈 변경 작업  (0) 2023.11.06
php mhash 모듈 추가  (0) 2023.11.06
php 7.3 재설치
 
1) APM 설치 경로 확인
ps -ef (소스컴파일 인지, yum 설치인지 확인 / 보통 opt에 깔려있으면 소스컴파일)
netstat -nltp
 
2) APM 버전 확인
ㄴ 절대경로로( 그냥 php -v 이런식으로 하면 중복된 php 설치로 인해 다른 버전이 확인될 수 있음 )
/opt/apache/bin/httpd -v
/opt/mysql/bin/mysql -V
/opt/php/bin/php -v
 
3) Apache 및 MySQL 서비스 중지
/opt/apache/bin/apachectl stop
/opt/mysql/share/mysql/mysql.server stop (mysql 5.2버전 이하는 share 에 mysql.server가 있고,  5.2버전 이상은 support_file에 있다)
 
4) 기존 PHP 백업
[root@rent-2126 opt]# mv php php_52
[root@rent-2126 opt]# cd /opt/apache/modules/
[root@rent-2126 modules]# mv libphp5.so libphp5.so_52
[root@rent-2126 modules]# vim /opt/apache/conf/httpd.conf
#LoadModule php5_module        modules/libphp5.so
 
 
[PHP 재설치]
* 선행 작업
yum remove libzip
yum install cmake3 -y (3.x 설치)
에러 발생시 조치사항
=> centos 6.9 인데 epel이 7쩜 대여서 cmake3을 7점대를 다운 받으려고해서 에러가 나올수 있다
======처리내역======
yum remove epel-release-7-11
yum install epel-release
yum clean
yum clean all
rm -rf cmake3-3.6.1-3.el6.x86_64.rpm
yum install cmake3
==================
 
ln -s /usr/bin/cmake3 /usr/local/bin/cmake
cd /root/src; tar xvfz libzip-1.5.1.tar.gz; cd libzip-1.5.1
mkdir build
cd build
cmake3 ..
make -j `grep processor /proc/cpuinfo | wc -l`; make install
 
* libzip 라이브러리 등록
vi /etc/ld.so.conf 아래내용추가
/usr/local/lib
/usr/local/lib64
 
* 라이브러리 적용
ldconfig
 
* 등록되었는지 확인
ldconfig -p | grep 'libzip'
 
* 설치 진행
cd /root/src; tar xvzf php-7.3.6.tar.gz; cd php-7.3.6
 
yum -y install libmcrypt libmcrypt-devel gmp-devel
 
yum install -y pcre-devel lua-devel libxml2-devel ncurses-devel zlib zlib-devel openssl openssl-devel libtermcap-devel libc-client-devel bison gcc g++ cpp gcc-c++ freetype freetype-devel freetype-utils gd gd-devel libjpeg libjpeg-devel libpng libpng-devel curl curl-devel flex php-mbstring libexif-devel libtool gdbm-devel libmcrypt libmcrypt-devel bzip2 bzip2-devel libXpm-devel xorg-x11-devel libzip libzip-
 
./configure --prefix=/opt/php \
--with-apxs2=/opt/apache/bin/apxs \
--with-mysqli=/opt/mysql/bin/mysql_config \   (mysql 5.6까지) , (mysql 5.7~부터는 --with-mysqli=mysqlnd \ 로 해야함)
--with-pdo-mysql=/opt/mysql \
--with-gd \
--with-curl \
--with-jpeg-dir=/usr \
--with-freetype-dir=/usr \
--with-png-dir=/usr \
--with-xpm-dir=/usr \
--with-zlib \
--with-zlib-dir=/usr \
--with-gdbm \
--with-gettext \
--with-iconv \
--with-openssl \
--with-libxml-dir=/usr/lib \
--with-bz2 \
--enable-zip \
--enable-exif \
--enable-sockets \
--enable-soap \
--enable-mbstring=all \
--enable-bcmath \
--enable-ftp
 
make -j `grep processor /proc/cpuinfo | wc -l`; make install
 
cp -a php.ini-production /opt/php/lib/php.ini
 
perl -i -pe "s/memory_limit = 8M/memory_limit = 128M/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/short_open_tag = Off/short_open_tag = On/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/;date.timezone =/date.timezone = Asia\/Seoul/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/max_file_uploads = 20/max_file_uploads = 30/g" /opt/php/lib/php.ini
 

 

'On-premise > php' 카테고리의 다른 글

php 7.3 설치(신규)  (0) 2023.11.06
php configure 옵션 추가  (0) 2023.11.06
Php 5.2 설치  (0) 2023.11.06
PHP 5.6.40 소스 설치 (MySQL 5.7)  (0) 2023.11.06
libphp7.so, libphp5.so 모듈 관련  (0) 2023.11.06

+ Recent posts