在CentOS5.3上安装Apache2+PHP5+MySQL(LAMP)
版本:1.0
作者:Falko Timme <ft [at] falkotimme [dot] com>
文章源地址:http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-centos-5.3-lamp
最后编辑日期 07/24/2009
翻译者:Topkey http://www.unixbar.net
翻译日期: 08/19/2009
使用说明:蓝色字体为链接、红色字体为shell中的命令、棕色字体为文件中的内容、黑色字体为正文
LAMP是Linux,Apache,Mysql,PHP的缩写。这篇教程将会为您讲解如何在一台CentOS5.3服务器上安装带有PHP5(mod_php)和Mysql支持Apache2的网站服务器。
我不保证这篇教程里的内容,完全适合您。
1.首项附注
在这篇教程中,我将使用的主机名是 server1.example.com ,IP地址是192.168.0.100.这些设置可能与你的机器不同,因此你需要在合适的地方更换下。
2.安装MySQL5.0
我们通过执行下面的命令来安装MySQl:
yum install mysql mysql-server
然后我们为MySQL创建系统启动快捷键(这样的话,MySQL就会在系统启动的时候自动启动)并且启动MySQL服务器:
chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start
运行
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
来为root用户设置一个密码(否则的话任何人都可以访问你的MySQL数据库!)。
3安装Apache2
Apache2 是CentOS的一个可供选择的包,因此我们可以使用下列命令安装它:
yum install httpd
现在配置你的系统使得Apache可以自动启动。。。
chkconfig –levels 235 httpd on
… 并且启动Apache
/etc/init.d/httpd start
现在你可以在你的浏览器中转到http://192.168.0.100,你应该看到Apache2的预留页:

