我想以这种方式安装MediaWiki。
1.下载并解压缩所有MediaWiki安装文件到wiki.gaobo.orgnginx服务器块指向的位置;
1.在www.example.com nginx服务器块中设置反向代理配置gao.bo,使gao.bo/wiki等同于wiki.gaobo.org;
1.从www.example.com启动安装gao.bo/wiki以便最初的服务器URL是gao.bo/wiki而不是wiki.gaobo.org。
问题:
1.上述设计是否可行?
1.如果可能的话,如何执行步骤2?
2条答案
按热度按时间6mw9ycah1#
这当然是可行的(尽管从通用的可用性和信息安全的Angular 来看,在不同的域上有不同的东西通常会更好)。可能最简单的方法是不直接向Web公开MediaWiki服务器,在/wiki下安装MediaWiki并告诉它(通过
$wgServer
)它运行在gao.bo.上。这样代理就不需要处理URL重写、cookie路径重写、不同的域名等。要设置它,您需要设置如下内容
为代理nginx,并确保wiki服务器将
/wiki/
的请求路由到MediaWiki安装。然后您可以通过代理运行安装程序,如您所述,并将代理的IP添加到$wgSquidServers
,以便MediaWiki信任X-Forwarded-For
头。vhmi4jdf2#
仅供参考(可能只是为我自己在未来)这是完全可能的,但有点微妙。
我在两个独立服务器的更一般的上下文中这样做,公共互联网服务的前端,例如department.company.com,它可以服务各种各样的东西(包括php),并希望将www.example.com添加department.company.com/wiki/到这个前端,这实际上是一个proxy_pass到不同机器上的nginx(hidden_mediawiki_server.company.com)。
这是一个非常有用的链接开始:https://wiki.nikhil.io/Ancient_Sysadmin_Stuff/Serving_Mediawiki_from_a_Subdirectory_with_Nginx/
在nginx配置的前端:
然后在隐藏的mediawiki服务器上(根据上面的链接),nginx配置:
在
LocalSettings.php
中非常重要的是: