CentOS上MediaWiki的搭建(阿里雲+php-5.5.17+MySQL-5.7.10+httpd-2.4.18+MediaWiki-1.26.2)

心血來潮,想搭建一個自己的wiki站來管理平時零碎的知識點。

0、前期準備
一頓百度google,目前最流行最好用的就是MediaWiki,對應的環境的php+Apache+Mysql。

先是在本地Windows環境下搭建了下,看看效果,很滿意。
接下來就是租雲主機,開始搭建過程了。

我選用的是阿里雲的雲服務器ECS,CentOS 7.0 64位系統,最基礎的配置,並且機房位於美西(硅谷),雖然延時略高200ms,但是後續我還想搭建自己的VPN進行科學上網,so~

接下來是準備工作,用到的工具有:阿里雲的雲服務器管理控制檯,SecureCRT,WinSCP,Navicat for MySQL

連接上服務器之後,開始配置MySQL-5.7.10、PHP-5.6.17、httpd-2.4.18
(爲什麼選用這些版本呢,myql5.5開始支持utf8mb4,php7安裝失敗了,這個是當前成功的版本- -!)
(當然安裝過程也是一頓百度google,走了不少坑,主要的流程看這裏

1、安裝Apache
安裝apache需要預先安裝了libxml2(前置安裝python)、apr、apr-util、pcer

0x01 安裝python
# yum install python
# yum install python-devel

0x02 安裝libxml2
# tar zxvf libxml2-2.9.0.tar.gz
# cd libxml2-2.9.0
# ./configure
# make && make install

或者直接用另外的方式
# sudo yum install libxml2-devel

0x03 安裝apr
# tar zxvf apr-1.5.2.tar.gz
# cd apr-1.5.2
# ./configure
# make && make install

0x04 安裝apr-util
# tar zxvf apr-util-1.5.4.tar.gz
# cd apr-util-1.5.4
# ./configure --with-apr=/usr/local/apr
# make && make install

0x05 安裝pcre
# tar zxvf pcre-8.37.tar.gz
# cd pcre-8.37
# ./configure
# make && make install

0x06 安裝httpd(終於到正主了~!)
# tar zxvf httpd-2.4.18.tar.gz
# cd httpd-2.4.18
# ./configure --prefix=/usr/local/apache24 --enable-module=so
# make && make install

編譯安裝完成,接下來需要配置一下才能使用,要不然會報錯AH00558
# vi /usr/lcoal/apache24/conf/httpd.conf
找到ServerName,去掉前邊的#號,修改爲
ServerName localhost
保存退出

# cd /usr/local/apache24/bin
# ./apachectl start
瀏覽器訪問http://ip(這裏填服務器的ip地址),出現“It works!”,說明安裝成功

0x07 將httpd設置爲系統服務,隨系統啓動
這一步是非必須步驟,但是能方便使用,教程
# cp /usr/local/apache24/bin/apachectl /etc/init.d/httpd
# cp /usr/local/apache24/bin/apachectl /usr/local/bin/httpd
# ln -s /etc/init.d/httpd /etc/rc.d/rc5.d/S61httpd
# ln -s /etc/init.d/httpd /etc/rc.d/rc4.d/S61httpd
# ln -s /etc/init.d/httpd /etc/rc.d/rc3.d/S61httpd
# vi /etc/init.d/httpd
在打開的文件的#!/bin/bash下邊一行輸入
#chkconfig:345 61 61
#description:Apache
保存
# chkconfig --add httpd
# chkconfig --levels 345 httpd on
# chkconfig --list

2、安裝MySQL(編譯好的二進制文件安裝版本)

0x01 下載、解壓
# tar zxvf mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz
# mv mysql-5.7.10-linux-glibc2.5-x86_64 /usr/local/mysql -r

0x02 添加mysql組和用戶
# groupadd mysql
# useradd -r -g mysql mysql
# cd /usr/local/mysql
# chown -R mysql:mysql ./

0x03 配置並置爲系統服務
./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# cp -a support-files/my-default.cnf /etc/my.cnf
# cp -a support-files/mysql.server /tc/init.d/mysql
# cd bin/
# ./mysqld_safe --user=mysql &

0x04 查看是否安裝成功
# server mysql restart 
Shutting down MySQL...  [ OK ]
Starting MySQL...  [ OK ]

0x05 設置開機啓動
# chkconfig --level 345 mysql on

0x06 修改root密碼
MySQL-5.7安裝完成會自動生成一個隨機密碼在/etc/.mysql_secret中
cat /root/.mysql_secret 
xxxx
複製下這個初始密碼

# cd /usr/local/mysql/bin
# ./mysql -uroot -p
Enter password:
輸入剛纔的默認密碼,進入到myql控制檯

mysql> set password=password('新密碼');
mysql> flush privilegges

0x07 設置遠程鏈接mysql
默認root只能本地訪問,需要設置授權
mysql> use mysql
mysql> grant all privileges on *.* to 'root'@'%' identified by '你的密碼' with grant option;
mysql> select * from user;

3、安裝php-5.6.17
沒安裝php7的原因是安裝過程中出現了錯誤沒搞定

0x01 下載安裝
# mv mirror php-5.6.17.tar.gz
# tar zxvf php-5.6.17.tar.gz
# cd php-5.6.17
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache24/bin/apxs --with-mysql=/usr/local/mysql
# make && make test
# make install
# cp php.ini-development /usr/local/php/lib/php.ini

如果configure出現錯誤:Cannot find libmysqlclient_r under /usr/local/mysql.執行以下語句
# cd /usr/local/mysql/lib
ln -s libmysqlclient.so libmysqlclient_r.so

0x02 配置apache
# vi /usr/local/apache24/conf/httpd.conf
a) 在#AddType application/x-tar.tgz下邊加一行
AddType application/x-httpd-php .php

b) 在#LoadModule foo_module modules/mod_foo.so這一塊加上一行
LoadModule php5_module        modules/libphp5.so
如果有就不用加了,否則會報錯AH01574:module php5_module is already loaded

c) 在DirectoryIndex index.html 後邊增加 
index.php

d) 記住DocumentRoot的值,就是apapche的資源地址
保存

# service httpd stop
# service httpd start

0x03 測試
DocumentRoot對應路徑下加一個測試頁面index.php,內容可以寫
<?php phpinfo();?> 

瀏覽器訪問,能正常看到php的信息,表示安裝配置成功!

4、安裝MediaWiki

0x01 下載
# tar zxvf  mediawiki-1.26.2.tar.gz
# mv  mediawiki-1.26.2 /usr/local/apache24/htdocs/wiki
# chown -R root:root /usr/local/apache24/htdocs/wiki

0x02 安裝
使用瀏覽器訪問http://ip/wiki/index.php開始安裝,安裝步驟操作
到最後一步會讓下載一個配置文件LocalSettings.php,下載後放在/usr/local/apache24/htdocs/wiki目錄下
如果安裝過程中止了又重新進頁面,一定要強刷下頁面(Shitf+F5)

0x03 使用
瀏覽器訪問http://ip/wiki/index.php,就能進入到wiki首頁了

5、apache配置域名訪問
萬網買了一個域名,example.com,配置到上邊的主機,並且也給wiki配置單獨的域名
即要實現
www.example.com和example.com訪問/usr/local/apache24/htdocs/www下的資源
wiki.example.com訪問/usr/local/apache24/htdocs/wiki下的資源

0x01 域名設置
   a\ 阿里雲後臺-雲解析,對應域名下,新手指導配置服務器ip,保存
    過1分鐘瀏覽器訪問www.example.com,能正常展示“It works!”
    b\阿里雲後臺-雲解析,對應域名下,添加解析
    類型:A,主機記錄:wiki,記錄值:主機對應的ip
    保存

0x02 修改apache配置
a\ 打開/usr/local/apache24/conf/httpd.conf
找到下邊的話並去掉前邊#號
Include conf/extra/httpd-vhosts.conf

b\打開/usr/local/apache24/conf/extra/httpd-vhosts.conf
修改VirtualHost如下
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/usr/local/apache24/htdocs/www"
    ServerName www.example.com
    ServerAlias example.com
    ErrorLog "logs/www.example.com.error_log"
    CustomLog "logs/www.example.com.access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/usr/local/apache24/htdocs/wiki"
    ServerName wiki.example.com
    ErrorLog "logs/wiki.example.com.error_log"
    CustomLog "logs/wiki.example.com.com-access_log" common
</VirtualHost>
保存

0x03 添加測試文件
 在/usr/local/apache24/htdocs下新建www文件夾,並新建文件index.html
# cd /usr/local/apache24/htdocs
# mkdir www
# cd www
# echo 'hello~this is  www.example.com' >> index.html

0x04 測試 
瀏覽器訪問http://www.example.com和http://example.com
都能正常顯示“hello~this is  www.example.com”
但是訪問http://wiki.example.com提示404,需要配置下MediaWiki

0x05 配置MediaWiki
打開/usr/local/apache24/htdocs/wiki/LocalSettings.php
$wgScriptPath: 如果wiki域名配置到wiki了,這裏可以配成
    $wgScriptPath = "";  
    注意: 引號裏邊單斜線都不要有
$wgServer : 配製成指定域名
    $wgServer = "http://wiki.example.com";
保存

0x06 測試
 瀏覽器訪問http://wiki.example.com,正常顯示wiki首頁

到此就配置好了不同域名訪問MediaWiki的過程。

附一個內存不夠的解決方案:
由於我的雲主機只有1G的內存,跑一會之後就報virtual memory exhausted: Cannot allocate memory






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章