rpm 패키지 생성하실 때 도움이 되실까 싶어
apache, php rpm 패키지를 만들기 위해 필요한 rpm spec 파일을 올립니다~.(첨부파일)
생성환경: Linux CentOS 5.3, 64bit
spec 파일은 소스에 있는 샘플 파일을 수정했습니다.(소스에 있는 것을 그냥 사용하면 무수히 많은 에러를 접하게 되요~.~)
테스트 소스는 apache 2.2.16, php5.3.3을 사용했습니다.
(http://apache.org, http://php.net 에서 받으시면 됩니다.)
* rpm 생성 방법
1. 모든 작업은 root에서 실행합니다.
2. rpm 설치에 필요한 파일들을 설치합니다. (참고: http://fedoraproject.org/wiki/How_to_create_an_RPM_package)
# yum groupinstall "Development Tools"
# yum install rpmdevtools
3. rpm 파일을 생성합니다.
rpmbuild -ba NAME.spec (-ba 옵션: source rpm과 binary rpm을 생성)
rpmbuild -bb NAME.spec (-bb 옵선: binary rpm만 생성)
* apache rpm 파일 생성
rpmbuild -bb httpd-2.2.16.spec
* php rpm 파일 생성
rpmbuild -bb php-5.3.3.spec
4. 생성된 파일을 확인합니다.
/usr/src/redhat/RPMS : binary rpm 파일
/usr/src/redhat/RPMS : source rpm 파일
* 생성한 파일의 설치 방법
cd /usr/src/redhat/RPMS/x86_64
rpm -Uvh httpd-2.2.16-1.x86_64.rpm
rpm -Uvh mod_ssl-2.2.16-1.x86_64.rpm
rpm -Uvh php5-5.3.3-1.x86_64.rpm
* 설치 시 참고사항
설치 중 발생하는 에러는 대부분 기존에 설치된 패키지와의 충돌로 인한 것입니다.
rpm -e <패키지명> 으로 기존 설치 패키지는 제거합니다.
의존성(dependency)으로 인해 안 지워지는 경우, 의존성 패키지를 먼저 제거하고 제거합니다.
의존성 패키지의 제거가 필요없다고 판단되면, rpm -e <패키지명> --nodeps 옵션으로 제거합니다.