Ubuntu配置LAMP+MediaWiki及常見問題

/*在實驗室以爲文檔傳來傳去太麻煩了,乾脆在實驗室內部搞個wiki算了,因而網上搜集蒐集資料,配了一個,因爲時間倉促,mediaWiki比較高級的東西沒來的及細看,等之後用的時候再完善吧*/php

 

環境:Ubuntu 15.10 x64 html

1、安裝LAMPjava

參考:http://www.cnblogs.com/CheeseZH/p/4694135.htmlmysql

  1. 安裝Apache

使用apt-get管理工具安裝sql

sudo apt-get update
sudo apt-get install apache2

安裝apache2文檔和附屬工具【可選】數據庫

sudo apt-get install apache2-doc apache2-utils

測試:再瀏覽器中輸入http://[你的ip]若是出現以下結果,則說明安裝成功apache

  2.安裝MySQLubuntu

sudo apt-get install musql-server php5-mysql

安裝過程當中須要設置MySQL的root用戶的密碼。vim

安裝以後須要配置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的配置了

 

2、準備

參考: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';

 

3、搭建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

相關文章
相關標籤/搜索