Step 1:更换阿里云 yum 源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum update

Step 2:Apache 部分

安装Apacheyum -y install httpd

启动Apache服务systemctl start httpd

检查Apache服务状态是否runningsystemctl status httpd

设置Apache服务自启动守卫systemctl enable httpd

此时,访问服务器的80端口,应可以看到Apache的默认页。如果不能访问,请检查防火墙设置。

Apache的默认网页资源目录是/var/www/html,默认配置文件位置是/etc/httpd/conf/httpd.conf

Step 3:MySQL 5.7 部分

安装MySQL及服务器:由于需要下载文件,请在合适的目录下执行下列操作。若系统没有wget,请先yum install wget安装之。

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

启动MySQL服务systemctl start mysqld.service

检查MySQL服务是否runningsystemctl status mysqld.service

设置MySQL服务自启动守卫systemctl enable mysqld.service

获取MySQL初始随机密码grep "password" /var/log/mysqld.log

使用该密码进入数据库mysql -uroot -p,输入密码进入

执行查询,修改默认密码ALTER USER 'root'@'localhost' IDENTIFIED BY '[NEWPASSWORD]';

注意,依据安全性政策,过于简单的密码无法通过要求。

新增最高权限用户:实际操作中,我们不可能将root用户暴露到%域来做数据库操作,所以添加一个新用户。执行下列查询:

CREATE USER '[USERNAME]'@'%' IDENTIFIED BY '[PASSWORD]';
GRANT ALL ON *.* TO '[USERNAME]'@'%';
FLUSH PRIVILEGES;

至此,使用配置好的用户名和密码,应可以使用Navicat连接上数据库。

Step 4: PHP 7 部分

注意,直接yum安装PHP会安装5.4版本。如果不慎安装,请执行

yum remove php
yum remove php-fpm
yum remove php-common

然后reboot服务器,再进行后续安装。

为安装PHP 7,需要配置一下新的源:

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

安装PHPyum -y install php72w

安装PHP依赖yum -y install php72w-fpm

安装常用的PHP插件yum -y install php72w-cli php72w-common php72w-devel php72w-mbstring php72w-mysqlnd

重启服务器和数据库,使相关插件生效

systemctl restart httpd.service
systemctl restart mysqld.service

验证PHP版本是否为7.0+php -v

测试PHP能否正常解释

cd /var/www/html
vi test.php

内容为 <?php phpinfo(); ?>

在浏览器访问之。若出现诊断页,则安装成功。

Step 5: 检查 MySQLi 支持

test.php中搜索mysqli,若能看到类似表格,则MySQLi支持已启动。PHP 7.2版本默认启用MySQLi。

Step 6: 安全性配置

关闭Apache的目录索引权限:访问Apache的httpd.conf文件,去除<Directory /var/www/html>OptionsIndexes属性

在正式上线时,关闭PHP错误提示:编辑php.ini,修改display_errors选项到Off。

一些在Ubuntu下需要做的但在CentOS下好像不需要了的操作(仅供参考):

MySQL的默认配置文件路径为/etc/my.cnf,其中的具体配置项目请参看https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

  • 取消MySQL的地址绑定(否则会导致外网无法连接数据库):[mysqld]bind_address=0.0.0.0

  • 禁止MySQL进行域名解析(否则会导致外网连接数据库极慢无比):[mysqld]下添加skip-name-resolve

  • 设置数据库默认编码UTF-8:[mysqld]下添加character_set_server=utf8init_connect='SET NAMES utf8'

Step 7: FTP 服务器

使用xShell联合xFtp即可直接连接。

Step 8: 启用HTTPS

安装SSL支持yum install mod_ssl openssl

依据https://help.aliyun.com/knowledge_detail/95493.html的说明配置证书文件,注意:

  • 第2步若找不到对应配置项,无视该步骤
  • 第3步配置文件位置为/etc/httpd/conf.d/ssl.conf
  • 第4步所给指令不再有效,请使用systemctl restart httpd

现在,可以以域名方式https访问相应端口。

至此,LAMP环境搭建完成。后续PHP代码上传到/var/www/html目录下即可。

