LAMP是当下非常热门的Web开发环境。很多开发者在搭建LAMP的过程中会遇到各种各样的问题,想到这些头都快爆炸了,今天特意抽出时间将PHP开发环境的搭建过程记录下来,以便供大家做个参考。如果大家发现什么问题,还希望大家指正。
  一、获取安装包
     - PHP下载地址:http://hk1.php.net/get/php-7.1.10.tar.gz/from/this/mirror
- Apache下载地址:http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.28.tar.gz
- MySQL下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
二、安装Apache
      1. 依赖包安装
     1) 安装编译器gcc、gcc-c++
   yum install -y gcc gcc-c++
   2) 安装依赖包expat-devel、zlib-devel、openssl-devel
   yum install -y expat-devel zlib-devel openssl-devel 
   2) 安装依赖包apr
   wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.2.tar.gz tar zxvf apr-1.6.2.tar.gz cd apr-1.6.2 ./configure --prefix=/usr/local/apr make && make install
   3) 安装依赖包apr-util
   wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.0.tar.gz tar zxvf apr-util-1.6.0.tar.gz cd apr-util-1.6.0 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install
   4) 安装依赖包pcre
   wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz tar zxvf pcre-8.41.tar.gz cd pcre-8.41 ./configure --prefix=/usr/local/pcre make && make install
   注意: 将apr、apr-util安装包拷贝到Apache安装包的srclib目录中
              名称分别命名为apr、apr-util,不要后面的版本号
  
      2. 安装过程
     1) 解压Apache安装包
   tar zxvf httpd-2.4.28.tar.gz
   2) 编译、安装
   cd httpd-2.4.28 ./configure --prefix=/usr/local/server/apache \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util \ --with-pcre=/usr/local/pcre \ --enable-so \ --enable-ssl \ --enable-deflate \ --enable-rewrite \ --enable-headers \ --enable-expires \ --disable-cgid\ --disable-cgi make && make install
    
  
      3. 修改配置文件httpd.conf
     vim /usr/local/server/apache/conf/httpd.conf
   去掉ServerName前面的 #
   并将ServerName后面的网址改为localhost:80
  
      4. 将httpd加入系统服务并设置开机自启
     1) 将httpd加入系统服务
   cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd
   2) 修改/etc/init.d/httpd,在第3行加入以下内容
   # chkconfig: 345 85 15 # description: Activates/Deactivates Apache Web Server
   注意: 代码中的 # 不可以去掉
   3) 设置系统服务开机自启
   systemctl enable httpd
   4) 启动Apache
   service httpd start
    
  
  三、安装MySQL
      1. 安装前准备
     1) 解压安装包
   tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/server/mysql
   2) 创建用户和用户组并分配相应的权限
   groupadd mysql useradd -r -g mysql mysql chown -R mysql:mysql .
    
  
      2. mysql的初始化并做基本配置
     1) 初始化mysql
   cd /usr/local/server/mysql bin/mysqld \ --initialize \ --user=mysql \ --basedir=/usr/local/server/mysql \ --datadir=/usr/local/server/mysql/data \
   2) 配置mysql
   vim my.cnf  # 创建配置文件
   本示例仅保证mysql可以正常运行,更多配置请参考官方文档说明
   [mysqld] skip-grant-tables basedir = /usr/local/server/mysql datadir = /usr/local/server/mysql/data port = 3306
   将配置文件软链接到 /etc/ 目录
   ln -s /usr/local/server/mysql/my.cnf /etc/my.cnf
   注意: 如果建立软链接时提示文件存在则本步骤可忽略
  
      3. 启动mysql并设置root用户密码
     1) 启动mysql
   support-files/mysql.server start  # 启动MySQL bin/mysql -uroot -p  # 这里直接回车,无须输入密码
   2) 设置root用户密码
   use mysql; update user set authentication_string=password('root') where user='root'; exit;
   注意1: 修改密码成功后注销配置文件中的skip-grant-tables
              重启mysql后使用root用户重新登陆,然后执行以下代码
   set password=password('root');
   注意2: 第二次执行重置密码是系统要求,否则不可以操作数据库
  
      4. 设置环境变量和开机自启
     1) 设置环境变量
   编辑profile文件
   vim /etc/profile
   添加下列信息到profile尾部
   export PATH=$PATH:/usr/local/server/mysql/bin
   使环境变量立即生效
   source /etc/profile
   2) 设置开机自启
   cp support-files/mysql.server /etc/init.d/mysqld   systemctl enable mysqld 
    
  
      5. 防火墙设置
     CentOS默认开启了 firewall 防火墙,下面我们使用firewall开启3306l端口
   1) 开启之前我们先查询下3306端口是否开启
   firewall-cmd --query-port=3306/tcp
   2) 我们可以选择临时开启或者永久开启3306端口
   firewall-cmd --add-port=3306/tcp  # 临时开启3306端口   firewall-cmd --permanent --zone=public --add-port=3306/tcp  # 永久开启3306端口
   3) 重启firewall
   firewall-cmd --reload
    
  
      6. 远程访问
     1) 给予任何主机访问mysql的权限
   GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
   2) 使权限修改生效
   FLUSH PRIVILEGES;
    
  
  四、安装PHP
      1. 安装步骤
     1) 安装依赖包libxml-devel
   yum install libxml2-devel
   2) 解压PHP安装包
   tar zxvf php-7.1.10.tar.gz
   3) 编译安装
   cd php-7.1.10 ./configure --prefix=/usr/local/server/php \ --with-apxs2=/usr/local/server/apache/bin/apxs \ --with-config-file-path=/usr/local/server/php \ --with-pdo-mysql make && make install 
    
  
      2. 配置php.ini
     1) 将配置文件拷贝到PHP安装目录
   cp php.ini-* /usr/local/server/php/
   2) 生成php.ini
   cp php.ini-development /usr/local/server/php/php.ini
    
  
      3. 修改httpd.conf
     载入PHP模块,如httpd.conf中有下列代码则直接去掉前面#即可,没有则加入
   LoadModule php7_module modules/libphp7.so
   在底部加入以下代码使得Apache可以解析php文件
   <IfModule mod_php7.c> 	AddType application/x-httpd-php .php </IfModule>
   找到如下代码,在index.html后面加入index.php
   <IfModule dir_module>     DirectoryIndex index.html </IfModule>
   重启Apache
   service httpd restart
    
  
      4. 测试PHP是否成功安装
     创建/usr/local/server/apache/htdocs/index.php
   vim /usr/local/server/apache/htdocs/index.php
   在index.php中编写以下代码
   <?php     phpinfo();  ?>
   如果出现以下页面则安装成功
   