您想为您的组织创建 WordPress 内联网吗?WordPress 是一个功能强大的平台,具有大量灵活的选项,非常适合用作公司的内部网。在本文中,我们将向您展示如何为您的组织创建 WordPress 内联网,同时保持其私密性和安全性。

什么是内联网或外联网?为什么使用 WordPress 作为您的内联网平台?
Intranet 或 Extranet 是组织用于通信、文件共享、公告和其他组织活动的通信平台。
WordPress 是构建组织内联网或外联网的绝佳平台。它易于维护、开源,并让您可以访问数千个WordPress 插件,以便在需要时添加新功能。
Intranet 在组织的专用网络上运行。通常,办公室 IT 系统通过有线或无线网络适配器连接。网络上的一台计算机可以用作 Web 服务器并托管 WordPress 网站。
按照我们指南中有关如何使用 WAMP 在 Windows 网络上安装 WordPress或使用 MAMP 在 Mac 计算机上安装 WordPress 的说明来启动 WordPress Intranet。
另一方面,外联网是可访问更大网络或公共互联网的内联网平台。简而言之,这可能是一个可公开访问的网站,但仅限授权用户访问。
如果您的组织分布在不同的地理位置,那么它特别有用。
要创建 WordPress Extranet,您需要一个WordPress 托管帐户和域名。之后,您可以安装 WordPress并将其设置为用作组织的 Intranet。
安装 WordPress 作为您的 Intranet 后,下一步是将其转换为您组织的通信中心。
为此,您将使用多个 WordPress 插件。我们将向您展示基本设置,它将作为 WordPress 内部网发展和实现组织目标的基础。
将 BuddyPress 设置为您的 WordPress 内联网中心
BuddyPress是 WordPress 的姊妹项目。它将您的 WordPress 网站转换为社交网络。以下是 BuddyPress 支持的内部网可以执行的一些操作:
- 您将能够邀请用户在公司内网上注册
- 用户将能够创建扩展的用户配置文件
- 活动流允许用户关注 Twitter 或 Facebook 等最新更新
- 您将能够创建用户组,将用户分类到部门或团队中
- 用户可以互相关注为好友
- 用户可以互相发送私信
- 您可以通过添加第三方插件来添加新功能
- 您将拥有大量适合BuddyPress 的 WordPress 主题设计选项
首先,您需要安装并激活BuddyPress插件。有关更多详细信息,请参阅我们有关如何安装 WordPress 插件的分步指南。
激活后,前往“设置”»BuddyPress页面配置插件设置。

有关完整的分步说明,请参阅我们有关如何使用 BuddyPress 将 WordPress 转变为社交网络的指南。
使用一体化 Intranet 保护您的 WordPress Intranet
如果您在本地服务器上运行 WordPress Intranet,则可以通过限制对.htaccess 文件中的内部 IP 的访问来保护它。
但是,如果您运行的是 Extranet,则您的用户可能会从不同的网络和 IP 地址访问 Intranet。
为了确保只有授权用户才能访问您公司的 Intranet,您需要将您的 Extranet 设为私有,并且只有注册用户才能访问。
为此,您需要安装并激活All-in-One Intranet插件。有关更多详细信息,请参阅我们有关如何安装 WordPress 插件的分步指南。
激活后,前往“设置”»“一体式内联网”页面来配置插件设置。

首先,您需要选中“强制网站完全私有”选项旁边的框。这将使您的 WordPress 网站的所有页面完全私密。
该插件唯一不会将您的上传目录中的文件设为私有。别担心,我们将在本文后面向您展示如何保护它。
接下来,您需要提供一个 URL,您希望用户在登录时重定向到该 URL。这可以是 Intranet 上的任何页面。
最后,您可以在一定分钟后自动注销不活动的用户。
不要忘记单击“保存更改”按钮来存储您的设置。
保护 WordPress Intranet 上的媒体上传
将您的网站设为完全私有不会影响媒体文件。如果有人知道文件的确切 URL,那么他们就可以不受任何限制地访问该文件。
让我们改变这一点。
为了更好的保护,我们将对上传文件夹的所有请求重定向到一个简单的 PHP 脚本。
这个 php 脚本将检查用户是否登录。如果是,那么它将提供该文件。否则,用户将被重定向到登录页面。
首先,您需要使用记事本等纯文本编辑器在计算机上创建一个新文件。之后,您需要复制并粘贴以下代码并将文件保存download-file.php
在桌面上。
1234567891011121314151617 号18192021222324252627282930313233343536373839404142434445464748495051525354 | <?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 ); |
由
现在使用FTP 客户端连接到您的网站。连接后,将您刚刚创建的文件上传到网站上的 /wp-contents/uploads/ 文件夹。
接下来,您需要编辑网站根文件夹中的.htaccess文件。在 .htaccess 文件底部添加以下代码:
12 | RewriteCond %{REQUEST_FILENAME} -s RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file= $1 [QSA,L] |
由
不要忘记保存更改并将文件上传回您的网站。
现在,对媒体文件夹的所有用户请求都将发送到代理脚本以检查身份验证并将用户重定向到登录页面。
4. 使用 WPForms 将表单添加到 WordPress Intranet

公司内部网的主要目标是通信。BuddyPress 在活动流、评论和私人消息方面做得很好。
但是,有时您需要通过民意调查或调查私下收集信息。您还需要对这些信息进行排序和存储以供以后使用。
这就是WPForms 的用武之地。它是市场上最好的 WordPress 表单生成器。
它不仅可以让您轻松创建漂亮的表单,还可以将用户响应保存在数据库中。您可以将任何表单的回复导出到 CSV 文件中。
这使您可以在电子表格中组织表单回复、打印它们并在同事之间共享。
扩展您的 WordPress 内联网
到目前为止,您的组织应该拥有一个功能完善的 Intranet。但是,当您测试平台或向用户开放平台时,您可能希望添加新功能或使其更加安全。
有很多 WordPress 插件可以帮助您做到这一点。以下是您可能想要立即添加的一些工具。
- Sucuri –通过保护 WordPress 免受未经授权的访问和恶意 DDoS 攻击来提高WordPress 安全性。
- Envira Gallery – 创建美丽的照片画廊。
- Google Drive Embedder – 轻松将 Google Drive 文档嵌入 WordPress 内网的任何位置。
目前为止就这样了。
我们希望本文能帮助您为您的组织创建 WordPress Intranet。您可能还想查看我们对小型企业最佳薪资软件的比较。