如何在Fedora 28上安装Grav CMS

・6 分钟阅读

使用不同的系统?

Grav是一个用PHP编写的开源文件CMS,Grav源代码发布在gitHub ,本指南会向你展示如何在一个新的Fedora28实例上安装GravCMS。

要求

  • Web服务器(Apache,Nginx,LiteSpeed或IIS ),在本指南中,我们将使用Nginx ,
  • PHP 5.5.9或更高版本

开始之前

检查Fedora版本。


cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

使用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 check-upgrade || sudo dnf upgrade -y

安装必要的软件包。


sudo dnf install -y wget curl vim unzip

为简便起见,请禁用SELinux和防火墙。


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

安装PHP和所需的PHP扩展

安装PHP和PHP扩展。


sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-json php-mbstring php-xml php-zip php-opcache php-pecl-apcu

检查版本。

 
php --version

 

启动并启用php服务。


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

安装和配置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/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$1$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:/run/php-fpm/www.sock;
 fastcgi_split_path_info ^(.+.php)(/.+)$;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
 }

}

测试Nginx配置。

 
sudo nginx -t

 

重新加载Nginx 。


sudo systemctl reload nginx.service

安装重力

创建文档root目录。


sudo mkdir -p /var/www/grav

将/var/www/grav目录的所有权更改为johndoe 。


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

导航到文档根目录。

 
cd/var/www/grav

 

下载并解压重力。


wget https://getgrav.org/download/core/grav-admin/1.4.8
unzip 1.4.8
mv grav-admin/* . && mv grav-admin/.* .
rm -rf grav-admin 1.4.8

/var/www/grav目录的所有权更改为。


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

运行sudo vim/etc/php-fpm.d/www.conf,并且会用户和组设置为nginx最初,它会被设置为用户和组apache


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

重新启动php服务。


sudo systemctl restart php-fpm.service

创建/var/lib/php/session/目录并将所有权更改为nginx


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

在浏览器中打开http://example.com,并按照屏幕指示操作,访问Grav管理附加/admin到你的URL 。

圣地学子 profile image