如何在Fedora 29上安装Craft CMS

・9 分钟阅读

使用不同的系统?

Craft CMS是一个用PHP编写的开源CMS ,Craft CMS源代码托管于gitHub ,本指南将向你展示如何在新的Fedora29实例上安装带有nginx的Craft CMS 。

要求

Craft要求以下各项:

  • PHP版本7.0或更高版本,有以下扩展名:
    • ctype
    • curl
    • gdimagemagick
    • iconv
    • json
    • mbstring
    • openssl
    • pcre
    • pdo
    • pdo mysql
    • pdo postgresql
    • reflection
    • spl
    • zip
    • intl
    • dom
  • 使用InnoDB,MariaDB版本5.5或更高版本,或PostgreSQL版本9.5或更高版本的MySQL版本5.5或更高版本,
  • 至少有256MB内存分配给PHP
  • 至少200MB个可用磁盘空间
  • Nginx
  • MariaDB
  • 编辑器

开始之前

检查Fedora版本。


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

使用sudo访问创建一个新的非root用户帐户,并且切换到它。


useradd -c"John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

注:将johndoe替换为你的用户名。

设置时区。


timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

确保你的系统是最新的。


sudo dnf update -y

安装必要的软件包。


sudo dnf install -y wget vim unzip bash-completion

禁用SELinux和防火墙。


sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld

步骤1安装PHP和所需的PHP扩展

安装PHP 。


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

检查版本。

 
php --version

 

启动并启用php fpm 。


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

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

安装MariaDB 。


sudo dnf install -y mariadb-server

检查版本。

 
mysql --version

 

启动并启用MariaDB 。


sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

运行mysql_secure_installation脚本以提高安装的安全性。


sudo mysql_secure_installation

以root用户身份登录到MariaDB 。


mysql -u root -p
# Enter password:

创建新的数据库和用户,并记住凭据。


create database dbname;
grant all on dbname.* to 'username' identified by 'password';
flush privileges;
exit

步骤3安装和配置nginx

安装Nginx 。


sudo dnf install -y nginx

检查版本。

 
nginx -v

 

启动并启用Nginx 。


sudo systemctl start nginx.service
sudo systemctl enable nginx.service

配置Nginx ,运行 sudo vim /etc/nginx/conf.d/craft.conf 并使用以下方法填充文件。


server {
 listen [::]:80;
 listen 80;

 server_name example.com;
 root /var/www/craft/web;

 index index.html index.htm index.php;
 charset utf-8;

 location / {
 try_files $uri/index.html $uri $uri/ /index.php?$query_string;
 }

 location ~ [^/].php(/|$) {
 include default.d/php.conf;
 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""; 
 }
}

测试配置。

 
sudo nginx -t

 

重新加载Nginx 。


sudo systemctl reload nginx.service

步骤4安装作曲家

安装编辑器。


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.php

php -r"unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

检查版本。


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

步骤5-下载并安装Craft CMS

注:可通过编辑或手动下载.zip.tar.gz归档文件来下载Craft,

创建文档root目录。


sudo mkdir -p /var/www/craft

/var/www/craft目录的所有权更改为johndoe


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

导航到文档root 。

 
cd/var/www/craft

 

通过composer下载最新的Craft CMS稳定版。


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://<Hostname>/index.php?p=admin/install<Hostname>替换为服务器名的web主机,要访问Craft的管理界面,请将/admin附加到你的IP/domain 。

圣地学子 profile image