CentOS 7 下搭建PHP环境(LAMP)

PHP相关组件安装

转载自:江霁月的私人小屋

安装EPEL源

由于CentOS自带的yum源中php版本太低,所以需要添加第三方源Webtatic或remi,这里我选择Webtatic,而第三方源大多依赖EPEL源,所以需要先安装EPEL,CentOS 7只需要如下操作即可

yum install epel-release

安装Webtatic源

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

webtatic源就安装成功了,再 yum update一下,不出意外EPEL应该会有一个版本更新,输入y确认即可

安装PHP

输入 yum list | grep php查看可以安装的php版本信息

可以看到webtatic源包含了多个版本的php,然后在命令行输入以下命令

yum install -y php72w php72w-opcache php72w-xml php72w-mcrypt php72w-gd php72w-devel php72w-mysql php72w-intl php72w-mbstring php72w-fpm

可以根据自己的需要安装指定版本的php,只需要修改命令中的数字为对应版本即可 安装完成后,在命令行输入 php -v 到这里php就安装成功了

安装和配置Mysql

首先在终端输入以下命令

rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

这时mysql官方源就装好了,接着在终端输入

yum install mysql mysql-server mysql-devel

输入y确认,开始下载安装

Mysql的基本配置

启动Mysql服务

安装完成后,首先启动mysql服务,输入以下命令

systemctl start mysqld

设置开机自启动

systemctl enable mysqld

此时mysql服务端已经启动了

修改Mysql默认密码及配置文件

mysql安装完成之后,在 /var/log/mysqld.log文件中为root用户生成了一个默认密码

通过下面的命令找到root默认密码,然后登录mysql进行修改

grep ‘temporary password’ /var/log/mysqld.log 、

修改密码

mysql -uroot -p 登陆 修改密码: SET PASSWORD = PASSWORD(‘your new password’); 备注: 默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位

修改默认编码

mysql的配置文件在 /etc/my.cnf

由于mysql默认的编码不是utf8,在使用过程中可能会出现乱码,所以需要手动修改配置文件,这里我将默认编码改为 utf8mb4

[mysqld] character_set_server=utf8mb4 init_connect=’SET NAMES utf8mb4′ innodb_buffer_pool_size=64MB event_scheduler=on [mysql] default_character_set=utf8mb4 [client] default_character_set=utf8mb4

完成修改,在终端输入 systemctl restart mysqld 重启mysql 之后进入mysql mysql>status; 就会发现所有编码方式都是默认utf8了

添加远程登录用户

mysql默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,新建一个用户

grant all privileges on *.* to ‘用户名’@’%’ identified by ‘密码’;

# 刷新用户权限

flush privileges;

到这里mysql的安装配置就大致完成了

安装Apache

Apache的安装就很简单了,直接输入命令

yum install -y httpd httpd-devel

安装完成后,找到httpd配置文件 etc/httpd/conf/httpd.conf

出于安全考虑,关闭网站的目录浏览功能,在 <Directory “/var/www/html”> 条目中,修改 Options Indexes FollowSymLinks 为 Options -Indexes +FollowSymLinks

启动httpd

systemctl start httpd

systemctl enable httpd

测试

apache的默认路径在 /var/www/html 下,在这个目录新建一个 test.php文件,然后写入以下内容

<?php phpinfo(); ?>

在浏览器打开 http://服务器ip/test.php ,如果能够显示php信息,则说明已经php环境已经成功搭建;如果打不开,关闭防火墙或者查看这篇文章Centos7.3防火墙配置

systemctl stop firewalld

如果还是失败,查看80端口是否被占用

netstat -apn | grep 80