¿Quiere crear una intranet WordPress para su organización? WordPress es una potente plataforma con toneladas de opciones flexibles que la hacen ideal para ser utilizada como intranet de su empresa. En este artículo, le mostraremos cómo crear una intranet de WordPress para su organización manteniéndola privada y segura.
¿Qué es una Intranet o Extranet? ¿Por qué utilizar WordPress como plataforma de intranet?
Intranet o Extranet es una plataforma de comunicaciones utilizada por una organización para la comunicación, el intercambio de archivos, anuncios y otras actividades de la organización.
WordPress es una plataforma excelente para crear la intranet o extranet de su organización. Es fácil de mantener, de código abierto y le da acceso a miles de plugins de WordPress para añadir nuevas características cuando sea necesario.
Una intranet se ejecuta en la red privada de una organización. Normalmente, el sistema informático de una oficina se conecta por cable o mediante adaptadores de red inalámbricos. Un ordenador de la red puede utilizarse como servidor web y alojar un sitio web de WordPress.
Sigue las instrucciones de nuestra guía sobre cómo instalar WordPress en una red Windows utilizando WAMP o instalar WordPress en un ordenador Mac utilizando MAMP para poner en marcha tu intranet WordPress.
Por otro lado, una extranet es una plataforma de intranet accesible a una red mayor o a la Internet pública. En lenguaje llano, podría tratarse de un sitio web de acceso público pero restringido solo a usuarios autorizados.
Es especialmente útil si su organización está distribuida en diferentes ubicaciones geográficas.
Para crear su extranet WordPress, necesitará una cuenta de alojamiento WordPress y un nombre de dominio. Después, puede instalar WordPress y establecerlo para que se utilice como intranet de su organización.
Una vez que haya instalado WordPress como su intranet, el siguiente paso es convertirlo en un centro de comunicaciones para su organización.
Para ello, utilizará varios plugins de WordPress. Le mostraremos la configuración básica que servirá de base para que su intranet de WordPress crezca y cumpla los objetivos de su organización.
Establecer BuddyPress como su centro de intranet de WordPress
BuddyPress es un proyecto hermano de WordPress. Convierte su sitio web WordPress en una red social. Estas son algunas de las cosas que puede hacer una intranet con BuddyPress:
- Podrá invitar a los usuarios a registrarse en la intranet de la empresa.
- Los usuarios podrán crear perfiles de usuario ampliados
- Las transimisiones de actividad permiten a los usuarios seguir las últimas actualizaciones como Twitter o Facebook
- Podrá crear grupos de usuarios para clasificar a los usuarios en departamentos o equipos
- Los usuarios podrán seguirse unos a otros como amigos
- Los usuarios pueden enviarse mensajes privados
- Podrás añadir nuevas características mediante plugins de terceros
- Tendrás muchas opciones de diseño con los temas de WordPress para BuddyPress
Para empezar, primero tendrás que instalar y activar el plugin BuddyPress. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Una vez activado, dirígete a la página Ajustes ” BuddyPress para establecer los ajustes del plugin.
Para obtener instrucciones completas paso a paso, consulte nuestra guía sobre cómo convertir WordPress en una red social con BuddyPress.
Proteja su intranet WordPress con All-in-One Intranet
Si está ejecutando una intranet de WordPress en un servidor local, puede protegerla limitando el acceso a las IP internas en su archivo .htaccess.
Sin embargo, si está ejecutando una Extranet, entonces sus usuarios pueden estar accediendo a la intranet desde diferentes redes y direcciones IP.
Para asegurarse de que solo los usuarios autorizados acceden a la intranet de su empresa, debe hacer que su extranet sea privada y accesible solo para usuarios registrados.
Para ello, tendrá que instalar y activar el plugin All-in-One Intranet. Para más detalles, consulte nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Una vez activado, diríjase a la página Ajustes “ Intranet All-in-One para establecer los ajustes del plugin.
Primero debe marcar / comprobar la casilla siguiente a la opción “Forzar que el sitio sea totalmente privado”. Esto hará que todas las páginas de su sitio WordPress sean completamente privadas.
Lo solo que este plugin no hará privado son los archivos en tu directorio de subidas. No te preocupes, te mostraremos cómo protegerlo más adelante en este artículo.
A continuación, debe proporcionar una URL a la que desee redirigir a los usuarios cuando estén conectados. Puede ser cualquier página de tu intranet.
Por último, puedes desconectar automáticamente a los usuarios inactivos después de un cierto número de minutos.
No olvides hacer clic en el botón Guardar cambios para establecer los ajustes.
Cómo proteger las subidas de medios en su intranet de WordPress
Hacer que su sitio web sea completamente privado no afecta a los archivos de medios. Si alguien conoce la URL exacta de un archivo, puede acceder a él sin ninguna restricción.
Cambiemos eso.
Para una mejor protección, vamos a redirigir todas las peticiones hechas a la carpeta de subidas a un simple script PHP.
Este script PHP marcará / comprobará si un usuario está conectado. Si lo está, entonces servirá el archivo. De lo contrario, el usuario será redirigido a la página de acceso / acceso.
Primero necesitas crear un nuevo archivo en tu ordenador usando un editor de texto plano como Notepad. A continuación, copie y pegue el siguiente código y guarde el archivo como download-file.php
en su escritorio.
<?php require_once('wp-load.php'); is_user_logged_in() || auth_redirect(); list($basedir) = array_values(array_intersect_key(wp_upload_dir(), array('basedir' => 1)))+array(NULL); $file = rtrim($basedir,'/').'/'.str_replace('..', '', isset($_GET[ 'file' ])?$_GET[ 'file' ]:''); if (!$basedir || !is_file($file)) { status_header(404); die('404 — File not found.'); } $mime = wp_check_filetype($file); if( false === $mime[ 'type' ] && function_exists( 'mime_content_type' ) ) $mime[ 'type' ] = mime_content_type( $file ); if( $mime[ 'type' ] ) $mimetype = $mime[ 'type' ]; else $mimetype = 'image/' . substr( $file, strrpos( $file, '.' ) + 1 ); header( 'Content-Type: ' . $mimetype ); // always send this if ( false === strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS' ) ) header( 'Content-Length: ' . filesize( $file ) ); $last_modified = gmdate( 'D, d M Y H:i:s', filemtime( $file ) ); $etag = '"' . md5( $last_modified ) . '"'; header( "Last-Modified: $last_modified GMT" ); header( 'ETag: ' . $etag ); header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 100000000 ) . ' GMT' ); // Support for Conditional GET $client_etag = isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) ? stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) : false; if( ! isset( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) ) $_SERVER['HTTP_IF_MODIFIED_SINCE'] = false; $client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ); // If string is empty, return 0. If not, attempt to parse into a timestamp $client_modified_timestamp = $client_last_modified ? strtotime( $client_last_modified ) : 0; // Make a timestamp for our most recent modification... $modified_timestamp = strtotime($last_modified); if ( ( $client_last_modified && $client_etag ) ? ( ( $client_modified_timestamp >= $modified_timestamp) && ( $client_etag == $etag ) ) : ( ( $client_modified_timestamp >= $modified_timestamp) || ( $client_etag == $etag ) ) ) { status_header( 304 ); exit; } readfile( $file );
Ahora conéctate a tu sitio web utilizando un cliente FTP. Una vez conectado, sube el archivo que acabas de crear a la carpeta /wp-contents/uploads/ de tu sitio web.
A continuación, debe editar el archivo .htaccess en la carpeta raíz de su sitio web. Añada el siguiente código en la parte inferior de su archivo .htaccess:
RewriteCond %{REQUEST_FILENAME} -s RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]
No olvides guardar los cambios y volver a subir el archivo a tu sitio web.
Ahora todas las peticiones de usuarios a su carpeta de medios serán enviadas a un script proxy para comprobar la identificación y redirigir a los usuarios a la página de acceso.
4. Añadir formularios a su intranet WordPress con WPForms
El objetivo principal de una intranet de empresa es la comunicación. BuddyPress hace un gran trabajo con transimisiones de actividad, comentarios y mensajería privada.
Sin embargo, a veces necesitarás recopilar información de forma privada en una encuesta o sondeo. También necesitarás ordenar y almacenar esa información para su uso posterior.
Aquí es donde entra WPForms. Es el mejor maquetador de formularios para WordPress del mercado.
No solo te permite crear fácilmente hermosos formularios, sino que también guarda las respuestas de los usuarios en la base de datos. Puedes exportar las respuestas de cualquier formulario a un archivo CSV.
Esto te permite organizar las respuestas de los formularios en hojas de cálculo, imprimirlas y compartirlas entre tus colegas.
Ampliar su Intranet WordPress
A estas alturas deberías tener una intranet perfectamente capaz para tu organización. Sin embargo, a medida que pruebe la plataforma o la abra a los usuarios, es posible que desee añadir nuevas características o hacerla más segura.
Hay un montón de plugins de WordPress que pueden ayudarle a hacer eso. Estas son algunas herramientas que puede querer añadir de inmediato.
- Sucuri – Para mejorar la seguridad de WordPress protegiéndolo de accesos no autorizados y ataques DDoS malintencionados.
- Envira Gallery – Para crear bonitas galerías de fotos.
- Google Drive Embedder – Para incrustar fácilmente documentos de Google Drive en cualquier lugar de tu intranet WordPress.
Eso es todo por ahora.
Esperamos que este artículo te haya ayudado a crear una intranet WordPress para tu organización. Puede que también quieras ver nuestra comparativa del mejor software de nóminas para pequeñas empresas.
Si te ha gustado este artículo, suscríbete a nuestro canal de YouTube para ver tutoriales en vídeo sobre WordPress. También puedes encontrarnos en Twitter y Facebook.
John Akpama
The article is very helpful. Quick question please, for an intranet, how do other computers on my internal network access the wordpress intranet? If there is a previous article on this please share the link let me go through it. TIA
WPBeginner Support
It would depend on how your intranet is set up as each intranet can have its own tools for customizing what URL goes where. If the tool you are using for your network has documentation we would recommend checking that and there should be the option to set where a specific URL directs to.
Administrador
Megan
How would you update WP if you do not have access to the internet? Does it have to be done manually through FTP?
WPBeginner Support
Correct, we cover how to do this as option two in our article here: https://www.wpbeginner.com/beginners-guide/ultimate-guide-to-upgrade-wordpress-for-beginners-infograph/
Administrador
AdamGreenberg
I’m a US Peace Corps volunteer in Zambia considering the possibilities of doing this in the rural village where I live. Starting with the two schools who have a few, older computers. There’s no internet here, so this could be fantastic for sharing offline learning like Khan Academy Lite and such. I understand the localhost WordPress component of this, but how do I start by even connecting two computers in a LAN? Is it with cat 5 cables or can it even be done with wireless routers? Thank you. I think an Intranet could be a huge help here.
WPBeginner Support
That question is a bit beyond this article, it would depend on what tools you have available but normally one computer would need to be the web server while the other computers need the ability to connect to that computer
Administrador
Hjason
Will my media or my content will be indexed by google or is it 100% safe?
WPBeginner Support
If you are installing it on a local network then Google should be unable to crawl the site. If you’re publishing the site online with hosting then you can make the site private using the method in our article here: https://www.wpbeginner.com/beginners-guide/how-to-make-your-wordpress-blog-completely-private/
Administrador
Blair Hewitt
Why are my users not sending comments?
WPBeginner Support
There are multiple possible reasons, you may want to go through the steps in this article to make users want to comment more: https://www.wpbeginner.com/beginners-guide/how-to-increase-your-blog-traffic/
Administrador
Ken
I tried to implement the Securing Media Uploads script and configured in .htaccess but when I tried to copy the exact image link and access it in a browser that does not have the intranet session it can still access! Did I missed some PHP modules?
Michael
I have been using the method described in this article to protect my media for a couple of days now when all of a sudden it stopped working – not sure if sue to a change in server configuration or something else. Media wouldn’t show up for registered users, when diretly requesting a file being logged in a 404 error would appear.
Solved it by changing two things:
.htaccess:
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ wp-content/uploads/download-file.php?file=$1 [QSA,L]
download-file:
<?php
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );
is_user_logged_in() || auth_redirect();
Just in case someone has the same problem…
Stephen
Thanks Michael, was having the same problem, added this and it’s working for me now.
Sean
This post was just what I was looking for, so thank you for posting it!
However, something isn’t right.
I may be brand spanking new to this whole thing but either the adding of the script for securing media files and/or the 2 lines added to the .htaccess file prevents images from being displayed in the Media Library.
I’m thinking it’s a permission issue of some type but I’m not really sure how to proceed.
Sean
Looks like it’s the .htaccess file (2 lines of code) that is causing the images to not load in the Media Library. I put the old one back and the images load. Any advice would be appreciated.
Michael
Sean, I am having the same problem here. I did a small workaround in the .htaccess:
RewriteCond %{REMOTE_ADDR} !123.456.789.000
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]
The first line makes an exception for my home IP, I might be adding office IPs too. Seems to work quite well.
Jonathon
Your code for restricting the uploads folder doesn’t seem to be working anymore or I might have a plugin conflict.
WPBeginner Support
Hi Jonathan,
Are you seeing an error message? If not, then you probably missed something. Please follow the instructions again. Let’s us know how it went. Good Luck
Administrador
LFreitas
Hi, thanks for the article!
I’m planning to use WP in a extranet and this will be very helpful.
To meet the requirements I also need an unique calendar for the staff.
It should allow schedule meetings with multiple people and these people should receive an email with the invitation; also this email should contain metadata that added the event to outlook calendar, as it is used to remind people of the meeting. (Everyone uses Outlook as email here).
Do you guys know any plugin or method to do this?
I’ve tried several calendar and booking plugins, but none meets this requirement. Specially because it is possible to have multiple meetings at the same time, with different people.
Thanks in advance!
WPBeginner Support
Hey LFreitas,
Have you looked into Google Calendar? It syncs well with outlook and you can Embed the calendar in WordPress.
Administrador
Thomas
Well – what if I don*t want to feed Google with my data? Is there any CalDAV/CardDAV integration possible?