环境:
我的主机:win7
虚拟机:VMware Workstation Pro 15.1.0
虚拟机系统:centos6.4
centos6.4镜像下载:
http://archive.kernel.org/centos-vault/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso
VM下载破解版或者到网上搜对应版本的许可证即可
LAMP安装步骤:
需要root权限
第一步:配置防火墙(默认情况下,端口80和3306是拒绝访问的,在防火墙上进行配置):
编辑iptables:
vi /etc/sysconfig/iptables(在"COMMIT"之前加上如下两句)
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)
重启防火墙:
/etc/init.d/iptables restart
第二步:安装Apache
安装Apache:
yum install httpd
如果出下下面所示的语句,说明已经安装了Apache了,不需要重新安装:
安装完之后,编辑apache配置,修改默认域名
vi /etc/httpd/conf/httpd.conf
找到 #ServerName www.example.com:80 改为自己想要的域名,例: localhost:80
重启Apache:
/etc/init.d/httpd restart
将Apache设置为开机启动:
chkconfig httpd on.(这一步使得服务器不需要在每次重启的时候都要手动启动httpd服务)
第三步:安装MySQL
安装MySQL:
yum install mysql mysql-server
安装完之后,启动MySQL:
/etc/init.d/mysqld start
将MySQL设置为开机启动:
chkconfig mysqld on
最后,拷贝配置文件:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf (在/etc下有个my.cnf文件,直接覆盖就行了)
给root账户设置密码:
mysql_secure_installation
根据提示输入2次密码,就设置成功了。注意,在设置过程中,会提示删除是否anonymous用户,是否拒绝root的远程访问,是否删除测试用的数据库等,这些都需要根据自己的实际情况进行选择。最后出现:Thanks for using MySQL!,设置密码成功了。
重新启动MySQL:
/etc/init.d/mysqld restart
第四步:安装PHP
安装PHP:(centos6.4默认安装的是5.3版本)
yum install php
安装PHP组件 ( 可以使用命令: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
第五步:配置php.ini和apache文件
1. 编辑apache配置:
vi /etc/httpd/conf/httpd.conf
ServerTokens OS 改为 ServerTokens Prod
(防止错误页显示操作系统名字)
KeepAlive Off 改为 KeepAlive On
(允许程序性联机)
MaxKeepAliveRequests 100 改为 MaxKeepAliveRequests 1000
(同时连接数)
Options Indexes FollowSymLinks 改为 Options Includes ExecCGI FollowSymLinks
(允许服务器执行CGI和SSI, 不列出目录)
AllowOverride None 改为 AllowOverride All
(允许.htaccess)
DirectoryIndex index.html index.html.var 改为 DirectoryIndex index.php Default.php index.html index.htm Default.html Default.htm
(php默认文档)
ServerSignature On 改为 ServerSignature Off
(防止错误页显示Apache版本)
Options Indexes MultiViews FollowSymLinks 改为 Options MultiViews FolowSymLinks
(不显示树状目录结构)
AddDefaultCharset UTF-8 改为 AddDefaultCharset GB2312
(修改默认的编码,用utf8可不修改)
#AddHandler cgi-script .cgi 改为 AddHandler cgi-script .cgi .pl
(允许扩展名为.pl的CGI脚本运行)
重启apache:
/etc/init.d/httpd restart
删除测试网页:
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html
2.编译php配置:
vim /etc/php.ini
disable_functions = 改为 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版本的信息)
设 magic_quotes_gpc = On
(打开magic_quotes_gpc,防止SQL注入)
设 short_open_tag = ON
(支持php短标签)
设 open_basedir = .:/tmp/
(设置允许访问的目录和/tmp/目录,防止php木马跨站)
;date.timezone = PRC 改为为 date.timezone = PRC (注意去掉前面;号)
最后,重启apache和mysql服务:
/etc/init.d/httpd restart
/etc/init.d/mysqld restart
安装完成啦,测试一波
cd /var/www/html
vi index.php
添加内容:
<?php echo phpinfo(); ?>
打开浏览器输入配置默认域名:localhost:80
(centos6.4默认安装是5.3版本,我是后面升过版本,才显示5.5) 升级php版本
修改apache的目录权限:
chown apache.apache -R /var/www/html
完成!