/*在实验室觉得文档传来传去太麻烦了,干脆在实验室内部搞个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 '';

三、搭建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 =
  • 修改文件类型

  修改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 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

Ubuntu配置LAMP+MediaWiki及常见问题的更多相关文章

  1. ubuntu 配置lamp

    官方配置网站:http://wiki.ubuntu.org.cn/LAMP_%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%A ...

  2. ubuntu 配置 jdk的一些常见问题

    首先下好压缩包.我用的是tar.gz 然后在/usr下解压,用mv或rename修改下文件夹名字,省得名字太长,然后再配置环境变量. so easy. 然而,  接下来你肯定会用 source /et ...

  3. ubuntu配置LAMP

    1.安装Apache sudo apt-get install apache2 如果显示未找到软件则执行sudo apt-get update(建议使用ubuntu正在支持的系统版本,不在支持的版本可 ...

  4. ubuntu下lamp环境配置及将window代码迁移至linux系统

    因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现.所以最近就将自己的代码全部迁移到linux ...

  5. CentOS 7 学习(一) 配置LAMP和Nginx

    CentOS 7 学习(一) 配置LAMP和Nginx CentOS是RedHat Linux企业版的代码编译版本,属于比较通用的服务器Linux版本,据说Ubuntu Server更通用,呵呵,不过 ...

  6. 2019.9.17更换ubuntu的镜像源 ubuntu安装lamp iis安装网站和ftp站

    更换ubuntu的镜像源 /etc/apt/sources.list cp  /etc/apt/sources.list  /etc/apt/sources.list.bak 备份这个文件 vim / ...

  7. ubuntu配置NFS

    ubuntu配置NFS: sudo apt-get install nfs-kernel-server 配置/etc/exports 例如:我们要将根目录下的 /opt/FriendlyARM/min ...

  8. ubuntu配置tftp服务

    ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...

  9. CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)

    准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...

随机推荐

  1. 【leetcode❤python】24. Swap Nodes in Pairs

    #-*- coding: UTF-8 -*- # Definition for singly-linked list.# class ListNode(object):#     def __init ...

  2. BZOJ 3672 [Noi2014]购票 (熟练剖分+凸壳维护)

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3672 题意:给出一棵有根树(1为根),边有长度.每个点u有三个属性(len[u], ...

  3. ProgressDialog 的 使用

    一 . ProgressDialog ProgressDialog是AlertDialog类的一个扩展,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画,或者为一个指定进度的任务显示一个进度条. ...

  4. CodeForces 146A Lucky Ticket

    Lucky Ticket Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submi ...

  5. [转]GameObject的Active与InActive

    GameObject的Active与InActive 1.Script可以控制InActive的GameObject,但前提是Script所依附的GameObject不能是InActive,一旦为In ...

  6. 错题集锦(二) -- Java专项

    错题集锦(二) -- Java专项 标签(空格分隔): 找工作 JVM的内存模型 线程共享: 堆(Heap):主要存放一些对象实例 方法区(Method Area / Non-Heap):用于存储已被 ...

  7. Checking For User Permissions Before Updating or Inserting The Records in Oracle Forms

    Suppose you want to check the user permissions on inserting or updating the records in Oracle Forms, ...

  8. Java float保留两位小数或多位小数

    Java float保留两位小数或多位小数 方法1:用Math.round计算,这里返回的数字格式的.    float price=89.89;int itemNum=3;float totalPr ...

  9. spring引入实体类映射文件

    由于spring对hibernate配置文件hibernate.cfg.xml的集成相当好  LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件:  mapp ...

  10. Servlet&jsp基础:第三部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...