Ubuntu安裝Lighttpd、PHP和MariaDB

大雄45發表於2022-10-11
導讀 本文件將引導您從核心 Ubuntu 發行版安裝 lighttpd,然後解釋如何將其更新到最新版本。
介紹

Lighttpd,也稱為 Lighty,是一個佔用空間小的開源 Web 伺服器,當與 PHP 和 MySQL 或 MariaDB 一起安裝時,它可以可靠地為數百萬個連線提供服務。Lighty 還有許多擴充套件其功能的模組。

本文件將引導您從核心 Ubuntu 發行版安裝 lighttpd,然後解釋如何將其更新到最新版本。它還包括安裝 PHP、使用 FastCGI 程式管理器 (FPM) 池保護 PHP、安裝 MariaDB 以及使用 Let’s Encrypt 的 SSL 證照保護 Web 伺服器。

先決條件
  1. 一個全新的 Vultr Ubuntu 20.04 LTS x64 伺服器例項
  1. 與例項的 SSH、HTTP 和 HTTPS 連線
  1. 指向例項 IP 地址的 DNS 記錄。本文件使用build.example.com
1. 新增PHP儲存庫

要支援 PHP 的最新版本,請新增由 Ubuntu 和 PHP 開發人員之一託管的公共儲存庫。

# add-apt-repository -y ppa:ondrej/php

Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB新增儲存庫後,更新本地 apt 快取。

# apt update
2. 安裝Lighttpd

要獲取 lighttpd 的核心安裝,請安裝 apt 版本:
Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB

# apt install -y lighttpd

完成後,檢查您安裝的 lighttpd 的版本。

# lighttpd -v

如果您執行的是 Ubuntu 20.04,它應該返回lighttpd/1.4.55 (ssl) - a light and fast webserver. 透過訪問您的站點來確保安裝成功,例如 你應該得到 lighttpd 佔位符頁面。
Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB

新增lighttpd使用者和組:

# groupadd lighttpd
# useradd -g lighttpd -d /var/www/html -s /sbin/nologin lighttpd

Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB

使lighttpd使用者和組成為/var/www/html目錄的所有者:

# chown -R lighttpd:lighttpd /var/www/html/

Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB

3. 安裝 MariaDB 和 PHP

除了 lighttp,安裝 MariaDB 和 PHP:

# apt install -y php-{cli,gd,fpm,mysql,curl,json,xml} mariadb-server

Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB

安裝 MariaDB 後,保護 MariaDB 安裝。

# mysql_secure_installation
  1. 透過點選確認空白的root密碼ENTER
  1. 透過輸入同意更改密碼,Y然後ENTER
  1. 輸入新的安全密碼。
  1. 透過輸入刪除匿名使用者,Y然後ENTER
  1. 透過輸入禁止 root 登入,Y然後輸入ENTER
  1. 透過輸入刪除測試資料庫,Y然後輸入ENTER
  1. Y透過輸入後跟重新載入許可權表ENTER

重新命名預設 PHP FPM 池以與 Web 伺服器名稱保持一致:

# mv /etc/php/8.1/fpm/pool.d/

Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB

透過編輯配置檔案更改與池關聯的關聯使用者和 Unix 套接字:

# nano /etc/php/8.1/fpm/pool.d/lighttpd.conf

更改四行:

  1. 將設定池名稱的括號內的第一行更改[www]為[lighttpd]
  1. 將行更改user = www-data為user = lighttpd
  1. 將行更改group = www-data為group = lighttpd
  1. 將行更改listen = /run/php/php8.1-fpm.sock為listen = /run/php/php8.1-lighttpd-fpm.sock

Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB儲存檔案並重啟 PHP FPM 服務:

# service php8.1-fpm restart

Ubuntu安裝Lighttpd、PHP和MariaDBUbuntu安裝Lighttpd、PHP和MariaDB

4. 升級Lighttpd

新增一些從原始碼構建最新版本的 lighttpd 所需的包。

# apt install -y gcc libpcre3 libpcre3-dev zlib1g-dev checkinstall libssl-dev

從 提示符下載最新的 lighttpd 壓縮包。在撰寫本文時,最新版本是 1.4.66。您可以在找到最新的下載連結

# wget releases-1.4.x/lighttpd-1.4.66.tar.gz

提取壓縮包。

# tar xzf lighttpd-1.4.66.tar.gz

