Wordpress 2.5
Con el avance de Internet, y la llamada Web 2.0, mucha gente tiene la oportunidad de crear contenido, de expresarse y de contar cosas. Para esto no hay nada mejor que un blog, un diario personal, pero abierto. En él podemos contar todo lo que queramos, tanto sobre nosotros, como sobre algún tema de interés (como es MandriBlog). Podemos optar por acudir a alguna de las páginas de blogs que nos ofrecen ese servicio pero, ¿Y si lo hacemos nosotros? ¿Y si tenemos nuestro propio servidor? Estas preguntas son las que voy a intentar contestar en este manual.
Para instalar nuestro blog, tenemos que asegurarnos de tener Apache y MySQL en marcha. La mejor forma de ver esto es desde la consola, pues es instantáneo. Entrando como root:
# service httpd status
# service mysqld status
Si alguno de los servicios nos devolviera un mensaje del estilo de httpd está detenido o mysqld está detenido, deberemos iniciarlos de la siguiente forma:
# service httpd start
# service mysqld start
Una vez nos hemos asegurado de que tenemos la base funcionando, descargamos el paquete de Wordpress 2.5 desde aquí. Una vez descargado, podemos optar por dos formas de descomprimir. La primera es con el botón derecho del ratón, en Extraer –> Extraer aquí. La segunda es desde consola con:
# tar zxvf wordpress-2.5.x.tar.gz
Al final, la solución es la misma: una carpeta llamada wordpress, sin numeros ni nada. En el interior tienen que haber bastantes archivos con extensión .php. Esta carpeta la tenemos que copiar junto con todo su contenido y manteniendo sus propiedades, al espacio habilitado para Apache, que normalmente será /var/www/html/. Aquí nada de usar el copiar-pegar en modo gráfico. Nos situamos donde esté la carpeta worpress:
# cp -RP wordpress/ /var/www/html/
Ya tenemos wordpress instalado… pero no configurado!
A partir de aquí, las rutas las tomaré como si estuviésemos en la carpeta /var/www/html/wordpress/. Antes de empezar a tocar cosas de Wordpress, tenemos que modificar el nombre del archivo de configuración, o al menos dejar el que hay como copia de seguridad y copiarlo con un nuevo nombre:
cp wp-config-sample.php wp-config.php
El inglés es necesario en esta vida, al menos en la tecnológica, pero para escribir nuestras cosas personales, no hay nada mejor que el idioma más común para nosotros (en algunos casos). Para traducir Wordpress 2.5 al castellano/español, primero tenemos que descargarnos el archivo en español desde aquí.
mkdir /wp-content/language
El archivo que hemos descargado, lo descomprimimos y lo copiamos a esa carpeta. Por último tenemos que modificar el archivo de configuración que hemos creado antes. Lo abrimos con nano o con kate, y:
Buscamos esta linea:
define ('WPLANG', '');
y la sustituimos por:
define ('WPLANG', 'es_ES');
Así ya tenemos Wordpress 2.5 en español. Ahora toca configurarlo para tener el blog operativo. Antes que nada tenemos que crear la base de datos donde se almacenará toda la información del blog:

Después tenemos que editar el archivo de configuración wp-config.php. Tenemos que modificar las siguientes lineas:
define('DB_NAME', 'putyourdbnamehere');
define('DB_USER', 'usernamehere');
define('DB_PASSWORD', 'yourpasswordhere');
define('DB_HOST', 'mandriva.francescmm.com'); //En el 99% de los casos no hay que tocarla
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
Introduciendo los datos personales de cada uno. Estos son los datos de MySQL, por lo que tanto el nombre de la base de datos, como usuario y contraseña son los que cada uno tenga configurados. Una vez hecho esto, guardamos y vamos al navegador, donde ponemos en la barra de direcciones: mandriva.francescmm.com/wordpress/wp-admin/install.php
Hasta ahora, simplemente habíamos configurado wordpress, pero el nuevo paso que vamos a dar, es crear nuestro propio blog. Para ello, cuando entramos en el navegador con la dirección antes mencionada, nos aparecerán dos casillas: una para el título de nuestro blog, y la otra para el email nuestro por defecto (para avisarnos si alguien postea, etc). En la siguiente pantalla, nos dará nuestro usuario para entrar a la parte de administración, que será “admin”, y un password, que será generado automáticamente. Pulsamos “Login”, nos identificamos, y ya tenemos el blog creado. Como mantenerlo y publicar nuevas entradas lo dejo a cada uno para que experimente.

