Descripción general
Muchas dependencias de terceros en cPanel & WHM ahora se despachan como RPMs. Para poder personalizar estas dependencias en su servidor, usted debe crear el RPM personalizado y luego reinstalarlo.
¡Ojo!: Usted debe entrar al sistema por medio de SSH como el usuario root
para instalar un RPM.
Antes de comenzar
Si usted aún no lo ha hecho, realice los siguientes pasos para asegurarse de que su sistema está listo para construir e instalar un RPM.
Active el devel target para cPanel & WHM
Ejecute los scripts update_local_rpm_versions
y check_cpanel_rpms
antes de que usted instale un RPM personalizado. Estos scripts se aseguran de que el devel
target está activado y al día. El devel
target instala las versiones devel
de los RPM, que cPanel & WHM usa para compilar SRPMs localmente.
Ejecute los siguientes comandos:
1
2
|
/scripts/update_local_rpm_versions --edit target_settings.cpanel-devel installed /scripts/check_cpanel_rpms --targets cpanel-devel --fix |
Ojo:
Para reconstruir algunos de los RPM provistos por cPanel, usted tendrá que instalar RPMs adicionales que cPanel & WHM no incluye en las instalaciones predeterminadas. Estos RPMs adicionales contienen archivos que se necesitan solamente para reconstruir, pero no para ejecutar, los RPMs provistos por cPanel.
Instale prerequisitos adicionales
Antes de que usted pueda construir e instalar un RPM personalizado, usted debe instalar todos los prerequisitos del RPM. Usted puede encontrar todos los prerequisitos del RPM en su archivo .spec
, listado con el número de versión requerido.
- Las líneas en el archivo
.spec
que comienzan conBuildRequires:
indican que hay un prerequisito necesario para poder construir el RPM. - Las líneas en el archivo
.spec
que comienzan conRequires:
indican que hay un prerequisito necesario para poder instalar el RPM. - Por ejemplo,
BuildRequires: cpanel-mysql >
5.0.95= indica que el RPM requiere el RPM cpanel-mysql de la versión 5.0.95 o mayor de MySQL®.
Asegúrese de que todos los RPM requeridos por cPanel & WHM están instalados
Ejecute /scripts/sysup
para asegurar que su servidor tiene instalados todos los RPMs necesarios.
- Si todos los RPMs necesarios están instalados en su servidor, usted recibirá el mensaje
All Needed RPMS are installed.
- Si usted recibe un mensaje de error, corrija esos problemas de instalación primero para evitar errores adicionales cuando usted construya e instale su RPM personalizado.
Paso 1: Cree el archivo .rpmmacros
Use su editor de texto preferido para crear el archivo .rpmmacros
en el directorio /root
.
Añada el siguiente contenido al archivo:
1
|
%_topdir /root/rpmbuild # enable debug RPM package by commenting this out. %debug_package %{nil} |
Paso 2: Cree los directorio necesarios para reconstruir el RPM
Usted debe crear los siguientes directorios si no están presentes en su servidor:
/root/rpmbuild/BUILD
/root/rpmbuild/SPECS
/root/rpmbuild/SOURCES
/root/rpmbuild/BUILDROOT
/root/rpmbuild/RPMS
/root/rpmbuild/SRPMS
Use el siguiente comando para crear estos directorios:
1
|
mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/SPECS /root/rpmbuild/SOURCES /root/rpmbuild/BUILDROOT /root/rpmbuild/RPMS /root/rpmbuild/SRPMS |
Importante:
Los directorios BUILD
, SPECS
, SOURCES
, BUILDROOT
, RPMS
y SRPMS
deben nombrarse exactamente como se muestran aquí. Usted debe escribir en mayúsculas el nombre completo para cada uno de estos directorios.
Paso 3: Instale el RPM fuente
Use el comando rpm
para instalar el RPM fuente (SRPM).
- El archivo
.spec
se instalará en el directorio/root/rpmbuild/SPECS/
- El tarball fuente, los parches y otros archivos adicionales del RPM se instalarán en el directorio
/root/rpmbuild/SOURCES/
.
Ojo:
Usted puede encontrar el SRPM correcto para su versión de cPanel & WHM en nuestro servidor httpupdate (en inglés). Pulse en la versión de cPanel & WHM en su servidor, y luego pulse en el directorio src/
para ver una lista de todos los SRPMs disponibles para esa versión.
Su comando se parecerá al siguiente:
Cuando se termine la instalación, usted verá un mensaje similar al siguiente:
1
|
Retrieving http://httpupdate.cpanel.net/RPM/11.36/src/cpanel-php53-5.3.17-2.cp1136.src.rpm 1:cpanel-php53 ########################################### [100%] |
Paso 4: Edite el archivo .spec
Use su editor de texto preferido para modificar el archivo .spec
en el directorio /root/rpmbuild/SPECS/
. Añada las opciones de configuración deseadas para su RPM.
- Vea la sección Documentación relacionada a continuación para obtener recursos que le pueden ayudar a modificar el archivo
.spec
.
Ojo:
Si usted desea cambiar cualquiera de las fuentes despachadas con los SRPM, modifique los archivos que se instalaron en el directorio /root/rpmbuild/SOURCES/
.
El siguiente ejemplo muestra una sección de un archivo .spec
que ha sido modificado para incluir SOAP
:
1
|
%configure --prefix=%{_prefix} \ --with-libdir=%{_lib} \ --verbose \ --enable-static \ --with-mcrypt=%{_3rdparty_prefix} \ --with-iconv --enable-mbstring \ --with-gd \ --enable-soap \ --enable-mbregex \ --with-imap-ssl --with-imap=%{_3rdparty_libdir}/imap/ \ |
Paso 5: Reconstruya el RPM
Ejecute el comando rpmbuild
en el archivo .spec
modificado para construir el nuevo RPM localmente. Su comando debe parecerse al siguiente:
1
|
rpmbuild -bb /root/rpmbuild/SPECS/php.spec |
Los RPM y cualesquier subpaquetes se escribirán en el directorio /root/rpmbuild/RPMS/
.
Ojo:
Cuando usted ejecuta este comando, es posible que se reporten las dependencias. Si esto ocurre, instale estas dependencias con yum
antes de continuar al Paso 6.
Paso 6: Ejecute el comando para actualizar su RPM con force
Navegue al directorio /root/rpmbuild/RPMS/
. Ejecute el comando rpm
para instalar su RPM nuevo personalizado.
Su comando se parecerá al siguiente:
1
|
rpm -Uvh cpanel-php53-5.3.17-2.cp1136.x86_64.rpm --force |
Advertencia: No instale cpanel-php53-devel-5.3.17-2.cp1136.x86_64.rpm
a menos que usted haya personalizado un RPM de PHP o PEAR. La instalación de este RPM en otras circunstancias puede dañar su instalación de PHP existente.
Paso 7: Prevenir actualizaciones accidentales
Advertencia: Este paso es opcional, suspende las actualizaciones a este RPM y puede prevenir modernizaciones futuras de cPanel & WHM. Sin embargo, si usted no realiza este paso, cPanel & WHM puede sobrescribir su RPM personalizado durante su próxima actualización o modernización.
Para prevenir las actualizaciones accidentales, añada su RPM personalizado a la lista de los RPM locales en el script update_local_rpm_versions
. Su comando se parecerá al siguiente:
1
|
/scripts/update_local_rpm_versions --add srpm_versions.cpanel-php53 5.3.17-2.cp1136 |
Para verificar que su RPM personalizado esté configurado correctamente, vea el archivo /var/cpanel/rpm.versions.d/local.versions
El contenido del archivo local.versions
debe ser parecido al siguiente:
1
|
--- file_format: version: 2 srpm_versions: cpanel-php53: 5.3.17-2.cp1136 |
Cómo regresar a la versión de cPanel & WHM de un RPM
Si en algún momento usted desea regresar a la versión de cPanel & WHM de un RPM:
- Use el siguiente comando para eliminar el RPM personalizado del archivo
local.versions
.-
1
/scripts/update_local_rpm_versions --del srpm_versions.cpanel-php53
-
- Ejecute
/scripts/check_cpanel_rpms
para instalar nuevamente la versión de cPanel & WHM del RPM.
Documentación relacionada
- Cómo personalizar y anular el sistema rpm.versions — Este documento provee información sobre el sistema
rpm.versions
para administradores de sistema y programadores de software de terceros.
Ayudas para modificar el archivo .spec
- Maximum RPM — La "biblia de RPM" contiene amplia información sobre los RPMs para administradores de sistema y programadores de RPM (en inglés).
- RPM, %config, and (noreplace) — Este documento detalla el uso de
%config
y(noreplace)
en los archivos.spec
(en inglés). - Packaging:ScriptletSnippets — La sección Syntax de este documento detalla cómo usar scriptlets en el archivo
.spec
del RPM.