View previous topic :: View next topic |
Author |
Message |
sefirotsama l33t
Joined: 11 Apr 2006 Posts: 791 Location: sefirot@catalunya # cd ~
|
Posted: Thu Jun 14, 2007 5:19 pm Post subject: [HOWTO] Apache + php + mysql (servidor LAMP en 3') 5-08-2k7 |
|
|
A ver voy a hacer mi primer "Howto", aunque supongo que no habría sido posible hacerlo sin tener en cuenta las otras guías, sin embargo a pesar de existir ellas se me ha hecho algo complicado montar este servidor LAMP (linux + apache + mysql + php) para uso local, por lo que pretendo ayudar a quienes se planteen hacer una nueva instalación y no sepan por donde comenzar.
HOWTO Apache + php + mysql en pocos minutos
Propósito: Hacer correr un servidor apache con soporte para Mysql y PHP
Tiempo estimado: 3 minutos (tiempo de compilación a parte)
Dificultad: Baja - Media
Fecha: 5-08-2007
Versiones: apache-2.0.58-r2, dev-db/mysql-5.0.44-rc1 , php-5.2.3-r3
PREPARACIÓN
En primer lugar deberíamos asegurarnos de tener permisos de superusuario para llevar a cabo la instalación, y además actualizar portage para obtener las ultimas versiones de cada paquete:
Code: | root# emerge --sync |
Una vez actualizado nos disponemos a instalar lo que necesitamos:
Code: | root# emerge -pv apache mysql php |
Veremos cada paquete con sus respectivas variables USE y cuales estarán activadas si llevamos a cabo la instalación (si no sabemos que significa una variable USE concreta lo podremos saber escribiendo sencillamente euse -i USE).
Par poder llevar a cabo una instalación que pueda utilizar PHP y MYSQL y otras cosillas basicas deberiamos activar almenos estas variables:
Code: |
root# echo "net-www/apache apache2 doc ssl" >>/etc/portage/package.use
root# echo "dev-db/mysql berkdb perl ssl" >>/etc/portage/package.use
root# echo "dev-lang/php apache2 berkdb cli crypt doc gdbm iconv mysql ncurses nls pcre readline reflection session spl ssl truetype unicode zlib" >>/etc/portage/package.use
|
Tened en cuenta que las USE pueden significar tener soporte, o no, para determinadas cosas como por ejemplo para XML. Si quieres soporte para xml en php deberías haber activado la USE xml (si lo has olvidado edita /etc/portage/package.use y añádela manualmente al paquete correspondiente).
Una vez hecho esto puede comenzar la instalación.
INSTALACIÓN
Instalar en si mismo es tan sencillo como escribir esto y esperar que acabe:
Code: | root# time emerge -v --color y apache mysql php |
*nota: time antes de emerge es opcional y solamente sirve para saber cuanto tiempo ha tardado una vez acabe.
Para tener la configuración por defecto solo necesitamos escribir esto (mysql nos pedirá que contraseña queremos asignar al usuario mysql root):
Code: | root# emerge --config apache
root# emerge --config mysql |
Para activar el soporte para PHP en el servidor de vemos editar /etc/conf.d/apache2 y buscar la linia donde pone APACHE2_OPTS y asegurarnos de poner al menos lo siguiente entre comillas (pueden haber más opciones y funcionará correctamente):
En mi caso (puede variar) tengo puesto lo siguiente y funciona correctamente el soporte para PHP:
/etc/conf.d/apache2 wrote: | APACHE2_OPTS="-D DEFAULT_VHOST -D PHP5" |
Con esto último nos aseguramos de que el código PHP lo interprete como tal y no como texto plano.
Si queremos que cada vez que se inicie el sistema se auto inicie el servidor apache:
Code: | root# rc-update add apache2 default |
Si queremos que al iniciar el sistema se autoinicie mysql:
Code: | root# rc-update add mysql default |
PROBANDO SI FUNCIONA
No es necesario que reiniciemos el sistema, tan solo con escribir lo siguiente bastará para que se inicie el servicio:
Code: |
root# /etc/init.d/apache2 start
root# /etc/init.d/mysql start
|
Paso opcional
---------------------------------------------------------------------------------------------
Si estamos trabajando offline y queremos iniciar apache, obtendremos un error diciendo que eth0 no está activo, por lo que podremos hacer una cosilla para evitar eso y seguir trabajando con apache de manera local:
Editemos el script
Code: | nano -w /etc/init.d/apache2 |
Busquemos la linea que pone need net y comentemos la (poniendo # al inicio de la linea) o bien borremos la y escribamos en su lugar need net.lo
El depend() quedara más o menos así:
Code: | depend() {
need net.lo
use mysql dns logger netmount postgresql
after sshd
}
|
Ahora ya no se nos tiene por que quejar si estamos offline y activamos apache.
---------------------------------------------------------------------------------------------
Una vez iniciados los servicios encendamos un navegador cualquiera y escribamos en la barra de direcciones http://localhost/
Si la cosa ha ido bien veremos la pagina de bienvenida de APACHE con la documentación del servidor. En ese momento es recomendable leerse la documentación
ENLACES Y DOCUMENTACIÓN
Para cualquier duda o lo que sea, por favor, leed antes la documentación y el post que cree conmis dudas antes de crear esta mini guía.
Luego, si no lo habéis conseguido, postead aquí a ver si alguien puede ayudar.
http://gentoo-wiki.com/Apache2_Install
http://gentoo-wiki.com/Apache_Modules_PHP
https://forums.gentoo.org/viewtopic-t-564882.html _________________ Linux User #415604
GnuPG Key: 185F CF01 0FEE D196 D076 65E2 E3EE 52E7 7AA5 4FEB
«Dios no juega a los dados, usa /dev/random.»
Last edited by sefirotsama on Sun Aug 05, 2007 5:36 pm; edited 4 times in total |
|
Back to top |
|
|
YosWinK Retired Dev
Joined: 02 Jan 2004 Posts: 285 Location: vallekas citi.
|
Posted: Thu Jun 14, 2007 6:56 pm Post subject: |
|
|
Quizá se me pase alguna cosa, pero tras un vistazo rápido echo en falta la línea de que activa mod_php en apache y que se encuentra en /etc/conf.d/apache2:
Code: |
APACHE2_OPTS="-D PHP5"
|
_________________ Mi G-Blog
Manuales Oficiales de instalación Gentoo (handbook) en castellano y actualizados. |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Thu Jun 14, 2007 7:13 pm Post subject: |
|
|
Ya que esto es una guía, no estaría de más poner un juego minimo de use flags para que ande lo que la guía propone. Si no, no andará aunque se sigan todos los pasos.
Para completar con éxito esta guía es necesario al menos tener USE="apache2 mysql". Si no, el módulo para apache no se instalará, y php no podrá acceder a bases de datos mysql. Justo el tipo de fallo que hace que el novato se pierda. Adicionalmente, es necesario tener al menos una de éstas activada para apache: mpm-worker, mpm-prefork, mpm-event o mpm-peruser. No estoy seguro de si todos andan bien con php. Yo uso mpm-worker y va perfecto. |
|
Back to top |
|
|
sefirotsama l33t
Joined: 11 Apr 2006 Posts: 791 Location: sefirot@catalunya # cd ~
|
Posted: Mon Jun 18, 2007 5:33 pm Post subject: |
|
|
6thpink, creo que eso de la USE flags ya lo tenia puesto, no? mirate el paso de instalación y dime si es eso a lo que te refieres o si crees que debería haber algo más.
YosWinK wrote: | Quizá se me pase alguna cosa, pero tras un vistazo rápido echo en falta la línea de que activa mod_php en apache y que se encuentra en /etc/conf.d/apache2:
Code: |
APACHE2_OPTS="-D PHP5"
|
|
Gracias se me había olvidado! Corregido _________________ Linux User #415604
GnuPG Key: 185F CF01 0FEE D196 D076 65E2 E3EE 52E7 7AA5 4FEB
«Dios no juega a los dados, usa /dev/random.» |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Mon Jun 18, 2007 6:11 pm Post subject: |
|
|
sefirotsama wrote: | 6thpink, creo que eso de la USE flags ya lo tenia puesto, no? mirate el paso de instalación y dime si es eso a lo que te refieres o si crees que debería haber algo más.
|
Todo parece estar bien, no se si no lo vi bien o tenía algo en mente cuando lo dije.
Saludos. |
|
Back to top |
|
|
sefirotsama l33t
Joined: 11 Apr 2006 Posts: 791 Location: sefirot@catalunya # cd ~
|
Posted: Mon Jun 18, 2007 7:18 pm Post subject: |
|
|
LA verdad es que a uno le gusta y se siente bien cuando colabora... (estoy esperando que alguien diga que le ha servido... va!!! que alguien se lo instale! xD)
Actualizada la fecha de revisión _________________ Linux User #415604
GnuPG Key: 185F CF01 0FEE D196 D076 65E2 E3EE 52E7 7AA5 4FEB
«Dios no juega a los dados, usa /dev/random.» |
|
Back to top |
|
|
Jsanchez n00b
Joined: 10 Jun 2006 Posts: 27
|
Posted: Tue Jun 26, 2007 3:21 pm Post subject: |
|
|
Bueno, Tengo que informarte que funciono perfectamente enseguida pude hacer andar phpMyAdmin y lo segui paso por paso (como si fueran muchos ) Les agradezco a todos. |
|
Back to top |
|
|
GermanBobr n00b
Joined: 27 Mar 2007 Posts: 61
|
Posted: Tue Jun 26, 2007 6:45 pm Post subject: |
|
|
UUUyy me viene como anillo al dedo, justamente me estava por aventurar en la instalacion... Ahora lo pruebo y te cuento como me fue |
|
Back to top |
|
|
GermanBobr n00b
Joined: 27 Mar 2007 Posts: 61
|
Posted: Tue Jun 26, 2007 7:28 pm Post subject: |
|
|
Y Ahoraaaa?!
Code: | configure: error: Berkeley DB not found.
!!! Please attach the following file when filing a report to bugs.gentoo.org:
!!! /var/tmp/portage/dev-libs/apr-util-0.9.12/work/apr-util-0.9.12/config.log
!!! ERROR: dev-libs/apr-util-0.9.12 failed.
Call stack:
ebuild.sh, line 1615: Called dyn_compile
ebuild.sh, line 972: Called qa_call 'src_compile'
ebuild.sh, line 44: Called src_compile
apr-util-0.9.12.ebuild, line 50: Called econf '--datadir=/usr/share/apr-util-0' '--with-apr=/usr' '--with-expat=/usr' '--with-gdbm' '--with-dbm=db45' '--with-berkeley-db=/usr/include/db4.5:/usr/lib64'
ebuild.sh, line 578: Called die
!!! econf failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/dev-libs/apr-util-0.9.12/temp/build.log'. |
|
|
Back to top |
|
|
Cereza Guru
Joined: 14 Apr 2006 Posts: 428
|
Posted: Tue Jun 26, 2007 7:34 pm Post subject: |
|
|
Prueba
y luego vuelve a intentarlo |
|
Back to top |
|
|
GermanBobr n00b
Joined: 27 Mar 2007 Posts: 61
|
Posted: Tue Jun 26, 2007 7:35 pm Post subject: |
|
|
Ya lo hice y no anda |
|
Back to top |
|
|
Cereza Guru
Joined: 14 Apr 2006 Posts: 428
|
Posted: Tue Jun 26, 2007 7:44 pm Post subject: |
|
|
Ese error se queja de no encontrar BerkeleyDB (que está en portage), si lo has instalado y sigue sin compilar apr-util el error será distinto ¿cual es ahora? |
|
Back to top |
|
|
GermanBobr n00b
Joined: 27 Mar 2007 Posts: 61
|
Posted: Tue Jun 26, 2007 8:15 pm Post subject: |
|
|
Es exactamente el mismo error... no cambio para nada... Es más ya habia instalado BerkleyDB antes de postear xq me di cuenta q se quejaba por eso.
Es raro...
La verdad es que mi sistema esta bastante sucio... comence a instalar con ACCEPT_KEYWORDS!!!!, despues me di cuenta y recompile toda la rama system con paquetes estables. Me queda hacer lo mismo con world... pero son muchiiiisimos paquetes y ni da |
|
Back to top |
|
|
sefirotsama l33t
Joined: 11 Apr 2006 Posts: 791 Location: sefirot@catalunya # cd ~
|
Posted: Tue Jun 26, 2007 11:06 pm Post subject: |
|
|
Gracias por utilizar mi guia (me alegro que haya servido a alguien). Voy a mirar tu error a ver si te puede servir de algo. SI el problema es de que has compilado parte del sistema inestable reconfigura tu make.conf (ponlo sin el ~) y luego ejecuta:
# emerge gentoolkit && emerge --newuse --deep --color y world && emerge --depclean && revdep-rebuild && revdep-rebuild
(tardara mucho y al acabar tendras el sistema completamente recompilado)
Realmente no creo que el problema sea ese. A ver si entre todos te podemos ayudar.
Un saludo (gracias por usar mi guia). _________________ Linux User #415604
GnuPG Key: 185F CF01 0FEE D196 D076 65E2 E3EE 52E7 7AA5 4FEB
«Dios no juega a los dados, usa /dev/random.» |
|
Back to top |
|
|
GermanBobr n00b
Joined: 27 Mar 2007 Posts: 61
|
Posted: Tue Jun 26, 2007 11:39 pm Post subject: |
|
|
Ya se que no creo que se trate de eso... acabo de recompilar BerkeleyDB con emerge -e (eso instala el paquete con absolutamente todas las dependencias sin importar si estan instaladas o no) y sigue sin funcionar.
Esta noche voy a dejar haciendo lo que me dijiste a ver si se soluciona. |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Wed Jun 27, 2007 12:28 am Post subject: |
|
|
GermanBobr wrote: | Ya se que no creo que se trate de eso... acabo de recompilar BerkeleyDB con emerge -e (eso instala el paquete con absolutamente todas las dependencias sin importar si estan instaladas o no) y sigue sin funcionar.
Esta noche voy a dejar haciendo lo que me dijiste a ver si se soluciona. |
La base de datos de Berkeley de toda la vida es "db", así que emerge db es probablemente lo que te están pidiendo. Otra cosa es que el problema sea ese realmente. Pero prueba.
El paquete BerkeleyDB es un módulo perl para manejar dicha base de datos, que seguramente no tenga nada que ver con el tema. |
|
Back to top |
|
|
GermanBobr n00b
Joined: 27 Mar 2007 Posts: 61
|
Posted: Wed Jun 27, 2007 3:15 am Post subject: |
|
|
nop... ya probe emergiendo db pero todavia me sigue tirando el mismo error... |
|
Back to top |
|
|
aj2r l33t
Joined: 11 Sep 2005 Posts: 705 Location: Granada/Andalucía/España
|
Posted: Wed Jun 27, 2007 10:02 am Post subject: |
|
|
¿Hace cuánto no realizas un emerge --sync?
Si no fuese este el problema, prueba deshabilitando la USE berkdb. |
|
Back to top |
|
|
gringo Advocate
Joined: 27 Apr 2003 Posts: 3793
|
Posted: Wed Jun 27, 2007 10:26 am Post subject: |
|
|
mysql.eclass wrote: | mysql_check_version_range "4.0 to 5.0.99.99" \
&& use berkdb \
&& elog "Berkeley DB support is deprecated and will be removed in future versions!"
|
saluetes _________________ Error: Failing not supported by current locale |
|
Back to top |
|
|
GermanBobr n00b
Joined: 27 Mar 2007 Posts: 61
|
Posted: Wed Jun 27, 2007 5:42 pm Post subject: |
|
|
Anoche recompile absolutamente todo el sistema con emerge -e (600 paquetes recompilo )
Sigue tirando el mismo error...
Ahora estoy compilando sin el useflag berkdb... pero me surgio una duda: ¿De que se encarga ese paquete? ¿Va a funcionar bien el server LAMP sin berkdb? |
|
Back to top |
|
|
sefirotsama l33t
Joined: 11 Apr 2006 Posts: 791 Location: sefirot@catalunya # cd ~
|
Posted: Wed Jun 27, 2007 5:59 pm Post subject: |
|
|
aj2r wrote: | ¿Hace cuánto no realizas un emerge --sync?
Si no fuese este el problema, prueba deshabilitando la USE berkdb. |
Esa use biene por defecto en el perfil de 2007.0 así que nanai... _________________ Linux User #415604
GnuPG Key: 185F CF01 0FEE D196 D076 65E2 E3EE 52E7 7AA5 4FEB
«Dios no juega a los dados, usa /dev/random.» |
|
Back to top |
|
|
gringo Advocate
Joined: 27 Apr 2003 Posts: 3793
|
Posted: Thu Jun 28, 2007 7:56 am Post subject: |
|
|
Quote: | Esa use biene por defecto en el perfil de 2007.0 así que nanai... |
no sé que quieres decir con eso, pero que venga por defecto no significa que no la puedas deshabilitar.
Quote: | ¿Va a funcionar bien el server LAMP sin berkdb? |
el mío funciona sin problemas
saluetes _________________ Error: Failing not supported by current locale |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Thu Jun 28, 2007 12:22 pm Post subject: |
|
|
En efecto, los perfiles no son mas que una coleccion de use flags y alguna cosilla mas. No significa que no las puedas cambiar. De hecho, la mayoria de la gente las cambia. El servidor andara bien sin berkdb. |
|
Back to top |
|
|
sefirotsama l33t
Joined: 11 Apr 2006 Posts: 791 Location: sefirot@catalunya # cd ~
|
Posted: Sun Aug 05, 2007 5:34 pm Post subject: |
|
|
Guia actualizada (configuración compatible con nuevas versiones) _________________ Linux User #415604
GnuPG Key: 185F CF01 0FEE D196 D076 65E2 E3EE 52E7 7AA5 4FEB
«Dios no juega a los dados, usa /dev/random.» |
|
Back to top |
|
|
|