메뉴 건너뛰기

CentOS 7, 최신버전 APM(Apache+PHP+MySQL) 소스설치 및 Openssl 설치하기

 

1. CentOS 7 설치

2. MySQL 소스설치(5.7.13)
3. Openssl 소스설치(1.0.2h)
4. 아파치(Apache) 소스설치(2.4.23)
5. PHP 소스설치(5.6.24)

6. APM+OpenSSL 연동하기

 

* gd 라이브러리 관련 설치

[root@divweb7 src]# yum -y install libjpeg-devel libpng-devel giflib* 
[root@divweb7 src]# yum -y install php-gd php5-gd

 

* PHP 홈페이지에서 소스파일 다운로드, 설치
[root@divweb7 src]# tar xvzf php-5.6.24.tar.gz 

[root@divweb7 src]# cd php-5.6.24
[root@divweb7 php-5.6.24]# ./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-regex=php --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-magic-quotes --with-gd --enable-mbstring

 

--기존 옵션대로 하면 아래와 같은 warning 발생

configure: WARNING: unrecognized options:  --enable-magic-quotes

--기존 옵션대로 하면 아래와 같은 error 발생

configure: error: Cannot find libmysqlclient_r under /usr/local/mysql. Note that the MySQL client library is not bundled anymore!

 

for f in libmysqlclient.so*; do ln -s $f $(echo $f | sed s/libmysqlclient/libmysqlclient_r/); done


[root@divweb7 lib]# for f in libmysqlclient.so*; do ln -s $f $(echo $f | sed s/libmysqlclient/libmysqlclient_r/); done
[root@divweb7 lib]# ln -s libmysqlclient.a libmysqlclient_r.a
[root@divweb7 lib]# ls -lrt
total 539100
-rw-r--r-- 1 root mysql     40758 Jul 24 05:22 libmysqlservices.a
-rwxr-xr-x 1 root mysql   9503078 Jul 24 08:14 libmysqlclient.so.20.3.0
-rw-r--r-- 1 root mysql 522047824 Jul 24 08:33 libmysqld.a
-rw-r--r-- 1 root mysql  20434562 Jul 24 08:34 libmysqlclient.a
lrwxrwxrwx 1 root mysql        24 Jul 24 08:34 libmysqlclient.so.20 -> libmysqlclient.so.20.3.0
lrwxrwxrwx 1 root mysql        20 Jul 24 08:34 libmysqlclient.so -> libmysqlclient.so.20
drwxr-xr-x 3 root mysql      4096 Jul 24 08:34 plugin
drwxr-xr-x 2 root mysql        27 Jul 24 08:34 pkgconfig
lrwxrwxrwx 1 root root         17 Jul 25 09:24 libmysqlclient_r.so -> libmysqlclient.so
lrwxrwxrwx 1 root root         20 Jul 25 09:24 libmysqlclient_r.so.20 -> libmysqlclient.so.20
lrwxrwxrwx 1 root root         24 Jul 25 09:24 libmysqlclient_r.so.20.3.0 -> libmysqlclient.so.20.3.0
lrwxrwxrwx 1 root root         16 Jul 25 09:24 libmysqlclient_r.a -> libmysqlclient.a

