Cómo montar un servidor con Linux en tu propia casa (IV)
10 - Noviembre - 2006 at 2:29 am | In Proyectos | 14 CommentsYa 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:

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:

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.

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

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:

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…
14 comentarios »
Canal RSS de los comentarios de la entrada. URI para TrackBack.
Deja un comentario
Blog de WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
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.
Comentario por skuark — 10 - Noviembre - 2006 #
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
Comentario por Chiche — 10 - Noviembre - 2006 #
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 ^^
Comentario por mrithail — 10 - Noviembre - 2006 #
Hola. Muy bueno
felicidades, aunque apenas estoy en la instalación de Ubuntu, pero me parece interesante. ¿Ahora que sigue?
Comentario por silvercorp — 10 - Noviembre - 2006 #
hey muy bueno el tut mira mi server ahi
http://gurusdominicano.selfip.com/
Comentario por rusbert — 12 - Noviembre - 2006 #
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
Comentario por rusbertra — 13 - Noviembre - 2006 #
¿Para montar un servidor de ftp? Solo necesitaria instalar el cliente? y cual me recomiendas?
Comentario por silvercorp — 14 - Noviembre - 2006 #
me oueden ayudar a como montar un servidor mysql – apache en ubuntus xxfa lo ne sesito lo an te posible porfa
Comentario por kof — 9 - Diciembre - 2006 #
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
Comentario por MendeX — 17 - Febrero - 2007 #
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
Comentario por erika — 8 - Junio - 2007 #
lo estoy configurando en linux por favor ayudenme..
Comentario por erika — 8 - Junio - 2007 #
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
Comentario por gksudo — 1 - Febrero - 2008 #
gracias tio sino es por ti no lo consigo
Comentario por MAIK — 18 - Junio - 2008 #
Dejo el link de mi experiencia montando un servidor casero con linux…
http://www.heliopolis.tk/
Comentario por Moan — 21 - Agosto - 2008 #