Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Apache + php + mysql (servidor LAMP en 3') 5-08-2k7
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
sefirotsama
l33t
l33t


Joined: 11 Apr 2006
Posts: 791
Location: sefirot@catalunya # cd ~

PostPosted: Thu Jun 14, 2007 5:19 pm    Post subject: [HOWTO] Apache + php + mysql (servidor LAMP en 3') 5-08-2k7 Reply with quote

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):
Quote:
-D PHP5


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
http://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
View user's profile Send private message
YosWinK
Retired Dev
Retired Dev


Joined: 02 Jan 2004
Posts: 285
Location: vallekas citi.

PostPosted: Thu Jun 14, 2007 6:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
i92guboj
Moderator
Moderator


Joined: 30 Nov 2004
Posts: 9896
Location: Córdoba (Spain)

PostPosted: Thu Jun 14, 2007 7:13 pm    Post subject: Reply with quote

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
View user's profile Send private message
sefirotsama
l33t
l33t


Joined: 11 Apr 2006
Posts: 791
Location: sefirot@catalunya # cd ~

PostPosted: Mon Jun 18, 2007 5:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
i92guboj
Moderator
Moderator


Joined: 30 Nov 2004
Posts: 9896
Location: Córdoba (Spain)

PostPosted: Mon Jun 18, 2007 6:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
sefirotsama
l33t
l33t


Joined: 11 Apr 2006
Posts: 791
Location: sefirot@catalunya # cd ~

PostPosted: Mon Jun 18, 2007 7:18 pm    Post subject: Reply with quote

:lol: :lol: :lol: :lol:

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
View user's profile Send private message
Jsanchez
n00b
n00b


Joined: 10 Jun 2006
Posts: 27

PostPosted: Tue Jun 26, 2007 3:21 pm    Post subject: Reply with quote

Bueno, Tengo que informarte que funciono perfectamente enseguida pude hacer andar phpMyAdmin y lo segui paso por paso (como si fueran muchos :roll: ) Les agradezco a todos.
Back to top
View user's profile Send private message
GermanBobr
n00b
n00b


Joined: 27 Mar 2007
Posts: 61

PostPosted: Tue Jun 26, 2007 6:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
GermanBobr
n00b
n00b


Joined: 27 Mar 2007
Posts: 61

PostPosted: Tue Jun 26, 2007 7:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cereza
Guru
Guru


Joined: 14 Apr 2006
Posts: 428

PostPosted: Tue Jun 26, 2007 7:34 pm    Post subject: Reply with quote

Prueba

Code:
emerge BerkeleyDB


y luego vuelve a intentarlo :P
Back to top
View user's profile Send private message
GermanBobr
n00b
n00b


Joined: 27 Mar 2007
Posts: 61

PostPosted: Tue Jun 26, 2007 7:35 pm    Post subject: Reply with quote

Ya lo hice y no anda
Back to top
View user's profile Send private message
Cereza
Guru
Guru


Joined: 14 Apr 2006
Posts: 428

PostPosted: Tue Jun 26, 2007 7:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
GermanBobr
n00b
n00b


Joined: 27 Mar 2007
Posts: 61

PostPosted: Tue Jun 26, 2007 8:15 pm    Post subject: Reply with quote

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 :P
Back to top
View user's profile Send private message
sefirotsama
l33t
l33t


Joined: 11 Apr 2006
Posts: 791
Location: sefirot@catalunya # cd ~

PostPosted: Tue Jun 26, 2007 11:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
GermanBobr
n00b
n00b


Joined: 27 Mar 2007
Posts: 61

PostPosted: Tue Jun 26, 2007 11:39 pm    Post subject: Reply with quote

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
View user's profile Send private message
i92guboj
Moderator
Moderator


Joined: 30 Nov 2004
Posts: 9896
Location: Córdoba (Spain)

PostPosted: Wed Jun 27, 2007 12:28 am    Post subject: Reply with quote

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
View user's profile Send private message
GermanBobr
n00b
n00b


Joined: 27 Mar 2007
Posts: 61

PostPosted: Wed Jun 27, 2007 3:15 am    Post subject: Reply with quote

nop... ya probe emergiendo db pero todavia me sigue tirando el mismo error... :(
Back to top
View user's profile Send private message
aj2r
l33t
l33t


Joined: 11 Sep 2005
Posts: 705
Location: Granada/Andalucí­a/España

PostPosted: Wed Jun 27, 2007 10:02 am    Post subject: Reply with quote

¿Hace cuánto no realizas un emerge --sync?

Si no fuese este el problema, prueba deshabilitando la USE berkdb.
_________________
Fundación I+D del Software Libre
BluLabs
_____________________________________________________
Portátil HP Pavilion zd8185ea: Pentium4HT 3.2Ghz, ATI x600 256MB
gnome-2.30
Back to top
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3739

PostPosted: Wed Jun 27, 2007 10:26 am    Post subject: Reply with quote

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
View user's profile Send private message
GermanBobr
n00b
n00b


Joined: 27 Mar 2007
Posts: 61

PostPosted: Wed Jun 27, 2007 5:42 pm    Post subject: Reply with quote

Anoche recompile absolutamente todo el sistema con emerge -e (600 paquetes recompilo :P)

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
View user's profile Send private message
sefirotsama
l33t
l33t


Joined: 11 Apr 2006
Posts: 791
Location: sefirot@catalunya # cd ~

PostPosted: Wed Jun 27, 2007 5:59 pm    Post subject: Reply with quote

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
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3739

PostPosted: Thu Jun 28, 2007 7:56 am    Post subject: Reply with quote

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
View user's profile Send private message
i92guboj
Moderator
Moderator


Joined: 30 Nov 2004
Posts: 9896
Location: Córdoba (Spain)

PostPosted: Thu Jun 28, 2007 12:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
sefirotsama
l33t
l33t


Joined: 11 Apr 2006
Posts: 791
Location: sefirot@catalunya # cd ~

PostPosted: Sun Aug 05, 2007 5:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum