本文将介绍在Ubuntu20.04 LTS环境下安装Apache的全过程,针对其中可能出现的一些坑也会提供解决方案。

作者:Eriktse

简介:19岁,211计算机在读,现役ACM银牌选手力争以通俗易懂的方式讲解算法!️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)

个人博客:www.eriktse.com

Apache 介绍

Apache是一款由Apache基金会提供的开放源代码的Web服务器软件,是一种多用途的、可移植的,也可以修改的HTTP服务器,其常用的Web服务器软件之一;

Apache服务器支持主流操作系统,包括UNIXLinuxMac OS XWindows等。

通常情况下,它可以和MySQL数据库、Perl以及PHP脚本解释器配合使用,构成LAMP架构,就可以搭建动态网站系统。Apache是世界使用排名第一、最流行的Web服务器端软件,是绝大多数的网站都使用的Web服务器端软件。

演示环境

网页环境:Apache(其他的也可以)

PHP版本:8.0

操作系统:Ubuntu 20.04

安装Apache

进入ubuntu系统后,先更新apt

sudo apt update

过程中会提示是否继续,输入y按下回车,继续。

如果这一步卡住或者有网络问题的同学,可以更新apt源为清华源,具体看方法参考资料(注意选择正确的ubuntu版本):https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

使用命令lsb_release -a可以查看系统版本信息。

在修改完/etc/apt/source.list后用命令source /etc/profile对配置进行刷新。

然后安装Apache,在apt中它的名字是apache2:

sudo apt-get install apache2

安装完成后,访问http://localhost/看看是否出现以下界面:

如果你用的是虚拟机,可以通过ip addr命令查询到当前虚拟机的内网ip,然后从自己的电脑上打开网页查看,当然你直接在虚拟机进入localhost也是可以的。

此时服务器只安装了Apache,但是没有安装php,所以php暂时是无法被解析的。

我们需要安装php,在apt源中安装即可,这里以php8.0为例:

sudo apt-get install php8.0

这里直接安装可能会遇到报错:

E: Unable to locate package php8.0
E: Couldn't find any package by glob 'php8.0'

需要安装一个第三方PPA源,逐行执行以下命令:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php8.0

安装php拓展的方法是:sudo apt-get install php8.0-<拓展名>,例如sudo apt-get install php8.0-mysqli

安装完成后需要在Apache中启用php8.0,用以下命令启用:

a2enmod php8.0

/var/www/html目录下新建一个index.php文件,里面写入:

<?php
phpinfo();
?>

新建文件的方法是,先cd到对应的目录:cd /var/www/html,再输入命令:touch index.php

现在重新访问http://localhost/index.php,应该可以看见php的相关信息。

至此,你已经成功完成了Apache服务器的搭建,php程序已经可以运行了。

常见问题和解决方案

以下罗列一些在安装和使用Apache时常见的问题和解决方案:

Apache的网页地址在那里?

默认是在/var/www/html里面,当然可以自己为不同域名指定不同的路径。

如何重启Apache

用命令systemctl restart apache2

如何查看Apache当前启用的mods

可以使用httpd -M命令查看apache的已经启用的mods

也可以在Apache的安装目录conf/httpd.conf文件中的LoadModule指令中查看。

用指令sudo ls -la /etc/apache2/mods-available/可以查看所有启用的mods。

如何修改php版本

修改对应的mods即可,例如我要从php7.0变为php8.0。

首先安装php8.0:

sudo apt-get install php8.0

同时还要重新安装各种PHP拓展,如果需要的话。

用命令关闭当前的php7.0 mod。

a2dismod php7.0

在用命令开启新的php8.0 mod。

a2enmod php8.0

此时可以用php探针再查一下php版本。

php提示缺少某些拓展怎么办

比如php提示缺少mysqli拓展。

打开/etc/php/8.0/apache2/php.ini,找到extionsion=mysqli并将前面的;删除,重启Apache。

如果还是提示缺少拓展,可能是你没有安装对应的拓展。安装完成后重启Apache即可。

总结

以上是对Apache安装过程的全部教程,感谢大家的阅读。

本文由eriktse原创,创作不易,如果对您有帮助,欢迎小伙伴们点赞、收藏、留言