切換到 lighttpd 工作目錄。

# cd lighttpd-1.4.66

將包配置為包含 SSL 並安裝在/usr/sbin目錄中。

# ./configure --with-openssl --sbindir=/usr/sbin

配置完成後,製作包並安裝。

# make
# make install

執行lighttpd -v確保1.4.66版本安裝成功。該 應該返回lighttpd/1.4.66 (ssl) - a light and fast webserver

5. 配置Lighttpd

與 Ubuntu 20.04 一起打包的舊 1.4.55 版本有一個已棄用的mod_compress模組,您必須將其替換為mod_deflate. 要更改模組載入,請編輯預設配置:

# nano /etc/lighttpd/lighttpd.conf

更改以下三行:

  1. 將包含的行更改compress.cache-dir為deflate.cache-dir
  1. 刪除包含的行compress.filetype
  1. 將模組配置從 更改mod_compress為mod_deflate並儲存檔案。

透過執行檢查配置:

# /usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf
6. 為 Lighttpd 配置 PHP

啟用cgi和php模組。

# lighttpd-enable-mod fastcgi
# lighttpd-enable-mod fastcgi-php

編輯 PHP 配置。

# nano /etc/lighttpd/conf-enabled/15-fastcgi-php.conf

刪除整個檔案內容並將其替換為以下內容,它php為您在步驟 3 中所做的 sock 設定配置模組。

fastcgi.server += ( ".php" =>
        ((
                "socket" => "/run/php/php8.1-lighttpd-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

重新啟動伺服器以進行新的配置更改:

# service lighttpd restart

新增測試 PHP 檔案以確保 PHP 正在執行:

# nano /var/www/html/pi.php

在檔案中新增以下內容:
要檢查配置,請訪問並找到 PHP 資訊頁面。在該PHP Variables部分中,確保$_SERVER['USER']是 lighttpd。

7. 保護 Lighttpd

要保護 Web 伺服器,請新增 Let’s Encrypt TLS 證照並啟用 HTTPS 協議。
安裝讓我們加密。

# apt install -y certbot

申請證照。確保更改build.example.com為您的伺服器的域名。

# certbot certonly --webroot -w /var/www/html/ -d build.example.com

該向導會詢問您的電子郵件地址、同意服務條款以及您是否想成為電子前沿基金會的一員。

啟用 Lighttpdssl模組。

# lighttpd-enable-mod ssl

編輯 Lighttpd SSL 配置:

# nano /etc/lighttpd/conf-enabled/10-ssl.conf

將整個$SERVER["socket"]部分替換為以下內容。在四個地方更改build.example.com您的伺服器的域名。

$HTTP["scheme"] == "http" {
        $HTTP["host"] == "build.example.com" {
                url.redirect = ("/.*" => ")
        }
}
$SERVER["socket"] == "0.0.0.0:443" {
        ssl.engine  = "enable"
        ssl.pemfile = "/etc/letsencrypt/live/build.example.com/fullchain.pem"
        ssl.privkey = "/etc/letsencrypt/live/build.example.com/privkey.pem"
        ssl.cipher-list = "HIGH"
}

儲存檔案,然後重新啟動 lighttpd。

# service lighttpd restart

訪問以確保它現在重定向到並使用 SSL 證照。

8. 更新伺服器

確保配置正確後,使用最新補丁更新 Ubuntu 伺服器。

# apt update -y && apt dist-upgrade -y && apt autoremove -y

重新啟動伺服器以應用更新。

# reboot now
9. 更多設定

除了建立一個獨特的 PHP FPM 池外,還可以更改設定以進一步最佳化效能和速度。這些設定在/etc/php/8.1/fpm/pool.d配置檔案中。經常更改的主要設定是pm設定,它控制如何建立流程,可以是dynamic、static或ondemand。更改此設定也會影響檔案中的其他設定。與任何應用程式一樣,正確的伺服器設定取決於預期用途、負載和配置。

結論

Lighttpd 是一個強大而簡單的 Web 伺服器,當與 PHP 和 MariaDB 整合時,它可以以最小的佔用空間處理數千個請求。使用 Lets Encrypt 保護它既簡單又容易,併為您和您的訪問者增加了另一層保護。

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2915357/,如需轉載,請註明出處,否則將追究法律責任。

相關文章