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. linux 文件系统解析及相关命令

    简介 文件系统就是分区或磁盘上的所有文件的逻辑集合. 文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中. 不同Lin ...

  2. css3中变形与动画(二)

    css3制作动画的几个属性:变形(transform),过渡(transition)和动画(animation). transform介绍过了.接下来介绍过渡transition. 一.例子 先通过一 ...

  3. 地铁 Dijkstra(优先队列优化) 湖南省第12届省赛

    传送门:地铁 思路:拆点,最短路:拆点比较复杂,所以对边进行最短路,spfa会tle,所以改用Dijkstra(优先队列优化) 模板 /******************************** ...

  4. 使用while循环语句和变量输出九九乘法表

    输出的结果如下:

  5. 读取另一个项目中方法的json

    A项目中的被调用方法: public class Eg1Action { public void save(){        write("{\"state\":1,\ ...

  6. Android驱动入门-Led控制+app+ndk库+底层驱动

    硬件平台: FriendlyARM Tiny4412 Cortex-A9 操作系统: UBUNTU 14.04 LTS 时间:2016-09-20  21:56:48 本次实验使用的是 安卓APP + ...

  7. 【bzoj1828】[Usaco2010 Mar]

    Description Input 第1行:两个用空格隔开的整数:N和M * 第2行到N+1行:第i+1行表示一个整数C_i * 第N+2到N+M+1行: 第i+N+1行表示2个整数 A_i和B_i ...

  8. RecyclerView,CardView导入和使用(Demo)

    简介: 这篇文章是ANDROID L——Material Design详解(UI控件)的一个补充或者说是应用实例,如果有时间建议大家稍微浏览一下上篇文章. 本文主要介绍Android L新增加的两个U ...

  9. UIScrollView解决无法触发手势

    //创建一个分类 //.h #import <UIKit/UIKit.h> @interface UIScrollView (Touch) - (void)touchesBegan:(NS ...

  10. jq分页异步刷新 ,全局刷新问题

    在做分页的时候,可能点击下一页全部刷新 这样写会导致动态刷新,页面全部刷新了 $("#pageList a").click(function () { var $s = $(thi ...