【超详细】Ubuntu 20.04 安装 Apache+PHP网页环境 图文教程,常见问题和解决方案的更多相关文章

  1. Ubuntu 20.04安装Docker

    Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...

  2. ubuntu 14.04 安装torch及编译环境zbstudio

    ubuntu 14.04 安装torch及编译环境zbstudio torch zbstudio 本来是安装官网给的步骤安装torch的,可是碰到一系列的问题,后来参考网上的安装方法安装成功了 官网安 ...

  3. ubuntu 20.04 安装 vim8.2

    由于ubuntu 20.04自带的vim版本比较老了,有些新装的插件适配不上,所以需要安装最新版本的vim.在网上找了很久也没有比较官方的安装教程所以记录一下. 安装依赖库 sudo apt inst ...

  4. Ubuntu 16.04安装JDK并配置环境变量-【小白版】

    系统版本:Ubuntu 16.04 JDK版本:jdk1.8.0_121 1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz 我这里下的是最新版,其他版本也可以 2.创建一个目 ...

  5. Ubuntu 16.04安装JDK并配置环境变量(转发:https://blog.csdn.net/yan3013216087/article/details/78307258)

    系统版本:Ubuntu 16.04 JDK版本:jdk1.8.0_121 1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz 我这里下的是最新版,其他版本也可以 2.创建一个目 ...

  6. Ubuntu 16.04安装JDK并配置环境变量

    系统版本:Ubuntu 16.04 JDK版本:jdk1.8.0_121 1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz 我这里下的是最新版,其他版本也可以 2.创建一个目 ...

  7. CentOS 6.4安装Apache+MySQL+PHP的图文教程

    LAMP 实际上就是 Linux.Apache.MySQL.PHP 四个名称的缩写,当然最后一个 “P” 还有其他说法是 Perl 或者 Python.不用多说了,本文讲解的就是 Linux.Apac ...

  8. Windows下安装Apache 2.2.21图文教程

    https://www.jb51.net/article/52086.htm 本文详细介绍了在Windows平台上安装Apache的过程,希望对初次安装Apache的朋友有所帮助. 1. 软件准备 我 ...

  9. ubuntu 14.04 安装 Apache Thrift 0.10

    1.到官网下载源码压缩文件 https://thrift.apache.org/download 2.安装依赖软件,可以参考 https://thrift.apache.org/docs/instal ...

  10. Ubuntu 16.04 安装 Apache, MySQL, PHP7

    1.安装之前先更新系统 1 sudo apt update 2.安装Apache2 1 sudo apt install apache2 3.安装PHP 1 sudo apt install php ...

随机推荐

  1. SQL-分组聚合

    -- 语法 select * |列名|表达式         -- 5 from 表名                         -- 1 where 条件                    ...

  2. 利用expect交互批量修改普通用户过期密码

    利用expect交互批量修改普通用户过期密码 因为公司接了一个密码托管的活,有10000多台机器,系统有 openSUSE,SUSE,Ubuntu,centos,Oracle-Linux, 而且什么版 ...

  3. tensorflow疑问总结

    1.sigmoid 函数为什么不好? (1)激活函数计算量大(在正向传播和反向传播中都包含幂运算和除法) (2)反向传播求误差梯度时,求导涉及除法 (3)Sigmoid倒数取值范围是[0,0.25], ...

  4. switch组件的使用

    正常情况下,path和component是一一对应的关系 switch可以提高路由匹配效率(单一匹配)

  5. Linux deploy 32位系统 怎么安装宝塔怎么安装linux系统安装宝塔后搭建网站

    getconf LONG_BIT 获取当前linux系统位数

  6. 六、js创建页码器:分页、上一页下一页、省略页码

    表格数据太多,需要做成分页.因此需要写一个页码器. 1,初始化页码 获取数据之后渲染页码器,页码器初始化,小于6页的全部展示,否则展示前四页,后面是省略号,最后展示尾页.默认选中第一页,禁用前一页的箭 ...

  7. 模拟法NOIP题单

    模拟算法的试题训练, 重点针对试题分析环节的练习锻炼!! 考察阅读能力.分析能力.建模能力! 模拟法题目是最基础的题目,她不难,她复杂,她的实现往往需要足够的细心耐心! 练习这类题目能够使你掌握其他算 ...

  8. 解决spring boot 2.6.4版本循环依赖问题

    引用spring boot 2.6.4 版本 报循环依赖错误 *************************** APPLICATION FAILED TO START ************* ...

  9. 字符节点流--> 桥装换流

    输出 存值 用法1创建字节输出节点流FileOutputStream fos = new FileOutputStream("存入文件的路径");2创建桥转换流,按照指定的字符编码 ...

  10. 「进阶」缓解眼睛疲劳,防蓝光保护视力,关爱健康!- CareUEyes

    软件官网地址:https://care-eyes.com/ 显示 对于显示页面来说 8 个模式下面都有对应的介绍说明,不再介绍.笔者建议软件调节之前,先退出软件,用系统自带的亮度调节,进入电源选项中进 ...