【超详细】Ubuntu 20.04 安装 Apache+PHP网页环境 图文教程,常见问题和解决方案
本文将介绍在Ubuntu20.04 LTS
环境下安装Apache
的全过程,针对其中可能出现的一些坑也会提供解决方案。
🎈 作者:Eriktse
🎈 简介:19岁,211计算机在读,现役ACM银牌选手🏆力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)🚀
🎈 个人博客:www.eriktse.com
Apache 介绍
Apache
是一款由Apache基金会提供的开放源代码的Web服务器软件,是一种多用途的、可移植的,也可以修改的HTTP服务器,其常用的Web服务器软件之一;
Apache
服务器支持主流操作系统,包括UNIX
、Linux
、Mac OS X
、Windows
等。
通常情况下,它可以和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原创,创作不易,如果对您有帮助,欢迎小伙伴们点赞👍、收藏⭐、留言💬