zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Django开发笔记一
    Netty+SpringBoot写一个基于Http协议的文件服务器
    SQL优化
    mysql 字符串数字转换
    git 常用的命令总结
    eclipse 使用Maven deploy命令部署构建到Nexus
    intellij idea远程debug调试resin4教程
    postman 请求种添加用户权限
    对List中每个对象元素按时间顺序排序
    List根据时间字符串排序
  • 原文地址:https://www.cnblogs.com/fengzhiwu/p/5521222.html
Copyright © 2011-2022 走看看