요즘 AWS 덕분에 리눅스라는 녀석을 조금 더 딥하게 보고 있는데 리눅스 이녀석 자체만으로 공부할게 너무 많다. 각설하고 오늘은 그동안 공부한 것들 복습도 할겸 미뤄뒀던 동구밭 블로그를 nginx로 갈아탔다. 갈아타는 과정을 좀 정리해보면 다음과 같다.
- 리눅스 계정 및 웹서버 루트 폴더 이동
- CentOS 5.x 버전에서 yum으로 설치가능한 패키지 버전 문제 확인
- CentOS 5.x 버전의 공식 릴리즈 사이트에는 php 버전이 매우 낮음을 확인
- CentOS를 6.x 버전으로 업그레이드 가능한지 확인. yum으로는 불가. 백업해서 재설치해야 함을 확인
- OS 업그레이드를 포기하고 yum으로 php5.4 버전 설치 (많은 삽질)
- yum으로 nginx 설치했는데.. 이것도 버전이 낮아서 yum 레파지토리 변경후 1.6으로 업그레이드
과정이 참 긴데,.. 오늘 느낀점은 yum 명령과 레파지토리에 관련된 내용을 좀더 공부해야겠다는 생각을 했다.
웹서버 루트 폴더 정리
여튼 그간의 과정을 되짚어보자. 일단 웹서버 루트가 어디에 있는지 확인했더니 /home/www 였다. 아~~ 홈폴더 하위에 웹폴더를 뒀었꾸나… 얼마나 개념이 없었는지 실감하면서,.. /var/www/nginx_root로 이동 감행! 이제 나에게 리눅스 계정과 권한문제는 껌이지ㅋㅋㅋ 폴더를 생성하고 소유자를 nginx로 변경, 그리고 wordpress 폴더도 통째로 이동후 소유자(nginx)와 권한을 변경! wp-content 폴더는 간편설치를 위해 655 권한으로 변경. 소유자를 nginx로 했기 때문에 사실 600으로 해도 된다.
nginx와 php 설치
다음으로 아파치 서버와 mysql를 내리고 기존에 설치되어 있는 php 버전을 확인해봤다.
$> php --version
옴마~ 5.1 버전??? 왜이렇게 버전이 낮지? 이거 작년에 설치했을텐데,.. 이유를 알아보기 전에 일단 지우자.
$> yum remove php*
지우고 나서 yum 으로 설치 가능한 패키지를 알아보니 CentOS 5.x 버전에 있는 공식 릴리즈 모듈에는 5.1까지 밖에 없는게 아닌가? “아~ 난감한데… 어떻하지?.. 그냥 최신 버전을 홈페이지에서 직접 받아서 컴파일 할까?” 하다가 예전에 php 버전에 따른 의존성 모듈들 때문에 고생한 한 기억이 떠올라서(파이썬을 직접 업그레이드하다가 꼬여서 파이썬에 의존성이 매우 심한 yum 명령어를 날려버렸던 씁슬한 기억) 이번에는 온전히 yum 으로만 해결하려고 맘먹었다.
이 문제를 어떻게 해결할까? 한참 찾다 결국엔 yum 레파지토리를 업데이트해야한다는 사실까지 알아냈다. ㅎㅎㅎ 아무튼 현재 내가 쓰고 있는 CentOS 버전은 5.11(final) -_-;; yum을 이용해 상위 버전으로 업그레이드는 못한단다. 그리고 5.11의 공식 라이브러리 레파지토리에는 php 버전도 5.1 이고 심지어 nignx도 0.6 버전이었다. 자세한 설치는 검색하면 나온다.
nginx는 php 모듈을 지원하지 않기 때문에 php-fpm 이라는 FastCGI 모듈을 이용해야한다. 여튼 php와 관련된 모든 연동 모듈은 remi 라는 레파지토리를 이용했다. 배가 너무 고픈 관계로 일단 여기까지 정리하고 다음에 이어서 정리하자.
오늘 새롭게 알게된 내용
- ningx는 php 대신에 php-fpm 모듈을 이용한다.
- 워드프레스에서 이미지 크롭하려면 그래픽 처리와 관련된 php-gd 라이브러리가 설치되어 있어야한다.
- CentOS 5는 후졌다. 하지만 어쩔수 없다.
- yum 레파지토리를 변경하거나 업데이트 할 수 있다.
- 확실히 하드웨어가 저사양일 경우 아파치보다 nginx가 훨씬 좋터라!