CentOS 6.4 系统及 Root 或者 sudo 权限,系统正常连接网络
使用到的软件:
apache ,mysql-server ,php ,mediawiki,memcached
软件包的安装
首先,需要安装apache, php, mysql-server,mysql-client 等相关软件包
#yum install httpd php php-mysql php-gd php-xml mysql-server mysql libxml2memcached lrzsz
这里需要设置MYSQL数据库的root 密码
UPDATE mysql.user SETpassword=PASSWORD("newpwd") WHERE user=‘root‘ ;
启动 mysql 服务:# service mysqld start
设置 mysql :#mysql_secure_installation(相当于对mysql数据库进行初始化./scripts/mysql_install_db --datadir=/usr/local/mysql/data--user=mysql)
创建 wiki 要用的数据库,并赋予相关权限
mysql> create database wikidb;
mysql>grant all privileges on wikidb.* to ‘mediawiki‘@‘localhost‘ identified by‘1234‘;
Apache 配置
需要先修改httpd.conf 文件
# vim/etc/httpd/conf/httpd.conf
将 #ServerName www.example.com:80 前面的 # 去掉
将图中的汉字部分,修改成为拥有的域名或者IP 地址
修改PHP 的配置文件:
# vim/etc/php.ini
如图中,将overload 的值修改为 0. 即关闭状态。如果不做修改且没有配置 PHP 的 cache 软件,后面打开网页配置时提示有错误。
* 注:如果使用 PHP 的 cache 软件,例如 Xcache 可以开启此项。
重启http 服务:
#service httpd restart
其他
防火墙的配置
由于需要开放80 端口供外界访问,我们需要对防火墙进行相应的配置。
# vim/etc/sysconfig/iptables
在其中加入一行规则:
A INPUT -m state –state NEW -m tcp -ptcp –dport 80 -j ACCEPT
而后重启防火墙
#/etc/init.d/iptables restart
* 注:这里不是必须设置,如果没有做限定,就不用修改
确认Apache 和 MySQL 开机时启动
#chkconfig httpd on
#chkconfig mysqld on
Mediawiki 的安装
这里手动下载安装包:
#wget http://www.mediawiki.org/wiki/Download
解压包到当前目录
# tarxf mediawiki-1.23.6.tar.gz
创建目标文件夹,存放mediawiki 的 web 页面内容:
#mkdir -p /var/www/html/wiki/
#chmod 777 /var/www/html/wiki
* 这里为了方便,直接给了该目录全部读写权限
进入存放web 内容的目录,并复制文件到目标目录下
# cdmediawiki-1.23.6
# cp* /var/www/html/wiki/
通过浏览器进行设置
浏览器中输入: http:// ip /wiki/index.php
* 注:上面ip可以根据httpd.conf里面的设置来访问,/wiki/是上面创建的目录。
打开页面之后,可以进行 WEB 页面来配置相关信息。如下图:
点击 set up the wiki 来进行设置。
可以选择中文。
这里是检查现有环境的是否正常。
图中的提示,是现在的 PHP 环境没有能够实现完全的 unicode 正常化,但并不会影响使用,如果要实现正常化,可以安装 PHP 的组件来解决。
注意,如果上面没有修改 /etc/php.ini 中的变量,就会出现下图中的情况:
修改 /etc/php.ini 中的缓存字段,并重启 httpd 服务,重新打开页面,就可以进行下一步了。
这一页开始配置安装的数据库:
这里选用了 mysql 数据库:
这里的教程是使用本地数据库,数据库名为刚才创建的数据库: wikidb ,账号密码与前面教程提到的一致即可,当然也可以使用 root 账户,但是不推荐这样设置;数据库表可以留空,不用设置。
点击继续之后:选择数据库引擎与字符集,推荐如图中设置:
接下来的内容根据自己的实际情况进行设置:
填完上述内容之后,可以选择下面的选项:
进入这里,可以设置对 web 的缓存,开放程度等等。
配置发送邮件与插件:
配置是否可以启动上传信息:
最起步的地方安装了 memcached , memcached 的默认端口号是 11211 :提示连接不上,在 /etc 目录下找到 memcached 的配置文件,修改可访问地址和端口号,重启 memcached 服务即可。
继续之后,配置完成。还有一步需要完成。这时候页面会弹出来一个配置文件,需要放到与 index.php 在同一目录下:
先保存这个文件到本地,然后通过管理工具,将该文件传送到 CentOS 系统对应的目录中即可。前面安装 lrzsz, 如果是用 ssh 协议连接控制的 centos 系统,可以在 index.php 的目录下执行 rz 来接收这个文件。
保存完毕之后,点击进入我的 WIKI ,就可以进入正常使用了。
在系统搭建的过程中可能会出现链接不上数据库的问题,如图
分析有以下几个方面
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir= /usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。