如何在Fedora 29上安装Craft CMS

如何在Fedora 29上安装Craft CMS

Craft是用PHP编写的开源CMS。借助Craft,您可以轻松地创建和管理美观的内容,以及完全根据需要设计和构建。具有大型插件生态系统的安全且可扩展的CMS,并且Craft源代码托管在GitHub上。本教程将引导您完成在新的Fedora 29系统上安装Craft CMS的过程,该系统使用Nginx作为Web服务器,并通过加密SSL证书来保护您的网站。

要求条件

制作需要以下条件:

  • PHP 7.0或更高版本,具有以下PHP扩展名(ctype,cURL,GD或ImageMagick,iconv,JSON,多字节字符串,OpenSSL,PCRE,PDO MySQL驱动程序或PDO PostgreSQL驱动程序,PDO,Reflection,SPL,Zip,国际,DOM)
  • 带有InnoDB,MariaDB 5.5+或PostgreSQL 9.5+的MySQL 5.5+
  • 分配给PHP的至少256MB内存
  • 至少200MB可用磁盘空间

先决条件

  • 运行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扩展

安装PHP和所需的PHP扩展。

sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-pecl-imagick php-json php-mbstring php-mysqlnd php-pgsql php-zip php-intl php-xml php-pdo

要查看编​​译成模块的PHP:

php -mctypecurlexiffileinfo. . .. . .

检查PHP版本。

php --version# PHP 7.2.16 (cli) (built: Mar  5 2019 11:05:59) ( NTS )# Copyright (c) 1997-2018 The PHP Group# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

sudo vim /etc/php.ini 并设置 memory_limit 至少 256MB

memory_limit = 256M

启动并启用PHP-FPM服务。

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

您可以继续执行下一步,安装和设置数据库。

第2步-安装MariaDB并创建数据库

Craft CMS支持MySQL / MariaDB和PostgreSQL数据库。本教程使用MariaDB作为数据库服务器。

安装MariaDB数据库服务器:

sudo dnf install -y mariadb-server

检查MariaDB版本。

mysql --version# mysql  Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1

启动并启用MariaDB服务。

sudo systemctl start mariadb.servicesudo systemctl enable mariadb.service

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

sudo mysql_secure_installation

回答每个问题:

New 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 shell。

sudo mysql -u root -p# Enter password

创建空的“ MariaDB数据库”和“ Craft CMS”用户,并记住其凭据。

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

退出MariaDB。

mariadb> exit

交换 dbnameusernamepassword 用你自己的名字。

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

您不需要使用HTTPS保护您的网站,但是我们建议您保护网站流量。要从Let’s Encrypt获得TLS证书,请使用Acme.sh客户端。 Acme.sh是纯UNIX Shell软件,用于获取TLS证书,而无需来自Let’s Encrypt。

下载并安装Acme.sh。

sudo mkdir /etc/letsencryptgit clone https://github.com/Neilpang/acme.sh.gitcd acme.sh sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]cd ~

检查Acme.sh的版本。

/etc/letsencrypt/acme.sh --version# v2.8.0

得到 RSAECC / ECDSA 域/主机名证书:

# RSA 2048sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048# ECDSAsudo /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 目录。

第4步-安装和配置NGINX

Craft CMS可与许多流行的Web服务器软件很好地配合使用。在本教程中,我们选择了Nginx。

安装NGINX Web服务器。

sudo dnf install -y nginx

检查NGINX版本。

nginx -v# nginx version: nginx/1.14.2

启动并启用NGNGX服务。

sudo systemctl start nginx.servicesudo systemctl enable nginx.service

通过执行以下操作配置NGINX for Craft CMS:

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

然后将以下配置添加到文件中:

server {  listen 80;  listen [::]:80;  listen 443 ssl;  listen [::]:443 ssl;  server_name example.com www.example.com;  root /var/www/craft/web;  index index.php;  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;  location / {    try_files $uri/index.html $uri $uri/ /index.php?$query_string;  }  location ~ [^/].php(/|$) {    include default.d/php.conf;    try_files $uri $uri/ /index.php?$query_string;    fastcgi_split_path_info ^(.+.php)(/.+)$;    fastcgi_pass unix:/run/php-fpm/www.sock;    fastcgi_index index.php;    include fastcgi_params;    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    fastcgi_param PATH_INFO $fastcgi_path_info;    fastcgi_param HTTP_PROXY "";  }}

在上述文件中,将example.com替换为您自己的域名。

注意事项:完成Craft访问的Nginx配置 https://github.com/nystudio107/nginx-craft。故意简化了配置,以使配置紧凑且简单。

测试NGINX设置:

sudo nginx -t

重新加载NGINX。

sudo systemctl reload nginx.service

步骤5-安装Composer

全局安装PHP依赖管理器Composer。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.phpphp -r "unlink('composer-setup.php');"sudo mv composer.phar /usr/local/bin/composer

检查Composer版本。

composer --version# Composer version 1.8.4 2019-02-11 10:52:10

注意事项: 检查Composer安装命令,因为将来会更改 https://getcomposer.org/download/ 如果这些命令不起作用,请使用最新的命令。

步骤6-安装Craft CMS

可以使用Composer或通过手动下载来下载Craft CMS。 .ziptar.gz 存档。在本教程中,您将使用Composer下载Craft CMS。

创建Craft CMS所在的文档根目录。

sudo mkdir -p /var/www/craft

转到文档根目录。

cd /var/www/craft

更改所有权 /var/www/craft directory指向{您的用户名}的目录。

sudo chown -R {your_username}:{your_username} /var/www/craft

要创建新的Craft项目,请执行以下命令:

composer create-project craftcms/craft .

更改所有权 /var/www/craft 到目录 nginx:

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

sudo vim /etc/php-fpm.d/www.conf 以及用户和组 nginx。首先,将它们设置为 apache:

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

建立 /var/lib/php/session/ 更改目录和所有权 nginx

sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session

重新启动PHP-FPM服务。

sudo systemctl restart php-fpm.service

在网络浏览器中, http:///index.php?p=admin/install (替换 使用Web服务器主机名)。如果到目前为止您已正确完成所有操作,则将看到“工艺设置向导”。

第7步-完成Craft CMS设置

当您打开安装URL时,将显示以下页面。请点击 “工艺安装” 按键:

点击接受许可 “受到” 按键:

我接受许可证

输入数据库详细信息,然后单击 “下一个” 按键:

连接到数据库

创建一个工艺帐户并单击 “下一个” 按键:

创建一个用户

设置站点并单击 “完成” 按键:

添加网站信息

之后,您将被重定向到Craft管理页面。

Craft CMS仪表板

Sidebar