Instalación de Apache 2, PHP4 y MySQL 4
Instalando MySQL
Lo primero que haremos será entrar en la carpeta /usr/local/src
y descomprimir el archivo tar.gz
correspondiente. Con esto se nos creará una carpeta con el mismo nombre (sin extensión) que contendrá los fuentes de la aplicación.
bash# tar xvfzp mysql-4.1.10a.tar.gz bash# cd mysql-4.1.10a |
Creación de usuario y grupo mysql
Es necesario por seguridad crear un usuario y un grupo de nombre mysql
con el fin de que sea este usuario bajo el que se ejecute MySQL, y sea también el propietario de las bases de datos.
bash# groupadd mysql bash# useradd -g mysql mysql |
Configuración de los fuentes y compilación
Mediante el programa configure
se realizar una configuración automática de los fuentes comprobando que todas las librerías necesarias están instaladas. Es posible utilizar diferentes parámetros para variar el comportamiento por defecto de la instalación. Así, por ejemplo, el parámetro más importante es --prefix
, mediante el cual se indica el path en el que se desea instalar la aplicación. Existen multitud más de parámetros que pueden verse con ./configure --help
.
La forma más sencilla de configurar los fuentes es indicando únicamente la ubicación donde queremos instalar la aplicación
bash# ./configure --prefix=/usr/local/mysql |
En nuestro caso sin embargo, vamos a añadir un conjunto de opciones que indican el compilador a utilizar (gcc) así como que se genere un binario optimizado. Lo siguiente es una única instrucción formada de varias líneas.
bash# CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \ -felide-constructors -fno-exceptions -fno-rtti" ./configure \ --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static \ --with-named-curses-libs=/lib/libncurses.so.5 |
Si todo ha ido correctamente, tanto en un caso como en el otro, nos saldrá un mensaje similar al siguiente:
MySQL has a Web site at http://www.mysql.com/ which carries details on the latest release, upcoming features, and other information to make your work or play with MySQL more productive. There you can also find information about mailing lists for MySQL discussion. Remember to check the platform specific part of the reference manual for hints about installing MySQL on your platform. Also have a look at the files in the Docs directory. Thank you for choosing MySQL! |
En caso contrario se nos indicará el problema, que suele ser que no hay disponible alguna librería necesaria, en cuyo caso deberemos instalarla y volver a intentarlo. Podemos mirar el archivo config.log para ver un informe de lo sucedido.
Una vez correctamente configurados los fuentes, es hora de compilarlos.
bash# make |
Este proceso puede tardar varios minutos en función del equipo en el que estemos realizando la instalación.
Instalación
Una vez compilada la aplicación nos queda instalarla, lo cual haremos también utilizando el comando make
, pero indicándole una tarea diferente.
bash# make install |
Tras la instalación hay varias cosas que es necesario configurar antes de poder empezar a trabajar, como crear un archivo de configuración, crear las tablas de permisos (grant tables), configurar los permisos de los programas y la carpeta de datos y, por último, configurar MySQL para que se inicie automáticamente al arrancar la máquina.
Crear el archivo de configuración
En la carpeta support-files
hay varios ejemplos que se pueden tomar como base.
bash# cp support-files/my-medium.cnf /etc/my.cnf bash# chown mysql:mysql /etc/my.cnf bash# chmod 600 /etc/my.cnf |
Le ponemos permisos de lectura y escritura únicamente para el usuario root, de forma que nadie más pueda acceder al archivo.
Conviene echar un vistazo al archivo creado, por si consideramos que tenemos que modificar algún parámetro de la configuración. En nuestro caso vamos a desactivar el log binario que se utiliza para replicación de bases de datos. Para ello buscamos la línea que contiene log-bin
y le ponemos un «#» al comienzo.
# Replication Master Server (default) # binary logging is required for replication #log-bin |
Dentro de la sección mysqld
vamos también a introducir una línea comentada que nos permitirá activar el log de consultas si en algún momento necesitamos ver qué consultas se están ejecutando, por ejemplo, si detectamos que el servidor tiene problemas y consideramos que se debe a algún tipo de consultas SQL.
#log = /usr/local/mysql/var/mysql.log |
Tablas de permisos
La primera vez que se instala MySQL es necesario crear estas tablas. Para ello disponemos de un programa que permite hacerlo automáticamente.
bash# /usr/local/mysql/bin/mysql_install_db --user=mysql |
El valor mysql
que se indica en el parámetro --user
ha de coincidir con el usuario que hemos creado al comienzo de la instalación.
Permisos
Debemos configurar los permisos de los programas generados así como de la carpeta que contiene las bases de datos. Vamos a poner como propietario de todos los archivos al usuario root, y como grupo mysql, salvo en la carpeta de datos var y su contenido, que le pondremos como usuario propietario mysql.
bash# chown -R root /usr/local/mysql bash# chown -R mysql /usr/local/mysql/var bash# chgrp -R mysql /usr/local/mysql |
Arranque de MySQL
Vamos a comenzar lo primero lanzando el servidor de MySQL para comprobar que la instalación que hemos realizado ha ido bien.
bash# /usr/local/mysql/bin/mysqld_safe --user=mysql & |
Si falla nos indicará algo similar a «mysqld ended». Podremos ver información al respecto en el archivo «host_name.err» que hay en el directorio de datos.
Podemos probar a entrar en la consola de mysql utilizando el usuario root, el cual inicialmente no tiene password, lo cual convendría por seguridad cambiar.
bash# /usr/local/mysql/bin/mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 4.1.10a Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> |
Una vez llegados a este punto, en el que ya tenemos MySQL instalado y funcionando, podemos probar a configurar MySQL para que se active automáticamente al arrancar la máquina. Para ello podemos copiar el archivo support-files/mysql.server
en la ubicación en donde estén los scripts de arranque en la máquina.
bash# cp support-files/mysql.server /etc/init.d/mysqld bash# chmod +x /etc/init.d/mysqld |
En sistemas basados en RedHat puede ser que en vez de en /etc/init.d, tengamos que copiar el archivo en /etc/rc.d/init.d. Podemos probar el script llamándole directamente /etc/init.d/mysqld
e indicándole la acción que queremos, start
,stop
o restart
.
Una vez copiado el script de arranque es necesario activarlo, por ejemplo usando chkconfig o creando enlaces simbólicos desde el runlevel que deseemos.
bash# chkconfig --add mysqld |
En el caso de distribuciones basadas en debian podemos utilizar:
bash# update-rc.d mysqld defaults |
En la web de MySQL hay más información al respecto.
Con esto ya tendríamos MySQL correctamente instalado y configurado, es momento de pasar a instalar Apache.
Felicitaciones, todo me funciono como indicas.
hola,
podrias dejar tb la instalacion para win??? me obligan a instalarlo en win y me toy volviendo loca….
gracias
Lo hice con PHP5 + MYSQL5 + APACHE2 y Funciona perfectamente
oye que onda……….. en lugar que suban los archivos ya modifiados para lo unico que se tenga que hacer es copiar y pegar asi sera mas facil para rodos
Hola
Me podrían indicar por favor, como iniciar mysql 4.0.23, yo lo instale desde un rpm, creo que se instaló correctamente pero no puedo iniciarlo. ayudenme por favor
Hola
Alguien me podria explicar como puedo iniciar windows sin que apache y mysql empiezen a ejecutarse, es para ya no estar esperando que cargen. Este es mi mail para que puedan contactarme black_fire_dark@hotmail.com
Hola. Probaron con PHP Triad? Les instala Apache, MySQL etc etc. desde un solo programa. Está bastante bueno. S2.
Mariano, PHP Triad en efecto es una buena opción para instalar todo el lote Apache+MySQL+PHP en un windows, aunque también hay otras alternativas como easyPHP. En cualquier caso ten en cuenta que en este artículo nos centramos en la configuración e instalación en linux.
Hola KikaySensO, para que tu Windows inicie sin tener que cargar Apache, MySQL u otra cosa que tu no quisieras o que no te fuera util, solo debes desactivar temporalmete el servicio, vea a INICIO y en ejecutar escribe msconfig y en la pestaña de Servicios quitale la palomita al servicio que desees. De igual manera haras lo mismo cuando quieras recuperar el servicio.
Saludos y suerte xD 🙂
Hola
Hice todos los pasos y funciona bien, pero cuando tengo archivos con codigo html y codigo php juntos me los descarga. hice todo lo que decian para arreglar eso pero aun me persiste el problema
Como lo soluciono?
Grax
Hola
Ya arregle lo de php y html
Pero me parece que el problema es con Mysql, cuando tengo scrip de conexion a la base de datos dentro de codigo php me descarga el archivo…a que se puede deber????
Hola a todos y gracias por atender esta pregunta.
Alguien me podria decir por favor como configurar correctamente apache 2.2.4. El problema es que cuando entro al localhost solo me aparecen las palabras IT WORKS y no la pagina que debe de aparecer de apache con las palabras funciona y el logo de apache (pluma). Ya intente cargando LoadMOdule php5 y AddModule ademas de añadir el AddType application y el Action application, tambien ya revise el listen para el puerto (80)los directorys, el server name y nada. Todo lo anterior ya esta en mi archivo httpd.conf y solo aparece IT WOKRS. Gracias por su ayuda
Hola me aparece este error al cargar un modulo de apache
httpd: Syntax error on line 406 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
LoadModule php5_module /usr/local/apache2/modules/libphp5.so
AddModule mod_php5.c
AddType application/x-httpd-php .php4 .php3 .phtml .php
AddType application/x-httpd-php-source .phps
Josue, puede ser que tengas instalado SELinux?
Intenta ejecutar ‘ls –lcontext’ (LS –LCONTEXT), puede que obtengas algo como:
root:object_r:usr_t
Ejecuta ‘chcon libphp5.so -t shlib_t’ y comprueba que haya cambiado a:
root:object_r:shlib_t
Referencia: http://www.linuxquestions.org/questions/linux-software-2/apache-and-php5-problem-fc4-342621/
hola no ‘puedo reiniciar apache: me aparece un error en apache2.conf error de sintaxisen al linea 141
invalid comand «Order», perhaps or misspelled or definide by other module not included in the server configuration.
que hago ayudenme porfas!!!!!
Hola mi nombre es oscar y mi problema es en esta parte, ya que no tengo «var», tengo que crearla yo mismo o ya tendria que estar?, le agradeceria su ayuda ya que soy nuevo en esto, he seguido todos los pasos y creo que han salido pero cuando llego hasta aqui pues ya no puedo seguir.
Gracias
bash# chown -R root /usr/local/mysql
bash# chown -R mysql /usr/local/mysql/var
bash# chgrp -R mysql /usr/local/mysql
hola necesito instalar apache2 en suse 10.3.
lo intente desde la terminal.
sudo apt-get install apache2
y me dice que apt-get no se puede usar alguien me podia explicar que estoy haciendo mal.
No estoy seguro porque no utilizo Suse, pero me parece que no usa apt-get sino Yast para instalar software.