웹마스터 팁
apache 2.2.x + php 5.2.x + mysql 5.0.x 구형 버전 기반에서 apache 2.4 event mpm 또는 nginx, php 최신버전, mariadb 10, opcache, memcached 등으로 전환하려고 준비와 테스트를 하고 있습니다. 회사 사이트들의 전환을 실제 적용하지 않더라도 그냥 저만의 노하우들로 축적하려고 계속해서 연습중이죠. rpm 설치와 소스 컴파일 설치등을 하면서 가장 깔끔한 설치와 적당한 설정값들을 테스트하면서 설치정보를 다양하게 기록하고 있습니다.
설치하고 테스트할때 컴파일 에러나 설정 파일등 때문에 문제되던것들이 많아 구글링하면서 정리하고 있었습니다. 그러다 우연히 centminmod 라는 걸 알게 됬는데, 이게 정말 대단한거 같네요. 일단 아래는 centminmod의 기본 메뉴인데 메뉴를 보면 어떤걸 할수 있는지를 알수가 있습니다.
--------------------------------------------------------
Centmin Mod 1.2.3-eva2000.08 - http://centminmod.com
--------------------------------------------------------
Centmin Mod Menu
--------------------------------------------------------
1). Centmin Install
2). Add Nginx vhost domain
3). NSD setup domain name DNS
4). Nginx Upgrade / Downgrade
5). PHP Upgrade / Downgrade
6). XCache Re-install
7). APC Cache Re-install
8). XCache Install
9). APC Cache Install
10). Memcached Server Re-install
11). MariaDB 5.2/5.5 & 10.x Upgrade Sub-Menu
12). Zend OpCache Install/Re-install
13). Install ioping.sh vbtechsupport.com/1239/
14). SELinux disable
15). Install/Reinstall ImagicK PHP Extension
16). Change SSHD Port Number
17). Multi-thread compression: pigz,pbzip2,lbzip2...
18). Suhosin PHP Extension install
19). Install FFMPEG and FFMPEG PHP Extension
20). NSD Re-install
21). Update - Nginx + PHP-FPM + Siege
22). Add Wordpress Nginx vhost + WP Super Cache
23). Update Centmin Mod Code Base
24). Exit
--------------------------------------------------------
Enter option [ 1 - 24 ]
centminmod 라는 이름에서 알수 있듯이 centos minimal 버전에 최적화된게 아닌가 싶네요. 어제 centos 7.0 minimal 버전을 설치후 기본적으로 설치된 패키지만 yum update로 업데이트하고 바로 centminmod를 설치했는데요. 메뉴를 보면 알수 있듯이 각 패키지들의 버전을 최신버전과 안정화버전으로 입맛대로 바꿀수 있습니다.
centminmod 설치하니 모든 패키지 다 자동으로 설치되고 방화벽설정까지 모두 알아서 하더군요. 제가 직접 설치한것보다 훨씬 깔끔하게 설치되는것 같은... 약간의 설정 튜닝도 되어있는것 같습니다. 버전 변경이 필요하면 메뉴에서 누르기만 하면 알아서 다 컴파일하고 바로 적용하고 서비스 재시작까지 합니다.
현재 centminmod 설치후 mariadb 10, nginx 1.8.0 , PHP 5.6.12 with OpCache 7.0.6-dev , php-fpm, memcached 1.4.24 등이 모두 다 셑팅된 상태입니다.
각 패키지의 버전을 변경하고 싶으면 각 패키지 업그레이드, 다운그레이드 메뉴에서 원하는 버전넘버만 입력하면 알아서 컴파일하고 설치까지 깔끔하게해주네요. 세상에 뭐 이런 자동화스크립트가 있나 모르겠네요. 사실 제가 공부하면서 셑팅한것들보다 훨씬 깔끔하고 잘 설치되는것 같은 기분입니다. 직접 설치하고 설정하면서 부딛히고 해결해나가면서 실력이 하나씩 쌓이게 되는데 이런툴을 이용하면 일단 초급 서버관리자 이상의 설정을 자동화해주는것 같은 생각이 듭니다.
댓글 9
-
꾸링
2015.08.21 16:24
Centos 5.7도 사용가능한가요~? -
꾸링
2015.08.21 16:28
아 지원하네요 궁금한 점은 기존 apm이 설치되어있으면 삭제후 다시설치하면서 세팅값도 유지되나요? Php나 httpd등 -
그럴수
2015.08.21 17:23
바이너리 설치 위치는 어차피 일반적인 prefix위치에 설치되는게 아니라 겹치지 않으면 그냥 둘거구요. 겹치는 경우 php_bak이런식으로 이름을 변경해놓고 새로 설치하는것 같았습니다. 설정파일도 기존 설정파일명에 날자를 붙여서 백업을 해주고요. 그래도 혹시 모르니 실서버 테스트 시에는 실서버의 바이너리와 설정파일을 백업해놓으신후에 설치해보는게 좋을것 같습니다.
이런툴들이 워낙 많은 패키지를 다루다보니 버전을 올리고 기능을 넣고 빼고 그러다 보면 심각하게 꼬일거라고 생각했는데 지금 계속 이것저것 해보고 있는데 꼬이지 않고 잘 설치되고 변경되고 그러네요. ^^
-
기진곰
2015.08.21 19:51
PHP를 컴파일해서 설치하네요. CentOS 7에서는 기본 제공하는 것과 똑같은 PHP 5.4 버전을 설치하면서 왜 컴파일해서 시간낭비 + 사서고생을 하는지... 웬만한 모듈은 epel에 다 들어있고 심지어 remi repo까지 사용하는 스크립트이니 뭐가 부족하다는 핑계는 통할 리가 없는데 ㅡ.ㅡ;;
설치는 한 번뿐이지만 유지보수는 몇 년간 해줘야 하거든요. 그래서 이런 툴을 보면 저는 항상 업데이트가 불안하더군요. Centminmod는 이런 문제를 어떻게 해결하는지 궁금하네요.
1) PHP는 한 달에 한두 번은 꼭 보안패치가 나오는데, 이걸 쉽게 적용할 수 있는지 (5.4를 5.5로 업글하는 게 아니라, 5.4.44에서 5.4.45로 패치하는 경우의 얘기입니다. 매번 소스를 새로 다운받아서 재컴파일해야 되는겨?)
2) PHP 5.4 지원 종료가 몇 달 남지 않았는데, 그 후엔 어떻게 할 건지 (호환성 때문에 권장하지 않는다는 5.5로 강제 업그레이드? CentOS에서 10년간 별도로 보안패치 적용해 주는 버전으로 강제 다운그레이드? 처음에 5.6 설치했다고 안심하지 마세요. 2~3년 있으면 똑같은 상황에 부닥치게 됩니다.)
이 두 가지 때문에 언젠가는 꼭 큰 사고가 터지더라구요. 애매한 문제가 생기면 순정상태에 비해 검색해서 해결하기도 힘들고요. 그래서 예전에는 쉽게 설치해 준다는 스크립트나 컨트롤 패널도 많이 써봤지만, 요즘은 오직 순정상태의 yum과 epel, remi 등 신뢰할 수 있는 repo에서 제공하는 패키지만 설치하는 습관을 들이고 있답니다.
이런 툴이 꼭 나쁘다는 얘기는 아니고, 그냥 참고하시라고요 ^^
-
그럴수
2015.08.24 11:21
당연히 결국엔 말씀하신것처럼 해야하죠. 아직 리눅스 서버에 익숙하지 않은 초보자들이 웹서버를 구현할때 이런 저런 패키지들 설치로 애먹는 분들에게는 도움이 될만해보입니다. ^^
-
기진곰
2015.08.24 11:43
서버 초보자들이 흔히 설치해야 하는 프로그램들 중 공신력 있는 repo를 사용하여 yum으로 설치할 수 없는 것은 하나도 없습니다. 사용자가 보는 UI는 그대로 유지하면서도 기본적인 패키지는 쉽게 유지보수할 수 있도록 yum으로 설치해 주고, 도메인 추가나 vhost 추가 등 수작업이 필요한 부분만 별도 스크립트로 처리하는 방식을 얼마든지 사용할 수 있어요.
처음 패키지 설치로 애먹는 분들이 그렇게 많지도 않습니다. 서버호스팅은 대개 기본으로 APM을 설치해 주고, 저가형 해외 클라우드 서버들도 클릭 몇 번이면 원하는 환경을 자동으로 만들어 주거든요. 처음 설치 방법을 알려주는 블로그도 많고요. 정작 많은 분들이 애먹는 부분은 패키지 설치가 아니라 그 후의 설정과 유지보수죠. 패키지 설치 방식은 OS에서 시키는 대로 하고, 설정과 유지보수를 도와주는 데 집중하는 프로그램들이 많이 나와줬으면 좋겠어요.
-
그럴수
2015.08.24 11:57
생각해보니 그렇긴 하네요. 아주 예전에나 소스컴파일 설치했지 요즘은 가장 안정적으로 쓰는 패키지들과 버전들은 이미 다 제공되니까요. 그후에 설정과 튜닝이 문제긴하네요. 생각해보니 패캐지들 다 이미 제공하는데 이런 툴을 써버릇하면 툴에 종속되어 오히려 마이너스요인이 될수도 있을거 같네요. ^^;
-
기진곰
2015.08.24 13:04
아마 이런 툴을 만드는 분들이 예전 방식에 익숙해져 있어서 그런 것 같기도 해요. 경력 꽤 되는 분들 중엔 오히려 컴파일 옵션은 줄줄 외우는데 yum repo 추가하려고 하면 헤매는 분들도 있더군요 ㅡㅡ;;
-
플레이캠핑
2015.10.11 20:14
상당히 편하고 잘만들어졌네요.
php,mariadb,nginx 버전변경을 쉽게 할 수있네요.
centmin에 들어가서 해당메뉴 선택후 버전명을 입력해주면 자동으로 설치 및 기본세팅 잡아줍니다.