Ubuntu配置LAMP+MediaWiki及常见问题

/*在实验室觉得文档传来传去太麻烦了,干脆在实验室内部搞个wiki算了,于是网上搜集搜集资料,配了一个,由于时间仓促,mediaWiki比较高级的东西没来的及细看,等以后用的时候再完善吧*/

环境:Ubuntu 15.10 x64 

一、安装LAMP

参考:http://www.cnblogs.com/CheeseZH/p/4694135.html

  1. 安装Apache

使用apt-get管理工具安装

sudo apt-get update
sudo apt-get install apache2

安装apache2文档和附属工具【可选】

sudo apt-get install apache2-doc apache2-utils

测试:再浏览器中输入http://[你的ip]如果出现如下结果,则说明安装成功

  2.安装MySQL

sudo apt-get install musql-server php5-mysql

安装过程中需要设置MySQL的root用户的密码。

安装之后需要配置MySQL环境,在一个终端运行

sudo mysql_install_db

再另一个终端运行

sudo mysql_secure_installation

按照自己的需求,修改root密码、删除示例用户和数据、禁止远程root登录、MySQL实时响应等

  3. 安装PHP

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-curl php5-imagick php5-cli

如果还需要其他php模块,可以通过下边这个命令查看有哪些可以使用:

apt-cache search php5-

会看到

如果想查看某个包更详细的信息:

apt-cache show package_name

目前,如果一个用户访问Server上的某一目录,Apache将会首先找一个名为index.html的文件,我们修改这个设置,让Apache首先找名为index.php的文件,首先以root身份用文本编辑器打开dir.cof文件:

sudo vim /etc/apache2/mods-enabled/dir.conf

将index.php放到前面就可以了:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

测试:

在Ubuntu中,“Web root”指向/var/www/html

新建脚本:

sudo vim /var/www/html/info.php

在文件中输入:

<?php
phpinfo();
?>

保存。

再浏览器中输入:

http://[ip_address]/info.php

如果看到如下页面则说明安装成功

然后就可以开始MediaWiki的配置了

二、准备

参考:http://blog.chinaunix.net/uid-29792372-id-4701619.html

  1. 新建wiki用户【可选】
sudo useradd wiki -d /home/wiki -m wiki
passwd wiki

  2. 给wiki建立数据库

登录mysql数据库

mysql –u root –p

新建数据库

create database mediawiki;

将media数据库权限赋给wiki账号并设置密码

grant all on mediawiki.* to wiki@localhost identified by '123456';

三、搭建Wiki网站

参考:https://help.ubuntu.com/community/MediaWiki

  1. 安装MediaWiki
sudo apt-get install mediawiki

安装其他附件【可选】,大约1G左右,时间较长

sudo apt-get install imagemagick mediawiki-math php5-gd

  2. 配置MediaWiki

sudo vi /etc/mediawiki/apache.conf

去掉注释符号:

#Alias /mediawiki /var/lib/mediawiki

重启apache2:

sudo service apache2 restart

  3. 设置MediaWiki

此时再浏览器中输入:http://ip_address/mediawiki会提示404 Not Found,这是因为mediawiki的目录在/var/lib/中,而apache的www路径在/var/www/html中,所以要执行:

sudo cp -r /var/lib/mediawiki /var/www/html

然后重启Apache 服务

sudo service apache2 restart

在浏览其中输入:http://ip_address/mediawiki, 则会出现:(是不是有点污-_-)

点击complete the installation进行设置

  4. 完成

设置完成后会生成一个LocalSettings.php,把它移动到/etc/mediawiki文件夹中,然后wiki服务器就搭建成功了。

个性化

1. 设置logo

  设计一个135*135的png格式的logo,假设文件名为mylogo.png,放到/usr/share/mediawiki/skins/common/images目录下(mediawiki默认logo所在目录下)。修改文件:

sudo vi /etc/mediawiki/LocalSettings.php

$wgLogo             = "$wgStylePath/common/images/wiki.png";

改为

$wgLogo             = "/mediawiki/skins/common/images/mylogo.png"; 

然后wiki的logo就修改为自己的logo。如下图所示:

 2. 用户权限设置

禁止新用户注册或编辑:

在LocalSettings.php中找到

修改对应的true或false值即可。

其他设置

3. 扩展上传文件类型及大小

  • 修改大小:

  修改文件/etc/php5/apache2/php.ini中的参数:

upload_max_filesize = 20M
post_max_size = 20M
max_execution_time = 0
  • 修改文件类型

  修改DefaultSetting.php(我的在mediawikiRoot/includes/文件夹里)中属性

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc', 'docx', 'xls', 'xlsx', 'vsd', 'vsdx', 'zip','rar','tar', 'tar.gz','c','cpp','py','java','js' );

  这时候或发现py文件和js文件依然上传不了,这是应为这些类型的文件在黑名单里,上传这些文件会有安全问题

  • 取消文件校验

  修改文件includes/DefaultSettings.php

$wgVerifyMimeType = false;

参考:https://www.mediawiki.org/wiki/Manual:Preventing_access/zh

常见问题

1. 上传文件出现"Could not create directory "mwstore://local-backend/local-public/7/70"或“Could not create directory "mwstore://local-backend/local-public/d/d3”等问题

解决方法:这个问题是原因是没有创建目录的权限。只需要在/var/www/html/mediawiki(mediawiki项目的虚拟路径)运行下面命令:

sudo chown -R www-data:www-data images/
sudo chmod -R 755 images/

参考:http://stackoverflow.com/questions/22303606/file-upload-error-in-mediawiki-1-22-3-could-not-create-directory-mwstore-lo

2. 发送邮件报错“邮件发送器的返回信息:在 PHP 的 mail() 函数中的未知错误 ”

解决方法:这个问题的原因是服务器上没有安装postfix,sendmail等邮件发送服务程序。理论上安装相应的邮件服务器程序就行了。但是还存在一个问题:即使本机能发送邮件了,但是发出去的邮件很可能被接收方当成垃圾邮件或者直接被屏蔽掉(现在大部分邮服务商都能自动屏蔽垃圾邮件)。所以这是一个麻烦而且不一定有效的解决方法。

所以推荐使用第三方smtp服务器:

在搭建mediawiki的时候,会在根目录下生成LocalSettings.php配置文件,默认在此文件中没有配置SMTP参数,但是我们打开 includes/DefaultSettings.php,会发现其中有一段默认被注释掉得smtp配置:

把这段复制到LocalSettings.php文件中,取消注释,填写正确地smtp配置,比如:

同时,修改LocalSettings.php中的配置,确保此配置与username一致

这样,mediawiki用第三方smtp发送邮件可以了。但是,请注意:要想此配置生效需要安装pear 的mail包,通过下面命令查看已安装的pear包:

list

如果没有mail包就需要执行下面的命令安装:

pear install MAIL Net_SMTP

如果是其他系统可以参考官方安装文档

安装mail ,net_smtp包后,执行pear list结果如下:

安装成功,重启Apache

sudo service apache2 restart

发送邮件结果

参考:https://www.lichenhui.cn/archives/331

原文地址:https://www.cnblogs.com/fengzhiwu/p/5521222.html