Instalación de MySQL, Apache y PHP en Solaris 10
mysql, sysadmin Deja un comentario¿Alguna vez has intentado compilar PHP en Solaris? Yo sí, y he de reconocer que no es una tarea sencilla. Hace varios años decidí utilizar cacti en Solaris. cacti es un programa escrito en PHP para generar gráficas, generalmente de rendimiento, y necesita Apache + MySQL + PHP . Por aquel entonces los paquetes de sunfreeware no estaban compilados de forma que PHP pudiera funcionar como módulo de Apache. Así que no tuve más remedio que compilar y compilar hasta que logré dar con una combinación adecuada de versiones y de opciones de compilación. La versión de Solaris que utilicé fue la 8, y escribí un documento donde contaba los detalles.
Después de tres años de espera, en octubre de 2007 se anunció la versión 0.8.7 de cacti, la cual estoy deseando probar. Esta vez lo haré en Solaris 10, y con gran alegría encuentro que esta vez sí es posible la instalación de Apache + MySQL + PHP en Solaris (SAMP) sin tener que compilar, utilizando únicamente paquetes binarios de sunfreeware.
Por otro lado, leo que Sun ha publicado su propia pila AMP, la cual no he tenido tiempo de probar.
En este post os contaré qué 20 paquetes de sunfreeware es necesario instalar y qué pasos hay que seguir para poder ejecutar Apache + MySQL + PHP en Solaris. Es importante seguir el orden aquí descrito, ya que hay paquetes que dependen de otros paquetes.
MySQL 5.0.41
Es necesario instalar los siguientes paquetes:
- libgcc-3.4.6
- openssl-0.9.8f
- zlib-1.2.3
- ncurses-5.6
- mysql-5.0.41
Después es necesario ejecutar como root:
# groupadd mysql # useradd -g mysql -d /export/home/mysql -s /usr/bin/bash mysql # passwd mysql # cd /usr/local/mysql # chown -R mysql . # chgrp -R mysql . # ln /usr/bin/hostname /usr/local/bin/hostname # bin/mysql_install_db --user=mysql # cp share/mysql/mysql.server /etc/init.d/mysql # ln -s /etc/init.d/mysql /etc/rc3.d/S99mysql # ln -s /etc/init.d/mysql /etc/rc0.d/K00mysql # /etc/init.d/mysql start
Será conveniente también añadir al PATH el directorio /usr/local/mysql/bin y poner una contraseña al root de MySQL:
# mysqladmin -u root password 'password' # mysqladmin -u root -h hostname password '
Apache 2.2.4
Como tarea opcional, se pueden desinstalar todos los paquetes de apache que vienen con Solaris. Para ver qué paquetes hay que desinstalar:
$ pkginfogrep -i apache
aunque puede que haya otros paquetes que dependan de los paquetes de apache.
Instalar los siguientes paquetes:
- expat-1.95.5
- libiconv-1.11
- apache-2.2.4
Hará falta crear los scripts para que apache arranque en el arranque de la máquina. Para ello, crear /etc/init.d/apache:
#!/usr/bin/sh PATH=/usr/bin:/usr/sbin export PATH case "$1" in 'start') echo "Arrancando Apache" /usr/local/apache2/bin/apachectl start'stop') echo "Parando Apache" /usr/local/apache2/bin/apachectl stop *) echo "Uso: $0 start stop" exit 1 esac exit 0
y crear los enlaces necesarios:
# ln -s /etc/init.d/apache /etc/rc3.d/S99apache # ln -s /etc/init.d/apache /etc/rc0.d/K00apache
PHP 5.2.3
Instalar los paquetes:
- db-4.2.52.NC
- sasl-2.1.21
- libxml2-2.6.26
- openldap-2.3.35
- jpeg-6b
- libpng-1.2.23
- xpm-3.4k
- gd-2.0.33
- freetype-2.3.1
- fontconfig-2.4.2
- curl-7.17.1
- php-5.2.3
Añadir /usr/local/php/bin al PATH.
Y por último editar el fichero httpd.conf y rearrancar el servidor apache:
AddType application/x-httpd-php .php DirectoryIndex index.html index.php LoadModule php5_module modules/libphp5.so
# /etc/init.d/apache restart

