如何在CentOS下安装配置LAMP(Linux+Apache+MySQL+PHP)

2014-09-19 12:05:00
admin
原创 2620
摘要:在CentOS下安装软件有两种方式,第一种是使用yum命令,自动安装软件,安装的软件具有固定的位置和固定的目录;第二种是下载源码安装包,手动解压,配置,编译和安装,在安装的过程中可以自己选择安装的目录和路径等。在这里,我选择的安装方式是第一种,比较便捷。
安装基础环境
第一步:配置防火墙(默认情况下,端口80和3306是拒绝访问的,在防火墙上进行配置):
 1. vi /etc/sysconfig/iptables (在"COMMIT"的上一行加上如下两句)   
 2. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT (允许80端口通过防火墙)   
 3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT (允许3306端口通过防火墙)  
接着重启防火墙使得配置生效:  /etc/init.d/iptables restart  
第二步:安装Apache 
1.使用命令安装Apache: yum install httpd  
2.安装完之后,重新启动Apache: /etc/init.d/httpd restart
3.接着将Apache设置为开机启动: chkconfig httpd on (这一步使得服务器不需要在每次重启的时候都要手动启动httpd服务)
要查看httpd服务的启动状态,可以使用命令: chkconfig --list httpd (会显示httpd在各个级别(level)下的启动状态)
第三步:安装MySQL
1.使用命令安装MySQL: yum install mysql mysql-server  
2.安装完成了之后,启动MySQL: /etc/init.d/mysql start
3.将MySQL设置为开机启动: chkconfig mysqld on
4.最后,拷贝配置文件: cp /usr/share/mysql/my-medium.cnf   /etc/my.cnf (在/etc下有个my.cnf文件,直接覆盖就行了)
5.用命令给root账户设置密码: mysql_secure_installation  
根据提示输入2次密码,就设置成功了。注意,在设置过程中,会提示删除是否anonymous用户,是否拒绝root的远程访问,是否删除测试用的数据库等,这些都需要根据自己的实际情况进行选择。最后出现:Thanks for using MySQL!,设置密码成功了。 
6.重新启动MySQL: /etc/init.d/mysqld restart
第四步:安装PHP
1.使用命令安装PHP: yum install php  
根据提示往下安装就行了。安装完之后重新启动Apache: /etc/init.d/httpd restart
2.安装PHP组件,是PHP支持MySQL
可以使用命令: yum search php 来查看PHP的组件,选择需要的模块进行安装:
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
安装完之后,重启Apache: /etc/init.d/httpd restart 

重启MySQL: /etc/init.d/mysqld restart


到此,LAMP中的AMP都已经安装完毕了,但是web服务器此时并不能被访问,因为要访问服务器,还需要对Apache和PHP进行相应的配置。


环境配置

第一步:配置Apache

1.修改Apache配置文件: vi /etc/httpd/conf/httpd.conf ,并在文件中查找下面所在行,进行修改(查找可以在vi的一般模式下输入“/要查找的字符”进行查找):

修改之前 修改之后 备注说明
ServerTokens OS
ServerTokens Prod
在出现错误页的时候不显示服务器操作系统的名称
ServerSignature On
ServerSignature Off 
在错误页中不显示Apache的版本
Options Indexes FollowSymLinks
Options Includes ExecCGI FollowSymLinks
允许服务器执行CGI及SSI,禁止列出目录
AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl
允许扩展名为.pl的CGI脚本运行
AllowOverride None
AllowOverride All
允许.htaccess
AddDefaultCharset UTF-8
AddDefaultCharset GB2312
添加GB2312为默认编码
Options Indexes MultiViews FollowSymLinks
Options MultiViews FollowSymLinks
不在浏览器上显示树状目录结构
DirectoryIndex index.html index.html.var
DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var
设置默认首页文件,增加index.php
KeepAlive Off
KeepAlive On
允许程序性联机
MaxKeepAliveRequests 100
MaxKeepAliveRequests 1000
增加同时连接数
2.修改好之后保存配置,重新启动Apache: /etc/init.d/httpd restart

建议删除默认的测试页面: rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html  


第二步:配置PHP
1.修改PHP配置文件: vi /etc/php.ini ,以下需要修改的行的位置可以通过vi的查找命令来查找:
date.timezone = PRC       #把前面的分号去掉,改为 date.timezone = PRC
disable_functions =   passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,

ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru, 

stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,

checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,

posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,

posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,

posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, 

posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,

posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,

posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off                                     #禁止显示php版本的信息
display_errors = OFF                               #关闭错误提示
register_globals = OFF                           #关闭注册全局变量
magic_quotes_gpc = On                        #打开magic_quotes_gpc来防止SQL注入
log_errors = On                                        #记录错误日志
error_log = /var/log/php/error_log.log   #设置错误日志存放目录,文件必须允许apache用户的和组具有写的权限(注意,在修改之前,要先创建文件 /var/log/php/error_log.log ,然后在修改其属性,使其属于apache用户和用户组。 chown apache /var/log/php/error_log.log chgrp apache /var/log/php/error_log.log )
open_basedir = .:/tmp/                          #设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站


环境 测试
在目录/var/www/html下: cd /var/www/html
创建php文件: vi index.php
<?php
phpinfo();
?>
那么,在浏览器中输入本机地址的时候,就可以访问到刚才创建的index.php网页文件了。

注意:

apache的默认程序目录是: /var/www/html ,网页文件放在这里就可以被访问到。需要保证这个目录是属于用户apache和用户组apache的。
MySQL的数据库目录是: /var/lib/mysql