1 环境
安装环境:CentOS-7-x86_64-DVD-1511
Mediawiki: bitnami-mediawiki-1.26.2-2-linux-x64-installer.run
LDAP扩展插件:LdapAuthentication-REL1_26-70ab129.tar.gz
2 安装mediawiki
首先安装bitnami-mediawiki-1.26.2-2-linux-x64-installer.run
1 | #chmod 755 bitnami-mediawiki-1.26.2-2-linux-x64-installer.run //赋予读写权限 |
安装到最后出现mysql数据库错误:
1 | Error: Error running /opt/mediawiki-1.26.2-2/mysql/scripts/myscript.sh |
(根据提示,发现系统缺少Dumper模块)
根据提示安装Data-Dumper.x86_64
1 | # yum install perl-Data-Dumper.x86_64 //安装插件模块。 |
……………
OK, Mediawiki安装成功。
3 开启AD域用户认证登录
Ldap认证需要php支持ldap,需要安装ldap支持模块(php-ldap
),及开启php
的ldap
功能(修改php.ini
文件)。
> 备注:不安装php-ldap,LdapAuthentication插件不工作
1、 安装php-ldap模块:
1 | [root@localhost mediawiki]# yum install php-ldap |
2、 开启ldap
功能
即修改php.ini
文件,将extension=php_ldap.dll
前的分号去掉。
1 | [root@localhost mediawiki]# vi /opt/mediawiki-1.26.2-2/php/etc/php.ini |
3、下载LdapAuthentication
插件:LdapAuthentication-REL1_26-70ab129.tar.gz
解压插件到extensions目录:
1 | # tar -xzf LdapAuthentication-REL1_26-70ab129.tar.gz /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/extensions/ |
4、编辑LocalSettings.php
配置文件
在LocalSettings.php
末尾添加如下内容:
1 | require_once("extensions/LdapAuthentication/LdapAuthentication.php"); |
Ok, LocalSettings.php
编辑完成。
下面就可以直接使用域用户登录了。
4 Database错误
报错(前面LocalSettings.php
添加后三行才能看到报错详情):
Database error1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46A database query error has occurred. This may indicate a bug in the software.
(翻译:数据库错误 一个数据库查询错误发生。这可能表明软件中的缺陷。)
Query:
SELECT domain FROM `ldap_domains` WHERE user_id = '4' LIMIT 1
Function: LdapAuthenticationPlugin::loadDomain
Error: 1146 Table 'bitnami_mediawiki.ldap_domains' doesn't exist (localhost:3306)
Backtrace:
#0 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/db/Database.php(1076): DatabaseBase->reportQueryError('Table 'bitnami_...', 1146, 'SELECT domain ...', 'LdapAuthenticat...', false)
#1 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/db/Database.php(1600): DatabaseBase->query('SELECT domain ...', 'LdapAuthenticat...')
#2 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/db/Database.php(1689): DatabaseBase->select('ldap_domains', Array, Array, 'LdapAuthenticat...', Array, Array)
#3 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/extensions/LdapAuthentication/LdapAuthentication.php(2041): DatabaseBase->selectRow('ldap_domains', Array, Array, 'LdapAuthenticat...')
#4 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/extensions/LdapAuthentication/LdapAuthentication.php(2060): LdapAuthenticationPlugin::loadDomain(Object(User))
#5 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/extensions/LdapAuthentication/LdapAuthentication.php(1237): LdapAuthenticationPlugin::saveDomain(Object(User), 'dealeasy')
#6 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/specials/SpecialUserlogin.php(830): LdapAuthenticationPlugin->updateUser(Object(User))
#7 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/specials/SpecialUserlogin.php(958): LoginForm->authenticateUserData()
#8 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/specials/SpecialUserlogin.php(341): LoginForm->processLogin()
#9 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/specialpage/SpecialPage.php(384): LoginForm->execute(NULL)
#10 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/specialpage/SpecialPageFactory.php(553): SpecialPage->run(NULL)
#11 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/MediaWiki.php(281): SpecialPageFactory::executePath(Object(Title), Object(RequestContext))
#12 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/MediaWiki.php(714): MediaWiki->performRequest()
#13 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/includes/MediaWiki.php(508): MediaWiki->main()
#14 /opt/mediawiki-1.26.2-2/apps/mediawiki/htdocs/index.php(41): MediaWiki->run()
#15 {main}
最终,通过报错信息Error: 1146 Table 'bitnami_mediawiki.ldap_domains' doesn't exist (localhost:3306)
,发现不存在ldap_domains
表,即bitnami_mediawiki
不存在这个表,后来尝试在phpmyAdmin
上为bitnami_mediawiki
创建ldap_domains
表,并在表内创建user_id
和domain
列,问题解决。
备注:根据多次实验和页面错误提示,才确认建立
user_id
和domain
列
5 备份
备份数据库、配置文件、附件目录images
、插件目录extensions
5.1 备份脚本
1 | Now=$(date +"%Y%m%d%H") |
6 安装包及插件等
安装包:bitnami_mediawiki
(自己下载)