centos7下的lamp开发环境搭建

457 查看

注:本文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

  3. 将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

    1. 通过命令vim /etc/rc.d/init.d/httpd修改/etc/rc.d/init.d/httpd,并加入以下注释
      # chkconfig: 345 85 15

    # description: Activates/Deactivates Apache Web Server

    1. 添加服务

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

      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
  2. 安装mysql及其他其他相关

    yum -y install mysql mysql-devel mysql-server mysql-libs
  3. 通过systemctl start mysql.service打开服务,用mysql -u root -p进行登陆,提示登陆密码,则直接回车(密码为空),通过mysql> set password = password('password');修改密码

  4. 修改用户远程访问权限(根据自己需要,可不用)

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

    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();
  4. 访问http://127.0.0.1/phpinfo.php查看是否显示正常。

防火墙配置

  1. 禁用/停止自带的firewalld服务
    停止firewalld服务systemctl stop firewalld,禁用firewalld服务systemctl mask firewalld

  2. 安装iptable iptable-service

     #先检查是否安装了iptables
     service iptables status
     #安装iptables
     yum install -y iptables
     #升级iptables
     yum update iptables 
     #安装iptables-services
     yum install 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