【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7)
一、前言
LAMP即:Linux、Apache、Mysql、Php,也就是在linux系统下运行php网站代码,使用的数据库是mysql、web服务软件是apache。之所以存在LAMP这种说法,倒不是一定要如此搭配方行,只是mysql、apache比较常用而且免费,所以linux下的php网站就使用LAMP这样的搭配。
二、环境准备
1、centos7,我使用的是centos7(64位)最小系统,ISO包上官网下载即可,找不到官网的到下面链接中随便下一个就可以了
http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
2、apache,稍后使用yum安装最新版即可
3、mysql,当前最新版是mysql8.0了,需要到官网下载yum源而后通过yum源安装即可(文末附下载链接),也可以直接用wget获取(后续有)
4、php,稍后使用yum安装最新版即可
三、centos准备
首先我们要让centos准备好环境,很多童鞋看网上随便找来的教程整了半天就是不能正常运行,常见原因就是漏了这一步。
1、关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
使防火墙开机不启动(避免系统重启后防火墙又生效)
[root@localhost ~]# systemctl disable firewalld.service
2、关闭selinux
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
修改selinux配置文件使其开机不启动
[root@localhost ~]# vi /etc/sysconfig/selinux
//将“SELINUX=enforcing”修改为“SELINUX=disabled”

关闭防火墙和selinux后centos就准备好了,因为是测试环境嘛,所以这两个都关闭了,如果在生产环境可别直接关了,还是要设置下的。
四、安装apache
apache安装非常简单,使用下面的指令即可
[root@localhost ~]# yum install -y httpd
安装好以后需要修改下配置文件使apache支持php
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
//在“DirectoryIndex index.html”后面添加“index.php”

//在“AddType application/x-gzip .gz .tgz”后面添加一行“AddType application/x-httpd-php .ph”

//最后启动apache
[root@localhost ~]# systemctl start httpd
注意:有些童鞋可能会遇到apache莫名其妙就自己挂了,可能是你内存不够,增加点虚拟内存即可
至此apache就安装和准备好了
五、安装mysql
1、将前面说到的mysql yum安装源(文末附下载链接)放到centos任意目录,直接使用yum安装。
//也可以使用wget获取该rpm包
[root@localhost ~]# wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
//安装yum源
[root@localhost ~]# yum -y install mysql80-community-release-el7-3.noarch.rpm
//使用yum安装mysql
[root@localhost ~]# yum -y install mysql-community-server
注意:一般来说你会发现mysql-community-server-8.0.16-2.el7.x86_64.rpm这个包下载会很慢,所以这里我们提供百度云盘直接下载这个包(文末附下载)。将下载好的rpm包放入目录“/var/cache/yum/x86_64/7/mysql80-community/packages/”(不同系统可能不一样,你可以搜索mysql80-community找到目录位置),再次执行安装指令即可。
2、配置mysql
//启动mysql
[root@localhost ~]# systemctl start mysqld.service
//检查一下运行状态
[root@localhost ~]# systemctl status mysqld.service

注意:对于一些新手,可能会遇到mysql莫名其妙就自己关闭的情况,可能是你的内存不够啦。linux内存不足的情况会自动关闭一些占用内存较多的应用,所以物理内存确实不足的情况可以增加点虚拟内存。
//获取默认密码(mysql8.0自带默认密码,必须使用默认密码登录后方可修改密码)
[root@localhost ~]# grep "password" /var/log/mysqld.log

我这里的默认密码是“;>HGA4LKdjlj”
//使用默认密码进入数据库
[root@localhost ~]# mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';
Query OK, 0 rows affected (0.01 sec)
注意:进入mysql后每条指令后必须加分号“;”,否则指令不会执行
注意:mysql8.0要求密码必须有一定复杂度,必须包含大小写字母、数字、特殊字符,长度也不能太短,这里我配置的密码就是Root@123456
注意:'root'@'localhost'含义是使用本地登录的root用户(一般建议本机登录和远程登录用户名、密码不要一样),如果要从外部设备访问root用户还需要做下面的设置
//设置root远程访问(如果不从外部访问就不用此配置)
mysql> create user 'root'@'%' identified by 'Root@123456';
Query OK, 0 rows affected (0.01 sec)
//为远程root用户分配访问权限
mysql> grant all on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)
注意:此处很多老的教程使用指令“grant all privileges on *.* to 'root'@'%' identified by 'Root@123456' with grant option;”,但是会报错“ERROR 1064 (42000): You have an error in your SQL syntax;check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'Root@123456'' at line 1”
原因是老版本使用权限修改指令可以自动创建用户(需要注意“root@%”与"root@localhost"是两个用户,便于使用不同密码),而新版本需要手动创建用户,然后向其分配权限
注意: *.* 表明所有数据库的所有表,可以通过此设置限制用户的访问(如new.abc就是new数据库的abc表)
//更新权限表使配置生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
//退出数据库
mysql> exit;
Bye
//修改字符编码为utf-8(中文世界一般使用utf-8编码防止中文乱码)
[root@localhost ~]# vi /etc/my.cnf
//在[mysqld]前面添加:
[client]
default-character-set=utf8

