4

注:本文lamp开发环境搭建于在virtualbox+vagrant+centos-7.0-x86_64.box虚拟机内的。
本文仅是自己配置环境的记录,也是我在segmentfault的处女作,如若有错误,欢迎指出交流。
已将本文配置完成的环境打包成box上传到百度云,有需要可自行download。
百度云链接: http://pan.baidu.com/s/1slWsHQl 密码: 83qf


相关版本
virtualbox : Version 5.0.14_Ubuntu
vagrant : Vagrant 1.8.1
vagrant+centos-7.0-x86_64.box


注:关于virtualbox+vagrant的搭建就此处略过,直接进入centos下lamp开发环境的搭建

升级系统

yum update

安装apache

  1. 安装apache服务
    yum -y install httpd
  2. apache相关配置

配置文件httpd.conf默认路径是/etc/httpd/conf/httpd.conf

  1. 将http服务添加到centos服务列表中

    1. 通过find / -name apachectl找到apachectl文件路径,如我的在/usr/sbin/apachectl
    2. 将apachectl文件拷贝到/etc/rc.d/init.d 中,然后在/etc/rc.d/rc5.d/下加入链接即可

      //如果有其他的版本的Apache存在,也可以直接覆盖掉
      cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
      //建立链接(85的意义后面介绍)
      ln -s /etc/init.d/httpd /etc/rc.d/rc5.d/S85httpd

    3. 通过命令vim /etc/rc.d/init.d/httpd修改/etc/rc.d/init.d/httpd,并加入以下注释
      # chkconfig: 345 85 15
      # description: Activates/Deactivates Apache Web Server
    4. 添加服务

      chkconfig --add httpd
    5. 检查是否成功

      chkconfig --list httpd

安装mysql

  1. 安装mysql-server

centos7版本直接yum install mysql-server是会报找不到包的错误。故要通过以下多步完成。

  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  rpm -ivh mysql-community-release-el7-5.noarch.rpm
  1. 安装mysql及其他其他相关

    yum -y install mysql mysql-devel mysql-server mysql-libs
  2. 通过systemctl start mysql.service打开服务,用mysql -u root -p进行登陆,提示登陆密码,则直接回车(密码为空),通过mysql> set password = password('password');修改密码
  3. 修改用户远程访问权限(根据自己需要,可不用)

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; 
    mysql> FLUSH PRIVILEGES;  
  4. 可能的报错

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock' (2)
    #解决办法:去到对应目录删除所以文件,如我的是rm -rf /var/lib/mysql/ ;重启mysql服务。
    ERROR 2013-Lost connection to MySQL server at ‘reading initialcommunication packet’,system error:0
    #先vim /etc/mysql/my.cnf,在bind-address = 127.0.0.1,前加上#号,重启服务

安装php

  1. 安装php

    yum -y install php
  2. 安装扩展(根据自己需要)

    yum -y install php-mysql php-gd php-imap php-ldap php-odbc php-mbstring php-devel php-soap php-cli php-pdo php-mcrypt php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator
  3. 重启httpd服务,并测试php扩展

通过命令service httpd restart重启,到html目录下,通过vim phpinfo.php编辑一个php文件。输入一下内容:

 <?php
  echo phpinfo();
  1. 访问http://127.0.0.1/phpinfo.php查看是否显示正常。

防火墙配置

  1. 禁用/停止自带的firewalld服务

停止firewalld服务systemctl stop firewalld,禁用firewalld服务systemctl mask firewalld

  1. 安装iptable iptable-service

     #先检查是否安装了iptables
     service iptables status
     #安装iptables
     yum install -y iptables
     #升级iptables
     yum update iptables 
     #安装iptables-services
 
 3. 设置现有规则

#查看iptables现有规则
iptables -L -n
#先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
#清空所有默认规则
iptables -F
#清空所有自定义规则
iptables -X
#所有计数器归0
iptables -Z
#允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
#开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开放80端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#其他入站一律丢弃
iptables -P INPUT DROP
#所有出站一律绿灯
iptables -P OUTPUT ACCEPT
#所有转发一律丢弃
iptables -P FORWARD DROP
#保存上述规则
service iptables save


 4. 开启iptables服务

#注册iptables服务
#相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service


   
    
# 联系我

如果你还是不明白的话,或者本文章内资源下载不了,可以联系我,或者是加我的QQ群(群内有资源提供下载),大家可以多多交流:


![qq](https://segmentfault.com/img/bVbA2hG) ![qq](https://segmentfault.com/img/bVbA2hD) 
  

klinson
141 声望12 粉丝