PD: Sería conveniente modificar vuestra contraseña accediendo a Usuarios (opción que se encuentra en la esquina superior derecha) y seleccionando el usuario Admin.
PPD: Personalmente programé MandriBlog desde 0 usando PHP. Pero posiblemente use este gestor de blogs en el futuro (para otras cosas… o no… :P). Ahora lo hago de forma privada (sin publicar a Internet) para probar temas de seguridad, y la verdad es que va bastante bien.
Si tenéis alguna duda o algo, no hay mas que comentármelo desde aquí.
Categoria: Servidor Web | 2 Comentarios
Apache + MySQL + PHPMyAdmin + PHP + Awstats
Hará cosa de 3 semanas, publiqué un How-to para montar un servidor web usando Apache, MySQL, PHP, PHPMyAdmin y Awstats. La entrada de hoy, dado que no tengo tiempo de más, hasta mañana, sólo es para recoger esas cinco entradas que publiqué, en una sola, y así poder poner un enlace directo desde la página del índice de Administración avanzada de Mandriva. Las cinco entradas son las siguientes:
A lo largo de estas entradas, analizaba algunos pormenores de la instalación, aunque también es cierto que dedicaré entradas enteras a algunas aplicaciones mencionadas aquí, como son Apache, MySQL y Awstats, que de forma separada, y en el caso de MySQL en su tema correspondiente dentro de Servidores de Bases de Datos.
De momento, hasta mañana nada más, que la jornada de hoy a sido dura y he llegado sobre las 22h con mucho por hacer, como p.ej. clústers.
Categoria: Servidor Web | 7 Comentarios
Servidor web en casa (Conclusión)
Señores y señoras, esto se acaba. Las tareas, aunque fáciles, en cierto grado, pues no se trata sólo de copiar los parámetros que he ido poniendo, sino comprender qué se hace para cuando tengamos que solucionar algún problema, poderlo hacer, llegan a su fin.
Quiero aprovechar este último post sobre la configuración básica de un servidor web personal, con un resumen de las rutas, cómo se reinician los servicios, edición, etc.
Apache: /etc/httpd/conf/httpd.conf
PHP: /etc/php.ini
PHPMyAdmin: /var/www/phpmyadmin/config.samble.inc.php
Awstats: /etc/awstats/awstats.conf
# service _nombre_ restart
Kate
Aunque también podemos emplear el editor de consola nano.
La carpeta raiz de publicación se encuentra por defecto en /var/www/html/. Para acceder a nuestra web teclearemos lo siguiente en el navegador:
Nuestra web: http://mandriva.francescmm.com/
Gestionar PHPMyAdmin: http://mandriva.francescmm.com/phpmyadmin/
Para ver las estadísticas: http://mandriva.francescmm.com/awstats
Debemos recordar que para poder ver nuestra web desde el exterior, es necesario abrir el puerto 80 en el cortafuegos del Centro de Control de Mandriva. En ese caso localmente podemos acceder desde http://mandriva.francescmm.com, pero de forma exterior con: http://IP_externa. La IP externa es diferente de la IP de la red local que normalmente tiene la forma 192.168.X.X, por lo que tendremos que comprobarla buscando en google: “Mi IP”.
Espero que os sirva por lo menos para poner en práctica y publicar vuestra nueva web. No pretende ser el manual definitivo de servidores web, al menos no de momento, tal vez en otro momento decida ampliarlo. Un saludo a los que habéis llegado hasta aquí.
Categoria: Servidor Web | Dejar un comentario
Servidor web en casa (parte III)
Ayer no pude poner la entrada que tenía pensada, es más, no pude poner nada porque tuve el sábado muy ocupado, pero hoy aquí tenemos la tercera parte de como montar un servidor web de forma bastante decente.
Hoy en la entrada voy a combinar el archivo de configuración de PHPMyAdmin y de Awstats, un potente gestor de estadísticas. Los voy a acer los dos porque son muy pocas cosas las que hay que retocar, pero que conviene hacerlas, unas veces para mayor seguridad, y otras para mayor comodidad.
Ahora nos toca configurar mínimamente el archivo de configuración de PHPMyAdmin, que se encuentra en /var/www/phpmyadmin/.
En el archivo deberíamos tener las siguientes líneas:$cfg[''Servers''][$i][''host''] = ''mandriva.francescmm.com'';
$cfg[''Servers''][$i][''connect_type''] = ''tcp'';
$cfg[''Servers''][$i][''extension''] = ''mysql'';
$cfg[''Servers''][$i][''controluser''] = ''user'';
$cfg[''Servers''][$i][''controlpass''] = ''password'';
En las primeras líneas indicamos el nombre de nuestro host, así como el tipo de conexión. A continuación con la variable ”extension”, definimos el tipo de base de datos a emplear. Por último tenemos el nombre de usuario y su contraseña. Sí que hay que decir que la modificación de este archivo se debe llevar a cabo a posteriori, y es porque en el caso de querer acceder habiendo modificado el archivo previamente, no encontrará el usuario en PHPMyAdmin. Una vez que dentro de PHPMyAdmin, tenemos que crear un usuario con algunos (no todos) permisos de root. Una vez creado con su contraseña, los ponemos en el archivo de configuración.
Una vez terminado esto, podemos dejar de editar el archivo tranquilamente y ya podemos considerar terminada la puesta en marcha de nuestro servidor web.
NOTA: Es muy importante que Apache y MySQL estén funcionando. Por lo que hay que hacer (además de cuando editamos los archivos de configuración) en caso de que no estén ya activos:# service httpd start
# service mysqld start
Lo último, aunque no es esencial ni mucho menos a la hora de hacer funcionar el servidor, es el gestor de estadísticas. Awstats es software libre y además, el mejor en su clase, por lo que la decisión de instalarlo no la he tenido ni que meditar.
Ay algunas líneas que nos permiten tener mayores funcionalidades, y mayor comodidad en otras:SiteDomain="mandriva.francescmm.com"
AllowToUpdateStatsFromBrowser=1
SkipHosts="IP_local"
Lang=es
Vayamos en orden. La primera linea es donde tendremos que poner el nombre de nuestro host, si esta en local y no tenemos ningun dominio, ponemos mandriva.francescmm.com y usamos DynDNS para enlazarnos con la IP. La segunda línea es para permitir (valor 1) la actualización de las estadísticas desde el navegador. Es muy importante que la carpeta de Awstats y el archivo awstats.pl tengan permisos sólo para el usuario personal, porque de lo contrario mediante scripts de recarga se puede llegar a saturar la red de nuestra casa. A continuación tenemos SkipHosts, yo pongo ahí mi IP local porque no quiero que se me tenga en cuenta en las estadísticas cuando estoy modificando en caliente archivos de la web/blog. La última es para que por defecto el lenguaje sea en español.
Con esto automáticamente sin tener que reiniciar nada, ya tendríamos funcionando el gestor de estadísticas.
Categoria: Servidor Web | 3,528 Comentarios
Servidor web en casa (parte II)
Ayer dejamos bien configurado y listo para usar el servidor Apache. Hoy toca el turno al módulo de PHP5. Como con Apache, PHP5 una vez instalado se configura para funcionar solo, el problema es que puede ser que vengan algunas opciones no muy recomendables activadas, por lo que pasaremos a editar el archivo php.ini que se encuentra en /etc/.
Una de las grandes cosas que tiene el software libre es la capacidad de adaptarlo a nuestras necesidades, y al editar el archivo vemos como las opciones están ampliamente comentadas, explicando (aunque en inglés) para que sirve cada una. Empecemos pues:display_errors = Off
display_startup_errors = Off
Estas dos líneas nos informan de los errores que hay en nuestro código. Esto esta muy bien en caso de que nuestra web esté en pruebas, pero no es nada seguro en el caso de estar abierta al público, pues mostrará mensajes suficiente descriptivos sobre los fallos de nuestro código.register_globals = Off
La directiva register_globals cuando esta activada, provoca que automáticamente se generen variables globales para cookies y valores enviados por get y post entre otros. Por lo que si llamábamos a una página con http://www.internet.com/prueba.php?var1=4, esto provocaba que en la página prueba.php automáticamente se generase la variable $var1 con el valor 4. Esto es muy inseguro, pues así se puede insertar código SQL que afecte a nuestra base de datos.file_uploads = On
upload_tmp_dir = /var/tmp
upload_max_filesize = 8M
Aquí tenemos las tres líneas que nos harán un gran favor. Con estas líneas se nos permite subir archivos a nuestro espacio, indicándole el directorio temporal y el tamaño máximo de cada archivo.
He de añadir que llegando casi al final, mediante este archivo de configuración, podemos seleccionar el usuario y contraseña por defecto cuando se acceda a una BD. Esto es interesante desde el punto de vista de quitar esa información de nuestro site, aunque será innecesaria e incluso insegura si tenemos más de una BD y además más de un usuario con acceso a ellas. Por esto mismo no he comentado como retocarlas, pero sí indico que se puede hacer y donde hacerlo.
Bueno, modificando estas líneas en el archivo de configuración de PHP5, tendríamos un archivo suficientemente consistente. Si queremos probar que va, solo tenemos que crear una página con:<?php
phpinfo()
?>
Categoria: Servidor Web | Dejar un comentario
Servidor web en casa (parte I)
Para montar una página personal, e incluso páginas grandes o portales, tenemos un servidor, el mejor que es Apache, si este lo combinamos una base de datos potente como es MySQL y PHPMyAdmin para gestionar de forma más amigable las BD que vayamos creando, tenemos un potente servidor web montado. Además de esto, y ya que íba a usar bases de datos, decidí instalar PHP5. Con esto tenemos todo lo necesario para crear un blog, o cualquier página dinámica. Si queremos ponerle la guinda al pastel, lo que yo hice fue instalar un gran gestor de estadísticas, como es awstats.
Antes de nada hay que instalar todos los paquetes, por lo que:# urpmi apache
# urpmi php
# urpmi mysql
# urpmi phpmyadmin
# urpmi awstats
Una vez instalado todo lo primero que tenemos que hacer es asegurarnos que los puertos están abiertos, el 80 para el servidor web (Apache). Además yo tendría instalado SSH y abierto el puerto 22 por si acaso en algún momento tenemos que hacer algún retoque.
Por defecto, la configuración de apache viene ya bien hecha, por lo que en caso de querer cambiar algún parámetro ya corre por nuestra cuenta. De todas formas si que es conveniente darle un repaso a las diferentes opciones que tiene. Yo sí que voy a realizar algunos cambios en la configuración de Apache. Buscamos y reemplazamos por la siguiente linea:ServerName mandriva.francescmm.com
En caso de tener un dominio, donde pone mandriva.francescmm.com pondríamos el dominio.
Otra información que puede resultarnos útil es:
Tipo de mensajes que se guardarán en los logs de error (de menos a más gravedad: debug, info, notice, warn, error, crit, alert y emerg):LogLevel warn
Con la directiva Directory definimos opciones que se aplican al directorio indicado y sus subdirectorios. Lo habitual es configurar unos permisos por defecto muy restrictivos:
Options SymLinksIfOwnerMatch
AllowOverride None
y posteriormente habilitar el acceso y permisos más amplios en directorios específicos. Por ejemplo, para la raíz del árbol de documentos y sus subdirectorios:
Options -Indexes -Includes -FollowSymLinks Multiviews
AllowOverride None
Order allow, deny
Allow from all
La opción SymLinksIfOwnerMatch sólo permite que puedan seguirse los enlaces simbólicos si el propietario del link y el del archivo apuntado es el mismo.
La opción FollowSymLinks permite que puedan seguirse los enlaces simbólicos. Por seguridad, esta opción la desactivamos.
Con la opción Indexes, si se solicita un directorio y no existe la página especificada con DirectoryIndex (index.html, index.htm, etc.), Apache mostrará el contenido del directorio.
Es preferible desactivar esta opción con -Indexes para no arriesgarnos a que el usuario pueda acceder a archivos del directorio, Apache mostrará el error Forbidden – You don’t have permission.
Para mostrar el minimo de informacion acerca del sistema y del servidor:ServerTokens Prod
ServerSignature Off
Podemos indicar que página se mostrará cuando ocurra un error (por ejemplo: 404 Not Found) conErrorDocument 404 /mispaginas/missing.html
Seria bueno engañar al intruso mostrando el mismo error cuando quiera ingresar a un directorio que sí existe pero no tiene acceso al mismo entonces:ErrorDocument 403 /mispaginas/missing.html
Siempre para aplicar los cambios hechos en un archivo de configuración, tenemos que reiniciar el servicio que toque. En este caso Apache, que en Mandriva es httpd:# service httpd restart
Nota final: Una de las cosas que me sorprendió de Apache, es que por defecto crea un archivo robots.txt, que ya lo explicaré mas calmadamente en otro momento, pero que es lo primero que consultan los robots de los buscadores en las webs.
Categoria: Servidor Web | 3 Comentarios
Servidor web en casa (Introducción)
Cuando empecé el blog personal, lo alojaba en mi ordenador de casa, teniendo Mandriva como servidor Web. A lo largo de esta guía de cómo montar un servidor web en nuestra casa, con nuestro ordenador, voy a comentar varios problemas que tuve, cómo los solucioné y configuraciones que tuve que personalizar en las aplicaciones que usé.
Durante el mes que estuve usando el servidor en casa, no tuve en cuenta el consumo de electricidad. Lo digo porque muchas veces os preguntaréis si compensa tener el servidor en casa y no contratar un hosting. La respuesta es clara: NO. Sólo el consumo de electricidad ya equivale al pago que vais a hacer, y si encima le sumáis la ADSL o Cable, ni os cuento. Aclarado esto explico que equipo usé en el servidor, sirve hasta un PII a 350MHz, pero es lo que tenía en casa:
Ordenador:
- Intel Core 2 Duo a 2\\”33GHz
- 2Gb de RAM a 667MHz
- 1 Disco SATA de 250Gb
- 1 Disco IDE de 80Gb (para copias de seguridad personales)
Aplicaciones:
- Apache
- PHP5
- MySQL
- PHPMyAdmin
- Awstats
Infraestructura:
- Router Conceptronic (no wifi, y con 4 puertos RJ45)
- Conexión de Cable con ONO (4 Megas)
Categoria: Servidor Web | Dejar un comentario