CentOS7 LAMP环境搭建

20 篇文章 0 订阅
10 篇文章 0 订阅

一.Apache

1.查看httpd包是否可用

yum list | grep httpd
 
 
  • 1

2.安装Apache

yum install httpd
 
 
  • 1

3.配置servername

vi /etc/httpd/conf/httpd.conf
修改这行: ServerName localhost:80
 
 
  • 1
  • 2

4.启动

systemctl start httpd
 
 
  • 1

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

5.设置开机启动

chkconfig httpd on
 
 
  • 1

二 MySQL

1.安装MySQL源

yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
 
 
  • 1

2.安装MySQL

yum install mysql-community-server
 
 
  • 1

3.启动MySQL

systemctl start mysqld
 
 
  • 1

4.获取密码

grep 'temporary password' /var/log/mysqld.log
得到这行A temporary password is generated for root@localhost: Jqqskhz1Wr(? 冒号后面的就是密码
 
 
  • 1
  • 2

5.进入MySQL

mysql -uroot -p
 
 
  • 1

6.修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY ********** (密码请用引号包起来 注意MySQL的密码必须复杂 不复杂会报错)
 
 
  • 1

7.开放远程访问权限

use mysql;
update user set host = '%' where user = 'root';
 
 
  • 1
  • 2

百分号相当于*号,意为全部放行,也可改为IP地址则只允许此IP连接,也可以设置为192.168.%.%或者192.168.0.1/9代表允许一个ip段进行连接,也可以多加几条数据设置不同ip允许连接。

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

create user 'myqiutian'@'%' IDENTIFIED BY '*********';
 
 
  • 1

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

懒人请用这一行:

grant all on *.* to myqiutian;设置该用户所有数据库所有表拥有所有权限
 
 
  • 1
grant select on A数据库.* to myqiutian;
 
 
  • 1

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

grant insert on A数据库.user to myqiutian;
 
 
  • 1

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

撤销权限

revoke insert on A数据库.user from myqiutian;
 
 
  • 1

注意:撤销权限之前最好用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;
 
 
  • 1

别忘了这里有一个配置文件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
 
 
  • 1

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
 
 
  • 1

4.安装gcc

yum install gcc
 
 
  • 1

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
 
 
  • 1
  • 2
  • 3
  • 4
  • 5

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
 
 
  • 1

6.编译

make

7.编译出现错误请查阅这篇博客:

http://www.cnblogs.com/sweetXiaoma/p/5855732.html 
感谢博主分享经验让学者收益。

8.编译检查

make test 
 
 
  • 1

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

9.安装

make install
 
 
  • 1

10.添加环境变量

vi /etc/profile
 
 
  • 1

在末尾加入:

PATH=$PATH:/usr/local/php7/bin
export PATH
 
 
  • 1
  • 2

11.使改动立即生效

source /etc/profile
 
 
  • 1

12.查看php版本

php -v 
 
 
  • 1

(如果有问题 请检查添加的环境变量是否是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
 
 
  • 1
  • 2
  • 3
  • 4

14.配置

如果报错 请敲这行查报错信息 可以查到哪个文件第几行出错:

systemctl status httpd.service
 
 
  • 1

修改Apache默认欢迎页:

vi /etc/httpd/conf.d/welcome.conf 
将/usr/share/httpd/noindex 修改为/var/www
 
 
  • 1
  • 2

修改Apache配置:

vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/"
 
 
  • 1
  • 2

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

找到

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
 
 
  • 1
  • 2

在后面添加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .php7
 
 
  • 1
  • 2

搜索下面这一块添加上index.php

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
 
 
  • 1
  • 2
  • 3

搜索有没有下面这一行:

LoadModule php7_module modules/libphp7.so
 
 
  • 1

如果没有 请手动添加 否则 会出现运行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>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

15.测试 
在www目录下创建index.php 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值