PHP头条
热点:

CentOS 7 下搭建PHP环境(LAMP),centoslamp


CentOS 7 下搭建PHP环境(LAMP)

本文基于CentOS 7(64bit),Apache 2.4, MariaDB 10.2, PHP 7.1搭建整套PHP服务器环境。虽然版本都比较新,但经过测试都是很稳定的版本,并且选择了Mysql的开源分支MariaDB来替代Mysql,原因会在文中详述

此外,本文的CentOS环境只安装了最基本的Minimal包,故不再讨论软件包的版本冲突和卸载问题

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 php71w php71w-opcache php71w-xml php71w-mcrypt php71w-gd php71w-devel php71w-mysql php71w-intl php71w-mbstring php71w-fpm

可以根据自己的需要安装指定版本的php,只需要修改命令中的数字为对应版本即可

安装完成后,在命令行输入php -v


到这里php就安装成功了

安装和配置Mysql

DB的安装

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险

由于MariaDB完全兼容Mysql,所以我们选择安装MariaDB来替代Mysql

MariaDB的安装方法(推荐)

RHEL系的系统默认的DB是mariadb,但是版本比较低,这里我选择通过mariadb官方源来安装

可以进入MariaDB官方下载地址选择对应系统版本(注意: 64位机器选择x86_64),然后选择最新的Stable版本,我这里选择的是10.2

/etc/yum.repo.d/创建MariaDB.repo,将与系统版本对应的Yum源信息复制进去,我这里是CentOS7

# MariaDB 10.2 CentOS repository list - created 2018-01-29 07:46 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

接着在终端输入

yum install MariaDB-server MariaDB-client MariaDB-devel

等待安装完成即可

Mysql的安装方法

如果不想安装MariaDB,也可以选择安装Mysql
首先在终端输入以下命令

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

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

yum install mysql mysql-server mysql-devel


可以看到,官方源的5.7版本已经替换掉了系统自带的mariadb,输入y确认,开始下载安装,网速不给力,就慢慢等吧

MariaDB的基本配置

请参照这篇博客
CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置

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');
# 或者
set password for 'root'@'localhost'=password('root');

修改密码失败了,这是由于mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位,否则就会出现上面的错误

修改配置文件

mysql的配置文件在/etc/my.cnf,首先修改密码策略,在[mysqld]下添加配置项

# 选择0(LOW), 1(MEDIUM), 2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy = 0
# 如果不需要密码策略,直接禁用
validate_password = off

以上配置2选1即可

修改默认编码

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

[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默认只允许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 Indexs FollowSymLinks

Options -Indexs +FollowSymLinks

启动httpd

systemctl start httpd
systemctl enable httpd

测试

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

<?php
  phpinfo();
?>

在浏览器打开http://服务器ip/test.php,如果能够显示php信息,则说明已经php环境已经成功搭建;如果打不开,关闭防火墙

systemctl stop firewalld

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

netstat -apn | grep 80

如果还是打不开…那应该就是你的问题了

EOF

至此,PHP整套服务器环境就搭建完成了,写得仓促,可能文中还有些许疏漏,请不吝赐教.

转载于##北京小悟科技有限公司的罗圣杰同学的博客,虽然直接照抄,仍从中受益良多。

www.phpzy.comtrue/php/5095.htmlTechArticleCentOS 7 下搭建PHP环境(LAMP),centoslamp CentOS 7 下搭建PHP环境(LAMP) 本文基于 CentOS 7(64bit) , Apache 2.4 , MariaDB 10.2 , PHP 7.1 搭建整套PHP服务器环境。虽然版本都比较新,但经过测试都是很稳定的版...

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