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

时间:2022-09-14 17:01:49
心血来潮,想搭建一个自己的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 # wget ftp://xmlsoft.org/libxml2/libxml2-2.9.0.tar.gz # tar zxvf libxml2-2.9.0.tar.gz # cd libxml2-2.9.0 # ./configure # make && make install
或者直接用另外的方式 # sudo yum install libxml2-devel
0x03 安装apr # wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz
# tar zxvf apr-1.5.2.tar.gz # cd apr-1.5.2 # ./configure # make && make install
0x04 安装apr-util wget http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz
# 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 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz # tar zxvf pcre-8.37.tar.gz # cd pcre-8.37 # ./configure # make && make install
0x06 安装httpd(终于到正主了~!) wget http://apache.fayea.com//httpd/httpd-2.4.18.tar.gz # 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 下载、解压 # wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz # 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 下载安装 # wget http://php.net/get/php-5.6.17.tar.gz/from/this/mirror # 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 下载 # wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz # 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 you@email.com
    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 you@email.com    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 解决方法