(참조: http://techblog.vindvejr.dk/?p=130)

 

[root@divweb7 php-5.6.24]# ./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-regex=php --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --with-gd --enable-mbstring

 

*컴파일 시, 아래와 같은 오류 발생 시, mysql 옵션 변경. php에서 --with-mysql=/usr/local/mysql 지원안함(php7.0부터는 완전히 빠짐)

configure: error: Cannot find libmysqlclient_r under /usr/local/mysql.

Note that the MySQL client library is not bundled anymore!

 

[root@divweb7-1611 apache]# ./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --with-regex=php --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --with-gd --enable-mbstring
 

 


[root@divweb7 php-5.6.24]# make 

[root@divweb7 php-5.6.24]# make test 
[root@divweb7 php-5.6.24]# make install

php.ini 파일 copy
[root@divweb7 php-5.6.24]# cp ./php.ini-development /usr/local/apache/conf/php.ini 

아파치가 php3, php, php4등의 확장자를 인식할수 있도록 웹서버 환경 설정파일을 수정 
[root@divweb7 php-5.6.24]# cd /usr/local/apache/conf 
[root@divweb7 conf]# vi ./httpd.conf 
-- 기존 있는 지 확인 LoadModule php5_module modules/libphp5.so 
-- 새로 넣어줌 AddType application/x-httpd-php .php .php3 .php4 .htm .html .inc 

# vi /usr/local/apache/conf/php.ini 
short_open_tag = On 
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_USER_DEPRECATED 
display_errors = On 
display_startup_errors = On 
date.timezone = "Asia/Seoul"


extension_dir = "/usr/lib64/php/modules"

upload_max_filesize = 100M
post_max_size = 50M
 


* phpinfo.php 확인 (openssl, mysql 연동확인)

# vi phpinfo.php 
<?php 
phpinfo(); 
?>

 

* mysql 연동확인 - mysqltest.php

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>MySql-PHP TEST</title>
</head>
<body>

<?php
echo "MySql TEST<br>";

$db = mysql_connect("localhost", "root", "root암호입력", "world");

if($db){
    echo "connect : success<br>";
}
else{
    echo "disconnect : fail<br>";
}

?>

</body>
</html>

 

웹페이지 결과

MySql TEST
connect : success

번호 제목 글쓴이 날짜 조회 수
34 git, github 사용하기. vscode에서 github 연동하기(2023.02.09) file 관리자 2023.02.08 1298
33 록키리눅스(Rocky Linux) 네트워크 설정하기 - nmcli, nmtui file 관리자 2023.02.01 35627
32 CentOS 종료 대비, 록키 리눅스(Rocky Linux) 설치하기 file 관리자 2023.01.27 1360
31 플래시 설치파일 file 관리자 2021.01.13 356
30 tar 압축하면서 다른 디렉토리에 풀기 file 관리자 2020.11.14 475
29 리눅스 하드디스크 추가 관리자 2019.02.12 1431
28 [MySQL]ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 관리자 2018.12.23 1295
27 [리눅스]phpinfo() 실행 시 하얀 화면이 나타날 경우 대처방법 file 관리자 2018.12.13 3703
26 [리눅스]rsync 설정 후, crontab 스케줄 등록 관리자 2018.08.28 2740
25 [리눅스][XE]백업복구(서버이관) 시 오류-03.사이트 메뉴 편집, 사이트 디자인 설정 출력 안되는 현상 file 관리자 2018.08.27 11124
24 [리눅스][XE]백업복구(서버이관) 시 오류-02.아파치 rewrite에러 file 관리자 2018.08.27 516
23 [리눅스][XE]백업복구(서버이관) 시 오류-01.No matching DirectoryIndex (index.html) fonud 오류 file 관리자 2018.08.27 1461
22 [리눅스][XE][오류]msg_is_not_administrator file 관리자 2018.08.08 1242
21 [리눅스]CentOS에서 하드디스크 추가 관리자 2018.03.21 8843
20 [리눅스]리눅스 파일 압축 암호 설정 및 해제(ZIP) 관리자 2017.07.30 18083
19 [리눅스]CentOS 7,최신 APM 소스설치-5) PHP, gd library jpeg support file 관리자 2017.02.21 1853
18 [리눅스]CentOS 7 root password 분실 file 관리자 2016.12.27 6353
17 [리눅스]vsftpd ftp 파일전송오류(451 Failure writing to local file) 관리자 2016.12.20 4117
16 [리눅스]APM(apache+php+mysql) 다른서버로 이관하기(백업-복구하기) 관리자 2016.09.12 4673
15 [리눅스]XE(XpressEngine)설정 file 관리자 2016.07.26 684