설치 분류

phpmyadmin rpm 설치

작성자 정보

  • 최고관리자 작성
  • 218.♡.29.96 아이피
  • 작성일

컨텐츠 정보

본문

 

이제 phpmyadmin을 설치해보겠습니다. phpmyadmin은 php 버전에 따라 맞춰서 설치를 해줘야 하는데요.
해당 사이트에서 php버전과 호환되는 버전을 다운로드 받으시면 됩니다.
현재 최신버전인 4.8.5가 php 5.5버전부터 7.2까지 호환이되네요. 이 버전을 다운로드 받겠습니다.
 
#cd /usr/local/src
#tar xvfJ phpMyAdmin-4.8.5-source.tar.xz
 
압축해제한 파일을 웹루트 경로로 phpmyadmin 이름으로 옮겨줍니다.
#mv phpMyAdmin-4.8.5-source /usr/share/nginx/html/phpmyadmin
 
해당 페이지로 접근해봅니다.
[서버ip/phpmyadmin]
해당 페이지가 뜰텐데요. mariadb 계정으로 로그인하시면 됩니다.
로그인하고 하단에보니 이런 에러가 발생하고있네요. 하나하나 해결해보도록하겠습니다.
일단 Header와 Library의 미러 버전이 달라서 발생하는 에러부터 해결하겠습니다. 아무래도 처음 php를 설치할때 php70w-mysql로 설치해서 그런것 같은데요.(php70w-mysqlnd를 설치해야 됩니다)
 
#php -i | grep ‘Client API’
library와 header 버전이 다른것을 확인할 수 있습니다. php70w-mysql을 삭제하고 php mysqlnd를 설치해주시면 해결됩니다.
 
#yum erase php70w-mysql
 
#yum install php70w-mysqlnd
 
설치 완료후 #systemctl restart php-fpm 을 하고 페이지 새로고침을 누르시면 사라지실겁니다.
사라졌네요. 이제 blowfish_secret 설정을 해보겠습니다.
 
우선 phpmyadmin 디렉토리에 있는 config.sample.inc.php 파일을 config.inc.php 파일로 복사합니다.
#cd /usr/share/nginx/html/phpmyadmin
#cp config.sample.inc.php config.inc.php
 
이제 복사한 파일을 수정하겠습니다.
#vim config.inc.php
blowfish_secret 으로 검색을 하면 
$cfg[‘blowfish_secret’] = ”; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
이런 부분이 있을겁니다. 해당 부분에 32자의 쿠키값을 넣어줘야 하는데,
해당 페이지에서  Copy The Output Below To Use For Your phpMyAdmin $cfg[‘blowfish_secret’]: 의 하단에 있는 키 값을 복사해가야 로직이 정상작동합니다.
입력하셨다면 저장하고 페이지를 새로고침 해봅니다.
 
이제 에러메시지가 하나 남았습니다. 이 에러는 phpmyadmin 디렉토리 tmp 파일을 만들어준 뒤 새로고침을 해보시고, 안사라지면 시크릿창을 열어서 접속해보시면 됩니다.
그래도 안사라진다면 php-fpm을 재시작해보시거나 tmp 디렉토리 권한을 777로 주시면 해결됩니다.
 
#mkdir /usr/share/nginx/html/phpmyadmin/tmp
#chmod 777 /usr/share/nginx/html/phpmyadmin/tmp
 
이상으로 phpmyadmin 설치, 설정을 마치겠습니다.
 

 
이제 마지막으로 memcached를 설치해보겠습니다.
 
우선 memcached를 설치하고 실행합니다.
#yum install memcached
#systemctl enable memcached
#systemctl start memcached
 
이제 확장모듈 추가를 위해 소스 파일을 설치하겠습니다.
해당 사이트에서 받으시면 됩니다.
 
가장 최신버전인 3.1.3을 받겠습니다.
#cd /usr/local/src
#tar xvfz memcached-3.1.3.tgz
#cd memcached-3.1.3
#/usr/bin/phpize
 
아마 바로 configure 을 진행하면 에러가 발생할텐데요. 필수 구성요소 몇가지를 설치하겠습니다.
#yum install zlib-devel gcc gcc-c++ libmemcached libmemcached-devel
#./configure –with-php-config=/usr/bin/php-config –enable-memcached
#make && make install
make install 까지 마치면 하단에 모듈이 설치된 경로가 나옵니다.
 
php 설정파일에 extension 으로 해당 모듈을 설정해줍니다.
#vim /etc/php.ini
 
index.php 페이지로 들어가면 memcached 모듈이 올라온것을 확인할 수 있습니다.
확인해보니 igbinary, json, msgpack support가 no로 되어있네요. yes로 바꿔보겠습니다
 
사실 yum으로 php70w를 설치하신 분들은 php70w-pecl-memcached 와 php70w-pecl-igbinary 를 설치하시면 igbinary support 와 json support 까지는 지원이 됩니다(json은 php70w-comm에 같이 설치됨)
msgpack support까지 enable 시키려면 memcached를 소스로 설치해야될것 같습니다.
 
https://pecl.php.net/package-stats.php 로 들어가서 igbinary, json, msgpack 을 각각 다운 받습니다.
저는 igbinary, json, msgpack모두 최신 버전에 stable 상태인 버전을 다운로드 받았습니다.
 
#cd /usr/local/src
다음과 같은 버전으로 설치를 했고요. 모두 압축을 풀어줬습니다.
 
#cd json-1.2.1
#/usr/bin/phpize
(명령어가 없다고 나오면 yum install php70w-devel 로 설치해줍니다.)
#./configure –with-php-config=/usr/bin/php-config –enable-json
#make && make install
아마 make install을 하면 /usr/lib64/php/modules/ 에 .so 파일이 생성됐다고 나올 것입니다.
 
igbinary와 msgpack 도 같은 방식으로 다운로드 받습니다.
./configure 옵션에서 –enable-json 부분만 각각 –enable-igbinary, –enable-msgpack으로 바꿔주면 됩니다.
모두 make install까지 완료되었으면 memcached로 들어갑니다.
#cd /usr/local/src/memcached-3.1.3
#/usr/bin/phpize
#./configure –with-php-config=/usr/bin/php-config –enable-memcached –enable-memcached-json –enable-memcached-igbinary –enable-memcached-msgpack
#make && make install
 
php.ini 파일 하단에 아래의 내용을 추가해줍니다.
[memcached]
extension=/usr/lib64/php/modules/igbinary.so
extension=/usr/lib64/php/modules/json.so
extension=/usr/lib64/php/modules/msgpack.so
extension=/usr/lib64/php/modules/memcached.so
설치하고 php -v 를 하면 
PHP Warning:  Module ‘json’ already loaded in Unknown on line 0
이렇게  json 모듈이 이미 로드되었다는 Warning 문구가 나옵니다. find 결과 
/etc/php.d/
/etc/php-zts.d/
위의 두 디렉토리에 json.ini 파일에서 json.so를 extension으로 로드해주고 있었습니다. 해당 파일을 삭제합니다.
#rm -rf /etc/php.d/json.ini
#rm -rf /etc/php-zts.d/json.ini
 
그리고 php -v 를 하면 정상적으로 출력됩니다.
 
이제 systemctl restart php-fpm 을 해준 뒤, 처음에 만들었던 index.php 페이지를 열어 php에 잘 연동되었는지 확인해봅니다.
 
모두 yes로 바뀐 것을 확인할 수 있습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


  • 글이 없습니다.
알림 0