Montar servidor -> Apache + MySQL + PHP

Sube tu how-tos o revisa los ya creados por usuarios de debian para ayudarte a configurar o usar alguna app en tu sistema.

Moderador: payperme

Montar servidor -> Apache + MySQL + PHP

Notapor luckyr13 » Vie May 30, 2008 11:56 pm

Pasos para montar servidor web en Debian

Esta pequeña guía es para montar un servidor web con php5 en Debian, para esto la guía se realizó trabajando en: Debian 4.0 etch

Se debe estar con cuenta de root para realizar el proceso:

# su -lm

Recomiendo incluir -m o -p para contar con las variables de entorno en caso de que se guste abrir algún editor de texto.

Instalar apache2

Para la instalación no hay gran complicación, basta con poner la siguiente línea:

# apt-get install apache2

Para comprobar la instalación, ir al navegador y escribir: http://localhost o con la dirección de loopback http://127.0.0.1, debe aparecer el letrero: It works!

Instalar modulo php5

En experiencia propia, es más fácil si se instala directamente así, por que ya se queda configurado (incluso te ahorra el modificar apache2.conf). Lo digo por que (por lo menos en el pasado) cuando haciamos este procedimiento en Windows había que hacer bastantes modificaciones a los confs :D

# apt-get install libapache2-mod-php5

Archivo de configuracion de apache2

El archivo de configuración se encuentra ubicado aquí:

/etc/apache2/apache2.conf

Por el momento no hay necesidad de hacer modificaciones, no estoy muy seguro si es solo en Debian que el archivo de configuración sea el apache2.conf en vez de el httpd.conf, pero en un foro se comentaba que sí… a ver si luego investigo bien eso xD

Iniciar Apache2

Para arrancar apache

# apache2 -k start

Detener Apache2

Para detener apache

apache2 -k stop

Version de apache2:

Para obtener la versión de apache

apache2 -v

¿Donde colocar los archivos de la página web?

Los archivos de la futura página se almacenan en: /var/www , por defecto apache toma en esa misma ruta el directorio apache2-default pero podemos cambiar eso de la siguiente manera.

Editar el directorio de trabajo:

Para esto es necesario modificar el siguiente archivo:

/etc/apache2/sites-available/default

Y modificar la siguiente linea:

(comentar esta)# RedirectMatch ^/$ /apache2-default/

(agregar esta) RedirectMatch ^/$ /luckyr13/

Ahora procederíamos a simplemente crear la carpeta para que esta modificación en ese archivo adquiera coherencia :oops: :

# su -lm

password: *******

# cd /var/www
# mkdir nombre_directorio_trabajo (que para los fines de la configuración anterior sería luckyr13)

Ahora crearemos un archivo en php para probar que en efecto todo haya salido bien:
# cd nombre_directorio_trabajo
# gedit index.php

(se abre el gedit para editar el archivo index.php, se pone el siguiente codigo, tambien pudimos haber usado el vim o cualquier editor por el que tengamos favoritismo)

Código: Seleccionar todo
<?php

$x= “Pagina de prueba”;

echo $x;

phpinfo();

?>


Se guarda el archivo como index.php, se cierra el gedit y listo… abrimos el navegador y bastaría con poner http://localhost y tendríamos en pantalla el archivo de información de php más una linea de texto al principio de la página que diría “Pagina de prueba”.

Y ahora... MySQL

Es común encontrar hoy en día una infinidad de libros que hablan sobre la combinación APACHE + PHP + MYSQL… y creo que hay excelentes fuentes para cuestiones de configuración por lo que seré un tanto breve sobre la instalación de mysql (digo, el manual de referencia está muy muy completo como para evitar profundizar mas en estos asuntos jeje)…

Tan fácil como ejecutar lo siguiente:

# apt-get install mysql-client mysql-server

Y listo. Ahora en cuanto a algunos comandos de interés, tenemos que para conectarse al servidor bastaría desde la shell de linux ejecutar:

# mysql

Por ahora con eso es suficiente para tener acceso pues no hemos establecido ninguna contraseña ni permiso por el momento. Otras formas para hacer conexión serían:

# mysql -h direcciondelhost -u usuario -p (para máquinas remotas)

# mysql -u usuario -p (para trabajo local)

