首页 > Apache, CentOS, MySQL, PHP > 在CentOS5.3上安装Apache2+PHP5+MySQL(LAMP)

在CentOS5.3上安装Apache2+PHP5+MySQL(LAMP)

2009年10月11日 [post_view] 发表评论 阅读评论

版本: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
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
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
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
phpmyadmin

8 Links

分类: Apache, CentOS, MySQL, PHP 标签: , , , ,
  1. fish
    2010年1月8日22:24 | #1

    hi.看了此文。我在自己的vps上安装了lamp和phpmyadmin.安装了phpmyadmin后,当时可用http://mydomain.com/phpmyadmin来访问phpmyadmin,并登陆,创建了mysql db,可过了一小时左右,我访问http://mydomain.com/phpmyadmin,却提示:phpmyadmin目录不存在,不知为何?我登陆putty查看,phpmyadmin的确是存在于/var/www/html/下的。

  2. 尚可乐
    2010年1月9日11:45 | #2

    @fish
    您好,我通过这篇文章测试的没有发现这个问题。通过yum安装的phpmyadmin默认的路径是在/usr/share/phpmyadmin,不需要在/var/www/html建立一个phpmyadmin.呵呵,近期我也有想换vps的打算。不清楚你在哪里买的vps。什么配置,装完lamp后的负载多少。

  3. fish
    2010年1月9日17:14 | #3

    我把phpmyadmin移动到http://mydomain.com/db下(db是我随便建的一个子目录),这样http://mydomain.com/db/phpmyadmin就可访问了。我在neosurge.com买的vps,不太好用。

  4. 尚可乐
    2010年1月9日19:25 | #4

    @fish
    我准备在rashost买一个,128Mvps,域名也换成www.unixbar.net。这个域名不用了。

  5. fish
    2010年1月12日20:22 | #5

    我按你此文,在neosurge上建的网站速度加载很慢,是不是这些模块:php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc造成的?它们完全可以删除吧?如果不删除,怎么优化加载速度呢?

  6. 尚可乐
    2010年1月12日21:03 | #6

    @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平台也是有效的。希望对你有帮助。

  7. fish
    2010年1月13日16:37 | #7

    hi.博主可否写篇在apache下(以及在nginx下)配置https证书的文章?我看了一些网上的文章,始终没搞定

  8. 尚可乐
    2010年1月13日18:41 | #8

    @fish
    这个我还没有搞过,我研究研究吧,研究出来了写点东西出来。呵呵。

  9. fish
    2010年1月15日14:13 | #9

    hi.怎么我在centos下运行yum install mod_ssl出错?运行yum -y install mod_ssl也出错

  10. 尚可乐
    2010年1月15日14:43 | #10

    提示什么错误呢?

  11. ddd
    2010年1月16日22:27 | #11

    非常感谢您提供的教程。不过最后一步安装phpmyadmin不成功啊。
    vi /usr/share/phpmyadmin/config.inc.php

    [...]

    /* Authentication type */

    $cfg['Servers'][$i]['auth_type'] = ‘http’;

    [...]
    没有这么。。。。请问是什么原因呢。。非常感谢!!!

  12. 尚可乐
    2010年1月17日08:11 | #12

    你的意思是说没有/phpmyadmin/config.inc.php这个文件,还是没有/* Authentication type */ $cfg['Servers'][$i]['auth_type'] = ‘http’; 这一段话呢?

  13. fish
    2010年1月21日14:46 | #13

    我配置nginx+php失败,看blog.s315.com的相关文章,看的眼花缭乱,摸不着头绪。博主可否写篇精简文章,讲讲如何安装nginx+php?

  14. 尚可乐
    2010年1月21日14:59 | #14

    我觉得他写的还是比较全的。如果你有什么问题,可以给我留言,我帮你看看。按照他的教程很容易就能搭建nginx服务。

  15. fish
    2010年1月22日00:43 | #15

    他那个太繁琐了。你有翻译这篇文章: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呢?

  16. fish
    2010年1月22日01:18 | #16

    我用上传phpmyadmin压缩包并解压的方式安装成功,好像只有这种办法了

  17. 尚可乐
    2010年1月22日08:35 | #17

    张宴的文章,针对于生产环境,里面加了很多比如cache的组件。
    这是我昨天翻译的有关fedora的lnmp的配置,和CentOS下的很接近
    http://www.unixbar.net/linux/fedora/680.html
    我觉得直接上传就是一个不错的方法,只需简单改一下配置文件就可以了。
    没有必要通过apt-get安装。

  18. 尚可乐
    2010年1月22日08:36 | #18

    推荐这种方法。对了,有个小问题,你先前不是centos嘛。怎么又成了debian了呵呵

  19. fish
    2010年1月22日17:03 | #19

    我那个neosurge.com vps过期了,换了个vps,改用debian.

  20. 尚可乐
    2010年1月22日17:34 | #20

    恩,其实我也挺喜欢debian的。一直用debian的桌面。服务器centos还是首选。

  21. 2011年3月19日11:29 | #21

    我的VPS一开始用的是ubuntu系统,内存占用有点高,后来换centos的!

  1. 本文目前尚无任何 trackbacks 和 pingbacks.