本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~

  在本文中部分命令操作需要root权限,输入‘su -’命令后输入密码即可切换root身份。

一、修改设置对安装做准备

1. 防火墙设置

  设置/etc/sysconfig/iptables文件允许80端口和3306端口。因为80端口是http协议所使用的端口,如果防火墙禁止80端口的话,网站配置好了也无法从外网访问。3306端口是MySql数据库的默认端口。使用VIM打开iptables文件并添加规则:

 打开iptables文件进行修改
vim /etc/sysconfig/iptables 加入下列两行
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT

  添加好后文件应该如下图,如果以前修改过该文件责可能和笔者的图中略有不同:

  修改完成注意检查下拼写,不要有错误。保存之后重启防火墙生效:

/etc/init.d/iptables restart

  

2. 关闭SELINUX

  SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的。SELinux提供了比默认ugo+rwx更详细的权限控制。打开SELinux后,即使因为0day漏洞被提权,相应程序的权限在SELinux控制下也不会造成太大影响。但是在实际应用情况中,SELinux并不实用,没人会闲的去用0day漏洞攻击个人电脑,业务服务器基本上都是用负载均衡设备做流量分发,对外仅开放了仅有的几个端口。所以综合安全性和复杂性来说,SELinux的性价比并不高。修改/etc/selinux/config文件关闭SELinux,设置后如图:

 vim /etc/selinux/config

 注释掉如下两行,在行首添加#注释。
SELINUX=enforcing
SELINUXTYPE=targeted 在后面增加:
SELINUX=disabled

  关闭SELinux后需要重启系统,输入‘shutdown -r now’重启系统。

二、开始安装软件

1. MySql的安装和配置

安装MySql:

 通过yum软件包管理器安装MySql,管理器会自动安装依赖项,遇到询问直接输入y确认,直到显示“Complete!”完成。
yum install mysql mysql-server 启动MySql
/etc/init.d/mysqld start 设置MySql服务为开机启动
chkconfig mysqld on 复制MySql默认配置文件,直接覆盖/etc/my.cnf
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

MySql设置:

  设置MySql管理员root账户的密码。

输入如下命令后需要连续输入两次密码确认,有询问输入Y同意即可,成功后显示Thanks for using MySQL!。
mysql_secure_installation

  设置成功后需要重启MySql服务:

 /etc/init.d/mysqld stop
/etc/init.d/mysqld start

2. Apache服务的安装和配置

  

 安装httpd
yum install httpd 启动Apache服务
/etc/init.d/httpd start 编辑apache设置
vim /etc/httpd/conf/httpd.conf
查找 #ServerName www.example.com:80
修改成 ServerName www.XXXX.com:80
其中的“www.XXXX.com”自己的域名,没有可设置为localhost,如图 设置Apache服务开机启动
chkconfig httpd on 重启Apache服务
/etc/init.d/httpd restart

  安装好Apache服务后,打开系统自带的火狐浏览器,打开localhost这个网址即可看到Apache的示例网页。

3.安装PHP

  安装PHP非常简单:

遇到询问直接输y确认
yum install php

  安装PHP插件:

插件包括MySql支持等,遇到询问一如既往的y确认~~
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和MySql:

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

  

  到此软件的安装就结束了,接下来进行配置和测试。

三、修改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

2. 修改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

四、 测试PHP探针页面

  输入“vim /var/www/html/index.php添加PHP探针页面并输入以下代码:

 <?php
phpinfo();
?>

  保存退出后在浏览器中输入localhost查看php信息:

   设置文档文件夹权限:

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

LAMP服务器配置完成。