Y una vez en la línea de comandos de mysql podemos hacer las siguientes consultas:

mysql > SELECT VERSION(); (nos da la version del server)

mysql > SHOW DATABASES; (muestra las bases de datos registradas)

mysql > CREATE DATABASE nombredelabase; (crea una base de datos)

mysql > USE nombredelabase; (selecciona a nombredelabase como la actual base de datos en uso)

# mysql -h host -u usuario -p nombredelabase (seleccionamos la base de datos desde la shell)

Una vez en la base de datos:

mysql > SHOW TABLES; (muestra las tablas en la base de datos)

mysql > CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
-> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); (crea una tabla con atributos, es una tabla de ejemplo jeje)

mysql > DESCRIBE nombredelatabla; (con esto podemos conocer información de la tabla que queramos)

mysql > INSERT INTO pet
-> VALUES (’Puffball’,'Diane’,'hamster’,'f’,'1999-03-30′,NULL); (inserta valores en la tabla de ejemplo)

mysql > SELECT queseleccionamos

-> FROM dequetablaseleccionamos

-> WHERE bajoquecondiciones; (consulta basica)

mysql > SELECT * FROM nombredelatabla; (seleccionaria todos los valores)

mysql > UPDATE pet SET birth = ‘1989-08-31′ WHERE name = ‘Bowser’; (actualiza un atributo en especifico)

mysql> SELECT pet.name
-> FROM pet INNER JOIN event
-> ON pet.name = event.name
-> WHERE event.type = ‘litter’; (consulta dos tablas a la vez con el INNER JOIN)

Hay mas cosas por saber sobre mysql, pero creo que por ahora dejaré solo estas consultas, sugiero revisar el manual de referencia en la página oficial de mysql, yo solo hablé un poco del capítulo 3 en esta ocasión :D .

CONECTARSE A MI BASE AUNQUE NO ESTÉ EN LOCALHOST

Vaya pues… automaticamente pensé en conectarme a mi base de datos desde mi máquina en Windows y cual fue mi sorpresa al llevarme varios conections refused :D… a continuación comento sobre una configuración básica que realicé sobre el server:

1.- Configurar mysql para escuchar no solo en localhost, para eso nos vamos a editar al archivo de configuración:

# vi /etc/mysql/my.cnf

Una vez ahí descomentamos la siguiente línea quitandole el signo # :

# bind-address = 127.0.0.1

Y reiniciamos el servicio:

# /etc/init.d/mysql restart

2.- Cambiar la contraseña del usuario root:

# mysqladmin -u root password mysqlrootpassword

Donde en vez de mysqlrootpassword pondremos nuestra contraseña nueva.

3.- Cambiar la parte de host directamente sobre la base de datos de mysql:

Esta parte ya fue manejada por mi, por que con el primer paso la verdad no logré poder loggearme remotamente… lo que hice fue lo siguiente:

mysql > use mysql

mysql > show tables;

(ahí ubicamos una tabla llamada user)

mysql > select host, user, password from user;

(ahi vemos los usuarios que tenemos)

mysql > UPDATE user SET host=’%’ WHERE user=’root’ AND host=’localhost’

Y segun yo, ya está listo, volvemos a reiniciar:

# /etc/init.d/mysql restart

Ahora pues, probamos a conectarnos desde una máquina remota para comprobar que ya esté todo bien … recomiendo usar el EMS Sql Manager 2007 Lite for MySQL, lo podemos encontrar aqui: http://www.sqlmanager.net/en/products/mysql/manager

Fuente para pasos 1 y 2:

http://www.debianadmin.com/mysql-database-server-installation-and-configuration-in-debian-2.html

Paso 3:

Mi mente… jajaja, a ver si no la regó
luckyr13
Usuario Registrado
 
Mensajes: 92
Registrado: Vie Feb 29, 2008 12:28 am

Re: Montar servidor -> Apache + MySQL + PHP

Notapor Manuelinux » Sab May 31, 2008 4:55 am

Solo quería agregar que para usar mysql con php en el servidor apache hay que configurar cosas o simplemente hacer un

Código: Seleccionar todo
#apt-get install php5-mysql


bueno, depende del php que hayamos instalado y así php podrá conectarse a nuestras bases de datos de mysql
Manuelinux
Usuario Registrado
 
