共计 3304 个字符,预计需要花费 9 分钟才能阅读完成。
这篇文章主要介绍了 Ubuntu 中如何安装与配置 Apache 的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇 Ubuntu 中如何安装与配置 Apache 文章都会有所收获,下面我们一起来看看吧。
1. 安装
Ubuntu20.04 中 Apache 软件包为 apache2。
运行下面的命令来升级软件包索引,并且安装 Apache
sudo apt updatesudo apt install apache2
当安装过程完成,Apache 服务将会被自动启动。
通过输入下面的命令,验证 Apache 能否正在运行:
sudo systemctl status apache2
2. 配置 2.1 HTTP 和 HTTPS 端口
Apache 监听了端口 80(HTTP) 和 443(HTTPS)。你需要在防火墙打开那些端口,以便网站服务器从互联网上是可以访问的。
假设你正在使用 UFW, 你可以通过启用 Apache Full 配置,它包含了这两个端口的规则:
sudo ufw allow Apache Full
2.2 apache2 默认的几个配置文件:
/etc/apache2/apache2.conf
是主要配置文件 (这个文件的末尾可以看到,include 了其它所有的配置文件)。
/etc/apache2/ports.conf
始终包含在主配置文件中。它用于确定传入连接的侦听端口,默认为 80,我们一般都会重新配置新的端口。
/etc/apache2/sites-enabled,/etc/apache2/conf-enabled,/etc/apache2/mods-enabled
其它配置文件目录。
/var/www/html
apache2 的默认 web 目录:(在 /etc/apache2/sites-enabled/000-default.conf 里可以看到这个 DocumentRoot /var/www/html 配置)
/etc/apache2/envvars
apache2 的默认客户是 www-data,定义在该文件中。
/etc/apache2/mods-enabled/dir.conf
设置默认主页的配置文件
2.3 修改默认端口,比方修改为 5000
sudo vim /etc/apache2/ports.conf
找到如下内容:
Listen 80 IfModule ssl_module Listen 443 /IfModule IfModule mod_gnutls.c Listen 443 /IfModule
将 80 修改为 5000 就可, 443 为 https 端口,假如有需要也可以修改。
2.4 修改默认的网站根目录
apache2 为了安全起见,只允许 /var/www、/usr/share 下面的文件夹被访问,假如要指定其它目录为网站根目录,需要修改配置文件 /etc/apache2/apache2.conf
sudo vim /etc/apache2/apache2.conf
找到下面的配置片段
Directory / Options FollowSymLinks AllowOverride None Require all denied /Directory Directory /usr/share AllowOverride None Require all granted /Directory Directory /var/www/ Options Indexes FollowSymLinks AllowOverride None Require all granted /Directory
在配置下面增加指定的目录,比方 /mnt/www
Directory /mnt/www/ Options Indexes FollowSymLinks AllowOverride None Require all granted /Directory
重启服务使修改生效
sudo systemctl reload apache2
2.5 配置一个虚拟主机
Apache 默认启动了一个虚拟主机。所有域名都指向服务器 IP 地址,匹配了默认的虚拟主机。假如你只托管一个简单的网站,你需要将网站内容上传到 /var/www/html, 并且编辑虚拟主机配置文件 /etc/apache2/sites-enabled/000-default.conf。
假如想搭建更多网站,需要为每一个网站创立一个虚拟主机配置。
以 example.com 为例,第一步就是创立根目录文件夹:
# 指定网站根目录为 /mnt/www/example.com , -p 参数的作用为递归创立目录,即便上级目录不存在,会按目录层级自动创立目录 sudo mkdir -p /mnt/www/example.com
在网站根目录下创立一个 index.html 文件来测试站点:
!DOCTYPE html html head meta charset= utf-8 title 测试站点 /title /head body h1 恭喜!假如看到这个页面,说明访问成功啦!/h1 /body /html
apache2 的默认客户为 www-data , 修改网站根文件夹的客户归属,避免权限问题:
sudo chown -R www-data: /mnt/www/example.com
下一步就是为 example.com 创立一个虚拟主机配置 (最佳实践就是将每一个虚拟主机配置存储成一个独立的文件)。
Apache 虚拟主机配置文件存储在 /etc/apache2/sites-available 目录, 标准命名是使用域名来命名配置文件。
sudo touch /etc/apache2/sites-available/example.com.conf
编辑配置,增加以下内容:
VirtualHost *:80 ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@example.com DocumentRoot /mnt/www/example.com Directory /mnt/www/example.com Options -Indexes +FollowSymLinks AllowOverride All /Directory ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined /VirtualHost
Apache 默认不会读取 /etc/apache2/sites-available 文件夹下的配置文件,需要将它们链接到 /etc/apache2/sites-enabled 文件夹,使用 a2ensite 创立一个链接,激活虚拟主机配置:
sudo a2ensite example.com
测试配置文件,能否有语法错误:
sudo apachectl configtest
假如没有任何错误,你将会看到下面的输出:
Syntax OK
重启 Apache 服务,使修改生效:
sudo systemctl reload apache2
最终,在浏览器中打开 http://example.com,看看能否已经可以成功访问。
3. 常用命令
# 启动 apache2 服务 sudo systemctl start apache2# 关闭 apache2 服务 sudo systemctl stop apache2# 重启 apache2 服务# 查看 apache2 状态
sudo systemctl reload apache2
sudo systemctl status apache2
关于“Ubuntu 中如何安装与配置 Apache”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Ubuntu 中如何安装与配置 Apache”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道。