LAMP环境的配置

LAMP环境的配置

本博客是自己在网上搜了很多资料反复实验后亲自实践所得,这是本人第一次写博客,有什么不正确的地方欢迎各位大佬指正:

  • 软件准备
    Windows10
    VMware10
    CentOS64位
    注意:本实验是基于CentOS已经安装在VMware基础上进行的

使用yum命令安装

1、安装Apahce, PHP, MySQL以及php连接mysql库组件`

#yum -y install httpd php mysql mysql-server php-mysql

2、安装apache扩展

#yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql

3、安装php的扩展

#yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc   php-fpm

4、 安装MySQL的扩展

#yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql

5、 启动相应服务

 #/sbin/service httpd start            [启动httpd服务,与开机启动无关]
 #/sbin/service mysqld start           [启动mysqld服务,与开机启动无关] 

或者设置为开机启动项

#chkconfig –add httpd 
#chkconfig –add mysqld
#chkconfig httpd on
#chkconfig mysqld on
#service httpd start
#service mysqld start 
#service php-fpm start

检测启动结果:ps aux | grep httpd
这三个命令输入完毕之后代表网站的环境基本已经完成,接下来执行netstat -tunlp 来检查服务的运行情况,这样我们可以看到httpd(也就是apache服务)监听80端口,mysql监听3306端口,php-fpm监听9000端口,并且都已经正常启动。
服务启动后,默认php文件存放的目录在/var/www/html目录下,这里建立一个test.php文件,里面打上些内容,如:

<?php
Phpinfo();
?>

在浏览器中出现下图界面,则表示成功。
这里写图片描述
6、配置防火墙,开启80端口、3306端口

Vi /etc/sysconfig/iptables   #编辑防火墙配置文件 
-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  #最后重启防火墙使配置生效 

7、关闭SELINUX

vi /etc/selinux/config  #编辑 
#SELINUX=enforcing       #注释掉这行
#SELINUXTYPE=targeted    #注释掉这行
SELINUX=disabled         #增加这一行
:wq #保存退出
shutdown -r now   #重启系统

8、 mysql链接成功的验证,这时在/var/www/html目录下,新建立一个mysql_connec.php文件,内容如下:

<?php
$host="127.0.0.1";
$user="root";
$pwd="";
$conn=mysql_connect($host,$user,$pwd);
if(!$conn){
die('failed!'.mysql_error());
}
echo "mysql connect succeed!";
mysql_close($conn);
?>

再在原机上进行测试,如果显示如下图的界面,则表示数据库连接成功。
这里写图片描述
9、 修改Apache和PHP的配置
(1)修改Apache配置
作为一个架设在公网上的服务器,我们可不能让服务器所使用的软件版本或者错误等信息暴露网页上,这就需要对Apache进行设置:

编辑文件Apache设置文件
vi /etc/httpd/conf/httpd.conf
44行: 修改 ServerTokens OS  为 ServerTokens Prod
 防止错误页显示操作系统名字
76行: 修改 KeepAlive Off 为 KeepAlive On
允许程序性联机
83行: 修改 MaxKeepAliveRequests 100 为 MaxKeepAliveRequests 1000
增加同时连接数
331行: 修改 Options Indexes FollowSymLinks 为 Options Includes ExecCGI FollowSymLinks
允许服务器执行CGI及SSI,防止列出目录
338行: 修改 AllowOverride None  为 AllowOverride All
允许.htaccess
402行: 修改 DirectoryIndex index.html index.html.var  为 DirectoryIndex index.php Default.php index.html index.htm Default.html Default.htm
添加php默认文档
536行:  修改 ServerSignature On 为 ServerSignature Off 
防止错误页显示Apache版本
554行: 修改 Options Indexes MultiViews FollowSymLinks  为 Options MultiViews FollowSymLinks
不显示树状目录结构
759行: 根据需要设置为 AddDefaultCharset UTF-8 或者 AddDefaultCharset GB2312
笔者大多数时候都在使用UTF-8编码,所以不进行修改

796行: 修改 #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

10、 修改PHP配置

编辑php设置文件
    vim /etc/php.ini
946行: 修改 ;date.timezone = PRC 为 date.timezone = PRC  (去掉分号)
386行: 修改 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的禁用函数,若程序中需要使用的函数可以删除掉。

432行: 设置 expose_php = Off
禁止显示php版本的信息
745行: 设置 magic_quotes_gpc = On
打开magic_quotes_gpc,用于防止SQL注入
229行: 设置 short_open_tag = ON
支持php短标签
380行: 设置 open_basedir = .:/tmp/ 
设置允许访问的目录和/tmp/目录,防止php木马跨站

修改完成保存后重启服务:

/etc/init.d/mysqld restart
/etc/init.d/httpd restart

设置文档文件夹权限:

chown apache.apache -R /var/www/html

到这里LAMP服务器配置完成。

猜你喜欢

转载自blog.csdn.net/lsl111111lsl/article/details/82632599