? ? ? ? 部门想搭建一个WIKI平台用于内部产品和项目文档编写,维护更新。同时也可以作为内部技术交流的基础平台。同事推荐使用HDWiki,我也懒得去选和折腾。就简单搭建了这个环境。因为不会PHP,搭建过程中也出了些小问题,通过GOOGLE大神的帮助,最后是解决了,为防止以后再来一次麻烦,这里做个记录。
?
1.环境准备
操作系统环境:CentOS6.3 64位 详情如下:
Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
组件需求:GCC
Apache:httpd-2.2.23.tar.gz ? ?http://mirrors.cnnic.cn/apache//httpd/httpd-2.2.23.tar.gz
MySql5.1.61:mysql ?Ver 14.14 Distrib 5.1.61, for redhat-linux-gnu (x86_64) using readline 5.1
?
PHP:?php-5.3.22.tar.gz ?http://cn1.php.net/distributions/php-5.3.22.tar.gz
?
本案例中很多组件都需要使用yum安装组件,如果你网络太慢或不能上公网,可能需要设置本地安装包镜像。如下: 在/etc/yum.repos.d目录下,加入本地仓库的配置: local.repo (注意,文件名需要以.repo结尾) ? [centos6.3] name=centos6.3 baseurl= ftp://192.168.30.33/pub/centos/6.3/x86_64/ gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 ? |
?
2.安装Mysql
因为会用的是CentOS,所以直接使用yum安装MySql。CentOS6.3对应的版本是5.1.61。
[root@localhost ~]# yum install mysql
......
安装完成后,我们试试先
# mysql
……
?
mysql>?
如果能正常进入,则安装成功了。
设置mysql的账户密码先:
?
mysqladmin -u root password
******
?
?
3.安装apache
Apache的安装使用源代码方式安装,并打开动态对象共享(DSO)
# unzip?httpd-2.2.23.tar.gz
# cd?httpd-2.2.23
# ./configure --enable-so
......
# make
# make install
安装完成后,默认安装路径在:/usr/local/apache2
?
4.安装PHP
热,这就是出错问题最多的地方,呵呵。的确不会PHP,所以基本没有搭建过该环境的原因。
?
?
# unzip?php-5.3.22.tar.gz
# cd?php-5.3.22
# ./configure --prefix=/usr/local/php --with-mysql=/usr/bin/ --with-mysqli=/usr/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --enable-sockets
这个配置是最重要的,反复试了多次,终于排除问题,正确了。
- --prefix=/usr/local/php : 安装目录指定
- --with-mysql=/usr/bin/ --with-mysqli=/usr/bin/mysql_config: 指定Mysql环境(出错最多的地方)
- --with-apxs2=/usr/local/apache2/bin/apxs: apache关联,主要是PHP支持模块直接编译到apache的modules目录,同时修改httpd.conf配置文件,loadModule......
……
配置这部如果中间有错误,请参加后面的错误处理。
?
# make
# make install
安装完成。
?
5.配置Apache和PHP
?
PHP配置文件
拷贝php的默认配置文件,本来是安装PHP之前做的,我结果放到后面做了,也关系不大。
cp php.ini-development /usr/local/lib/php.ini
需要修改配置文件,配置PHP可以修改该文件,我反正不会。
?
APACHE配置文件
?
进入httpd.conf配置文件进行配置。
?
检查是否有:LoadModule php5_module modules/libphp5.so 。一般是有的,因为PHP编译的时候关联了apache。
?
告知 Apache 将特定的扩展名解析成 PHP
php结尾的文件
?
<FilesMatch \.php$>
? ? SetHandler application/x-httpd-php
</FilesMatch>
?
php+数字结尾的文件
<FilesMatch "\.ph(p[2-6]?|tml)$">
? ? SetHandler application/x-httpd-php
</FilesMatch>
?
phps结尾的文件已源代码方式处理
<FilesMatch "\.phps$">
? ? SetHandler application/x-httpd-php-source
</FilesMatch>
?
?
添加目录默认文件index.php
?
<IfModule dir_module>
? ? DirectoryIndex index.html index.php
</IfModule>
?
如果你已经上传了PHP程序,可以设置WEB服务器根目录或者使用虚拟主机方式配置,这里假设程序目录为/www , 简单设置apache的根指向该目录
DocumentRoot "/www"
?
?
6.测试
打开浏览器,方式服务器IP即可。
?
我遇到的乱七八糟的问题些:
1、Apache的常规问题,启动和关闭的时候提示找不到ServerName什么的。
?
问题信息:httpd: Could not reliably determine the server's fully qualified domain name
解决方案:DNS没配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可
?
?
2、PHP