- apache preloadpage
在CentOS里Apache的默认文档路径的位置是在/var/www/html,配置文件的路径是/etc/httpd/conf/httpd.conf。其他的配置存储在/etc/httpd/conf.d/ 文件夹里。
4 安装PHP5
我们可以使用下列命令来安装PHP5和Apache的PHP5模块:
yum install php
然后我们必须重新启动Apache:
/etc/init.d/httpd start
5测试PHP5/获取PHP5安装的一些信息
网站的默认文档的路径是/var/www/html.我们可以在这个目录里创建一个简单的php文件(info.php)并且在浏览器中调用。这文件将会显示很多关于PHP安装时候的有用的细节,例如PHP的安装的版本。
vi /var/www/html/info.php
<?php
phpinfo();
?>
现在我们可以再浏览器中访问这个文件(例如http://192.168.0.100/info.php):

- phpinfo
正如你所看到的,PHP5现在正在工作,正如Server API这一行中显示的一样,它是工作在Apache 2.0 Handler模式下。如果你向下滑动的话,你将会看到所有的模块都可以在PHP5中使用了,MySQL并没有在这里被列出来,这也就意味着PHP5并不支持MySQL。
6 使得PHP5支持MySQL
要使得在PHP中支持MySQL,我们可以安装 php-mysql这个包。最好的办法是安装一些其他的PHP5模块,这些模块可能其他应用程序会用到。你可以使
用search命令寻找可用的PHP5模块:
yum search php
选择你所需要的包,然后通过下列命令安装他们:
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
现在重新启动Apache2
/etc/init.d/httpd restart
现在在你的浏览器中重新加载http://192.168.0.100/info.php 这个页面,并再次查看模块部分,你现在就能看到多了很多模块,包括我们刚刚安装的MySQL模块。

- mysql module
7 phpMyAdmin
phpMyAdmin是一款MySQL数据库web化的管理工具。
第一步我们先使我们的CentOS支持RPMforge repository,因为phpMyAdmin并不在CentOS5.3官方的依赖包里:
对于 x86_64 系统:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
对于 i386系统
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
现在你就可以使用下列命令来安装phpMyAdmin了:
yum install phpmyadmin
现在我们配置下phpMyAdmin。我们改下Apache的配置文件,使的phpMyAdmin不单单是本机访问。 (取消注释<Directory “/usr/share/phpmyadmin”> 节):
vi /etc/httpd/conf.d/phpmyadmin.conf
#
# Web application to manage MySQL
#
#<Directory “/usr/share/phpmyadmin”>
# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1
#</Directory>
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
下面我们改变下phpMyAdmin的认证方式,从cookie改成http:
vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = ‘http’;
[...]
最后,你就可以通过http://192.168.0.100/phpmyadmin/当问phpMyAdmin了:

- phpmyadmin
8 Links
- Apache: http://httpd.apache.org/
- PHP: http://www.php.net/
- MySQL: http://www.mysql.com/
- CentOS: http://www.centos.org/
- phpMyAdmin: http://www.phpmyadmin.net/

hi.看了此文。我在自己的vps上安装了lamp和phpmyadmin.安装了phpmyadmin后,当时可用http://mydomain.com/phpmyadmin来访问phpmyadmin,并登陆,创建了mysql db,可过了一小时左右,我访问http://mydomain.com/phpmyadmin,却提示:phpmyadmin目录不存在,不知为何?我登陆putty查看,phpmyadmin的确是存在于/var/www/html/下的。
@fish
您好,我通过这篇文章测试的没有发现这个问题。通过yum安装的phpmyadmin默认的路径是在/usr/share/phpmyadmin,不需要在/var/www/html建立一个phpmyadmin.呵呵,近期我也有想换vps的打算。不清楚你在哪里买的vps。什么配置,装完lamp后的负载多少。
我把phpmyadmin移动到http://mydomain.com/db下(db是我随便建的一个子目录),这样http://mydomain.com/db/phpmyadmin就可访问了。我在neosurge.com买的vps,不太好用。
@fish
我准备在rashost买一个,128Mvps,域名也换成www.unixbar.net。这个域名不用了。
我按你此文,在neosurge上建的网站速度加载很慢,是不是这些模块:php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc造成的?它们完全可以删除吧?如果不删除,怎么优化加载速度呢?
@fish
现在还不能肯定具体是什么造成的。这个需要根据你的vps的负载来区分,看下到底是哪个进程占用的资源多谢,然后有针对的进行优化配置文件。
我的blog目前采用的是rashost的128m32位的centos5.3的系统,采用的是nginx+mysql+php+memcache构架的,参考了这两篇文章,
http://blog.s135.com/post/366/ lnmp构架
http://blog.s135.com/post/375/ lnmp优化
http://www.54chen.com/php-tech/ubuntu-910-quick-install-nginx-php-notes-from-the-environment-54.html lnmp优化
其中里面的mysql优化和php优化的内容我觉得对lamp平台也是有效的。希望对你有帮助。
hi.博主可否写篇在apache下(以及在nginx下)配置https证书的文章?我看了一些网上的文章,始终没搞定
@fish
这个我还没有搞过,我研究研究吧,研究出来了写点东西出来。呵呵。
hi.怎么我在centos下运行yum install mod_ssl出错?运行yum -y install mod_ssl也出错
提示什么错误呢?
非常感谢您提供的教程。不过最后一步安装phpmyadmin不成功啊。
vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = ‘http’;
[...]
没有这么。。。。请问是什么原因呢。。非常感谢!!!
你的意思是说没有/phpmyadmin/config.inc.php这个文件,还是没有/* Authentication type */ $cfg['Servers'][$i]['auth_type'] = ‘http’; 这一段话呢?
我配置nginx+php失败,看blog.s315.com的相关文章,看的眼花缭乱,摸不着头绪。博主可否写篇精简文章,讲讲如何安装nginx+php?
我觉得他写的还是比较全的。如果你有什么问题,可以给我留言,我帮你看看。按照他的教程很容易就能搭建nginx服务。
他那个太繁琐了。你有翻译这篇文章:http://www.howtoforge.com/installing-nginx-with-php5-and-mysql-support-on-debian-lenny 吗?我按它的内容安装了nginx+mysql+php,但是它没有提到安装phpmyadmin,我在用apt-get install phpmyadmin命令安装phpmyadmin时,出现的几个webserver选项里没有nginx,所以安装phpmyadmin失败。如何才能成功安装phpmyadmin呢?
我用上传phpmyadmin压缩包并解压的方式安装成功,好像只有这种办法了
张宴的文章,针对于生产环境,里面加了很多比如cache的组件。
这是我昨天翻译的有关fedora的lnmp的配置,和CentOS下的很接近
http://www.unixbar.net/linux/fedora/680.html
我觉得直接上传就是一个不错的方法,只需简单改一下配置文件就可以了。
没有必要通过apt-get安装。
推荐这种方法。对了,有个小问题,你先前不是centos嘛。怎么又成了debian了呵呵
我那个neosurge.com vps过期了,换了个vps,改用debian.
恩,其实我也挺喜欢debian的。一直用debian的桌面。服务器centos还是首选。
我的VPS一开始用的是ubuntu系统,内存占用有点高,后来换centos的!