如何在Ubuntu 20.04 LTS上安装Lighttpd PHP和MariaDB

Lighttpd,也被称为Lighty,是一个占用空间很小的开源web服务器,当与PHP、MySQL或MariaDB一起安装时,它可以可靠地为数百万个连接提供服务。Lighty还拥有许多扩展其功能的模块。

本文档指导您从Ubuntu核心发行版安装lighttpd,然后解释如何将其更新到最新版本。它还包括安装PHP,使用FastCGI进程管理器(FPM)池保护PHP,安装MariaDB,以及使用Let's Encrypt中的SSL证书保护web服务器。

1、添加PHP库

要支持PHP的最新版本,请添加由Ubuntu和PHP开发人员之一托管的公共存储库。

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

添加存储库后,更新本地apt缓存。

# apt update

2、安装Lighttpd

要获得lighttpd的核心安装,请安装apt版本:

# apt install -y lighttpd

完成之后,检查安装的lighttpd的版本。

# lighttpd -v

如果你运行的是Ubuntu 20.04,它应该返回lighttpd/1.4.55 (ssl) -一个轻量级和快速的网络服务器。通过访问您的站点(如http://build.example.com)确保安装成功。您应该获得lighttpd占位符页面。

添加lighttpd用户和组:

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

将lighttpd用户和组设置为/var/www/html目录的所有者:

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

3、安装MariaDB和PHP

除了lighttp,安装MariaDB和PHP: # apt install -y php-{cli,gd,fpm,mysql,curl,json,xml} mariadb-server

MariaDB安装完成后,请确保MariaDB安装的安全性。

# mysql_secure_installation

  • 按ENTER确认空白root密码
  • 输入“Y”,输入“ENTER”,同意修改密码
  • 输入新的安全密码。
  • 输入Y,然后输入ENTER,删除匿名用户
  • 输入Y,再输入ENTER,禁止root用户登录
  • 通过输入Y和ENTER来删除测试数据库
  • 输入Y,然后输入ENTER,重新加载权限表

重命名默认的PHP FPM池与web服务器的名称:

# mv /etc/php/8.0/fpm/pool.d/www.conf /etc/php/8.0/fpm/pool.d/lighttpd.conf

通过编辑配置文件,更改与池关联的用户和Unix套接字:

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

改变四行:

更改括号内的最上面一行,将池名从[www]设置为[lighttpd]

将line user = www-data更改为user = lighttpd

将line group = www-data更改为group = lighttpd

更改行listen = /run/php/php8.0-fpm。Sock to listen = /run/php/php8.0-lighttpd- pm. Sock . php

保存文件并重启PHP FPM服务:

# service php8.0-fpm restart

4、升级Lighttpd

添加一些从源代码构建lighttpd最新版本所需的包。

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

从命令提示符下载lighttpd的最新tarball。在撰写本文时,最新版本是1.4.59。您可以在https://download.lighttpd.net/lighttpd/上找到最新的下载链接

# wget https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.59.tar.gz

提取原始码。

# tar xzf lighttpd-1.4.59.tar.gz

切换到lighttpd工作目录。

# cd lighttpd-1.4.59

将包配置为包含SSL,并安装在/usr/sbin目录中。

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

配置完成后,制作并安装软件包。

# make# make install

执行lighttpd -v命令确保1.4.59版本安装成功。该命令应该返回lighttpd/1.4.59 (ssl) -一个轻量级和快速的web服务器

5、配置Lighttpd

Ubuntu 20.04附带的旧1.4.55版本有一个已弃用的mod_compress模块,必须用mod_deflate替换。要改变模块加载,编辑默认配置:

# nano /etc/lighttpd/lighttpd.conf

更改以下三行:

更改包含compress的行。Cache-dir为defle . Cache-dir

删除包含compress.filetype的行

将模块配置从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

删除整个文件内容,并使用以下内容替换,这将为您在第3步中所做的sock设置配置php模块。

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

重启服务器以进行新的配置更改:

# service lighttpd restart

添加一个测试PHP文件,以确保PHP正在运行:

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

在文件中添加以下内容:

<?php phpinfo();

要检查配置,请访问http://build.example.com/pi.php并找到一个PHP信息页面。在PHP变量部分,确保$_SERVER['USER']是lighttpd。

7、安全Lighttpd

为了保证web服务器的安全,添加“让我们加密TLS证书”并启用HTTPS协议。

安装加密。

# apt install -y certbot

请求一个证书。请确保将build.example.com更改为服务器的域名。

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

向导询问您的电子邮件地址,是否同意服务条款,以及是否想成为电子前沿基金会的一部分。

启用Lighttpd ssl模块。

# 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 = ("/.*" => "https://build.example.com$0")        }} $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

访问http://build.example.com以确保它现在重定向到https://build.example.com并使用SSL证书。

8、更新服务器

确保配置正确后,请更新Ubuntu服务器的最新补丁。

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

重新启动服务器以应用更新。

# reboot now

9、更多的设置

除了创建一个独特的PHP FPM池之外,还可以更改设置以进一步优化性能和速度。这些设置在/etc/php/8.0/ pm/pool中。d配置文件。经常更改的主要设置是pm设置,它控制如何创建流程,是动态的、静态的还是随需应变的。更改此设置也会影响文件中的其他设置。与任何应用程序一样,正确的服务器设置取决于预期的使用、加载和配置。

Lighttpd是一个健壮而简单的web服务器,当与PHP和MariaDB集成时,它可以以最小的占用空间为数千个请求提供服务。保护它与Lets Encrypt是简单和容易的,并为您和您的访问者增加了另一层保护。

未经允许不得转载:便宜VPS网 » 如何在Ubuntu 20.04 LTS上安装Lighttpd PHP和MariaDB