在CentOS6.4中安装配置LAMP环境的详细步骤的更多相关文章

  1. 在CentOS6.4中安装配置LAMP环境的详细步骤 - Leroy-LIZH

    本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~ 在本文中部分命令操作需要ro ...

  2. Android Studio安装配置、环境搭建详细步骤及基本使用

    前言 Android Studio的安装配置及使用篇终于来啦~ 废话不多说,以下针对JDK正确安装(及其环境变量配置完毕,即Java开发环境下).Android Studio的安装,配置,以及创建工程 ...

  3. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践

    欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...

  4. CentOS 7.4下源码编译安装配置LAMP环境详解

    CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录:第一部分 准备工作第二部分 安装Apache服务第三部分 安装MySQL服务第四部分 搭建PHP运行环 ...

  5. Maven—Windows操作系统中安装配置Maven环境

    今天难得的周末,借此难的机会总结一下关于maven的一些操作: 1.在安装maven之前要确认计算机已经安装并配置了JDK. 2.下载maven: maven-3.0.3:http://downloa ...

  6. linux下面安装配置LAMP环境

    以centos下面为例.初学者.东西基本都是各个地方找来的.自己手写了一遍.应该印象会很深刻 首先切换到超级管理员模式 1.安装php 一路选择y就行了 安装一些php的扩展 yum -y insta ...

  7. Ubuntu14.04安装配置LAMP环境(php5.6)

    sudo apt-get install python-software-properties sudo apt-get update sudo apt-get install vim sudo ap ...

  8. iOS中有关配置 Apache 服务器的详细步骤

    配置 Apache 服务器 目的: 能够有一个测试的服务器,Apache 服务器是免费的! 为什么是 Apache 使用最广的 Web 服务器 Mac自带,只需要修改几个配置就可以,简单,快捷 有些特 ...

  9. CentOS6.9快速安装配置svn

    CentOS6.9快速安装配置svn 环境介绍: 操作系统:CentOS release 6.9 (Final)192.168.65.130 (svn服务器)192.168.65.129 (svn客户 ...

随机推荐

  1. Java NIO类库Selector机制解析(下)

    五.  迷惑不解 : 为什么要自己消耗资源? 令人不解的是为什么我们的Java的New I/O要设计成这个样子?如果说老的I/O不能多路复用,如下图所示,要开N多的线程去挨个侦听每一个Channel ...

  2. MVC神韵---你想在哪解脱!(十七)

    实现针对数据的CRUD操作 首先,让我们来看一下如何实现一条数据的明细信息视图.为了更好地体会这一功能,首先我们在前文所述的电影清单视图(Views文件夹下面的Movies文件夹下面的Index.cs ...

  3. ADO.NET 快速入门(七):使用数据库事务

    数据库事务用于控制数据提交到数据库.例如,在标准的账户程序,账户的借贷必须同时完成.由于电脑偶尔发生故障(电力中断.网络中断,等等),可能有些记录被更新或者添加,但是另外一些没有.为了避免这些情况,可 ...

  4. Could not allocate CursorWindow size due to error -12 错误解决方法

    04-29 11:13:54.284 13584-13584/com.uniubi.smartfrontdesk E/art: Throwing OutOfMemoryError "pthr ...

  5. c#加密 可逆与不可逆MD5 加密

    1.方法一 (不可逆加密) srxljl public string EncryptPassword(string PasswordString,string PasswordFormat )     ...

  6. Oracle使用goldengate分别向Oracle和mysql双路的单向复制

    一.Oracle分别向Oracle和mysql双路的单向复制是在: ORACLE-mysql的单向复制基础上做的.http://blog.csdn.net/q947817003/article/det ...

  7. zookeeper作为soa服务器集群的协调调度服务器

    zookeeper作为soa服务器集群的协调调度服务器,当然自身也支持集群. ZooKeeper搭建系列集 ZooKeeper系列之一:ZooKeeper简介 ZooKeeper系列之二:ZooKee ...

  8. [AngularJS] Consistency between ui-router states and Angular directives

    ui-router's states and AngularJS directives have much in common. Let's explores the similarities bet ...

  9. Android Dalvik虚拟机初识(转)

    原文地址:http://blog.csdn.net/andyxm/article/details/6126907 android虚拟机jvmjava优化linux内核 首先,让我们来思考下面几个问题: ...

  10. c#线程--生产者和消费者

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...