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

Ubuntu 18.04上安装Apache, MySQL, PHP, LAMP的更多相关文章

  1. 如何在Ubuntu 18.04上安装Apache Web服务器

    一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...

  2. Ubuntu 18.04上安装 phpMyAdmin

    我们将安装 phpMyAdmin 在 Ubuntu18.04 上配合 Apache 一起工作. 在安装 phpMyAdmin 之前需要已经安装了LAMP栈并提供了web页面. 如果没有安装可以参照 U ...

  3. 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)

    如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...

  4. 如何在Ubuntu 18.04上安装Django

    Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...

  5. 如何在Ubuntu 18.04上安装Pip

    一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...

  6. 在Ubuntu 18.04上安装Tensorflow

    我们将经历几个阶段,安装cuda-9.0,cudnn和tensorflow cpu以及tensorflow gpu版本.最后我们将用cuda-9.0安装pytorch.在MARVEl电影中黑寡妇的“我 ...

  7. 如何在Ubuntu 18.04上安装Go

    如何在Ubuntu 18.04上安装Go 谢鸢发表于云计算教程系列订阅98 介绍 课程准备 第1步 - 安装Go 第2步 - 设置Go路径 第3步 - 测试您的安装 结论 介绍 Go是Google开发 ...

  8. 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)

    OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...

  9. 在Ubuntu 18.04上安装Git

    步骤1.首先,通过运行以下命令确保您的系统和apt包列表完全更新: apt-get update -yapt-get upgrade -y 第2步.在Ubuntu 18.04上安装Git. 现在让我们 ...

随机推荐

  1. unittest单元测试,基于java的junit测试框架

    import unittestclass study(unittest.TestCase): def testXia(self): self.assertEqual((3*4),20) def tes ...

  2. Host '10.133.3.34' is not allowed to connect to this MySQL server mysql 本地拒接连接

    mysql 本地拒接连接 解决方案是,把mysql库中的user表的host 改成% 运行所电脑连接 也可以把第一行复制一遍  把localhost改成你要连接电脑的ip(推荐这改,这样安全一点) 改 ...

  3. 作业一(python初认识)

    一.python发展历史 1989,为了度过圣诞假期,Guido开始编写Python语言编译器.Python这个名字来自Guido的喜爱的电视连续剧<蒙蒂蟒蛇的飞行马戏团>.他希望新的语言 ...

  4. 20191028 Codeforces Round #534 (Div. 1) - Virtual Participation

    菜是原罪. 英语不好更是原罪. \(\mathrm{A - Grid game}\) 题解 \(4 \times 4\) 的格子,两种放法. 发现这两种在一起时候很讨厌,于是强行拆分这个格子 上面 \ ...

  5. 舒服的MarkDown软件Mark Text

  6. Codeforces Rating System

    来翻译一下官方文档,但是建议看英文原文,本文可能会出现一些错误,虽然不是为了方便自己查阅用的. 首先,对于人 \(i\),定义 \(r_i\) 是他的 rating,对于人 \(i,j\),定义 \( ...

  7. 【08月20日】A股滚动市净率PB历史新低排名

    2010年01月01日 到 2019年08月20日 之间,滚动市净率历史新低排名. 上市三年以上的公司,2019年08月20日市净率在30以下的公司. 来源:A股滚动市净率(PB)历史新低排名. 1 ...

  8. MyBatis 获取插入记录的 id

    现在的项目改用 Guns 了,也是一个很不错的框架,用起来也感觉很不错,上手也挺方便的.毕竟对于只是应用层面的知识,也基本上就是看看手册,熟悉熟悉就可以轻松上手了.如果是想要深入,或者刨根问底,那么就 ...

  9. 【前端知识体系-NodeJS相关】NodeJS高频前端面试题整理

    1. 为什么JavaScript是单线程? 防止DOM渲染冲突的问题: Html5中的Web Worker可以实现多线程 2.什么是任务队列? 任务队列"是一个先进先出的数据结构,排在前面的 ...

  10. re2c安装

    wget  https://kojipkgs.fedoraproject.org//packages/re2c/1.1.1/3.fc31/src/re2c-1.1.1-3.fc31.src.rpm 解 ...