Wiki farm
The configuration that Wikimedia uses for MediaWiki is quite different to the one that is documented for the purposes of external use. I thought I'd give a brief explanation of how running 374 wikis on 7 top level domains is different to running one wiki, and how we overcome the technical challenges encountered.
Contents |
The Matrix
88888888888 您好,有幸拜访您处网站,感觉相当好。恳请站长能交换一个友情连接,谢谢。 我们的地址是 [url=http://www.linker.com.cn]呼叫中心排队机[/url] [url=http://www.zd-edu.com]深圳拓展训练深有感触圳拓展培训[/url] [url=http://www.chinaspaclub.com]小区会所策划休闲会所策划设计酒店会所策划综合会所策划管理会所经营管理系统[/url] [url=http://wangzhantuiguang.bizhat.com]口吃[/url] [url=http://www.newabel.com]停车场一卡通远距离读卡器门禁[/url] [url=http://googlezuoce.bizhat.com]深圳googel左侧排名深圳google优化深圳google推广网站优化排名[/url] [url=http://weishenmo.bizhat.com]微动开关轻触开关按键开关电源插座[/url] [url=http://helloshenzhen.bizhat.com]压缩机冷冻型干燥机吸附式干燥机组合低露点干燥机压缩空气过滤器[/url] [url=http://kaiguandianyuan.bizhat.com]冷干机冷冻式干燥机油水分离器储气罐[/url] [url=http://szhx.bizhat.com]市场调查公司市场调研公司市场研究公司[/url] [url=http://www.infolocal.com.cn]北京翻译公司广州翻译上海翻译[/url] [url=http://www.ppacn.com]深圳翻译[/url] [url=http://yimingda.bizhat.com]深圳翻译[/url] [url=http://remindianzu.bizhat.com]PTC热敏电阻片式NTC热敏电阻贴片压敏电阻[/url] [url=http://jianadalvyou.bizhat.com]加拿大探亲签证加拿大旅游网美国旅游美国签证美国旅游签证加拿大商务签证加拿大商务考察美国商务考察加拿大中文网加拿大旅行社加拿大签证加拿大旅游签证[/url] [url=http://meiguoyiminwang.bizhat.com]EB-3就业移民移民加拿大美国移民加拿大移民移民美国[/url] [url=http://xinyitonggongsi.bizhat.com]翻译公司广州翻译北京翻译上海翻译[/url] [url=http://shenzhenhangkongpiao.bizhat.com]打折机票国际机票火车票深圳机票深圳飞机票特价机票深圳航空[/url] [url=http://www.szhx.net]网络推广网站推广GOOGLE左侧排名GOOGLE广告深圳google推广google排名代理GOOGLE右边广告深圳虚拟主机深圳网站虚拟空间[/url] [url=http://www.jianyeradio.com]老化台脉冲变压器老炼台延迟线[/url] [url=http://www.hietech.com.cn]智能配电有源滤波数字电力仪表电力监控[/url] [url=http://www.china-shy.com]太阳能热水器热水炉热水设备[/url] [url=http://www.tophunter.com]猎头猎头公司深圳猎头[/url] [url=http://www.orangeshop.cn]液晶显示器支架LCD支架[/url] [url=http://www.gld-battery.com]锂电池扣式电池锂离子电池锂锰电池[/url] [url=http://www.chinesezhouyi.com]算命起名[/url] [url=http://www.chinaepe.net]smt表面贴装电子设备电子生产设备线路板[/url] [url=http://www.plasexpo.com]塑料工程塑料机械塑胶机械塑料制品[/url] [url=http://www.french-in-sz.com]深圳法语培训深圳留学移民[/url] [url=http://www.hy158.com]深圳装饰公司深圳装修公司[/url] [url=http://www.love598.com]东莞翻译深圳翻译[/url] [url=http://www.sz686.com]深圳搬家公司深圳搬迁网深圳搬家网[/url] [url=http://www.100google.com]深圳网络公司深圳网络推广深圳网站推广深圳google推广深圳企业网站推广google左侧排名[/url] [url=http://www.google1000.com]深圳网络公司深圳网站推广网络推广深圳Google广告排名Google代理公司[/url] [url=http://www.cipmr.com]市场调查公司市场研究公司市场调研公司[/url] [url=http://www.guangyi-laser.com]激光打标激光加工激光雕刻镭雕加工激光切割按键加工镭射加工[/url] [url=http://www.sd1718.com]仪器仪表台式万用表红外测温仪温度计[/url] [url=http://www.howfine.com.cn]办公家具[/url] [url=http://www.1314899.com]痛经早泄阳痿阳萎生殖器疱疹慢性盆腔炎尖锐湿疣性障碍慢性荨麻疹[/url] [url=http://www.kaiqiangli.com]拉力机拉力试验机实验机拉力机材料试验机万能材料试验机扭转试验机弹簧试验机万能试验机[/url] [url=http://www.fxcable.net]铝镁合金丝铝合金同轴电缆铝焊条[/url] [url=http://www.515speak.net]口吃[/url] [url=http://www.1314899.com]早泄阳萎尖锐湿疣性障碍[/url] [url=http://www.chinadianchi.com]北京飞机票北京机票打折机票特价订票 [/url] [url=http://www.dakuohai.net]除湿机[/url] [url=http://www.jmd.com.cn]条码[/url] [url=http://www.592mir.com]传奇私服[/url] [url=http://www.shenzhenren.net]深圳自助游[/url] [1]倒流防止器[/url] [url=http://www.cadcnc.com]影像测绘仪测量投影仪工具显微镜测量显微镜金相显微镜显微测量影像测量仪[/url] [url=http://www.tigitek.com]铝制品[/url]88888888888 您好,有幸拜访您处网站,感觉相当好。恳请站长能交换一个友情连接,谢谢。 我们的地址是 [url=http://www.linker.com.cn]呼叫中心排队机[/url] [url=http://www.zd-edu.com]深圳拓展训练深有感触圳拓展培训[/url] [url=http://www.chinaspaclub.com]小区会所策划休闲会所策划设计酒店会所策划综合会所策划管理会所经营管理系统[/url] [url=http://wangzhantuiguang.bizhat.com]口吃[/url] [url=http://www.newabel.com]停车场一卡通远距离读卡器门禁[/url] [url=http://googlezuoce.bizhat.com]深圳googel左侧排名深圳google优化深圳google推广网站优化排名[/url] [url=http://weishenmo.bizhat.com]微动开关轻触开关按键开关电源插座[/url] [url=http://helloshenzhen.bizhat.com]压缩机冷冻型干燥机吸附式干燥机组合低露点干燥机压缩空气过滤器[/url] [url=http://kaiguandianyuan.bizhat.com]冷干机冷冻式干燥机油水分离器储气罐[/url] [url=http://szhx.bizhat.com]市场调查公司市场调研公司市场研究公司[/url] [url=http://www.infolocal.com.cn]北京翻译公司广州翻译上海翻译[/url] [url=http://www.ppacn.com]深圳翻译[/url] [url=http://yimingda.bizhat.com]深圳翻译[/url] [url=http://remindianzu.bizhat.com]PTC热敏电阻片式NTC热敏电阻贴片压敏电阻[/url] [url=http://jianadalvyou.bizhat.com]加拿大探亲签证加拿大旅游网美国旅游美国签证美国旅游签证加拿大商务签证加拿大商务考察美国商务考察加拿大中文网加拿大旅行社加拿大签证加拿大旅游签证[/url] [url=http://meiguoyiminwang.bizhat.com]EB-3就业移民移民加拿大美国移民加拿大移民移民美国[/url] [url=http://xinyitonggongsi.bizhat.com]翻译公司广州翻译北京翻译上海翻译[/url] [url=http://shenzhenhangkongpiao.bizhat.com]打折机票国际机票火车票深圳机票深圳飞机票特价机票深圳航空[/url] [url=http://www.szhx.net]网络推广网站推广GOOGLE左侧排名GOOGLE广告深圳google推广google排名代理GOOGLE右边广告深圳虚拟主机深圳网站虚拟空间[/url] [url=http://www.jianyeradio.com]老化台脉冲变压器老炼台延迟线[/url] [url=http://www.hietech.com.cn]智能配电有源滤波数字电力仪表电力监控[/url] [url=http://www.china-shy.com]太阳能热水器热水炉热水设备[/url] [url=http://www.tophunter.com]猎头猎头公司深圳猎头[/url] [url=http://www.orangeshop.cn]液晶显示器支架LCD支架[/url] [url=http://www.gld-battery.com]锂电池扣式电池锂离子电池锂锰电池[/url] [url=http://www.chinesezhouyi.com]算命起名[/url] [url=http://www.chinaepe.net]smt表面贴装电子设备电子生产设备线路板[/url] [url=http://www.plasexpo.com]塑料工程塑料机械塑胶机械塑料制品[/url] [url=http://www.french-in-sz.com]深圳法语培训深圳留学移民[/url] [url=http://www.hy158.com]深圳装饰公司深圳装修公司[/url] [url=http://www.love598.com]东莞翻译深圳翻译[/url] [url=http://www.sz686.com]深圳搬家公司深圳搬迁网深圳搬家网[/url] [url=http://www.100google.com]深圳网络公司深圳网络推广深圳网站推广深圳google推广深圳企业网站推广google左侧排名[/url] [url=http://www.google1000.com]深圳网络公司深圳网站推广网络推广深圳Google广告排名Google代理公司[/url] [url=http://www.cipmr.com]市场调查公司市场研究公司市场调研公司[/url] [url=http://www.guangyi-laser.com]激光打标激光加工激光雕刻镭雕加工激光切割按键加工镭射加工[/url] [url=http://www.sd1718.com]仪器仪表台式万用表红外测温仪温度计[/url] [url=http://www.howfine.com.cn]办公家具[/url] [url=http://www.1314899.com]痛经早泄阳痿阳萎生殖器疱疹慢性盆腔炎尖锐湿疣性障碍慢性荨麻疹[/url] [url=http://www.kaiqiangli.com]拉力机拉力试验机实验机拉力机材料试验机万能材料试验机扭转试验机弹簧试验机万能试验机[/url] [url=http://www.fxcable.net]铝镁合金丝铝合金同轴电缆铝焊条[/url] [url=http://www.515speak.net]口吃[/url] [url=http://www.1314899.com]早泄阳萎尖锐湿疣性障碍[/url] [url=http://www.chinadianchi.com]北京飞机票北京机票打折机票特价订票 [/url] [url=http://www.dakuohai.net]除湿机[/url] [url=http://www.jmd.com.cn]条码[/url] [url=http://www.592mir.com]传奇私服[/url] [url=http://www.shenzhenren.net]深圳自助游[/url] [2]倒流防止器[/url] [url=http://www.cadcnc.com]影像测绘仪测量投影仪工具显微镜测量显微镜金相显微镜显微测量影像测量仪[/url] [url=http://www.tigitek.com]铝制品[/url]88888888888 您好,有幸拜访您处网站,感觉相当好。恳请站长能交换一个友情连接,谢谢。 我们的地址是 [url=http://www.linker.com.cn]呼叫中心排队机[/url] [url=http://www.zd-edu.com]深圳拓展训练深有感触圳拓展培训[/url] [url=http://www.chinaspaclub.com]小区会所策划休闲会所策划设计酒店会所策划综合会所策划管理会所经营管理系统[/url] [url=http://wangzhantuiguang.bizhat.com]口吃[/url] [url=http://www.newabel.com]停车场一卡通远距离读卡器门禁[/url] [url=http://googlezuoce.bizhat.com]深圳googel左侧排名深圳google优化深圳google推广网站优化排名[/url] [url=http://weishenmo.bizhat.com]微动开关轻触开关按键开关电源插座[/url] [url=http://helloshenzhen.bizhat.com]压缩机冷冻型干燥机吸附式干燥机组合低露点干燥机压缩空气过滤器[/url] [url=http://kaiguandianyuan.bizhat.com]冷干机冷冻式干燥机油水分离器储气罐[/url] [url=http://szhx.bizhat.com]市场调查公司市场调研公司市场研究公司[/url] [url=http://www.infolocal.com.cn]北京翻译公司广州翻译上海翻译[/url] [url=http://www.ppacn.com]深圳翻译[/url] [url=http://yimingda.bizhat.com]深圳翻译[/url] [url=http://remindianzu.bizhat.com]PTC热敏电阻片式NTC热敏电阻贴片压敏电阻[/url] [url=http://jianadalvyou.bizhat.com]加拿大探亲签证加拿大旅游网美国旅游美国签证美国旅游签证加拿大商务签证加拿大商务考察美国商务考察加拿大中文网加拿大旅行社加拿大签证加拿大旅游签证[/url] [url=http://meiguoyiminwang.bizhat.com]EB-3就业移民移民加拿大美国移民加拿大移民移民美国[/url] [url=http://xinyitonggongsi.bizhat.com]翻译公司广州翻译北京翻译上海翻译[/url] [url=http://shenzhenhangkongpiao.bizhat.com]打折机票国际机票火车票深圳机票深圳飞机票特价机票深圳航空[/url] [url=http://www.szhx.net]网络推广网站推广GOOGLE左侧排名GOOGLE广告深圳google推广google排名代理GOOGLE右边广告深圳虚拟主机深圳网站虚拟空间[/url] [url=http://www.jianyeradio.com]老化台脉冲变压器老炼台延迟线[/url] [url=http://www.hietech.com.cn]智能配电有源滤波数字电力仪表电力监控[/url] [url=http://www.china-shy.com]太阳能热水器热水炉热水设备[/url] [url=http://www.tophunter.com]猎头猎头公司深圳猎头[/url] [url=http://www.orangeshop.cn]液晶显示器支架LCD支架[/url] [url=http://www.gld-battery.com]锂电池扣式电池锂离子电池锂锰电池[/url] [url=http://www.chinesezhouyi.com]算命起名[/url] [url=http://www.chinaepe.net]smt表面贴装电子设备电子生产设备线路板[/url] [url=http://www.plasexpo.com]塑料工程塑料机械塑胶机械塑料制品[/url] [url=http://www.french-in-sz.com]深圳法语培训深圳留学移民[/url] [url=http://www.hy158.com]深圳装饰公司深圳装修公司[/url] [url=http://www.love598.com]东莞翻译深圳翻译[/url] [url=http://www.sz686.com]深圳搬家公司深圳搬迁网深圳搬家网[/url] [url=http://www.100google.com]深圳网络公司深圳网络推广深圳网站推广深圳google推广深圳企业网站推广google左侧排名[/url] [url=http://www.google1000.com]深圳网络公司深圳网站推广网络推广深圳Google广告排名Google代理公司[/url] [url=http://www.cipmr.com]市场调查公司市场研究公司市场调研公司[/url] [url=http://www.guangyi-laser.com]激光打标激光加工激光雕刻镭雕加工激光切割按键加工镭射加工[/url] [url=http://www.sd1718.com]仪器仪表台式万用表红外测温仪温度计[/url] [url=http://www.howfine.com.cn]办公家具[/url] [url=http://www.1314899.com]痛经早泄阳痿阳萎生殖器疱疹慢性盆腔炎尖锐湿疣性障碍慢性荨麻疹[/url] [url=http://www.kaiqiangli.com]拉力机拉力试验机实验机拉力机材料试验机万能材料试验机扭转试验机弹簧试验机万能试验机[/url] [url=http://www.fxcable.net]铝镁合金丝铝合金同轴电缆铝焊条[/url] [url=http://www.515speak.net]口吃[/url] [url=http://www.1314899.com]早泄阳萎尖锐湿疣性障碍[/url] [url=http://www.chinadianchi.com]北京飞机票北京机票打折机票特价订票 [/url] [url=http://www.dakuohai.net]除湿机[/url] [url=http://www.jmd.com.cn]条码[/url] [url=http://www.592mir.com]传奇私服[/url] [url=http://www.shenzhenren.net]深圳自助游[/url] [3]倒流防止器[/url] [url=http://www.cadcnc.com]影像测绘仪测量投影仪工具显微镜测量显微镜金相显微镜显微测量影像测量仪[/url] [url=http://www.tigitek.com]铝制品[/url]88888888888 您好,有幸拜访您处网站,感觉相当好。恳请站长能交换一个友情连接,谢谢。 我们的地址是 [url=http://www.linker.com.cn]呼叫中心排队机[/url] [url=http://www.zd-edu.com]深圳拓展训练深有感触圳拓展培训[/url] [url=http://www.chinaspaclub.com]小区会所策划休闲会所策划设计酒店会所策划综合会所策划管理会所经营管理系统[/url] [url=http://wangzhantuiguang.bizhat.com]口吃[/url] [url=http://www.newabel.com]停车场一卡通远距离读卡器门禁[/url] [url=http://googlezuoce.bizhat.com]深圳googel左侧排名深圳google优化深圳google推广网站优化排名[/url] [url=http://weishenmo.bizhat.com]微动开关轻触开关按键开关电源插座[/url] [url=http://helloshenzhen.bizhat.com]压缩机冷冻型干燥机吸附式干燥机组合低露点干燥机压缩空气过滤器[/url] [url=http://kaiguandianyuan.bizhat.com]冷干机冷冻式干燥机油水分离器储气罐[/url] [url=http://szhx.bizhat.com]市场调查公司市场调研公司市场研究公司[/url] [url=http://www.infolocal.com.cn]北京翻译公司广州翻译上海翻译[/url] [url=http://www.ppacn.com]深圳翻译[/url] [url=http://yimingda.bizhat.com]深圳翻译[/url] [url=http://remindianzu.bizhat.com]PTC热敏电阻片式NTC热敏电阻贴片压敏电阻[/url] [url=http://jianadalvyou.bizhat.com]加拿大探亲签证加拿大旅游网美国旅游美国签证美国旅游签证加拿大商务签证加拿大商务考察美国商务考察加拿大中文网加拿大旅行社加拿大签证加拿大旅游签证[/url] [url=http://meiguoyiminwang.bizhat.com]EB-3就业移民移民加拿大美国移民加拿大移民移民美国[/url] [url=http://xinyitonggongsi.bizhat.com]翻译公司广州翻译北京翻译上海翻译[/url] [url=http://shenzhenhangkongpiao.bizhat.com]打折机票国际机票火车票深圳机票深圳飞机票特价机票深圳航空[/url] [url=http://www.szhx.net]网络推广网站推广GOOGLE左侧排名GOOGLE广告深圳google推广google排名代理GOOGLE右边广告深圳虚拟主机深圳网站虚拟空间[/url] [url=http://www.jianyeradio.com]老化台脉冲变压器老炼台延迟线[/url] [url=http://www.hietech.com.cn]智能配电有源滤波数字电力仪表电力监控[/url] [url=http://www.china-shy.com]太阳能热水器热水炉热水设备[/url] [url=http://www.tophunter.com]猎头猎头公司深圳猎头[/url] [url=http://www.orangeshop.cn]液晶显示器支架LCD支架[/url] [url=http://www.gld-battery.com]锂电池扣式电池锂离子电池锂锰电池[/url] [url=http://www.chinesezhouyi.com]算命起名[/url] [url=http://www.chinaepe.net]smt表面贴装电子设备电子生产设备线路板[/url] [url=http://www.plasexpo.com]塑料工程塑料机械塑胶机械塑料制品[/url] [url=http://www.french-in-sz.com]深圳法语培训深圳留学移民[/url] [url=http://www.hy158.com]深圳装饰公司深圳装修公司[/url] [url=http://www.love598.com]东莞翻译深圳翻译[/url] [url=http://www.sz686.com]深圳搬家公司深圳搬迁网深圳搬家网[/url] [url=http://www.100google.com]深圳网络公司深圳网络推广深圳网站推广深圳google推广深圳企业网站推广google左侧排名[/url] [url=http://www.google1000.com]深圳网络公司深圳网站推广网络推广深圳Google广告排名Google代理公司[/url] [url=http://www.cipmr.com]市场调查公司市场研究公司市场调研公司[/url] [url=http://www.guangyi-laser.com]激光打标激光加工激光雕刻镭雕加工激光切割按键加工镭射加工[/url] [url=http://www.sd1718.com]仪器仪表台式万用表红外测温仪温度计[/url] [url=http://www.howfine.com.cn]办公家具[/url] [url=http://www.1314899.com]痛经早泄阳痿阳萎生殖器疱疹慢性盆腔炎尖锐湿疣性障碍慢性荨麻疹[/url] [url=http://www.kaiqiangli.com]拉力机拉力试验机实验机拉力机材料试验机万能材料试验机扭转试验机弹簧试验机万能试验机[/url] [url=http://www.fxcable.net]铝镁合金丝铝合金同轴电缆铝焊条[/url] [url=http://www.515speak.net]口吃[/url] [url=http://www.1314899.com]早泄阳萎尖锐湿疣性障碍[/url] [url=http://www.chinadianchi.com]北京飞机票北京机票打折机票特价订票 [/url] [url=http://www.dakuohai.net]除湿机[/url] [url=http://www.jmd.com.cn]条码[/url] [url=http://www.592mir.com]传奇私服[/url] [url=http://www.shenzhenren.net]深圳自助游[/url] [4]倒流防止器[/url] [url=http://www.cadcnc.com]影像测绘仪测量投影仪工具显微镜测量显微镜金相显微镜显微测量影像测量仪[/url] [url=http://www.tigitek.com]铝制品[/url] There are currently four multi-subdomain "sites" operated by Wikimedia: Wikipedia, Wiktionary, Wikibooks and Wikiquote. Our setup is unusual in that instead of using a database prefix to indicate which site the wiki belongs to, we use a database suffix. This is for historical reasons. Following is a list of Wikimedia wikis. Wikis which actually exist are shown in bold.
| Wikipedia w | Wiktionary wikt | Wikibooks b | Wikiquote q |
| aa | aa | aa | aa |
| ab | ab | ab | ab |
| af | af | af | af |
| ak | ak | ak | ak |
| als | als | als | als |
| am | am | am | am |
| an | an | an | an |
| ar | ar | ar | ar |
| arc | arc | arc | arc |
| as | as | as | as |
| ast | ast | ast | ast |
| av | av | av | av |
| ay | ay | ay | ay |
| az | az | az | az |
| ba | ba | ba | ba |
| be | be | be | be |
| bg | bg | bg | bg |
| bh | bh | bh | bh |
| bi | bi | bi | bi |
| bm | bm | bm | bm |
| bn | bn | bn | bn |
| bo | bo | bo | bo |
| br | br | br | br |
| bs | bs | bs | bs |
| ca | ca | ca | ca |
| ce | ce | ce | ce |
| ch | ch | ch | ch |
| cho | cho | cho | cho |
| chr | chr | chr | chr |
| chy | chy | chy | chy |
| co | co | co | co |
| cr | cr | cr | cr |
| cs | cs | cs | cs |
| csb | csb | csb | csb |
| cv | cv | cv | cv |
| cy | cy | cy | cy |
| da | da | da | da |
| de | de | de | de |
| dv | dv | dv | dv |
| dz | dz | dz | dz |
| ee | ee | ee | ee |
| el | el | el | el |
| en | en | en | en |
| eo | eo | eo | eo |
| es | es | es | es |
| et | et | et | et |
| eu | eu | eu | eu |
| fa | fa | fa | fa |
| ff | ff | ff | ff |
| fi | fi | fi | fi |
| fj | fj | fj | fj |
| fo | fo | fo | fo |
| fr | fr | fr | fr |
| fy | fy | fy | fy |
| ga | ga | ga | ga |
| gd | gd | gd | gd |
| gl | gl | gl | gl |
| gn | gn | gn | gn |
| gu | gu | gu | gu |
| gv | gv | gv | gv |
| ha | ha | ha | ha |
| haw | haw | haw | haw |
| he | he | he | he |
| hi | hi | hi | hi |
| ho | ho | ho | ho |
| hr | hr | hr | hr |
| ht | ht | ht | ht |
| hu | hu | hu | hu |
| hy | hy | hy | hy |
| hz | hz | hz | hz |
| ia | ia | ia | ia |
| id | id | id | id |
| ie | ie | ie | ie |
| ig | ig | ig | ig |
| ii | ii | ii | ii |
| ik | ik | ik | ik |
| io | io | io | io |
| is | is | is | is |
| it | it | it | it |
| iu | iu | iu | iu |
| ja | ja | ja | ja |
| jv | jv | jv | jv |
| ka | ka | ka | ka |
| kg | kg | kg | kg |
| ki | ki | ki | ki |
| kj | kj | kj | kj |
| kk | kk | kk | kk |
| kl | kl | kl | kl |
| km | km | km | km |
| kn | kn | kn | kn |
| ko | ko | ko | ko |
| kr | kr | kr | kr |
| ks | ks | ks | ks |
| ku | ku | ku | ku |
| kv | kv | kv | kv |
| kw | kw | kw | kw |
| ky | ky | ky | ky |
| la | la | la | la |
| lb | lb | lb | lb |
| lg | lg | lg | lg |
| li | li | li | li |
| ln | ln | ln | ln |
| lo | lo | lo | lo |
| lt | lt | lt | lt |
| lv | lv | lv | lv |
| mg | mg | mg | mg |
| mh | mh | mh | mh |
| mi | mi | mi | mi |
| minnan | minnan | minnan | minnan |
| minnan | minnan | minnan | minnan |
| mk | mk | mk | mk |
| ml | ml | ml | ml |
| mn | mn | mn | mn |
| mo | mo | mo | mo |
| mr | mr | mr | mr |
| ms | ms | ms | ms |
| mt | mt | mt | mt |
| mus | mus | mus | mus |
| my | my | my | my |
| na | na | na | na |
| nah | nah | nah | nah |
| nb | nb | nb | nb |
| nds | nds | nds | nds |
| ne | ne | ne | ne |
| ng | ng | ng | ng |
| nl | nl | nl | nl |
| nn | nn | nn | nn |
| no | no | no | no |
| nv | nv | nv | nv |
| ny | ny | ny | ny |
| oc | oc | oc | oc |
| om | om | om | om |
| or | or | or | or |
| pa | pa | pa | pa |
| pi | pi | pi | pi |
| pl | pl | pl | pl |
| ps | ps | ps | ps |
| pt | pt | pt | pt |
| qu | qu | qu | qu |
| rm | rm | rm | rm |
| rn | rn | rn | rn |
| ro | ro | ro | ro |
| roa-rup | roa-rup | roa-rup | roa-rup |
| ru | ru | ru | ru |
| rw | rw | rw | rw |
| sa | sa | sa | sa |
| sc | sc | sc | sc |
| sd | sd | sd | sd |
| se | se | se | se |
| sg | sg | sg | sg |
| sh | sh | sh | sh |
| sh | sh | sh | sh |
| si | si | si | si |
| simple | simple | simple | simple |
| sk | sk | sk | sk |
| sl | sl | sl | sl |
| sm | sm | sm | sm |
| sn | sn | sn | sn |
| so | so | so | so |
| sq | sq | sq | sq |
| sr | sr | sr | sr |
| ss | ss | ss | ss |
| st | st | st | st |
| su | su | su | su |
| sv | sv | sv | sv |
| sw | sw | sw | sw |
| ta | ta | ta | ta |
| te | te | te | te |
| tg | tg | tg | tg |
| th | th | th | th |
| ti | ti | ti | ti |
| tk | tk | tk | tk |
| tl | tl | tl | tl |
| tlh | tlh | tlh | tlh |
| tlh | tlh | tlh | tlh |
| tn | tn | tn | tn |
| to | to | to | to |
| tokipona | tokipona | tokipona | tokipona |
| tpi | tpi | tpi | tpi |
| tr | tr | tr | tr |
| ts | ts | ts | ts |
| tt | tt | tt | tt |
| tw | tw | tw | tw |
| ty | ty | ty | ty |
| ug | ug | ug | ug |
| uk | uk | uk | uk |
| ur | ur | ur | ur |
| uz | uz | uz | uz |
| ve | ve | ve | ve |
| vi | vi | vi | vi |
| vo | vo | vo | vo |
| wa | wa | wa | wa |
| wo | wo | wo | wo |
| xh | xh | xh | xh |
| yi | yi | yi | yi |
| yo | yo | yo | yo |
| za | za | za | za |
| zh | zh | zh | zh |
| zh-cfr | zh-cfr | zh-cfr | zh-cfr |
| zu | zu | zu | zu |
There are also a number of "special" wikis:
- sources (Wikisource)
- meta
- sep11 (September 11 Memorial)
- wikimedia (experimental)
- mediawiki
There's also a few experimental wikis that have their own script directories and so don't need to be listed in all.dblist. They aren't backed up by the normal process, and won't be included in maintenance operations:
- test
- rel12test
- code.wikimedia.org
History
In the beginning, all wikis had database names ending in "wiki". For example, frwiki for the French Wikipedia, metawiki for Meta, textbookwiki for Wikibooks. This scheme was broken when, on popular demand, Brion added French and Polish Wiktionaries with the database names "frwiktionary" and "plwiktionary". These were the first language-specific subdomains outside Wikipedia. Unfortunately this didn't fit in too well with various maintenance scripts, which assumed that the database name could be obtained by concatenating the "language" (from /home/wikipedia/common/langlist) with "wiki". This was a rather loose definition of language, including things such as meta.
At this time, every wiki had its own directory in htdocs, containing a "skeleton" LocalSettings.php. This skeleton file set the $lang variable appropriately and then passed on processing to CommonSettings.php. Also, every wiki had a separate <VirtualHost *> entry in the Apache configuration, and a separate MySQL GRANT to wikiuser. This was difficult to maintain. On demand for more Wiktionaries, I decided to make some changes.
I decided to create companion Wiktionaries for all existing Wikipedias. I did this by moving to a shared document root layout. A single VirtualHost section was created with a ServerAlias of *.wiktionary.org. All wiktionaries had the same document root. In CommonSettings.php, the language was detected by retrieving the hostname from Apache. At the time I couldn't work out how to keep the same URLs for the upload directories, so I set them up with the /upload/en/0/0/Thing.png URL style, that is, including the language. I later realised that a rewrite rule could be used to rewrite traditional upload URLs to language-specific URLs. This involves a little trick with a RewriteCond that always matches. I also converted the MySQL permissions to use database wildcards, removing the need to add grants for every added wiki.
Auto-creation
This was all very well, but it became obvious that the sheer number of wikis was making maintenance difficult. Each of the 300 wikis had its own MediaWiki namespace with a copy of about 750 messages. Updating these messages took a long time. Other kinds of maintenance tasks were also tedious. There was a lot of demand from the users for a multi-subdomain layout in other projects. Adding languages was a tedious, error-prone, time-consuming process, which developers had to perform on a very regular basis. I decided that I needed to automate the process. At first I wrote a command-line script to add languages, but the script was complicated and needed developer involvement due to the unwieldy legacy layout of the Wikipedias. For a shared document-root layout, the only thing a script needs to do is to set up the database. Armed with my new upload rewriting trick, I decided to convert Wikipedia to a shared document root layout. Instead of creating 150 new wikis for Wikibooks and 150 for Wikiquote, I decided to make an on-demand system, with a script invoked by the user to create new wikis. This consists of the following components.
missing.php
- /home/wikipedia/common/php-new/missing.php
This script is invoked by CommonSettings.php if the detected hostname does not correspond to an existing wiki. "Existing wikis" are those listed in /home/wikipedia/common/all.dblist. This script displays some nice-looking HTML. If the subdomain is in $wgLanguageNames (from Names.php), it also displays a "create wiki" button. Clicking on this button adds a line to /home/wikipedia/logs/addwiki_requests. Since security restrictions do not allow the apache user to create tables, the requests are fulfilled by an hourly cron job running as tstarling. A commmand-line script is invoked called addwiki.php
addwiki.php
- /home/wikipedia/common/php-new/maintenance/addwiki.php
This script creates wikis based on requests filed in addwiki_requests. To prevent an attack by a script automatically requesting creation of all wikis, at most one request per hour is fulfilled. A particularly difficult part of writing this script (and indeed a difficult part of adding wikis before the script was written) is handling interwiki links. I gave up on trying to write a script to incrementally add links, and instead used rebuildInterwiki.inc.
rebuildInterwiki.inc
- /home/wikipedia/common/php-new/maintenance/rebuildInterwiki.inc
This script rebuilds all interwiki tables by looping through all.dblist. For each database, it truncates the interwiki table, and then reinserts all necessary entries in a multi-row insert statement. Actually it doesn't do anything, it just returns the SQL to do things. The SQL is executed by addwiki.php using dbsource(). There's about 4.6 MB of SQL altogether, and it takes a few minutes to run.
Special wikis
There are always special cases left over, and these come under the "special wiki" banner. Special wikis such as sep11 were absorbed into the *.wikipedia.org handling. Special wikis which are not subdomains of wikipedia.org were left at their original locations in the htdocs directory, each with their own document root. Skeleton LocalSettings.php files were done away with some time ago, instead CommonSettings.php constructs the database name by concatenating the document root with "wiki". So meta has a document root of /home/wikipedia/htdocs/meta, and hence is assigned a database name of metawiki. For the purposes of CommonSettings.php, such wikis are considered to be Wikipedias ($site is set to "wikipedia"). The hostname used by MediaWiki needs to be overridden explicitly so that self-referential URLs can be constructed.
MediaWiki configuration
Much to our chagrin, the communities of the individual wikis like to have their own individual settings, resisting our attempts to homogenise them all with great tenacity. CommonSettings.php used to be a mess of switch($lang) structures and special cases. I decided that we needed to move the settings from code to data. With so many wikis, things were steadily getting uglier.
This problem is resolved by the SiteConfiguration object. This object stores a two dimensional array, with the names of the settings as the first index, and the names of the wikis as the second index. The keys in the second index can be of three types, checked in this order:
- Database name
- Site name (wikipedia, wiktionary, etc.)
- "default"
The object provides a method to extract all defined settings into the global scope. That is, it sets global variables. If no database-specific setting exists for a given variable, it will check to see if there is a site default. If there is no site default, it will check for a global default. If there is no global default, it will not set the variable, and hence the value set in DefaultSettings.php will be used. At some stage I intend to add language-wide settings between #1 and #2.
The initial idea was to construct this SiteConfiguration object only occasionally, and to store it in serialised form in NFS. But I decided this would make changing settings difficult, so a new object is constructed every time. Caching is still possible in principle. The object provides for delayed variable expansion, so that strings such as "$lang" can be stored in the cache and then expanded on each invocation.
Backup
Backups occur on manual request, by running /home/wikipedia/bin/backup-all. It uses the site-specific database name lists, e.g. wiktionary.dblist and wikibooks.dblist, so that the HTML pages on backup.wikipedia.org are of a manageable size. The backup script dumps SQL, compresses it and makes MD5 checksums.
How-To
Some How-To related to the Wiki farm:
Our configuration files
See many important configuration files used on Wikimedia projects at http://wikimedia.org/conf/