LAMP环境版本

  • 操作系统:Centos 7
  • Mysql:5.7.11
  • Apache:2.4.18
  • PHP:7.0.4
 
 

安装Mysql

 
 
 

为mysql创建专属帐号

  1. shell> groupadd mysql
  2. shell> useradd -r -g mysql -s /bin/false mysql
 

源码编译安装

  1. shell> tar zxvf mysql-5.7.11.tar.gz
  2. shell> cd mysql-5.7.11
  3. shell> cmake .
  4. shell> make
  5. shell> make install

安装后设置

注意:从Mysql5.7开始,mysql默认安装后不再是空密码,而是生成一个随机密码,除非初始化时指定--initialize-insecure。
所有用户拥有对于MySQL默认安装test数据库的访问权限(即使没有授予权限)为了安全考虑5.7版本中不在有test数据库。
更为重要的是,MySQL 5.7版本提供了更为简单SSL安全访问配置,并且默认连接就采用SSL的加密方式
 
  1. shell> cd /usr/local/mysql
  2. shell> chown -R mysql .  #修改目录所有者为mysql
  3. shell> chgrp -R mysql .  #修改目录所属组为mysql
  4. shell> bin/mysqld --initialize-insecure --user=mysql --datadir=/data/mysql  #初始化mysql,初始化为空,数据库存放目录指定为/data/mysql
  5. shell> bin/mysql_ssl_rsa_setup #启动ssl加密方式连接
  6. shell> chown -R root .   #修改目录所有者为root
  7. shell> chown -R mysql /data/mysql  #修改数据库目录所有者为mysql

安装mysql服务

只需要将mysql安装目录下的mysql.server复制过去就OK了。
  1. shell> cp support-files/mysql.server /etc/init.d/mysql.server
  2. shell> service mysql start   #启动服务

安装Apache

 
 
 

源码编译安装

 
  1. shell> ./configure --prefix=/usr/local/apahche \
  2. --enable-so #动态共享对象,可实现模块动态生效 \
  3. --enable-rewrite #启用Rewrite功能 \
  4. --enable-ssl #支持SSL/TLS,可以实现https访问 \
  5. --enable-deflate #支持压缩 \
  6. shell> make
  7. shell> make install

apache的启动与关闭

 
  1. shell> /usr/local/apache/bin/apachectl start    #启动
  2. shell> /usr/local/apache/bin/apachectl stop     #停止
  3. shell> /usr/local/apache/bin/apachectl restart  #重启

将apache添加到Linux的服务并设置自启动

 
  1. shell> cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd   #设置为系统服务
  2. shell> ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S80httpd   #在启动级别3中自启动
  3. shell> service httpd restart   #通过服务来重启apache
 

运行测试页面

 
在客户端浏览器上输入服务器的IP地址,看是否能正常打开网页。
 
 
 

常见问题

  • configure: error: APR not found.

    解决方法: 安装对应依赖库
    1. shell> yum install apr apr-util-devel
  • configure: error: pcre-config for libpcre not found.
    解决方法:安装对应依赖库

    1. yum install pcre pcre-devel
  • 启动apache时报:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.44.13.173. Set the 'ServerName' directive globally to suppress this message
    解决方法:修改配置文件httpd.conf设置ServerName localhost:80
 

安装PHP

 
 

安装依赖库

 
  • zlib
     
    1. shell> tar xf zlib.1.2.8.tar.gz
    2. shell> cd zlib.1.2.8
    3. shell> ./configure
    4. shell> make test
    5. shell> make install
  • GD库
     
    libpng
    1. shell> tar xf libpng-1.6.21
    2. shell> cd libpng-1.6.21
    3. shell> ./configure --prefix=/usr/local/libpng
    4. shell> make
    5. shell> make check
    6. shell> make install

    jpeg

    1. shell> tar xf jpegsrc.v9.tar.gz
    2. shell> cd jpeg-9
    3. shell> ./configure --prefix=/usr/local/libjpeg
    4. shell> make
    5. shell> make install
  • libcurl-devel
    1. yum install libcurl-devel
  • openssl-devel
    1. yum install openssl-devel
  • libxslt-devel
    1. yum install libxslt-devel
  • libxml2-devel
    1. yum install libxml2-devel
  • freetype 字体操作库
    1. shell> tar xf freetype-2.6.3.tar.bz2
    2. shell> sh autogen.sh
    3. shell> ./configure --prefix=/usr/local/freetype
    4. shell> make
    5. shell> make install

编译安装PHP

  1. ./configure --prefix=/usr/local/php \
  2. --with-apxs2=/usr/local/apache/bin/apxs \
  3. --with-curl \
  4. --with-freetype-dir=/usr/local/freetype \
  5. --with-gd \
  6. --with-gettext \
  7. --with-iconv-dir \
  8. --with-mysqli \
  9. --with-openssl \
  10. --with-pcre-regex \
  11. --with-pdo-mysql \
  12. --with-pdo-sqlite \
  13. --with-pear \
  14. --with-png-dir=/usr/local/libpng \
  15. --with-jpeg-dir=/usr/local/libjpeg \
  16. --with-xsl \
  17. --with-zlib \
  18. --enable-fpm \
  19. --enable-bcmath \
  20. --enable-libxml \
  21. --enable-inline-optimization \
  22. --enable-gd-native-ttf \
  23. --enable-mbregex \
  24. --enable-mbstring \
  25. --enable-opcache \
  26. --enable-pcntl \
  27. --enable-shmop \
  28. --enable-soap \
  29. --enable-sockets \
  30. --enable-sysvsem \
  31. --enable-xml \
  32. --enable-zip
  33. shell> make
  34. shell> make install
 
