Cómo montar un servidor con Linux en tu propia casa (IV)

10 - noviembre - 2006 en 2:29 am | Publicado en Proyectos | 16 comentarios

Ya estamos de vuelta con nuestro server. El martes nos quedamos con que nuestro servidor funcionaba gracias a DynDNS y a Apache, que se encargaba de alojar los hacheteemeeles, imágenes, documentos o lo que nos diera la gana, pero siempre material estático. Hoy vamos a ‘aumentar’ esa capacidad a bases de datos MySQL y páginas PHP. Así visto, para los recién llagados, no os dirá mucho, pero tenéis que saber que ambas tecnologías son la base de los CMS o gestores de contenidos, como WordPress (bitácoras), Joomla, Mambo y muchos otros.

Manos a la obra. Os recomiendo tener cerca papel y lápiz.
Lo primero, confirmar que tenemos lo que hay que tener (informáticamente hablando, claro). Para ‘decir’ a Apache que debe usar PHP, deberemos disponer en el equipo de dos archivos: php5.load y php5.conf. Ambos deben estar en /etc/apache2/mods-available. De todas formas, vamos a comprobarlo vía consola. Abre una Terminal (Aplicaciones / Accesorios / Terminal) y escribe:

ls /etc/apache2/mods-available | grep php

A renglón seguido, os aparecerán ambos listados. Ahora, vamos a decirle a Apache que tiene que cargar ese módulo:

cd /etc/apache2/mods-enabled

y una vez en este directorio, linkamos los de PHP para que los cargue:

sudo ln -sf ../mods-available/php* ./

Todo esto vendría a tener la siguiente apariencia:

server4_terminal1.jpg

Hasta ahora todo sencillo, ¿verdad? Pues vamos con más batalla, caballeros.

Debemos ‘matar’ Apache. Se puede lograr así:

sudo invoke-rc.d apache2 restart

Ya tendríamos un Apache con PHP activado. Ahora, vamos a dar candela a MySQL, que como recordaréis ya instalamos en el primer post de esta serie sobre cómo montar un server en vuestra casa con Linux.

Lo primero, vamos a poner una contraseña de root a mysql-server. ¡Coño, es que si no podría acceder cualquiera!. Manos a la Terminal (Aplicaciones / Accesorios / Terminal) y escribimos:

sudo mysql

Como veis, algo ha cambiado. Ahora, al comienzo de la orden tenemos algo tal que así: mysql>. Recordad o aprended que toda orden en MySQL finaliza con punto y coma (;). Todo lo que escribamos de aquí en adelante es lo que sigue al mysql>.

Vamos a entrar en la base de datos propia de MySQL con:

use mysql;

Ahora vamos a meter la nueva contraseña para el usuario root. Evidentemente, tú sólo tendrás que poner la que quieras donde pone nuevo_password. Copia/pega esto y hazle este cambio:

update user set Password=PASSWORD(‘nuevo_password’) where user=’root’;

Ahora, actualizamos la tabla de privilegios:

flush privileges;

y salimos

quit (este no necesita ; al final)

Todo esto tendrá una pinta como esto:

server4_terminal2.jpg

Ahora, entraremos en MySQL como root, escribiendo:

mysql -u root -p

Con este comando, entraremos a MySQL como root. Sólo hay que meter el password que líneas arriba asignamos. Ahora, vamos a crear un usuario. Y es que no es muy correcto trabajar con bases de datos con tantos privilegios. ¡Hay tantas formas de meter la pata…! Escribe esto:

create database nombrequequierasparalabasededatos;

Evidentemente, lo último tienes que cambiarlo por el nombre que quieras. Por ejemplo, wordpress. Y ahora, le damos privilegios sobre esa base de datos a tu usuario siempre que vayas a manejar en local la database (recomendable):

grant all on basededatos.* to tuusuario@localhost identified by ‘tucontraseñadeusuario’;

donde claramente tienes que poner el nombre de la base de datos, tu nombre de usuario (no el root, otro, el que quieras) antes de la arroba y la contraseña para ese usuario.

Ya tenemos casi todo el camino recorrido, amigos. Lo que es tema de consola ya está casi, así que lo peor ya ha pasado (vale, ahora me llegarán cienes y cienes de mensajes quejándose de que una de las ventajas de Linux es la consola…). Ahora ya sólo nos queda hacernos con el código fuente de, por ejemplo, WordPress. Vamos a ello, que pinta interesante. Clica aquí y te descargarás la última versión de este software libre. Una vez en tu escritorio, descomprímelo: doble click, selecciona la carpeta wordpress, presiona Extraer y seleccionas como destino el escritorio.

La intención es dejar esta carpeta en /var/www/. Si lo haces así, tal cual, el sistema te advertirá de que no tienes privilegios. Mejor: en el escritorio presiona Alt + F2 y escribe sudo nautilus con la casilla Ejecutar en una terminal activada. Mete la clave root y verás cómo ahora sí te deja almacenar la carpeta wordpress en /var/www/.

Ahora, daremos permisos a la carpeta con la Terminal:

sudo chmod 777 /var/www/wordpress

Pues ahora ya está casi todo el trabajo sucio hecho. Abre el navegador y escribe:

http://localhost/wordpress/wp-admin/setup-config.php

y comenzaremos a configurar WordPress. Tras presionar en Let’s Go, llega la hora de la verdad: insertar los datos utilizados durante toda la instalación, de ahí que os recomendara papel y lápiz al principio. Sólo nos hará falta cambiar tres datos de la tabla: nuestro nombre de usuario (no el root), la clave de acceso y el nombre de la base de datos, que si habéis cogido mi ejemplo no hace falta ni alterarlo.