CentOS 7下Apache + PHP + MySQL环境(LAMP)的安装的更多相关文章

  1. Wndows下Apache+php+Mysql环境的搭建及其涉及的知识(转)

    一.安装Apache 1. 在网上搜索以下3个文件,以及找一个地方新建一个文件夹 好吧,这里有下载链接:http://pan.baidu.com/s/1hr9IdSS 文件夹内有:apache,mys ...

  2. Wndows下Apache+php+Mysql环境的搭建及其涉及的知识

    一.安装Apache 1. 在网上搜索以下3个文件,以及找一个地方新建一个文件夹 好吧,这里有下载链接:http://pan.baidu.com/s/1hr9IdSS 文件夹内有:apache,mys ...

  3. Centos 7 下yum搭建lnmp环境(yum安装方式)

    我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...

  4. windows 7 64bit 下apache php mysql 环境配置

    在64位环境下安装apache,php和配置过程 准备好安装包.(64位版本) Apache 下载地址:http://www.apachelounge.com/download/ Php 下载地址:h ...

  5. windows下apache+php+mysql 环境配置方法

    一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t. ...

  6. RedHat下apache\ftp\mysql 4.0 的安装方法

    RedHat下安装这三个服务的方法大同小异 Apache服务: 找到Apache安装包: rpm -ivh httpd-2.0.40-21.i386.rpm 等待安装完成即可 检查安装结果: rpm ...

  7. Linux(Centos7)搭建LAMP(Apache+PHP+Mysql环境)

    目录 Linux搭建LAMP(Apache+PHP+Mysql环境)Centos7 一. 检查系统环境 1.确认centos版本 2.检查是否安装过apache 3.检查是否安装过Mysql 4.清理 ...

  8. Apache+php+mysql环境配置

    Apache+PHP+MySQL环境搭建 标题格式 正文格式 阶段性完成格式 正文中强调格式 ————————————————————————————— 前语:本文是从我写过的doc文档迁移过来的,由 ...

  9. windows下如何设置mysql环境变量

    方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...

随机推荐

  1. Git内部原理(1)

    Git本质上是一套内容寻址文件系统,在此之上提供了VCS的用户界面. Git底层命令(plumbing) vs 高层命令(porcelain) Git的高层命令包括checkout.branch.re ...

  2. day46-守护线程

    #1.守护线程要注意的坑:下面代码只能打印出子线程开始,无法打印出子线程执行完毕,因为主线程在t.start()以后就结束了, #而子线程要睡眠1秒,所以子线程守护线程随着主线程的结束而结束了. fr ...

  3. CentOS6与CentOS7的网络区别

    回顾:物理层 关注的是接口物理特性,传输介质数据链路层 MAC地址,数据帧,以太网,交换机网络层 IP地址,数据包,IP\ICMP\ARP协议,路由器传输层 TCP.UDP,端口号,数据段应用层 HT ...

  4. Normally Distributed|

    6.1Introducing Normally Distributed Variables Why the word “normal”? Because, in the last half of th ...

  5. Java常用基本类库总结2

    1.File类的重要方法(Java中文件.文件夹都用File类表示) 构造函数: public File(String pathname);//根据指定的路径创建File对象. public File ...

  6. Java操作redis客户端Jedis使用

    1.1   jedis介绍 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java.C.C#.C++.php.Node.js.Go等. 在官方网站里列一些Java的客户端,有 ...

  7. UFT场景恢复

    场景恢复: 在脚本运行中可能会出现一些非预期事件.错误.程序崩溃等情况,阻止脚本继续执行下去,在此情况下脚本可能暂停执行, 直到某些界面被操作之后才会继续执行下去,为了处理这一类事件因此存在场景恢复. ...

  8. seek for|contrary to|lag behind|take up|take advantage of|be confident of|allow for |

    There are signs ________ restaurants are becoming more popular with families.  A. that  B. which  C. ...

  9. python学习笔记(8)迭代器和生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

  10. ASP.NET ASHX 一般处理程序教程

    你不想创建一个普通ASP.NET的Web窗体页.而又要通过一个查询字符串返回一个动态的图片.XML或者非HTML网页.这是一个用C#编程语言编写的使用ASHX(一般处理程序)的简单教程. 简介 首先, ...