Apache与PHP的关联

PHP安装成功后会在apache的modules目录下生成一个libphp.so动态库文件,在apache的配置文件httpd.conf里自动增加一行

  1. LoadModule php7_module        modules/libphp7.so
 

在Apache的配置文件httpd.conf的<IfModule mime_module></IfModule>块里增加一行

  1. AddType application/x-httpd-php .php

在网站要目录/usr/local/htdocs里增加一个index.php测试文件内容如下:

  1. <?php
  2. phpinfo();

然后我们运行此文件,如果输出了phpinfo信息,证明我们安装成功。

linux下PHP7环境搭建的更多相关文章

  1. linux下LAMP环境搭建

    ++++++++++++++++++++++++++++++++++++++++++++++ linux下LAMP环境搭建 ++++++++++++++++++++++++++++++++++++++ ...

  2. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  3. Linux 下LNMP环境搭建_【all】

    LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...

  4. linux下LAMP环境搭建尝试

    最近,学习搭建了LAMP服务环境,中间遇到了很多问题,经过不断摸索总算得以解决.为了大家少走弯路,现将相关经验进行总结. linux下软件安装分为自动安装和手动安装两种,自动安装借助工具如yum等,自 ...

  5. linux下PHP 环境搭建

    linux下环境搭建   第一步 安装Apache2 sudo apt-get install apache2   第二步 安装PHP模块 sudo apt-get install php5   第三 ...

  6. linux下scrapy环境搭建

    最近使用scrapy做数据挖掘,使用scrapy定时抓取数据并存入MongoDB,本文记录环境搭建过程以作备忘 OS:ubuntu 14.04  python:2.7.6 scrapy:1.0.5 D ...

  7. Linux 下LAMP环境搭建_【all】

    LAMP = Linux + Apache + Mysql + PHP 0. Linux环境搭建 Linux 系统安装[Redhat] 1.http服务软件分类及企业实战用途介绍 静态程序: Apac ...

  8. Zedboard学习(二):zedboard的Linux下交叉编译环境搭建 标签: 交叉编译linuxzedboard 2017-07-04 23:49 19人阅读

    环境准备 首先肯定是要下载xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin文件,这是官方提供的linux下交叉编译链安装文件,下载地址为:https://p ...

  9. Linux下-LNMP环境搭建博客网站(全过程)

    通常我们所说的LNMP是指一个网站基本的组织框架,即Linux系统支持,Nginx静态服务,Mysql数据库支持以及PHP动态编程语言支持.目前Mysql数据库被Oracle数据库分析公司收购,其创始 ...

随机推荐

  1. JavaScript为select添加option,select选项变化时的处理,获取slelect被选中的值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. Windows Azure HDInsight 使用技巧

    Windows Azure HDInsight是一个面向大数据的PaaS服务,是PaaS版本的Hadoop.HDInsight是微软与Hortonworks合作的产物.可以理解为Hortonworks ...

  3. Docker on Microsoft Azure

    Docker蓬勃发展,如日中天.微软自然也不甘落后,且不说即将发布的.支持Docker技术的Windows Nano Server和Windows Server 2016.我们来看看在Microsof ...

  4. html5新增及废除属性

    html5中,在新增加和废除很多元素的同时,也增加和废除了很多属性. 一.新增属性 1.表单属性 a.autofocus 对input[所有类型].select.textarea与button指定au ...

  5. AngularJs学习总结-了解基本特性(-)

    现在的前端项目中基本上都会用到angularjs框架,之前并不了解这个框架,也是因为最近接手的项目,所以打算好好的学习下它.之前都是搞pc端,现在接手的是移动端的项目,移动端UI框架用的是ionic+ ...

  6. POJ3255Roadblocks[次短路]

    Roadblocks Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12697   Accepted: 4491 Descr ...

  7. 洛谷P1120小木棍[DFS]

    题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度,编 ...

  8. [IPA]IOS In App Purchase(内购)验证

    参考我之前的笔记 苹果内购笔记,在客户端向苹果购买成功之后,我们需要进行二次验证. 二次验证 IOS在沙箱环境下购买成功之后,向苹果进行二次验证,确认用户是否购买成功. 当应用向Apple服务器请求购 ...

  9. Java MyEclipse下Ant build.xml简单实例详解

    一.下载配置ant 1.首先下载ant: http://www.apache.org/ 下载最新的版本2.解压ant 后设置ANT_HOME, PATH中添加ANT_HOME目录下的bin目录(如:A ...

  10. MVC 数据验证[转]

    前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解. 一.基础特性 一.Required 必填选项,当提交的表单缺少该值就引发验证错误. 二.StringLength 指定允许的长度 指 ...