SanCi

群晖NAS下开启Wordpress多站点(MultiSite)功能
一直以来,在架设wordpress站点的时候只能是一个单一站点,虽然可以多个用户,但是多用户发表的文章都是在同一个...
扫描右侧二维码阅读全文
09
2018/10

群晖NAS下开启Wordpress多站点(MultiSite)功能

一直以来,在架设wordpress站点的时候只能是一个单一站点,虽然可以多个用户,但是多用户发表的文章都是在同一个单一站点上的。有时候比较专业的注册用户可能希望自己有一个单一的博客,或者建站者根据需要,想将不同类别的内容,通过分布在不同的专题博客中实现专业化。实现这样功能可以通过插件实现,wordpress好像无法直接支持这个功能?
其实从wordpress从3.0版本开始就可以支持以上需求了,这个功能就是wordpress的多站点(Multisite)功能,默认情况下是没有开启的,需要通过手动修改设置来启用。那么我们就来看看怎么开启wordpress的多站点功能(Multisite)。

一、在wordpress根目录下找到wp-config.php.htaccess这两个文件。(.htaccess文件在mac系统中是隐藏了的,可以在finder中按command+shift+. 组合键后显示隐藏文件就可以看到了,是灰色的)。记得先备份好这两个文件,因为我们要修改的就是这两个文件的内容。
首先要修改的是wp-config.php这个文件,
在文件的/* That’s all, stop editing! Happy blogging. */ 这段文字的上方,上方,上方(重要的事情说三次)插入下面的代码:
define('WP_ALLOW_MULTISITE', 'true');
保存文件,然后回到站点,刷新一下,右边菜单栏中的工具菜单下面就多了一个网络(Network)的选项。

二、点击网络(Network)选项,在出现的页面中就是多站点的设置了。
1、填写将要开启站点的名称和管理员邮箱,并点击安装。这里站点名称应该是管理所有站点的管理员名称,后期可以用这个来管理多个站点。我的经验是开始的时候用跟单一站点一样的那个邮箱,方便管理,同时也将这个账户作为站点群管理的账户使用。
2、这里开启多站点有两种方式,一个是多域名方式,即每个站点可以对应一个域名;还有一种是多目录方式,也就是不同站点可以通过http://域名/wordpress/站点名这种方式进行访问,我想大多数应该是用第二种目录方式的方法了,这样更易于管理和方便点,所以后面都是以此为基础的。
3、由于是用子目录方式的,根据提示,需要建立一个子目录,这个目录要建在wordpress的根目录中,名称为 blogs.dir,用来存储未来新开站点上传的多媒体文件,同时必须将blogs.dir 文件夹的读写权限更改成0666 (-rw-rw-rw-)以确保该目录可写。

三、点击安装后,出现如下画面
提示要修改前面提到的两个配置文件。为方便大家,我贴出要修改的代码。
1、在wp-config.php文件中,文件的/* That’s all, stop editing! Happy blogging. */ 这段文字的上方、上方、上方(重要的事情说三次)插入下面的代码:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '10.0.0.7');
define('PATH_CURRENT_SITE', '/wordpress/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

2、在.htaccess文件中,将<IfModule mod_rewrite.c>到</IfModule>之间的代码(就是一堆Rewrite开头的代码,替换为如下内容:

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

3、关闭所有wordpress的插件,然后刷新站点,站点会提示重新登录,用原单一站点的用户名登录,由于是用的相同的邮箱,可以通过这个用户名来管理后期的站点。

至此,多站点功能已经完全开启,后面就开始对多站点功能进行设置。

三、登录后可以看到左上角上方出现“我的站点”,鼠标移动到上方后会出现管理网络的菜单,这个菜单下有仪表盘、站点、用户、主题、插件、设置这几个子菜单。这里就是管理整个站点群的地方。

站点名称,网络管理员邮箱就是前面填入的管理邮箱。其中重点是注册设置,如果希望所有站点都是自己来管理,可以禁止注册,然后通过“管理网络”菜单下的站点来增加或删除站点,如果是开放的,wordpress运行所有人注册,而且注册用户都可以拥有一个之间的blog,就选最后一个,这个就有点像网易或新浪博客那样,注册就可以有设置属于之间风格的博客网站了。
点击“管理网络”菜单下的站点选项,现实所有站点列表(当然目前只有一个),然后点击增加新站点选项,出现如下页面:
可以通过这个来增加站点。

四、几个注意事项
1、wp-config.php.htaccess这两个文件一定要做好备份,出现问题后可以恢复;
2、wp-config.php文件中的修改,代码一定要放在文件的/* That’s all, stop editing! Happy blogging. */ 这段文字的上方!
3、增加站点后会发现主题、插件等功能菜单的选项中没有增加新主题或新插件功能,这个是要管理员在管理网络的菜单,这个菜单下有仪表盘、站点、用户、主题、插件、设置这几个子菜单中下载好主题或插件,然后开启该主题或插件,子网站才能在管理员开启的主题或插件中选需要的内容,而不能直接随意增加。
4、要用多站点功能,在安装过程中,系统也会提示Apache需要开启mod_rewrite功能,好在群晖安装Apache http Server 2.2的时候就已经默认开启了,所以不用专门去找。我原以为没有开启,就满世界去找开启的开关文件,网上查了很多,都谈到这个问题,但是群晖的Apache目录结构和网上的都不一致,如果需要的话,可以在如下路径中找到 httpd22.conf这个文件
/volume1/@appstore/Apache2.2/usr/local/etc/apache22/conf
LoadModule rewrite_module modules/mod_rewrite.so 前面的#符号去掉,重启Apache服务器就可以了。


随机一言(显示内容与本文关)
Last modification:October 9th, 2018 at 01:40 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment