zoukankan      html  css  js  c++  java
  • 配置最新版LAMP环境

     

    本篇文章讲解的是在centos7.3下配置 Apache2.4 + MySQL5.7 + PHP7.1.8

    (如果是Nginx请跳过Apache流程继续往下看,所有流程本人已临床验证无数遍,绝无问题)


    一.Apache

     

    1.查看httpd包是否可用
    yum list | grep httpd

     

    2.安装Apache
    yum install -y httpd

     

    3.配置servername
    vi /etc/httpd/conf/httpd.conf
    修改这行: ServerName localhost:80

     

    4.启动
    systemctl start httpd

    如果启动失败 请注意错误信息 一般来说新安装的软件都会启动成功 我当时启动失败后是用ps -aux | grep httpd命令发现进程被占用 所以kill -9 进程号 把httpd的进程杀干净 再启动 就OK了

     

    5.设置开机启动
    chkconfig httpd on

     


    二 MySQL

    1.安装MySQL源
    yum localinstall -y http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

     

    2.安装MySQL
    yum install mysql-community-server

     

    3.启动MySQL
    systemctl start mysqld

     

    4.获取密码
    grep 'temporary password' /var/log/mysqld.log
    得到这行A temporary password is generated for root@localhost: Jqqskhz1Wr (root@localhost:后面就是默认密码 只需复制 下一步输入密码的时候粘贴即可)

     

    5.进入MySQL
    mysql -uroot -p

     

    6.修改密码

    SET PASSWORD = PASSWORD('123456//ZZZjjj');(密码必须复杂 需包含大小写特殊符号,否则无法修改成功)

     

    7.开放远程访问权限
    use mysql;
    update user set host = '%' where user = 'root';
    百分号相当于*号,意为全部放行,也可改为IP地址则只允许此IP连接,也可以设置为192.168.%.%或者192.168.0.1/9代表允许一个ip段进行连接,也可以多加几条数据设置不同ip允许连接。

     

    8.MySQL权限管理。(只写干货,不懂的请自行Google)

     

    create user 'myqiutian'@'%' IDENTIFIED BY '*********';
    创建一个用户为myqiutian,因为用的%所以任何IP都可以登录,但登录后却无法看到数据库,新增用户所有权限默认关闭。

     

    懒人请用这一行:
    grant all on *.* to myqiutian;设置该用户所有数据库所有表拥有所有权限

     

    grant select on A数据库.* to myqiutian;
    授权myqiutian这个用户可以查看A数据库里的所有表,但是仅限于A数据库,也仅限于查看。

     

    grant insert on A数据库.user to myqiutian;
    授权myqiutian这个用户可以对A数据库里的user表进行insert操作,但仅限于user表,也仅限于select和insert操作。

     

    撤销权限
    revoke insert on A数据库.user from myqiutian;
    注意:撤销权限之前最好用show grants for myqiutian;这条sql查一下该用户有哪些权限,增加的什么权限就撤什么权限,你增加的insert就不能撤销all。

     

    MySQL权限工作流程:
    --------->用户连接MySQL
    --------->查询user表 核对账号密码 检查host字段 是否允许你的ip进行连接
    --------->查询user表 其他权限字段 值若为Y 代表用户对所有数据库所有表所有字段都拥有该权限 若有值为N 则往下走
    --------->查询db表 库权限控制表 获取该用户对哪些库拥有哪些权限 这张表里一条记录代表一个库
    --------->查询tables_priv表 获取该用户的表控制权限 同样 如果db表中该用户对A数据库拥有insert权限 那么不管tables_priv表中如何设置 都不会影响该用户的isnert权限,如果tables_priv表中的单表权限不为all,则继续往下走
    --------->查询columns_priv表 字段控制 可以设置对表字段的控制权限

     

     

    四个表依次为 user db tables_priv columns_priv

     

    注意:
    如果user表中全为Y,那么不会查询下面的表。
    user表中的select为N时,可以在db表中指定哪些库可以被用户看到。
    但是无论是表控制还是字段控制,上级权限表(user表除外)的select字段必须为Y。
    而其他权限如果上级表给出了设置,那么不会采用下级表的设置。


    具体权限字段请查阅官方手册:
    http://www.yesky.com/imagesnew/software/mysql/manual_Privilege_system.html#Privileges_provided


    8.刷新权限 立即生效
    flush privileges;


    别忘了这里有一个配置文件cat /etc/my.cnf 可以查看存储的数据与log的位置。

     


    三:PHP7

    1.通过ftp将php源码包上传到Linux上,或者通过wget在线下载也可以。因为没有找到我要的最新版的7.1.8的包,所以我就去官网下载来传到Linux上进行使用,
    将包放到/usr/local 并cd进去。(ftp的内容请查看我上一篇文章,php7的包请点击分享链接进行下载:https://pan.baidu.com/s/1kVFxBjL)网盘内容已更新为7.2版本,当前PHP最新版本。

    新加地址:http://oxr0s3tc8.bkt.clouddn.com/php-7.2.0.tar.gz  直接用wget下载更方便

     

    2.解压
    tar -zxvf php-7.1.8.tar.gz

     

     

    3.进入解压包安装一些必要的依赖
    yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

     

    4.安装gcc
    yum install -y gcc

    yum install -y gcc-c++

    5.安装

    yum -y install libxslt-devel*

    yum -y install mod_ssl

    yum -y install libtool-ltdl*

    yum -y install perl* 

    yum -y install httpd-devel

    find / -name apxs 得到的路径是:/usr/bin/apxs

    于是得到--with-apsx2的路径是/usr/bin/apxs

     

    5.进入目录进行配置

    ./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-jpeg-dir --with-freetype-dir --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --without-pear --disable-phar --with-apxs2=/usr/bin/apxs


    6.编译
    make

     

    7.编译出现错误请查阅这篇博客:
    http://www.cnblogs.com/sweetXiaoma/p/5855732.html
    感谢博主分享经验让学者收益。

     

    8.编译检查
    make test
    这步可走可不走,因为它老是爱提示错误,但又不给错误信息,如果有问题,那么编译的时候一定不成功,既然编译成功了,那么可以直接进行安装。

     

    9.安装
    make install

     

    10.添加环境变量
    vi /etc/profile
    在末尾加入:
    PATH=$PATH:/usr/local/php7/bin
    export PATH

     

    11.使改动立即生效
    source /etc/profile

     

    12.查看php版本
    php -v
    (如果有问题 请检查添加的环境变量是否是PHP安装目录里的bin目录)


    13.生成必要文件
    cp php.ini-production /usr/local/php7/etc/php.ini
    cp sapi/fpm/php-fpm /usr/local/php7/etc/php-fpm
    cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
    cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

    配置php.ini

    设置时区
    date.timezone = PRC

    是否允许上传
    file_uploads = On

    upload_tmp_dir = /tmp

    单个请求最多上传数量
    max_file_uploads = 20

    允许上传文件大小
    upload_max_filesize = 2M

    允许post传输最大值(这个必须比upload_max_filezise大)
    post_max_size = 8M

    设置脚本最大使用内存
    memory_limit = 128M

    输出错误信息
    error_reporting=E_ALL

    错误日志路径(需要可写权限)
    error_log = /var/log/php.log

    到这里  如果要对接Nginx,请左转 http://www.cnblogs.com/fengyumeng/p/7840248.html

    14.配置
    如果报错 请敲这行查报错信息 可以查到哪个文件第几行出错:
    systemctl status httpd.service

     

    修改Apache默认欢迎页:
    vi /etc/httpd/conf.d/welcome.conf
    将/usr/share/httpd/noindex 修改为/var/www

     

    修改Apache配置:
    vi /etc/httpd/conf/httpd.conf

    DocumentRoot "/var/www/"
    (请注意,/var/www这个路径是自定义,在配置文件中有好几处这个路径,如果更改,请全局搜索一下都改掉)

    找到
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    在后面添加
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .php7

    搜索<IfModule dir_module>下面这一块添加上index.php
    <IfModule dir_module>
    DirectoryIndex index.html index.php
    </IfModule>

    搜索有没有下面这一行:
    LoadModule php7_module modules/libphp7.so
    如果没有 请手动添加 否则 会出现运行php文件变成下载

     

    在最下面配置域名
    <VirtualHost *:80>
    DocumentRoot /var/www
    ServerName www.你的域名.com
    ServerAlias 你的域名.com
    <Directory /phpstudy/www>
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order Deny,Allow
    Allow from all
    </Directory>
    </VirtualHost>


    15.测试
    在www目录下创建index.php
    添加<?php phpinfo();?>
    访问:www.你的域名.com

     


    感谢阅读

     

  • 相关阅读:
    DPDK安装方法 17.12.13
    numa.h:No such file or directory 解决方法
    17秋 软件工程 第六次作业 Beta冲刺 Scrum3
    17秋 软件工程 第六次作业 Beta冲刺 总结博客
    17秋 软件工程 第六次作业 Beta冲刺 Scrum2
    Paper Reviews and Presentations
    17秋 软件工程 第六次作业 Beta冲刺 Scrum1
    17秋 软件工程 第六次作业 Beta冲刺
    error: could not create '/System/Library/Frameworks/Python.framework/Versions/2.7/share': Operation not permitted
    17秋 软件工程 个人作业 软件产品案例分析
  • 原文地址:https://www.cnblogs.com/fengyumeng/p/7356070.html
Copyright © 2011-2022 走看看