小编我也说过自己喜欢web网站开发,当然当前主流的web开发大概有三种,基于asp.net的、基于jsp的和基于php的,对于不同的开发在架设环境的时候是有所不同的,asp.net是使用IIS作为web服务器的,jsp是使用tomcat作为服务器的,那php的黄金搭档就是apache啦,小编今天就来聊聊如何来实现phpweb环境的搭建,当然为了实现动态网站的开发就要结合数据库啦,在linux下搭建php的web环境,想信读者一定也知道有个”黄金组合LAMP”
就是LINUX+APACHE+MYSQL+PHP,因为都是开源的,一些中小型的企业很热衷于这个组合,而今天小编就使用源码(apache和mysql可以用系统自带的)来搭建这些环境,当然为了实现mysql数据库的管理,这里要借助一个很流行的web页面数据库管理工具phpmyadmin,在所有环境都配置OK啦,小编我还要实现一个博客网站的搭建,也是企业经常用到的叫wordpress
准备工作:
httpd.i386 2.2.3-31.el5 httpd-devel.i386 2.2.3-31.el5 apr-devel.i386 1.2.7-11.el5_3.1 apr-util-devel.i386 1.2.7-7.el5_3.2 mysql.i386 5.0.77-3.el5 mysql-server.i386 5.0.77-3.el5 mysql-devel.i386 5.0.77-3.el5
上面的这些软件包系统带的都有,yum安装就是了,下面的这些是需要下载的
<a href="http://www.php.net/downloads.php">php-5.4.14.tar.bz2</a>
<a href="http://sourceforge.net/projects/phpmyadmin/">phpMyAdmin-3.5.8-all-languages.tar.bz2</a>
setp 1:安装并启动apache服务器
# yum install httpd
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765855bNZg.jpg"></a>
# yum install httpd-devel
看见了吧会附带将apr-devel和apr-util-devel安装上啦
启动apache服务器,并查看监听端口
# service httpd start
在浏览器中输入http://127.0.0.1测试,出现下面的结果说明apache服务器搭建就没问题了
step 2:mysql的安装、启动与配置
# yum install mysql-server
这里附带会吧mysql工具安装上
接下来安装mysql-devel
# yum install mysql-devel
安装就结束了,启动mysql服务,并查看监听端口
# service mysqld start
启动成功了,配置mysql登录名和密码,这里小编使用root用户,密码是123456
# mysql
mysql> grant all on mysql.* to 'root'@'localhost' identified by '123456';
mysql> flush privileges;
mysql> quit;
# mysql -u root -p
之后输入密码123456
到这里mysql就算配置完了
setp 3:php的安装配置
解压源码,并切换到目录下
# tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/php-5.4.14/
执行安装的老三步:
# ./configure --with-mysql=/usr --with-apxs2=/usr/sbin/apxs --enable-mbstring –with-pdo-mysql=/usr
这里小编添加了mysql的支持、apache2的支持和mbstring,编译过程比较长
# make
# make install
这里就算安装完成了,还要做一些后续工作
# cp php.ini-development /usr/local/lib/php.ini
如果要想让apache服务器认识php的页面,那就必须将php的模块添加到apache的配置文件(httpd.conf)当中,将下面的几句添加进入配置文件中
LoadModule php5_module libexec/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
然后重新启动apache服务
# service httpd restart
最后一步小编编写了一个php的测试页面来测试是不是web服务器能解析出php文件,test.php内容如下
# vim /var/www/html/test.php
<? php
phpinfo();
?>
打开浏览器输入http://127.0.0.1/test.php试试,出来啦
step 4:phpMyadmin的安装配置,之所以要安装这个就是因为要可视化的管理mysql数据库,而这个phpMyadmin并非一个源码安装包,它就是一个php写成的web站点,只需要把这个站点挂在服务器上就行了
首先解压缩phpMyAdmin-3.5.8-all-languages.tar.bz2
# tar -jxvf phpMyAdmin-3.5.8-all-languages.tar.bz2
这里小编使用物理目录的形似实现web站点的访问,那么将这个站点直接拷贝到/var/www/html/phpMyAdmin
# cp -a phpMyAdmin-3.5.8-all-languages /var/www/html/phpMyAdmin
切换到phpMyAdmin目录下,执行以下指令,生成phpMyAdmin的配置文件
cp -p config.sample.inc.php config.inc.php
在httpd.conf的391行加入“index.php”,让apache服务器自动打开index.php
重启apahce服务器
然后直接在浏览器中输入http://localhost/phpMyAdmin试试
可以访问了,那么小编登录试试,用户名“root”,密码“123456”
看到左侧的那些数据库了吧,这里读者可以点击操作数据库啦,是不是很方便
当然读者会发现这个web站点总是提示无法使用“mysqli扩展”,原因呢是小编在编译的过程中并未将功能编译进去,不过也不要担心,这里可以另行编译进去即可
# cd /usr/local/src/php-5.4.14/ext/mysqli
linux下将源码文件编译应该都有configure吧,可这里没有,在我们已经安装php后,/usr/local/这个文件夹里的命令目录bin里有一个文件叫phpize,用它就可以生成configure文件啦,继续
/usr/local/bin/phpize //这里回车运行,执行完后就出了configure文件,
./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/bin/php-config --with-mysqli=/usr/lib/mysql/mysql_config
直接回车,不出问题就继续
make
make test
make install
最终结果mysqli.so就出来了
然后打开php的配置文件php.ini
#vim /usr/local/lib/php.ini
在末尾添加两行
extension_dir="/usr/local/include/php/"
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20100525/mysqli.so
重新启动apache,登录mysqli缺失问题已经解决了
这个问题的解决方法和缺少mysqli 的解决方法一致
# cd /usr/local/src/php-5.4.14/ext/mcrypt/
# phpize
# ./configure --with-php-config=/usr/local/bin/php-config
# make test
这里就安装成功了
将模块加载到php的配置文件中
# echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20100525/mcrypt.so' >> /usr/local/lib/php.ini
重新启动apache服务,再次登录问题解决
step 5:优化php的访问速度,这里小编使用Xcache来实现,在未安装之前先测试看看apache的负载能力,模拟一百人访问服务器一万次
# ab -c 100 -n 10000 http://127.0.0.1:80/phpMyAdmin
现在开始安装Xcache
# tar -jxvf xcache-3.0.1.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/xcache-3.0.1/
# phpize --clean && phpize
可以使用 ./configure –help
来查看要配置的内容,因为小编这里要测试针对于php的优化,所以要加上有关php的选项
#./configure --enable-xcache --with-php-config=/usr/local/bin/php-config
模块就生成成功啦,接下来将模块加入到配置文件php的配置文件即可
# echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xcache.so' >> /usr/local/lib/php.ini
重新启动apache服务器,再次执行刚刚的负载测试查看结果
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765928LtYX.jpg"></a>
step 6:最后一个项目啦,搭建一个博客网站啦,这个也比较的简单啦,因为下载下来的wordpress也是一个写好的web站点,直接挂在网站上即可
解压缩wordpress
# tar -zxvf wordpress-3.5.1-zh_CN.tar.gz
这里依然使用物理目录,将站点拷贝到web的根目录
# cp -a wordpress/ /var/www/html/wordpress
下面就可以直接进行访问了,在浏览器中输入http://127.0.0.1/wordpress试试看
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765930jiLa.jpg"></a>
这里提示没有配置文件,可以手工创建,也可以通过web向导来创建,小编这里为省事就选择后者啦
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765932QCRf.jpg"></a>
这里提示要一些准备工作: 1.数据库名:wordpress(小编自己创建了,读者也可以自己创建) 2.数据库用户名:root 3.数据库密码:123456 4.数据库主机:localhost 5.数据表前缀:wp_(可以任意给,只要符合命名规范即可)
设置好信息后点击提交,之后会出来下面的提示,说没权限写配置文件,这主要是因为wordpress文件夹对于其他用户或者用户组无写权限,不用担心,可以将这些信息复制出来手工创建wp-config.php文件
# vim /var/www/html/wordpress/wp-config.php
将浏览器中的文字复制进文件保存退出即可
然后点击的“进行安装”,就会出现下面的页面,询问博客的标题,和超级管理员的用户名和密码,读者自行设置即可
输入完成之后点击“安装wordpress”,然后就出来一个让人苦笑不得的画面,小编我表示已经凌乱了
单击“登录”就会跳转到以下页面
输入超级管理员的用户名和密码登录看看
OK啦,接下来的工作就是要发挥读者你的创造力的时候啦,wordpress之所以那么受欢迎,是因为提供了很多很多人性化的服务,不过小编我不经常倒腾,表示理解不动,有个51cto就够了,接下来的工作就交给读者你啦哈,敬请关注小编的博客哈
本文转自 chenming421 51CTO博客,原文链接:http://blog.51cto.com/wnqcmq/1177203