如何在Fedora 29上使用Nginx安装Pagekit CMS

如何在Fedora 29上使用Nginx安装Pagekit CMS

Pagekit是由Symfony组件和Vue.js构建的现代,直观,模块化,灵活的开源CMS(MIT许可),它为您提供了创建漂亮网站的工具,具有丰富的主题和插件系统。

在本教程中,我们将通过使用NGINX作为Web服务器,使用MariaDB作为数据库服务器,在Fedora 29操作系统上引导您完成Pagekit CMS安装过程,并且可以选择使用acme.sh客户端和Let’s Encrypt保护传输层。证书颁发机构以添加SSL支持。

要求条件

要安装Pagekit,请确保您的服务器满足以下要求:

  • Apache 2.2或更高版本或NGINX Web服务器。
  • MySQL 5.1或更高版本或SQLite 3。
  • PHP版本5.5.9或更高版本。
  • 必需的PHP扩展:JSON,Session,ctype,Tokenizer,SimpleXML,DOM,mbstring,PCRE 8.0+,带有MySQL或SQLite驱动程序的ZIP和PDO。
  • 可选的PHP扩展:cURL,iconv和XML Parser,以及用于缓存的APC或XCache。

先决条件

  • 运行Fedora 29的系统。
  • 具有sudo特权的非root用户。

初步步骤

检查您的Fedora系统版本:

cat /etc/fedora-release# Fedora release 29 (Twenty Nine)

设置时区:

timedatectl list-timezonessudo timedatectl set-timezone 'Region/City'

更新您的操作系统软件包(软件)。这是重要的第一步,因为它可以确保您拥有操作系统默认软件包的最新更新和安全修复程序:

sudo dnf upgrade -y

安装一些基本软件包,这些软件包对于Fedora操作系统的基本管理是必需的:

sudo dnf install -y curl wget vim git sudo unzip socat bash-completion

第1步-安装PHP和必要的PHP扩展

Pagekit CMS平台需要PHP 7.0或更高版本。Fedora29在其默认存储库中包含PHP 7.2版本。

下载并安装PHP和必需的PHP扩展:

sudo dnf install -y php-cli php-fpm php-common php-mbstring php-zip php-mysqlnd php-sqlite3 php-curl php-xml php-json

要显示在模块中编译的PHP,可以运行:

php -mctypecurlexiffileinfo. . .. . .

检查PHP版本:

php --version# PHP 7.2.14 (cli) (built: Jan  8 2019 09:59:17) ( NTS )# Copyright (c) 1997-2018 The PHP Group# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies#     with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

启动并启用PHP-FPM服务:

sudo systemctl start php-fpm.servicesudo systemctl enable php-fpm.service

我们可以继续下一步,即数据库安装和设置。

步骤2-安装MariaDB并为Pagekit创建数据库

Pagekit CMS支持MySQL,MariaDB和SQLite数据库。在本教程中,我们将使用MariaDB作为数据库服务器。

安装MariaDB数据库服务器:

sudo dnf install -y mariadb-server

检查MariaDB版本:

mysql --version

启动并启用MariaDB服务:

sudo systemctl start mariadb.servicesudo systemctl enable mariadb.service

mysql_secure installation 用于提高MariaDB安全性并为MariaDB设置密码的脚本 root 使用者:

sudo mysql_secure_installation

回答每个问题:

Enter current password for root (enter for none): Press EnterSet root password? [Y/n] YNew password: your_secure_passwordRe-enter new password: your_secure_passwordRemove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] YReload privilege tables now? [Y/n] Y

以root用户身份登录MariaDB:

sudo mysql -u root -p# Enter password

创建将用于安装Pagekit的MariaDB数据库和用户,并记住凭据:

CREATE DATABASE dbname;GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';FLUSH PRIVILEGES;

从MariaDB shell退出:

quit

第3步-安装Acme.sh客户端并获取“让我们加密”证书(可选)

不必使用HTTPS保护您的网站,但这是保护您的网站流量的一种很好的做法。为了从Let’s Encrypt获得SSL证书,我们将使用Acme.sh客户端。Acme.sh是用于获取以下内容的纯UNIX shell软件Let’s Encrypt的SSL证书具有零依赖性。

下载并安装acme.sh:

