介紹
在 Web 主機領域,Ubuntu 以其流行和用户友好的 Linux 發行版之一而脱穎而出。由於其強大性和社區支持,許多專業人士更喜歡將其作為服務器操作系統。在本指南中,我們將深入探討如何使用終端在 Ubuntu 上設置基本的Web服務器。
準備工作
在設置服務器之前,請確保你具有:
- 一個 Ubuntu 服務器或桌面版本。
- 超級用户(root)訪問權限或具有sudo權限的帳户。
更新和升級 Ubuntu
保持系統更新是最佳實踐。首先刷新軟件包列表並升級系統:
sudo apt update
sudo apt upgrade -y
安裝 Apache
Apache HTTP 服務器,通常稱為 Apache,是最廣泛使用的 Web 服務器解決方案之一。使用以下命令安裝:
sudo apt install apache2 -y
安裝完成後,啓動 Apache 服務:
sudo systemctl start apache2
為確保 Apache 在重新啓動後自動啓動:
sudo systemctl enable apache2
你可以通過在 Web 瀏覽器中導航到服務器的 IP 地址來驗證 Apache 是否正在運行。你應該看到默認的 Apache Ubuntu 頁面。
安裝 MySQL
MySQL 是一種功能強大的數據庫管理系統。為了託管需要數據庫後端的動態網站,MySQL 是一個受歡迎的選擇。
sudo apt install mysql-server -y
安裝完成後,保護你的 MySQL 安裝:
sudo mysql_secure_installation
你將被提示設置 root 密碼並回答一系列問題。通常安全的做法是對所有提示都回答“Y”。
安裝 PHP
PHP 是一種廣泛使用的腳本語言,特別適用於 Web 開發。安裝 PHP 以及使其與 Apache 配合使用的模塊:
sudo apt install php libapache2-mod-php php-mysql -y
要確認 PHP 的安裝:
php -v
優先處理 PHP 文件
配置 Apache 以優先處理 PHP 文件
默認情況下,Apache 在任何其他文件之前提供 index.html。為使其首先提供 index.php,編輯 dir.conf:
sudo nano /etc/apache2/mods-enabled/dir.conf
將 index.php 移到列表的最前面,使其看起來像這樣:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
然後,重新啓動 Apache 以應用更改:
sudo systemctl restart apache2
測試 PHP 處理
在默認的 Web 目錄中創建一個測試 PHP 文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php
現在,導航到 http://your_server_ip/phpinfo.php。如果設置正確,這將顯示有關服務器上的 PHP 的詳細信息。
注意:出於安全原因,建議在確認 PHP 正常工作後刪除 phpinfo.php。
保護你的 Web 服務器
安裝防火牆
UFW(Uncomplicated Firewall)是一個面向 iptables 的界面,旨在簡化配置防火牆的過程。
安裝並激活 UFW:
sudo apt install ufw
sudo ufw enable
允許 SSH 和 HTTP 流量:
sudo ufw allow OpenSSH
sudo ufw allow 'Apache'
啓用 SSL
為了保護數據傳輸,建議使用 SSL。Let's Encrypt 提供免費的 SSL 證書。要使用它,首先安裝 Certbot:
sudo apt install certbot python3-certbot-apache -y
然後,請求證書:
sudo certbot --apache
按照屏幕上的説明操作。設置完成後,Certbot 將自動更新你的證書。
結論
在 Ubuntu 上設置 Web 服務器是一件簡單的事情,特別是當你將該過程分解為可管理的步驟時。使用 Apache、MySQL 和 PHP,你可以託管各種網站。請記住始終優先考慮安全性,定期備份數據並保持軟件更新。