Mensajes: 37
Registrado: Sab Ene 19, 2008 12:44 am
Ubicación: Tesistan Jalisco

Re: Montar servidor -> Apache + MySQL + PHP

Notapor luckyr13 » Sab May 31, 2008 7:22 am

muchas gracias Manuelinux, si ...la verdad se me fue eso! jaja... en todo caso espero que sea de utilidad la info :) salu2!
luckyr13
Usuario Registrado
 
Mensajes: 92
Registrado: Vie Feb 29, 2008 12:28 am

Re: Montar servidor -> Apache + MySQL + PHP

Notapor miguex » Lun Jun 02, 2008 3:18 am

Perfecto , excelente manual.

Saludos
En caso de panico.......... grite y corra en circulos !!
miguex
Administrador del Sitio
 
Mensajes: 325
Registrado: Vie Ene 18, 2008 6:05 pm

Montar servidor -> Apache + MySQL + PHP

Notapor leonardi » Vie Jul 18, 2008 11:13 pm

Hola, buenas tardes, terminé de instalar "debian lenny" y todo normal, todo bien, me ha gustado mucho, pero me he encontrado con el primer problema:

Estoy instalando Apache, php y Mysql, he seguido estos howto's:

viewtopic.php?f=7&t=109

http://www.ecualug.org/?q=2008/06/17/bl ... nny&page=1

y otros foros, pero no encuentro que parámetro puede ser o que módulo me falta porque al intentar abrir un archivo de "index.php", en vez de abrirlo, intenta descargarse ya he checado todos los modulos que segun deben estar instalados y ya los tengo instalados, las versiones y todo, pero no logro que abra archivos con extensión .php

Estos servicios lo he levantado en distribuciones de Red Hat y derivadas de ésta, pero me he cambiado a Debian, por convicción propia. sólo que no he podido con este problema.

De antemano, les agradezco su valiosa ayuda.
leonardi
Usuario Registrado
 
Mensajes: 3
Registrado: Mié Jun 18, 2008 7:06 pm

Re: Montar servidor -> Apache + MySQL + PHP

Notapor herymx » Sab Jul 19, 2008 8:13 pm

leonardi escribió:Hola, buenas tardes, terminé de instalar "debian lenny" y todo normal, todo bien, me ha gustado mucho, pero me he encontrado con el primer problema:

Estoy instalando Apache, php y Mysql, he seguido estos howto's:

viewtopic.php?f=7&t=109

http://www.ecualug.org/?q=2008/06/17/bl ... nny&page=1

y otros foros, pero no encuentro que parámetro puede ser o que módulo me falta porque al intentar abrir un archivo de "index.php", en vez de abrirlo, intenta descargarse ya he checado todos los modulos que segun deben estar instalados y ya los tengo instalados, las versiones y todo, pero no logro que abra archivos con extensión .php

Estos servicios lo he levantado en distribuciones de Red Hat y derivadas de ésta, pero me he cambiado a Debian, por convicción propia. sólo que no he podido con este problema.

De antemano, les agradezco su valiosa ayuda.


Creo que bastara con reiniciar el servicio de apache /etc/init.d/apache restartsino intenta reiniciar el sistema, intentalo y ya nos comentaras.

Suerte!!!
PARA VER LA FIRMA RASCA AQUI----> |||||||||||||||||||||||||||||

Imagen
herymx
Usuario Registrado
 
Mensajes: 163
Registrado: Dom Ene 20, 2008 9:20 pm
Ubicación: Cancún

Re: Montar servidor -> Apache + MySQL + PHP

Notapor payperme » Dom Jul 20, 2008 5:05 am

Sin mal no recuerdo existe una linea en el httpd.conf, donde tendras que agregar que busque index.php, te sere sincero que no recuerdo la variable, pero en ese mismo encontraras index.html, en las distribuciones BSD en la instalacion de apache lo tienes que realizar aunque en Debian, creo que y aviene pero igual y no seria malo verlo.
Imagen
payperme
Moderador Global
 
Mensajes: 104
Registrado: Sab Ene 26, 2008 9:05 am

Re: Montar servidor -> Apache + MySQL + PHP

Notapor luckyr13 » Jue Jul 24, 2008 1:02 am