sudo su - rootgit clone https://github.com/Neilpang/acme.sh.gitcd acme.sh ./acme.sh --install --accountemail [email protected]source ~/.bashrccd ~

检查acme.sh版本:

acme.sh --version# v2.8.1

获得 RSAECC / ECDSA 您的域/主机名的证书:

# RSA 2048acme.sh --issue --standalone -d example.com --keylength 2048# ECDSAacme.sh --issue --standalone -d example.com --keylength ec-256

如果您想使用假证书进行测试,可以添加 --staging 标记上述命令。

要列出您颁发的证书,可以运行:

acme.sh --list

创建一个目录来存储您的证书。我们将使用 /etc/letsencrypt 目录。

mkdir -p /etc/letsencrypt/example.comsudo mkdir -p /etc/letsencrypt/example.com_ecc

将证书安装/复制到/ etc / letsencrypt目录。

# RSAacme.sh --install-cert -d example.com          --cert-file /etc/letsencrypt/example.com/cert.pem         --key-file /etc/letsencrypt/example.com/private.key         --fullchain-file /etc/letsencrypt/example.com/fullchain.pem         --reloadcmd "sudo systemctl reload nginx.service"# ECC/ECDSAacme.sh --install-cert -d example.com --ecc         --cert-file /etc/letsencrypt/example.com_ecc/cert.pem         --key-file /etc/letsencrypt/example.com_ecc/private.key         --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem         --reloadcmd "sudo systemctl reload nginx.service"

运行上述命令后,您的证书和密钥将位于:

  • 对于 RSA:/等/ letencrypt/example.com 目录。
  • 对于 ECC / ECDSA:/等/ letencrypt/example.com_ecc 目录。

所有证书将每60天自动更新一次。

获得证书后,从root用户退出并返回到正常的sudo用户:

exit

步骤4-安装NGINX并为Pagekit配置NGINX

安装NGINX Web服务器:

sudo dnf install -y nginx

检查NGINX版本:

nginx -v# nginx version: nginx/1.14.1

启动并启用Nginx服务:

sudo systemctl start nginx.servicesudo systemctl enable nginx.service

通过运行以下命令配置NGINX for Pagekit:

sudo vim /etc/nginx/conf.d/pagekit.conf

并使用以下配置填充文件:

server {    listen [::]:443 ssl http2;    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name example.com;
    
    index index.php index.html;
    root /var/www/pagekit;
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/example.com/private.key;    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }    location ~ .php$ {        include default.d/php.conf;        fastcgi_pass unix:/run/php-fpm/www.sock;    }
    
}

检查NGINX配置是否存在语法错误:

sudo nginx -t

重新加载NGINX服务:

sudo systemctl reload nginx.service

第5步-下载并安装Pagekit CMS

创建文档根目录,Pagekit应该位于该目录中:

sudo mkdir -p /var/www/pagekit

更改所有权 /var/www/pagekit 目录到 [your_user]:

sudo chown -R [your_user]:[your_user] /var/www/pagekit

导航到文档根目录:

cd /var/www/pagekit

通过以下链接下载Pagekit CMS的最新稳定版本 wget

wget https://github.com/pagekit/pagekit/releases/download/1.0.16/pagekit-1.0.16.zip

解压缩Pagekit CMS内容并删除下载的内容 .zip 文件

unzip pagekit-1.0.16.ziprm pagekit-1.0.16.zip

提供适当的所有权:

sudo chown -R nginx:nginx /var/www/pagekit

sudo vim /etc/php-fpm.d/www.conf 并将用户和组设置为 nginx最初,它们将设置为 apache:

sudo vim /etc/php-fpm.d/www.conf# user = nginx# group = nginx

重新启动PHP-FPM服务:

sudo systemctl restart php-fpm.service

第6步-完成Pagekit设置

在网络浏览器中打开您的网站,您应该看到以下页面:

单击右箭头图标继续安装。选择您的语言,然后单击“下一步”按钮:

选择语言

接下来,选择您的数据库SQLite或MySQL并填充必填字段,然后单击“下一步”按钮:

连接到数据库

之后,通过输入站点标题并创建管理员用户帐户来设置站点:

设置网站

就是这样,您将被重定向到Pagekit登录页面。提供您的用户名和密码以登录Pagekit仪表板。

登录到pagekit管理区域

仅此而已。如果您遇到困难,请查看Pagekit官方文档。

友情链接

Sidebar