新手上車教程:在Ubuntu 20.04上安裝Apache詳細(xì)圖文教程
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
昨天淘寶來(lái)了一個(gè)客戶問(wèn),如何如何在Ubuntu 20.04 上安裝 Apache,不過(guò)站內(nèi)還是很少有關(guān)于Ubuntu的教程,apache到是有幾篇文章,今天借著不舒服,寫(xiě)篇關(guān)于Ubuntu的文章;
簡(jiǎn)介: Apache 是世界上最流行的網(wǎng)站服務(wù)器之一。它是開(kāi)源并且跨平臺(tái)的 HTTP 服務(wù)器,它托管了互聯(lián)網(wǎng)上大量的網(wǎng)站。Apache 提供了很多強(qiáng)大的功能,并且可以擴(kuò)展其他的模塊。關(guān)于 Ubuntu 20.04 上安裝和管理 Apache 網(wǎng)站服務(wù)器,我們來(lái)說(shuō)一下;
安裝Apache首先要下載,建議鏡像下載、域名解析、時(shí)間同步請(qǐng)點(diǎn)擊?阿里巴巴開(kāi)源鏡像站:https://developer.aliyun.com/mirror
一、前提條件
在開(kāi)始安裝之前,要確保你以 sudo 權(quán)限用戶身份登錄。
二、安裝 Apache
Apache 被包含在默認(rèn)的 Ubuntu 軟件源中。
安裝非常直接。在 Ubuntu 和 Debian 系統(tǒng)中,Apache 軟件包和服務(wù)被稱為?apache2
。
運(yùn)行下面的命令來(lái)更新軟件包索引,并且安裝 Apache:
sudo apt update sudo apt install apache2
當(dāng)安裝過(guò)程完成,Apache 服務(wù)將會(huì)被自動(dòng)啟動(dòng)。
你可以通過(guò)輸入下面的命令,驗(yàn)證 Apache 是否正在運(yùn)行:
sudo systemctl status apache2
輸出將會(huì)告訴你,服務(wù)正在運(yùn)行,并且啟動(dòng)了開(kāi)機(jī)啟動(dòng)。
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-09 19:28:40 UTC; 36min ago
...
就這些,你已經(jīng)成功地在你的 Ubuntu 20.04上安裝了 Apache,你可以開(kāi)始使用它了。
三、打開(kāi) HTTP 和 HTTPS 端口
Apache 監(jiān)聽(tīng)了端口80
(HTTP)和443
(HTTPS)。你需要在防火墻打開(kāi)那些端口,以便網(wǎng)站服務(wù)器從互聯(lián)網(wǎng)上是可以訪問(wèn)的。
假設(shè)你正在使用UFW
,你可以通過(guò)啟用Apache Full
配置,它包含了這兩個(gè)端口的規(guī)則:
sudo ufw allow 'Apache Full'
驗(yàn)證改變:
sudo ufw status
輸出如下:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Apache Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Apache Full (v6) ALLOW Anywhere (v6)
四、驗(yàn)證 Apache 安裝
想要驗(yàn)證一切都順利工作,打開(kāi)你的瀏覽器,輸入服務(wù)器 IP 地址http://YOUR_IP_OR_DOMAIN/
,你可以看到默認(rèn)的 Ubuntu 20.04 Apache 歡迎頁(yè)面,如圖所示:
這個(gè)頁(yè)面包含了 Apache 配置文件,幫助腳本和文件夾位置的一些基本信息。
五、設(shè)置一個(gè)虛擬主機(jī)
一個(gè)虛擬主機(jī),是一個(gè) Apache 配置指令,它允許你在一個(gè)服務(wù)器上運(yùn)行多個(gè)網(wǎng)站。典型的例子,一個(gè)虛擬主機(jī)描述了一個(gè)網(wǎng)站。
Apache 默認(rèn)啟動(dòng)了一個(gè)虛擬主機(jī)。所有域名都指向服務(wù)器 IP 地址,匹配了默認(rèn)的虛擬主機(jī)。如果你只托管一個(gè)簡(jiǎn)單的網(wǎng)站,你需要將網(wǎng)站內(nèi)容上傳到/var/www/html
,并且編輯虛擬主機(jī)配置,/etc/apache2/sites-enabled/000-default.conf
文件。
如果你想托管更多網(wǎng)站,你需要為每一個(gè)網(wǎng)站創(chuàng)建一個(gè)虛擬主機(jī)配置。在這一節(jié),我們將會(huì)為一個(gè)域名"example.com"設(shè)置網(wǎng)站。你可能需要將"example.com"替換成你自己的域名。
第一步就是創(chuàng)建根目錄文件夾,域名的網(wǎng)站文件將會(huì)被存放在這里并且響應(yīng)用戶請(qǐng)求。運(yùn)行下面的命令,創(chuàng)建文件夾:
sudo mkdir -p /var/www/example.com
為了測(cè)試,在域名根文件夾下創(chuàng)建一個(gè)index.html
文件:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html>
創(chuàng)建完成后,保存并且退出。
如果想要避免權(quán)限問(wèn)題,可以修改域名根文件夾的用戶歸屬為apache 用戶(www-data
):
sudo chown -R www-data: /var/www/example.com
接下來(lái)就是為域名“example.com”創(chuàng)建一個(gè)虛擬主機(jī)配置。最佳實(shí)踐就是將每一個(gè)虛擬主機(jī)配置存儲(chǔ)成一個(gè)獨(dú)立的文件。
Apache虛擬主機(jī)配置文件存儲(chǔ)在/etc/apache2/sites-available
目錄。標(biāo)準(zhǔn)命名是使用域名來(lái)命名配置文件。
打開(kāi)你的文本編輯器,并且創(chuàng)建如下文件/etc/apache2/sites-available/example.com.conf
:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
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 不會(huì)讀取/etc/apache2/sites-available
文件夾下的配置文件,除非它們被鏈接到/etc/apache2/sites-enabled
文件夾。
想要激活虛擬主機(jī)配置,使用a2ensite
創(chuàng)建一個(gè)鏈接:
sudo a2ensite example.com
測(cè)試配置文件,是否有任何語(yǔ)法錯(cuò)誤:
sudo apachectl configtest
如果沒(méi)有任何錯(cuò)誤,你將會(huì)看到下面的輸出:
Syntax OK
重啟 Apache 服務(wù),使修改生效:
sudo systemctl restart apache2
最終,想要驗(yàn)證一切都按照預(yù)期工作,在你的瀏覽器中打開(kāi)[http://example.com](http://example.com)
,你將會(huì)看到類似下面的圖片:
六、寫(xiě)在最后
如何在 Ubuntu 20.04 上安裝 Apache的整個(gè)教程已經(jīng)完成;現(xiàn)在可以開(kāi)始部署各位看官的應(yīng)用,并且將 Apache 用作網(wǎng)站或者代理服務(wù)器了。
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫(xiě)所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!