如何在Debian 9上安装带有Nginx的Grav CMS
如何在Debian 9上安装带有Nginx的Grav CMS
Grav是一个快速,简单,灵活,基于文件的Web平台。它遵循与其他平面文件CMS平台类似的原则,但具有与大多数不同的设计理念。 Grav带有强大的包管理系统,可以简单地安装和升级插件和主题,以及简单更新Grav本身。
Grav的底层架构旨在使用成熟且一流的技术来确保Grav易于使用且易于扩展。其中一些关键技术包括:
- Twig Templating:用于强大的用户界面控制
- Markdown:轻松创建内容
- YAML:用于简单配置
- Parsedown:快速Markdown和Markdown额外支持
- Doctrine Cache:性能层
- 疙瘩依赖注入容器:用于可扩展性和可维护性
- Symfony事件调度程序:用于插件事件处理
- Symfony控制台:用于CLI界面
- Gregwar图像库:用于动态图像处理
在本指南中,我们将使用Nginx作为Web服务器,以及acme.sh和Let的Encrypt for HTTPS,逐步指导您在Debian 9操作系统上使用Grav CMS安装过程。
要求
- Web服务器(Apache,Nginx,LiteSpeed,Lightly或IIS)。在本指南中,我们将使用NGINX。
- 带有以下PHP扩展的PHP 7.1.3或更高版本:curl,ctype,dom,gd,json,mbstring,openssl,session,simplexml,xml,zip,apcu(可选),opcache(可选)。
先决条件
- 运行Debian 9的操作系统。
- 具有sudo权限的非root用户。
初步步骤
检查你的Debian版本:
lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)
设置时区:
sudo dpkg-reconfigure tzdata
更新操作系统软件包(软件)。这是重要的第一步,因为它可确保您拥有适用于操作系统默认软件包的最新更新和安全修复程序:
sudo apt update && sudo apt upgrade -y
安装一些Debian操作系统基本管理所必需的基本软件包:
sudo apt install -y curl wget vim git unzip socat apt-transport-https
第1步 – 安装PHP和PHP扩展
Grav CMS需要PHP 7.1或更高版本。 Debian在默认存储库中有PHP版本7,因此您需要使用第三方存储库来安装更新版本。
sudo apt install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
安装PHP 7.2,以及必要的PHP扩展:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-xml php7.2-zip php7.2-opcache php-apcu
检查PHP版本:
php --version
# PHP 7.2.18-1+0~20190503103213.21+stretch~1.gbp101320 (cli) (built: May 3 2019 10:32:13) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.18-1+0~20190503103213.21+stretch~1.gbp101320, Copyright (c) 1999-2018, by Zend Technologies
在Debian 9系统上重启时会自动启动并启用PHP-FPM服务,因此无需手动启动和启用它。我们可以继续下一步,即SSL设置。
第2步 – 安装Acme.sh客户端并获取Let的加密货币证书(可选)
不需要使用HTTPS保护您的网站,但保护您的网站流量是一种很好的做法。为了从Let's Encrypt获取TLS证书,我们将使用Acme.sh客户端。 Acme.sh是一个纯Unix shell软件,用于从Let's Encrypt获得TLS证书,零依赖。
下载并安装Acme.sh:
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail (email protected)
cd ~
检查Acme.sh版本:
/etc/letsencrypt/acme.sh --version
# v2.8.0
获取域/主机名的RSA和ECC / ECDSA证书:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
运行上述命令后,您的证书和密钥将位于:
- 对于RSA:
/etc/letsencrypt/example.com
目录。 - 对于ECC / ECDSA:
/etc/letsencrypt/example.com_ecc
目录。
第3步 – 安装和配置NGINX
安装NGINX Web服务器:
sudo apt install -y nginx
检查NGINX版本:
nginx -v
# nginx version: nginx/1.10.3
跑 sudo vim /etc/nginx/sites-available/grav.conf
并使用以下配置填充文件:
server { listen 80; server_name example.com; root /var/www/grav; index index.html index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~* /(.git|cache|bin|logs|backup|tests)/.*${ return 403; } location ~* /(system|vendor)/.*.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)${ return 403; } location ~* /user/.*.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)${ return 403; } location ~ /(LICENSE.txt|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|.htaccess) { return 403; } location ~ .php${ fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } }
激活新的 grav.conf
通过将文件链接到的配置 sites-enabled
目录。
sudo ln -s /etc/nginx/sites-available/grav.conf /etc/nginx/sites-enabled
检查NGINX配置是否存在语法错误:
sudo nginx -t
重新加载NGINX服务:
sudo systemctl reload nginx.service
第4步 – 安装Grav CMS
创建Grav应驻留在的文档根目录:
sudo mkdir -p /var/www/grav
改变了所有权 /var/www/grav
目录到{your_user}。使用您当前登录到Debian的用户名替换下面命令中的{your_user}。:
sudo chown -R {your_user}:{your_user} /var/www/grav
导航到文档根目录:
cd /var/www/grav
从官方页面下载最新版本并解压缩zip文件:
wget https://getgrav.org/download/core/grav-admin/1.6.9
unzip 1.6.9
mv grav-admin/* . && mv grav-admin/.* .
rm -rf grav-admin 1.6.9
注意:如果有更新的版本,请更新下载URL。
改变所有权 /var/www/grav
目录到 www-data:
sudo chown -R www-data:www-data /var/www/grav
第5步 – 完成Grav设置
在Web浏览器中打开您的网站,您应该会看到一个页面,要求您创建Grav管理员帐户。创建一个,然后单击“创建用户”按钮继续:
而已。您的Grav安装已完成。
链接
- https://getgrav.org/
- https://github.com/getgrav/grav