在CentOS 7上如何安装Grav CMS

・6 分钟阅读

使用不同的系统?

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

要求

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

开始之前

检查CentOS版本。


cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)

使用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 yum update -y

安装必要的软件包。


sudo yum install -y wget curl vim unzip

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


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

安装PHP和所需的PHP扩展

设置Webstatic YUM repo。


sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装PHP和PHP扩展。


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

检查版本。

 
php --version

 

启动并启用php服务。


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

安装和配置Nginx

安装Nginx 。


sudo yum 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 127.0.0.1:9000;
 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目录的所有权更改为nginx


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