Ubuntu 18.04上安装Apache、MySQL、PHP、LAMP的完整教程
1.安装 Apache
$ sudo apt update && sudo apt install apache2
中间会遇到停顿询问是否继续, 输入 y 然后 回车.
2.测试 Apache
通过查看 Apache 服务的状态,检查 Apache 是否安装正确.
$ sudo service apache2 status
查看完状态, 你需要按下 q 退出, Apache server的状态. 查看之后,知道Apache的服务已经起来了,那么下一步应该去查看一些Apache web页面. 输入 IP 地址到浏览器的地址栏然后回车就会看到. 如果你不知道自己的 IP地址是多少,那么你可以通过下面的命令查看:
$ sudo ifconfig | grep -Eo 'inet (addr:)?([0-9]*.){3}[0-9]*' | grep -Eo '([0-9]*.){3}[0-9]*' | grep -v '127.0.0.1'
当你在浏览器看到上面页面的时候说明已经搞定了.你所看到的页面就是文件 /var/www/html/index.html 如果你想修改页面,直接修改它 /var/www/html/index.html 就行.
3.安装 MySQL
$ sudo apt update && sudo apt install mysql-server
输入 y 然后 回车继续. 安装完成后,我们查看MySQL服务有没有起来.
$ sudo service mysql status
如果起来,你将会看到激活的状态如下:
你可能需要按 q 退查看服务状态,也可能不需要.(我这里不需要)
4.配置 MySQL 安全
为了MySQL 服务器的安全配置,你应该运行 mysql_secure_installation
$ sudo mysql_secure_installation
如果你在步骤 1 创建了root 用户的密码, 可能会提示你在这里输入.否则, 你将被要求创建一个. 你将被问及是否要设置验证密码插件。 除非出于某种原因需要强制执行严格的密码策略,否则没有必要这样做。
到上面这幅图, 这里按下回车就行了,如果你不想设置验证密码插件. 按下回车后会出现如下情况:
如果你没有在步骤1创建root用户的密码,那么你必须现在在这里创建一个. 注意,当您在Linux中输入密码时,不会显示您正在输入的内容(没有星号或圆点)。
输入 y 且按 Enter 键移除匿名用户.
输入 y 且按 Enter 键不运行 root 用户远程登录.这将防止机器人和黑客试图猜测 root 用户密码。
输入 y 且按 Enter 键去移除测试用的数据库.
输入 y 且按 Enter 键去重新加载特权表. 然后,完成.
作为测试,你可以登录到MySQL服务器并运行version命令.
$ sudo mysqladmin -p -u root version
我这里第一个密码是切换到root用户密码, 第二个密码是刚设置的 MySQL的根密码. 输入之前设置的MySQL根密码,应该会看到以下内容:
现在已经成功安装和配置了MySQL!
5.安装 PHP
让我们从更新存储库和使用apt安装PHP包开始。我们还将安装另外两个包libapache2-mod-php和PHP – MySQL,它们允许PHP与MySQL数据库通信.
$ sudo apt update && sudo apt install php libapache2-mod-php php-mysql
当提示安装PHP包时,按 y 并回车.
6.测试 PHP
一旦包完成安装,我们就可以在命令行中测试PHP了。
$ php -version
如果PHP安装正确,你应该看到类似如下:
非常棒,现在,让我们测试用于Apache的PHP. 在文档根目录中创建一个名为info.php的新文件 Ubuntu 18.04中默认的文档根目录是 /var/www/html/
一旦确定了文档根目录的位置,就可以使用 vi 或 vim 或 gedit 或 其他的文本编辑器创建一个名为info.php的新文件。(如果用不惯 vi, 建议使用可视化文本编辑器 gedit) 在本例中,我们将在/var/www/html/中创建一个新文件
$ sudo vi /var/www/html/info.php
写入 info.php 的内容如下:
<?php
phpinfo();
?>
即如下图
然后保存退出.
现在我们可以在浏览器中加载这个文件,通过在浏览器中输入: http://your_ip/info.php 我这里是 192.168.1.10 所以我在浏览器中输入的是 http://192.168.1.10/info.php 如果你不知道自己的 IP是多少,你可以通过下面的命令知道:
$ sudo ifconfig | grep -Eo 'inet (addr:)?([0-9]*.){3}[0-9]*' | grep -Eo '([0-9]*.){3}[0-9]*' | grep -v '127.0.0.1'
下面我们可以看到PHP信息页面工作正常。
一旦您确认PHP工作正常,删除info.php是很重要的,因为它包含可能对黑客有用的信息。
$ sudo rm /var/www/html/info.php
如果还想安装 phpMyAdmin 那么请继续查看: Ubuntu 18.04上安装 phpMyAdmin
参考: Installing Apache, MySQL, PHP (LAMP) Stack on
总结
以上所述是小编给大家介绍的Ubuntu 18.04上安装Apache、MySQL、PHP、LAMP的完整教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- 谈谈分布式事务之四: 两种事务处理协议OleTx与WS-AT
- RabbitMQ入门-从HelloWorld开始
- RabbitMQ入门-从HelloWorld开始
- RabbitMQ入门-初识RabbitMQ
- 谈谈分布式事务之三: System.Transactions事务详解[下篇]
- 当InternalsVisibleToAttribute特性遭遇"强签名"
- MyBatis-从查询昨天的数据说起
- WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求
- Spring集成RabbitMQ-必须知道的几个概念
- Spring读书笔记——bean创建(上)
- 15:21爆出的小程序功能升级,你还要对小程序观望吗?
- 如何解决分布式系统中的跨时区问题[原理篇]
- 什么是区块链:块的结构
- Spring读书笔记——bean创建(下)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python socket 简单示例
- 深入了解C++虚函数
- Mathematica 在高考数学与高等数学等学习中的简单应用与思考
- 数据结构之【实现数组】
- 数据结构【单链表基本操作】
- Django Models 随机获取指定数量数据方法
- 数据结构【静态栈】代码实现
- Qt官方示例解析-Address Book-基于单个数据模型在不同视图呈现不同数据
- React 中请求远程数据的四种方法
- 数据结构【动态队列】代码实现
- C++抽象工厂
- 数据结构【动态栈】代码实现
- UOS安装chrome谷歌浏览器依赖Fonts-Liberation的问题
- UOS修改盘符名称(像windows的C、D、E盘)
- 【原创】Java并发编程系列29 | ConcurrentLinkedQueue