阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7.3下配置 Apache2.4 + MySQL5.7 + PHP7.1.8

161次阅读
没有评论

共计 5358 个字符,预计需要花费 14 分钟才能阅读完成。

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

一.Apache

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

2. 安装 Apache
yum install 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 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(? 冒号后面的就是密码

5. 进入 MySQL
mysql -uroot -p

6. 修改密码
ALTER USER ‘root’@’localhost’ IDENTIFIED BY **********(密码请用引号包起来 注意 MySQL 的密码必须复杂 不复杂会报错)

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 的包请点击分享链接进行下载:http://pan.baidu.com/s/1dEYQjoX)

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 gcc

5. 安装
yum -y install libxslt-devel*
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-pdo-mysql –with-pdo-sqlite –with-pear –with-png-dir –with-xmlrpc –with-xsl –with-zlib –enable-fpm –enable-bcmath -enable-inline-optimization –enable-gd-native-ttf –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 –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

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

下面关于 LAMP 相关 的内容你可能也喜欢

CentOS 7.3 下配置 LAMP 实现 WordPress  http://www.linuxidc.com/Linux/2017-07/145947.htm

CentOS7 下安装部署 LAMP 环境  http://www.linuxidc.com/Linux/2016-04/130653.htm

CentOS 7 上安装(LAMP)服务 Linux,Apache,MySQL,PHP  http://www.linuxidc.com/Linux/2017-05/143868.htm

Ubuntu Server 14.04 LTS 下搭建 LAMP 环境图文详解  http://www.linuxidc.com/Linux/2016-12/138758.htm

Ubuntu Server 16.04 下配置 LAMP 环境 http://www.linuxidc.com/Linux/2016-12/138757.htm

在 Ubuntu 17.04 上安装搭建 LAMP 组件环境  http://www.linuxidc.com/Linux/2017-07/145644.htm

CentOS 6.7 编译安装 LAMP 详解 http://www.linuxidc.com/Linux/2017-03/141244.htm

Ubuntu 16.04 搭建 LAMP 开发环境 http://www.linuxidc.com/Linux/2016-10/136327.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146220.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5358字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中