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 前面的 # 去掉

wKiom1Ut9jHC8fqyAACiYu5tim8561.jpg

将图中的汉字部分,修改成为拥有的域名或者IP 地址

修改PHP 的配置文件:

# vim/etc/php.ini

wKiom1Ut9myxiFE1AADzBLxuAcU049.jpg

如图中,将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 页面来配置相关信息。如下图:

wKiom1Ut9sezVqrvAADo_tJ420Q239.jpg

点击 set up the wiki 来进行设置。

可以选择中文。

wKioL1Ut-E-yNCM2AADEPhgTaf4556.jpg

这里是检查现有环境的是否正常。

wKiom1Ut9yzhlgMtAAFjJ5yAstQ322.jpg

图中的提示,是现在的 PHP 环境没有能够实现完全的 unicode 正常化,但并不会影响使用,如果要实现正常化,可以安装 PHP 的组件来解决。

注意,如果上面没有修改 /etc/php.ini 中的变量,就会出现下图中的情况:

wKiom1Ut92vhzBWGAAGI2m2r0YQ262.jpg

修改 /etc/php.ini 中的缓存字段,并重启 httpd 服务,重新打开页面,就可以进行下一步了。

这一页开始配置安装的数据库:

wKioL1Ut-RmyqDinAAHn3PGDk68994.jpg

这里选用了 mysql 数据库:

wKiom1Ut9_WS0uJCAADXFEgKNnE502.jpg

这里的教程是使用本地数据库,数据库名为刚才创建的数据库: wikidb ,账号密码与前面教程提到的一致即可,当然也可以使用 root 账户,但是不推荐这样设置;数据库表可以留空,不用设置。

点击继续之后:选择数据库引擎与字符集,推荐如图中设置:

wKioL1Ut-bfTXFxjAAC5OyD3sj4250.jpg

接下来的内容根据自己的实际情况进行设置:

wKioL1Ut-ePCteVSAADigKJXy1M766.jpg

填完上述内容之后,可以选择下面的选项:

wKiom1Ut-Lqy_RlvAACXDHBbnDY606.jpg

进入这里,可以设置对 web 的缓存,开放程度等等。

配置发送邮件与插件:

wKioL1Ut-kGDIMIKAAFXCCR6FTM809.jpg

配置是否可以启动上传信息:

wKioL1Ut-m_DiGaAAACTOUYO6Es899.jpg

最起步的地方安装了 memcached  memcached 的默认端口号是 11211 :提示连接不上,在 /etc 目录下找到 memcached 的配置文件,修改可访问地址和端口号,重启 memcached 服务即可。

wKiom1Ut-XeDw5QSAADkO_tMGb0280.jpg

继续之后,配置完成。还有一步需要完成。这时候页面会弹出来一个配置文件,需要放到与 index.php 在同一目录下:

wKiom1Ut-ZeinlUyAAHC_LCqUWw340.jpg

先保存这个文件到本地,然后通过管理工具,将该文件传送到 CentOS 系统对应的目录中即可。前面安装 lrzsz, 如果是用 ssh 协议连接控制的 centos 系统,可以在 index.php 的目录下执行 rz 来接收这个文件。

保存完毕之后,点击进入我的 WIKI ,就可以进入正常使用了。

wKiom1Ut-bazvS1AAADXnEHfRX4493.jpg

 

 

在系统搭建的过程中可能会出现链接不上数据库的问题,如图

wKioL1Ut-y2zIkTxAACGaae3wF8079.jpg

分析有以下几个方面

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后存盘退出重启机器试试。

 


如果管理员密码忘记了

您可以使用maintenance/changePassword.php维护脚本来重置一名用户的密码。

您必须在命令行下运行该脚本。换句话说,请登录到安装wiki的服务器,然后进入命令行提示符。进入安装目录,然后进入maintenance子目录。运行下列命令:

php changePassword.php --user=someuser --password=somepass

这里可见的“somepass”就是您将要设置的密码,而“someuser”就是您将修改其密码的用户名,该用户名应出现在数据库的“user”表中。