//在文件末尾添加:
character-set-server=utf8
collation-server=utf8_general_ci

//保存后重启数据库即可
[root@localhost ~]# systemctl restart mysqld.service
至此,数据库安装完毕,而且我们分别设置了本地登录和远程登录的密码。
六、安装php
php安装非常简单,下面两个指令分别安装了php、php-mysql支持包、php常用扩展包:
[root@localhost ~]# yum install -y php php-mysql
[root@localhost ~]# yum install -y php-gd php-xml php-process php-mbstring php-bcmath
七、测试
到apache网站代码目录中新建index.php文件
[root@localhost ~]# vi /var/www/html/index.php
并输入下面的代码(此段代码的作用是输出php的信息):
<?php phpinfo(); ?>
保存后就可以试试访问你新建的网站了

八、更多资料
除了前面说的mysql安装相关的两个rpm文件,我们还准备了一些LAMP调优相关资料,关注公众号“零基础爱学习”回复“LAMP”即可获取:
1、mysql80-community-release-el7-3.noarch.rpm(mysql官方源)
2、mysql-community-server-8.0.16-2.el7.x86_64.rpm(mysql主包)
放入目录“/var/cache/yum/x86_64/7/mysql80-community/packages/”(不同系统可能不一样,你可以搜索mysql80-community找到目录位置)
3、LAMP优化入门
4、Centos7防火墙配置手册
5、php-mysql 连接方式

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7)的更多相关文章
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】
本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...
- Lamp(linux+apache+mysql+php)环境搭建
Lamp(linux+apache+mysql+php)环境搭建 .安装apache2:sudo apt-get installapache2 安装完毕后.执行例如以下命令重新启动apache:sud ...
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...
- CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而>言都是在它所 ...
- CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...
- CentOS 6.5下源码安装LAMP(Linux+Apache+Mysql+Php)环境
---恢复内容开始--- 一.系统环境 系统平台:CentOS 6.5 (Final) Apache版本:httpd-2.2.31.tar.gz(最新版本2015-07-16) Mysql 版本:my ...
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP) 关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...
- Ubuntu在下面LAMP(Linux+Apache+MySQL+PHP) 开发环境的搭建
LAMP在行业是一个非常流行的词.此4字母代表Linux.Apache,MySQL和PHP. LAMP其高效.灵活的特点已经成为中小企业的首选. 它已经推出了快速构建LAMP道路. 1 在Ubuntu ...
- [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)
reference : http://blog.csdn.net/Abyss_sliver/article/details/77621404 好久没有在Linux环境下进行开发了,比较常用的还是win ...
随机推荐
- nexus 绑定负载均衡nginx反向代理后 遇到的https问题。
1.今天搭建maven私服,下载安装好nexus运行后,通过IP可以直接访问,没有问题,如:http://123.123.123.123:8081 就可以进入主页面.没有任何问题. 2.但是他默认是h ...
- elementUI中的loading
先安装引入 import ElementUI from 'element-ui' import { Loading } from 'element-ui' 在vue的原型链上定义一个打开loading ...
- Outline 科学的上网
outline 官网:https://getoutline.org/zh-CN/home 下载 Outline 管理器 下载 Outline 客户端 配置浏览器代理
- RobHess的SIFT代码解析步骤三
平台:win10 x64 +VS 2015专业版 +opencv-2.4.11 + gtk_-bundle_2.24.10_win32 主要参考:1.代码:RobHess的SIFT源码 2.书:王永明 ...
- GITHUB readme基本语法
一.标题写法: 第一种方法: 1.在文本下面加上 等于号 = ,那么上方的文本就变成了大标题.等于号的个数无限制,但一定要大于0个哦.. 2.在文本下面加上 下划线 - ,那么上方的文本就变成了中标题 ...
- Ubuntu安装Python 3.6之编译安装+使用PPA源安装
下面分别详细介绍一下Ubuntu 14.04/16.04安装Python 3.6的两种方法: 方法一 自己编译安装: # 安装编译必需的软件包 sudo apt install build-essen ...
- python面向对象:组合、封装、property装饰器、多态
一.组合二.封装三.property装饰器四.多态 一.组合 ''' 1. 什么是组合 一个对象的属性是来自于另外一个类的对象,称之为组合 2. 为何用组合 组合也是用来解决类与类代码冗余的问题 3. ...
- linux常用的操作命令
---恢复内容开始--- 最近换了工作之后,需要管理linux服务器的日常运行和维护,自然linux命令是少不了的,切换目录,vim操作等的简单的操作就不说了,有些时候还需要查看日志和监控服务器启动进 ...
- IDEA 运行报错:WARN: Establishing SSL connection
使用JDBC连接数据库时出现报错, 报错内容:Wed Sep 26 14:30:31 CST 2018 WARN: Establishing SSL connection without server ...
- CentOS7 字体安装卸载
CentOS7 默认安装有 Fonts 程序, 所以能直接双击打开字体文件, 并且可以直接点击上图的 Install 按钮安装字体.采用这种安装方法,字体会被安装在 ~/.local/share/fo ...