Instalación de MySQL, Apache y PHP en Solaris 10

mysql, sysadmin Deja un comentario

Apache + MySQL + PHP

¿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:

$ pkginfo | grep -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

3 comentarios a “Instalación de MySQL, Apache y PHP en Solaris 10”

  1. Javier Vidal Postigo » Blog Archive » Instalación de cacti en Solaris 10 dice:

    […] de poder instalar cacti, necesitaremos instalar Apache + Mysql + PHP. En este post puedes leer cómo […]

  2. Enrique Romero dice:

    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 www. En solaris cual es?.

    Gracias

  3. Javier Vidal Postigo dice:

    El directorio no depende del sistema operativo. Es el DocumentRoot de Apache:

    http://httpd.apache.org/docs/2.0/mod/core.html

Deja un comentario