# apache虚拟机配置
[TOC]
## 安装apache
```
sudo apt install apache2
```
## 配置UFW防火墙
为了配置Apache,我们首先需要允许外部访问我们系统的某些Web端口,并在您的UFW防火墙上允许Apache。
第1步:列出UFW应用程序配置文件
为了配置防火墙,让我们首先列出我们启用Apache访问所需的应用程序配置文件。 使用以下命令列出此类可用应用程序
```
sudo ufw app list
```
![](https://i.loli.net/2019/05/07/5cd18197a02e2.png)
在上面的输出中,您可以看到三个Apache配置文件都提供不同级别的安全性; Apache是一个提供最大限制但端口80仍处于打开状态的Apache。
步骤2:在UFW上允许Apache并验证其状态
在UFW上允许Apache将为网络流量打开端口80,同时为服务器提供最大的安全性。 请通过以下命令配置UFW以允许Apache
```
sudo ufw allow 'Apache'
sudo ufw status
```
![](https://i.loli.net/2019/05/07/5cd181faa3d1a.png)
## 配置Apache Web服务器
第一步是通过以下命令验证Apache2服务是否在您的系统上启动并运行
```
sudo systemctl status apache2
```
![](https://i.loli.net/2019/05/07/5cd18668a6492.png)
状态:active(running)验证apache2服务是否正在运行
## 在Apache中设置虚拟主机
虚拟主机类似于Nginx中的服务器块。 它用于管理来自一个服务器的多个域的配置。 我们将提供一个如何通过Apache服务器设置虚拟主机的示例。 我们将使用Apache for Ubuntu 18中默认启用的服务器块来建立一个名为linuxidc.com的网站。
第1步:设置域名
默认情况下启用的服务器块能够提供来自 /var/www/html的文档。 但是,我们将在/var/www/创建一个目录,保留默认目录。
通过以下命令创建此目录,将linuxidc.com替换为您各自的域名。
sudo mkdir -p /var/www/linuxidc.com/html
然后通过以下命令分配目录的所有权:
sudo chown -R $USER:$USER /var/www/linuxidc.com/htmlsudo chmod -R 755 /var/www/linuxidc.com
现在让我们创建一个索引页面,如果Apache运行我们的域名,我们以后可以访问它们进行测试。 通过Nano编辑器或任何您喜欢的文本编辑器创建HTML文件。
nano /var/www/linuxidc.com/html/index.html
为索引页输入以下HTML:
欢迎来到Linux公社页面 [www.linuxidc.com](http://www.linuxidc.com)
你真是棒! 您的linuxidc.com服务器块已启动!我们使用nano编辑器来创建HTML文件。
您可以使用Ctrl + X将文件保存为nano,然后输入Y并按Enter键。
Apache需要一个虚拟主机文件来提供服务器的内容。 已经创建了用于此目的的默认配置文件,但我们将为自定义配置创建一个新配置文件
```
sudo vim /etc/apache2/sites-available/linuxidc.com.conf
```
```
<VirtualHost *:80>
ServerAdmin admin@linuxidc.com
ServerName linuxidc.com
ServerAlias www.linuxidc.com
DocumentRoot /var/www/linuxidc.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
```
```
sudo a2ensite linuxidc.com.conf
```
输出将建议激活新配置,但我们可以在运行以下禁用原始配置文件的命令后集体执行此操作
```
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
```
最后,让我们通过以下命令测试是否存在任何配置错误
```
sudo apache2ctl configtest
```
如果您没有收到任何错误,您将获得以下输出:
Syntax OK
但是,Ubuntu 18.04中常见以下错误
**AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message\*\*\*\*Syntax OK**
解决错误:
输入以下命令以解决上述错误
```
echo "ServerName linuxidc.com" | sudo tee /etc/apache2/conf-available/servername.conf
sudo a2enconf servername
```
现在,当您再次检查错误时,您将看到通过以下输出解决了此错误
```
sudo apache2ctl configtest
```
Syntax OK
Apache 2网页中文乱码的解决方法
```
sudo nano /etc/apache2/conf-available/charset.conf
```
修改charset.conf的AddDefaultCharset UTF-8,把AddDefaultCharset UTF-8前面的#去掉即可
然后重启apache2
```
sudo systemctl restart apache2
```
## 转载至:LINUX公社 地址:[https://www.linuxidc.com/Linux/2018-11/155507.htm](https://www.linuxidc.com/Linux/2018-11/155507.htm)
- 基础
- 安装PHP
- 语言基础
- 变量
- 变量操作
- 超全局数组变量
- 变量作用域
- 变量传值方式
- 常量
- 数据类型
- 运算符
- 流程控制
- 文件包含
- 错误处理
- 字符串操作
- 数组
- 函数
- 进阶
- 面向对象
- 提高
- TP
- 安装项目
- 框架基础知识
- 命令创建模块
- URL生命周期
- 路由操作
- Request请求类
- 参数绑定
- 依赖注入
- 模板操作
- 查询操作
- 添加操作
- laravel
- ☆目录结构
- CSRF攻击
- ☆路由
- ☆控制器
- ☆请求类
- ☆视图
- ☆模板继承
- ☆表单验证
- ☆DB类
- ☆模型
- ☆数据库迁移
- 类型、修饰、索引
- ☆数据填充
- ☆数据分页
- ☆session处理
- ☆中间件
- ☆缓存操作
- ☆文件上传
- ☆接口操作
- ☆扩展插件
- restful
- 工作
- 工作记录
- QQ登录
- 新浪登录
- 微信登录
- sphinx搜索
- 数据库
- MySQL
- ☆数据库操作
- ☆数据表操作
- ☆数据的操作
- 待修改
- 优化
- 存储引擎选择
- 列表类型选择
- 范式
- 慢日志查询
- 精准时间记录查询
- 计划任务 explain
- 索引
- 索与事务
- 查询缓存
- 存储过程
- 触发器
- 分区
- 分表
- sphinx
- 读写分离
- 搜索优化
- 网站静态化
- Memcache
- Mongodb
- Readis
- php使用redis
- 服务器
- Linux
- 目录结构
- 常用命令
- VIM编辑器
- 用户与用户组
- 权限管理
- 运行级别
- 网络模式
- ssh
- 软件安装
- 计划任务
- Ubuntu
- 编译PHP7.3
- 编译MySQL
- 编译Nginx
- apache虚拟机配置
- 安装composer
- Nginx
- Git