![Validate my RSS feed [Valid RSS]](/wp-content/themes/javiervidal/images/valid-rss.png)
20 de Diciembre de 2007 a las 12:03
[...] de poder instalar cacti, necesitaremos instalar Apache + Mysql + PHP. En este post puedes leer cómo [...]
23 de Abril de 2008 a las 19:06
Que tal amigo…
YA instale php en solaris 10, con todas las dependencias que mencionas, El servicio ya levanto….
Ahora… en que directorio coloco mis paginas .php para publicar???, en caso de un windows es en la http://www. En solaris cual es?.
Gracias
24 de Abril de 2008 a las 10:34
El directorio no depende del sistema operativo. Es el DocumentRoot de Apache:
http://httpd.apache.org/docs/2.0/mod/core.html
24 de Junio de 2008 a las 16:33
Me sirvió muy bien el artículo, ya que traté de instalar SAMP en Solaris 9, pero no se pudo porque la versión que tengo es para Soalris 10. Los únicos dos problemas que tuve fueron que al tratar de conseguir las versiones mencionadas y no estuvieron presentes en sunfreeware y que faltó incluir la librería libintl-3.4.0-sol9-sparc-local que pide una de las herramientas al tratar de levantar Apache con PHP. Este tipo de artículo resultan muy útiles.
3 de Julio de 2008 a las 20:05
Que tal muy buenas tardes:
Me parece muy bueno el tutorial de la instalacion de AMP, soy nuevo en Solaris 10 y requiero instalar AMP, he iniciado los primeros pasos de la instalacion de mysql sin ningun problema, pero al momento de instalar mysql me manda el siguiente erro:
cpio: No es posible escribir “reload/mysql/mysql-test/suite/funcs1/r/myisam_func_view.result”, erno 28, No queda espacio de memoria en el dispositivo.
y asi como esta linea varios mensajes, el ultimo es el siguiente:
pkgadd:ERROR: attemp to process datastream failed
- process failed, exit code 127
pkgadd:ERROR: incapaz de desempaquetar corriente de datos.
La instalacion de fallo (error interno).
No se hicieron cambios en el sistema.
Te agradeceria me pudieras ayudarrrr. ya que no llevo mucho tiempo con Solaris.
Gracias de antemamo
3 de Julio de 2008 a las 20:44
El mensaje “No queda espacio de memoria en el dispositivo” es claro. El sistema de ficheros se ha quedado sin espacio. Puedes ejecutar:
$ df -k
para verlo.
Tendrás que liberar espacio.
4 de Diciembre de 2008 a las 17:01
Hola:
Cuando estaba instalando apache 2.2.9 encontré que solo trabaja con PHP 5.2.6 para que tengan en cuenta cuando se bajan las últimas versiones
4 de Abril de 2009 a las 19:19
Despues de todo el procedimiento realizado dos veces al pie de la leta me arroja el siguiente error httpd: Syntax error on line 113 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: ld.so.1: httpd: fatal: relocation error: file /usr/local/lib/libgd.so.2: symbol png_get_error_ptr: referenced symbol not found sabes de que se trata. Saludos y gran articulo.
4 de Abril de 2009 a las 19:32
Olvida mi post anterior lo he resuelto en mi caso el problema es que la version de libpng y gd en sunfreeware actualmente son mas actuales que las solicitadas en este articulo, unas busquedas en google obtuve los paquetes instale y todo funciona bien. Gracias.
9 de Abril de 2009 a las 6:48
Oye, por mas que busco las versiones que comentas no las encuentro en sunfreeware. De donde consigues esas versiones
Gracias!
10 de Abril de 2009 a las 8:37
En el menú de la derecha de sunfreeware.com verás que hay un enlace “Everything New or Old”. Ahí puedes encontrar el histórico de versiones.
También las tienes directamente accediendo por FTP a http://ftp.sunfreeware.com o a cualquiera de sus mirrors.
15 de Agosto de 2009 a las 1:08
Hola, amigo primero que nada felicitarte por tu emprendimiento de compartir tus conocimientos, mira yo soy de Bolivia, ya instale el Cacti en una maquina comun y silvestre pero ahora, me han dado un servidor sun para instalar, bueno pa no dar mas vueltas me he trabado en este comando quisiera que me colabores ya que mi experiencia es muy poca.
root@cacti1 # bin/mysql_install_db –user=mysql
bin/mysql_install_db: ./bin/my_print_defaults: cannot execute
Neither host ‘cacti1′ nor ‘localhost’ could be looked up with
/usr/local/mysql/bin/resolveip
Please configure the ‘hostname’ command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the –force option
root@cacti1 #
ahi me quede amigo, por favor ayudame saludos y gracias.
19 de Mayo de 2010 a las 17:03
Hola que tal, tengo un problema con la instalacion del apache, segui tu post, solo que los paquetes que instalé fueron las mas recientes, algunos cambiaron de version, y a la hora de levantar el proceso del apache me aparece el siguiente error:
/usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: ld.so.1: /usr/local/apache2/bin/httpd: error fatal: error de reubicaci\xf3n: archivo /usr/local/apache2/modules/libphp5.so: s\xedmbolo xmlTextReaderConstLocalName: s\xedmbolo al que se hace referencia no encontrado
/etc/init.d/apache: sintaxis: identificación de parada …
No se si me puedas ayudar, de antemano Gracias…