Centos7 下安装配置Apache+Mysql5.7+PHP7.0+phpmyadmin 搭建LAMP
=========================================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权限管理
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.没有安装EPEL的话,先执行,如果安装就跳过。
yum -y install epel-release
2.rpm 安装 Php7 相应的 yum源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
3.若原有安装PHP 卸载原有php 没有忽略此步
yum remove php* php-common
4直接yum安装php7
yum install php70w php70w-mysql php70w-mbstring php70w-mcrypt php70w-gd php70w-imap php70w-ldap php70w-odbc php70w-pear php70w-xml php70w-xmlrpc php70w-pdo
5.查看php安装了那些拓展模块
php -m
6.安装其他需要的模块
yum -y install php70w-xxx
==================================简单配置============================================================
1 . 修改Apache默认欢迎页:
vi /etc/httpd/conf.d/welcome.conf
将/usr/share/httpd/noindex 修改为/var/www
2 . 修改Apache配置: vi /etc/httpd/conf/httpd.conf
①.DocumentRoot "/var/www/";
②.搜索下面这一块添加上index.php
DirectoryIndex index.html index.php
多站点子域名 配置 将下面部分 每复制 添加到Apache配置文件:/etc/httpd/conf/httpd.conf 最后边 配置一份 就可有新的站点
DocumentRoot /var/www/html/carku/public
ServerName www.你的域名.com
ServerAlias 你的域名.com
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
========================================phpmyadmin===================================================
先安装epel,不然安装phpmyadmin时会出现找不到包.
yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
安装
sudo yum install phpmyadmin
在CentOS 7上配置phpMyAdmin
默认情况下,CentOS 7上的phpMyAdmin只允许从回环地址(127.0.0.1)访问。为了能远程连接,你需要改动它的配置。
用文本编辑器打开phpMyAdmin的配置文件(路径:/etc/httpd/conf.d/phpMyAdmin.conf),找出并注释掉带有"Require ip XXXX"字样的代码行。会有四处这样的代码行,用"Require all granted"取而代之。重新改动过的配置文件如下所示。
sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
修改后的文件内容
最后,重启httpd使改动生效。
sudo systemctl restart httpd
测试 :访问 ip/phpmyadmin