# apache虛擬機配置
[TOC]
## 安裝apache
```
sudo apt install apache2
```
## 配置UFW防火墻
為了配置Apache,我們首先需要允許外部訪問我們系統的某些Web端口,并在您的UFW防火墻上允許Apache。
第1步:列出UFW應用程序配置文件
為了配置防火墻,讓我們首先列出我們啟用Apache訪問所需的應用程序配置文件。 使用以下命令列出此類可用應用程序
```
sudo ufw app list
```

在上面的輸出中,您可以看到三個Apache配置文件都提供不同級別的安全性; Apache是一個提供最大限制但端口80仍處于打開狀態的Apache。
步驟2:在UFW上允許Apache并驗證其狀態
在UFW上允許Apache將為網絡流量打開端口80,同時為服務器提供最大的安全性。 請通過以下命令配置UFW以允許Apache
```
sudo ufw allow 'Apache'
sudo ufw status
```

## 配置Apache Web服務器
第一步是通過以下命令驗證Apache2服務是否在您的系統上啟動并運行
```
sudo systemctl status apache2
```

狀態: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