Wordpress
Notas sobre la instalación de WordPress en Debian Wheezy muy adaptado a mis necesidades, que no son otras que bajo un dominio concreto disponer de varios blogs y una página principal que los reúna a todos.
Enlaces y referencias
Recetario
Aumentar tamaño máximo de subida
Por lo visto no hay una solución universal para ello; existen tres partes implicadas: la configuración del lenguaje PHP, el servidor web y el propio Wordpress.
Las variables que suelen definirse en este caso son:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
Y en las instalaciones multiblog es necesario (o recomendable, no consigo encontrar la razón) cambiar los ajustes en la opción Ajustes del menú Administrador de red.
Complementos
En las siguientes secciones voy anotando los complementos que considero que son más útiles. Esta lista la he importado del blog de la empresa ya que dispone de más barreras de entrada y, por tanto, es complicado de consultar desde fuera.
Otros complementos que tengo pendientes de describir son:
- Equivalent Mobile Redirect
- Anti-spam
- Simple Cache
- WP FeatherLight
- WP Gallery Custom Links
- Ref: Network Shared Media
Este complemento sólo tiene sentido en una instalación multisite ya que permite incorporar elementos de la biblioteca de otros blogs cuando se crea o se modifica un contenido de otro.
No es exactamente conseguir que la biblioteca sea común sino más bien que se puedan incorporar con facilidad, dado que los elementos no se registran en la biblioteca del blog destino.
Search and filter
Formulario de búsqueda avanzada -muy personalizable aunque no visualmente ya que emplea shortcodes- que permite construir búsquedas complejas sobre el contenido.
Disable comments
Este complemento permite desactivar todos (o parte de) los comentarios en una instalación de WordPress. La opción de eliminación hace que desaparezcan incluso las referencias a los mismos en los menús de administración.
Nota: También puede cepillarse todos los comentarios que existan en un sitio, como opción aparte, pero con es una opción muy drástica si tenían algún valor.
Broken Links Checker
Verifica que los enlaces en el blog sean correctos y no apunten a redirecciones o a objetos que no existan.
Nota: no es compatible con la activación en red; es necesario activarlo en cada uno de los sitios.
Mail on update
Este complemento envía un correo electrónico cada vez que hay actualizaciones en WordPress incluyendo los complementos.
Video Embed & Thumbnail Generator
Simple CSS
Display Posts ShortCode
Este complemento permite incluir un listado de entradas en cualquier parte del blog empleando un código especial (shortcode) dentro del texto.
No es visual y requiere cierta práctica para comenzar a usarlo porque con el código se deben usar parámetros para filtrar contenido e indicar cómo se muestra este. Estps parámetros pueden ser muy numerosos y algo liosos si no se conoce un poco el funcionamiento de WordPress.
Los parámetros -que pueden usarse conjuntamente- se pueden clasificar en:
- Selección de publicaciones:
- Categoría: [display-posts category="fishing,hiking"]
- Etiquetas: [display-posts tag="tag1, tag2"]
- Identificadores de publicación: [display-posts id="9, 10"]
- Excluir publicaciones:
- Por identificador: [display-posts exclude="9, 11"]
- La publicación actual: [display-posts exclude_current="true" taxonomy="category" tax_term="current"]
- Información a incluir en el listado:
- El autor: [display-posts include_author="true"]
- El contenido completo de la entrada: [display-posts include_content="true"]
- Fecha de la publicación:
- La fecha de creación: [display-posts include_date="true"]
- La fecha de la última modificación: [display-posts include_date_modified="true"]
- El formato de la fecha: [display-posts include_date="true" date_format="j/m/Y"] (Formatos de fecha y hora en WordPress)
- El resumen de la publicación: [display-posts include_excerpt="true"]
- Cómo se organiza la información:
- Ordenación de entradas:
- Por qué se ordena: [display-posts orderby="title"]
- Cómo se ordena (ascendente/descendente): [display-posts order="ASC"]
- Mensaje explicativo si no hay entradas: display-posts category="on-sale" no_posts_message="Sorry, no items are currently on sale"]
- Ordenación de entradas:
Este complemento permite añadir la caja de búsqueda de WordPress al menú principal. De esta forma es posible realizar búsquedas directamente en cualquier página del blog, sin necesidad de que se muestre una entrada.
Google XML Sitemap
Este complemento crea un archivo especial para que los buscadores sepan cuándo se ha actualizado nuestro contenido y cómo está organizado el lugar. Es un añadido más que facilita que tengamos presencia en sus índices de búsqueda.
- La Wikipedia contiene información sobre el protocolo en https://es.wikipedia.org/wiki/Mapa_de_sitio_web.
- El archivo es accesible como cualquier otra página en la dirección https://venexma.es/sitemap.xml.
- La página del complemento es https://es.wordpress.org/plugins/google-sitemap-generator/
Contact Form 7
Permite gestionar formularios de contacto para después incluirlos en cualquier página o entrada. En cada formulario se pueden definir direcciones de correo destinatarias, contenido del mensaje y una copia enviada a otra dirección.
Aspectos a considerar
Premisas Debian
- Debian asume que los archivos del servidor web para WordPress se instalan en /srv/www.
- Incluye un fuente en /usr/share/wordpress/wp-config.php que establece algunos valores predeterminados y carga la configuración de los siguientes archivos por orden:
- /etc/wordpress/config-$HOST.php
- /etc/wordpress/config-$DOMAIN.php
- /etc/wordpress/config-default.php
- La capacidad de instalación múltiple está activa de forma predeterminada (WP_ALLOW_MULTISITE)
Archivos y lugares
Para respetar las directrices de la FHS y permitir al administrador añadir temas y extensiones la configuración predeterminada establece la variable WP_CONTENT_DIR a /var/lib/wordpress/wp-content. El servidor web debe incluir esta derivación y añadir un alias
Alias /wp-content /var/lib/wordpress/wp-content
Los subdirectorios uploads y blogs.dir deben tener a www-data como propietario para asegurar que se puedan subir imágenes al servidor desde dentro de WordPress.
Los directorios themes y plugins se usan desde WordPress para los temas y las extensiones instaladas desde el panel de control. En Debian debemos asegurarnos de que el usuario del servidor web tenga acceso a estos directorios, so pena de tener que emplear únicamente aquellas extensiones y temas que vengan empaquetadas.
Sin embargo esa no es toda la solución. El siguiente esquema de directorios (algo recortado) muestra que la mayor parte del contenido consiste en enlaces simbólicos a archivos y directorios bajo propiedad de root.
└─ wp-content ├── blogs.dir ├── languages │ ├── admin-es_ES.mo -> /usr/share/wordpress/wp-content/languages/admin-es_ES.mo | | ...... │ ├── ur.mo -> /usr/share/wordpress/wp-content/languages/ur.mo │ ├── zh_CN.mo -> /usr/share/wordpress/wp-content/languages/zh_CN.mo │ ├── zh_HK.mo -> /usr/share/wordpress/wp-content/languages/zh_HK.mo │ └── zh_TW.mo -> /usr/share/wordpress/wp-content/languages/zh_TW.mo ├── plugins │ ├── akismet -> /usr/share/wordpress/wp-content/plugins/akismet │ └── index.php -> /usr/share/wordpress/wp-content/plugins/index.php ├── themes │ ├── index.php -> /usr/share/wordpress/wp-content/themes/index.php │ ├── twentythirteen -> /usr/share/wordpress/wp-content/themes/twentythirteen │ └── twentytwelve -> /usr/share/wordpress/wp-content/themes/twentytwelve └── uploads
Los cambios que debemos realizar en el directorio raíz de WordPress son los siguientes:
$ cd /var/lib/wordpress/wp-content $ sudo mv plugins plugins-orig $ sudo mv themes themes-orig $ sudo cp -r /usr/share/wordpress/wp-content/{plugins,themes} . $ sudo rm -r *-orig $ sudo chown -R www-data.www-data *
La copia completa de archivos y directorios es necesaria si queremos actualizar los temas y los complementos desde el panel de control de WordPress. Es muy posible que tengamos que realizar la misma operación con el directorio languages pero dada la idea es repetir lo mismo con él: copia y cambio de propietario.
Si aún así aparecen dificultades para la actualización de complementos tendremos que añadir la siguiente estrofa a la configuración:
define( 'FS_METHOD', 'direct' );
Configuración mínima
El archivo de configuración que recomienda la documentación del paquete consiste en lo básico para emplear WordPress desde el panel de control. Yo he situado el mío en /etc/wordpress/config-default.php:
<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'XXXXXXXXXX');
define('DB_HOST', 'localhost');
define('SECRET_KEY', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
define('FS_METHOD', 'direct' );
?>
Los diferentes valores que muestro los he obtenido de un script que incluye el paquete en /usr/share/doc/wordpress/examples/setup-mysql.gz, pero es mejor echarle un vistazo a la guía de instalación.