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. Ubuntu18.04安装配置

    GPT硬盘安装Ubuntu 磁盘管理工具压缩一个5GB的Fat32的分区,然后将ISO文件解压到Fat32分区 利用Hasleo EasyUEFI工具添加EFI引导 *:\EFI\BOOT\grubx ...

  2. python,adb,分别给多个设备安装多个apk文件,os.popen(); os.system; os.path.splitext(); a.split(' \t'); readlines(); append(); os.path.join(); time.sleep();

    #encoding:utf-8import os,time#=======================查找手机设备序列号=============a='adb devices'b=os.popen ...

  3. .gclient文件

    //注意以.开头的文件名在linux下都是隐藏文件,需要使用ll 或者ls -all 才可以查看. .gclient文件必须有,否则会报类似下面的错误: Traceback (most recent ...

  4. LeetCode 动态规划

    动态规划:适用于子问题不是独立的情况,也就是各子问题包含子子问题,若用分治算法,则会做很多不必要的工作,重复的求解子问题,动态规划对每个子子问题,只求解一次将其结果保存在一张表中,从而避免重复计算. ...

  5. 正睿暑期培训day3考试

    链接 A 可以发现一个小棍的贡献是使得左右两列上的球位置互换.所以只要找出哪两个球会经过当前位置,然后swap一下就行了.. 考场上调了2.5h,依然没过样例.赛后发现忘了排序!!!!... /* * ...

  6. 第02组 Beta冲刺(5/5)

    队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 验收了小程序的主要功能 制作Beta展示所需要用到的视频 制作Beta展示PPT 准备Beta答辩 提交记录(全组共用) ...

  7. Flink101-快速示例

    验证本文需要具备Docker及Docker-composer,作者使用的环境为Mac + Docker Docker启动Flink集群 首先下载Flink的镜像docker pull flink,我下 ...

  8. 【shell脚本】显示进度条

    使用动态时针版本显示进度条 [root@VM_0_10_centos shellScript]# cat progressBar.sh #!/bin/bash # 进度条,动态时针版本 # 定义显示进 ...

  9. Oracle 查询(SELECT)语句(一)

    Ø  简介 本文介绍 Oracle 中查询(SELECT)语句的使用,在 SQL 中 SELECT 语句是相对内容较多的,也是相对比较复杂一点的,所以这里拿出来单独学习. 首先,我们先来理一下思路,我 ...

  10. 关于 NuGet 本地仓库、.NET Core 引用等实战