server4_wordpress1.jpg

Después, presionamos Installing Now y, en First Step, escribimos el título del blog y un email de contacto, como yo hice:

server4_wordpress2.jpg

La última ventana es, si acaso, la más importante. En ella se nos da el nombre de usuario final, el password y la URL a la que debemos acudir para identificarnos:

server4_wordpress3.jpg

Apuntamos todo bien en un papelillo (de los de apuntar de toda la vida, claro) y pinchamos en la URL. Nos identifcamos, dejamos que Firefox y Opera lo memorice y… ¡Ya tenemos blog ubicado en nuestro servidor de casa!

Podéis visitar el mío si os apetece en:

tontoelquelolea.homelinux.com/wordpress/

PD: Para dudas, comentarios, ruegos e insultos, podéis dejar vuestro sentir en las líneas de más abajo…

PD2: Como bien indico en el blog alojado, puede que haya cosas que no veáis bien o links que no funcionen, pero es que, ya se sabe que al que mete mano no todo le tiene que salir bien. Esto me pasa por toquetear el PHP…

Anuncios

16 comentarios »

RSS feed for comments on this post. TrackBack URI

  1. Hola Carlos. Solo decirte que has tenido un pequeño fallo del que quizás no te hayas percatado. Tu reciente instalación de wordpress, si se accede desde localhost se verá a la perfección dado que la configuración es para http://localhost/ pero al acceder desde el exterior, via el subdominio de dyndns, wordpress no coge la plantilla y se ve en texto plano además de que al intentar acceder a un post lo hace por localhost/… osea, a nuestra máquina.

    Te sugiero lo siguiente, aunque tal vez ya lo sepas hacer sin que yo te lo diga:

    – En tu /etc/hosts añade como host 127.0.0.1 tontoelquelolea.homelinux.org, de este modo podrás acceder desde local con la ruta tontoelquelolea.homelinux.org/wordpress/
    – En la configuración de wordpress, sustituye la ruta al sitio que aparecerá como http://localhost/wordpress por http://tontoelquelolea.homelinux.org/wordpress/

    Creo que así tus lectores que no conocen wordpress no dirán: “vaya blog más cutre” jaja. Venga, saludos y enhorabuena por tu tutorial.

  2. Viejo… para completar la saga, te falta explicar como instalar vsftp y enjaular a los usuarios dentro de su home, y así tener un server funcional con PHP MySQL Apache y FTP 🙂

  3. Guay, pues vamos a ir avanzando un poco más con esto… yo ahora lo que he estado mirando es que donde tengo registrado el dominio acepta ddclient para redirigirme un subdominio, así que nada, a ver si me monto alguna cosilla en el servidor de casa a parte de lo que tengo alojado en los otros dos servidores externos y hago algunas pruebecillas ^^

  4. Hola. Muy bueno 😀 felicidades, aunque apenas estoy en la instalación de Ubuntu, pero me parece interesante. ¿Ahora que sigue? 😀

  5. hey muy bueno el tut mira mi server ahi
    http://gurusdominicano.selfip.com/

  6. tengo un problemita no se lo que le esta pasando ahora a mi server porque cuando intento entrar a la pagiana me sale el router/// y yo tengo el puerto 80 abierto
    o y tambien cuando intente reiniciar el apache me saio esto

    apache2: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
    apache2: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

    yo se lo que esta pasando el apache esta usando como servidor el lo no el eth0 como cambio que el apache use el eth0

  7. ¿Para montar un servidor de ftp? Solo necesitaria instalar el cliente? y cual me recomiendas?

  8. me oueden ayudar a como montar un servidor mysql – apache en ubuntus xxfa lo ne sesito lo an te posible porfa

  9. Oye me podrias decir o no se se sepas que exise un servio gratis que incluye el php, apache y mysql, este programita se llama xampp, queria preguntarte si sabrias como configurarlo para montar un servidor en mi casa con ubuntu edgy
    Te dejo el link de la pagina
    http://www.apachefriends.org

  10. hola necesito un favor grande lo que pasa es que no puedo configurar mysql porque me sale esto Starting MySQLCouldn’t find MySQL manager or server [FALLÓ]por favor ayudenme. gracias

  11. lo estoy configurando en linux por favor ayudenme..

  12. Hola, muy buen tutorial excelente, pero tengo un pqueño problema no se a que se deba quizas puedas ayudarme cuando escribo

    grant all on basededatos.* to usuario@localhost identified by ‘contraseña’

    me sale este error:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘contraseña’’ at line 1

    Sabes a que se debe y como puedo solucionarlo, Muchas Gracias y Felicitaciones denuevo por el Excelente tutorial

  13. gracias tio sino es por ti no lo consigo

  14. Dejo el link de mi experiencia montando un servidor casero con linux…

    http://www.heliopolis.tk/

  15. Unquestionably imagine that which you stated. Your favourite justification seemed to be on the
    net the easiest factor to remember of. I say to you, I certainly get annoyed at the same time as folks consider issues that they plainly do not understand about.
    You managed to hit the nail upon the top and also outlined out the entire thing without having side
    effect , other folks can take a signal. Will likely be again to get more.
    Thank you

  16. The idea shows you have selected to visit, and gorgeous beaches to look forward to, which, like all beaches in the city of
    Genoa. These cruises are equipped with some of the many wine tours that take you through the streets while music lovers should come out for the arts, or by just having wealthy residents.
    In response our Chilean friend tasted of peaches, providing bracing but not the least is EastarJet, which operates air travels from Seoul to Jeju Island.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.
Entries y comentarios feeds.

A %d blogueros les gusta esto: