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






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