no encuentro que parámetro puede ser o que módulo me falta porque al intentar abrir un archivo de "index.php", en vez de abrirlo, intenta descargarse ya he checado todos los modulos que segun deben estar instalados y ya los tengo instalados, las versiones y todo, pero no logro que abra archivos con extensión .php


Que tal leonardi, igual disculpa la tardanza de la respuesta pero creo que con hacer el siguiente paso ya seria mas que suficiente para que leyera los index.php.

Instalar modulo php5

En experiencia propia, es más fácil si se instala directamente así, por que ya se queda configurado (incluso te ahorra el modificar apache2.conf). Lo digo por que (por lo menos en el pasado) cuando haciamos este procedimiento en gu-indos había que hacer bastantes modificaciones a los confs :D

# apt-get install libapache2-mod-php5


ojala puedas avisarnos si sigues con el mismo problema, salu2!
luckyr13
Usuario Registrado
 
Mensajes: 92
Registrado: Vie Feb 29, 2008 12:28 am

Re: Montar servidor -> Apache + MySQL + PHP

Notapor leonardi » Jue Ago 07, 2008 4:05 pm

Hola que tal, puess nuevamente solicitando su ayuda con algunos tips, puess ha he hecho, lo que amablemente me han sugerido todos (herymx, payperme, luckyr13) y nada, sigue marcando el mismo error: "al abrir un archivo con extensión.php, intenta bajarlo en vez de abrirlo".

Les comento lo que tengo instalado:
* mi archivo se llama index.php y el codigo de prueba es:
<?php
phpinfo();
?>
* Ya le he cambiado permisos a 755 y hasta 777 y nada que lo abre, el archivo esta en /var/www/index.php y tambien ya lo cambié de ruta en mi carpeta de /home/usuario_yo/index.hp

* toml:~# a2enmod php5
Module php5 is already enabled!

* toml:~# apache2 -v
Server version: Apache/2.2.8 (Debian)

* toml:~# mysql -v
Server version: 5.0.51a-9+lenny2 (Debian)

he reiniciado el apache: /etc/init.d/apache2 restart, he reiniciado completamente la computadora, como he leido en varios foros. http://www.esdebian.org

Como verán, he hecho varias cosas, si no es que muchas y no logro hecharlo a andar LAMP, no sé que me hace falta. yo creo que reinstalar nuevamente e intentarlo de nuevo o algo así o ustedes como expertos en debian, que me recomiendan??.

Como dato, tengo instalado: "Debian Lenny" for i386.

Todos los manuales y tips de instalacion de LAMP que he encontrado es con: "Debian etch" y en 2 que 3 pasos lo instalan y php funciona bien(segun lo que he leido), pero no sé, si sea un bug en debian lenny o algo me hace falta que no funciona.

De antemano, agradezco su ayuda. Saludos.
leonardi
Usuario Registrado
 
Mensajes: 3
Registrado: Mié Jun 18, 2008 7:06 pm

Re: Montar servidor -> Apache + MySQL + PHP

Notapor payperme » Sab Ago 09, 2008 3:03 am

Mira ahi te va, si lee extensiones HTML tiene que hacerlo las PHP por que todo esta funcionando de maravilla. Busca la siguiente linea en tu configuracion:

DirectoryIndex index.html

y agrega todas las extensiones:

DirectoryIndex index.php index.html index.htm index.shtml index.cgi

Te repito en FreeBSD asi viene de cajon y no lee los PHP, por lo que me dices, cuando entras a tu web te debe de aparecer el arbol de directorio de todo lo que tienes en tu /var/www, bueno espero y nos puedas publicar tu archivo de configuracion para ayudarte, asi como tu archivo de como estas declarando tu sitio. Si es en Debian debe de ser el de sites-enable, si mal no recuerdo.

------------------------------------------------------------------------------------------------------------------------------
"Gracias a cada uno de ustedes(herymx,payperme,luckyr13) que me ayudaron, la solución fué reinstalar todo desde cero, seguí los pasos uno a uno tal cual como viene en este HOWTO y funcionó.

Nuevamente muchas gracias
Imagen
payperme
Moderador Global
 
Mensajes: 104
Registrado: Sab Ene 26, 2008 9:05 am

Siguiente

Volver a How-To

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado