如何在CentOS 7上使用Nginx安装Pimcore

Pimcore提供免费的开源企业内容管理系统。 它是用PHP编写的,并使用MySQL存储其数据库。 Pimcore CMS是完全灵活和可编辑的,您可以按照您想要的方式个性化网站。 除此之外,还有许多企业级功能,能够满足企业级网站的需求。

在本教程中,我们将在CentOS 7服务器上安装Pimcore CMS。

条件

  • 最小CentOS 7服务器
  • 根权限

第1步 - 安装Nginx

建议在安装任何软件包之前更新服务器,以便更新现有软件包和存储库。

yum -y install epel-release
yum -y update

一旦您的系统更新,您可以继续安装Nginx Web服务器。

yum -y install nginx

现在启动Nginx Web服务器,并使用以下命令启动它在启动时启动。

systemctl start nginx
systemctl enable nginx

第2步 - 安装PHP

Pimcore支持所有版本的PHP大于5.6。 但是在本教程中,我们将安装PHP 7.1。 安装最新版本的PHP将确保应用程序的最大安全性和性能。

CentOS的默认YUM存储库没有包含PHP 7.1,因此您需要在系统中添加Webtatic存储库。

键入安装Webtatic存储库的命令。

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

键入以下命令以安装PHP 7.1以及所有必需的依赖关系。

yum -y install php71w php71w-mysqli php71w-fpm php71w-gd php71w-cli php71w-iconv php71w-dom php71w-simplexml php71w-exif php71w-fileinfo php71w-mbstring php71w-zlib php71w-zip php71w-bz2 php71w-openssl php71w-opcache php71w-curl php71w-pecl-redis ImageMagick

要检查PHP是否安装成功,可以运行:

php -v

你应该得到类似的输出。

[root@liptan-pc ~]# php -v
PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.6, Copyright (c) 1999-2017, by Zend Technologies

现在您需要在PHP中配置几个配置。 使用您最喜欢的文本编辑器打开PHP配置文件php.ini

nano /etc/php.ini

找到以下行,取消注释行并根据您所在的地区设置时区。 例如:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

此外,搜索以下行:

upload_max_filesize = 2M

将值从2M更改为100M,并搜索以下行:

post_max_size = 8M

将值从8M更改为100M。 保存文件并退出编辑器。

现在,打开位于/etc/php-fpm.d/www.conf的 PHP-FPM配置文件:

nano /etc/php-fpm.d/www.conf

查找以下行:

user = apache
group = apache

用户值从apache更改为nginx 。 现在找到:

;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660

取消上述行的注释,并将no更改为nginx

最后,找到:

listen = 127.0.0.1:9000

注释掉上面的一行,并在其下方添加以下行。

listen = /var/run/php-fpm/php-fpm.sock

现在启动PHP-FPM服务,并使其能够在启动时自动启动:

systemctl start php-fpm
systemctl enable php-fpm

第3步 - 安装MariaDB

MariaDB是MySQL数据库的一个分支。 要在服务器上安装MariaDB,请运行:

yum -y install mariadb mariadb-server

运行以下命令启动MariaDB并使其在引导时启动。

systemctl start mariadb
systemctl enable mariadb

现在运行以下命令来保护您的MariaDB安装。

mysql_secure_installation

上述命令将运行一个脚本来保护新鲜的MariaDB安装。 该脚本将要求现有的root用户密码,我们刚刚安装了MariaDB,root密码未设置,只需按Enter继续。

该脚本会询问您是否要为您的MariaDB安装设置root密码,然后选择y并为安装设置一个强密码。 大部分问题是不言自明的,你应该回答所有问题的答案。 输出如下图所示。

要创建数据库,我们需要先登录到MySQL命令行。 运行以下命令相同。

mysql -u root -p

上述命令将登录到root用户的MySQL shell,它将提示输入root用户的密码。 提供登录密码。 现在运行以下查询为您的Pimcore安装创建一个新的数据库。

CREATE DATABASE pimcore_data CHARACTER SET UTF8;

上述查询将创建一个名为pimcore_data的新数据库。 请确保在每个查询结尾使用分号,因为查询始终以分号结尾。

要创建新的数据库用户,请运行以下查询。

CREATE USER 'pimcore_user'@'localhost' IDENTIFIED BY 'StrongPassword';

现在通过您创建的数据库为数据库用户提供所有权限。 运行以下命令。

GRANT ALL PRIVILEGES ON pimcore_data.* TO 'pimcore_user'@'localhost';

现在运行以下命令立即对数据库权限应用更改。

FLUSH PRIVILEGES;

使用以下命令退出MySQL提示符。

EXIT;

第4步 - 安装附加服务器软件

Pimcore需要其他服务器软件包,用于使用Pimcore CMS执行某些操作。 几个依赖关系仅在RPMFusion存储库中可用。 使用以下命令安装RPM Fusion存储库。

rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

运行以下命令安装其他服务器软件。

yum -y install ffmpeg libreoffice libreoffice-math xorg-x11-fonts-75dpi poppler-utils inkscape libXrender ghostscript fontconfig wkhtmltopdf

上述命令将安装FFMPEG,LibreOffice,pdftotext,Inkscape和Wkhtmltoimage / Wkhtmltopdf。

第5步 - 安装和配置Pimcore

由于我们已经准备好所有的依赖项,我们现在可以从Pimcore网站下载安装包。

cd /var/www

Pimcore提供三种不同类型的安装存档。 如果要安装Pimcore以及适用于初学者的演示数据,可以使用以下链接下载Pimcore。

wget https://www.pimcore.org/download/pimcore-data.zip

如果要仅安装Pimcore核心包,则可以使用以下链接进行下载。

wget https://www.pimcore.org/download/pimcore-latest.zip

第三个选择是安装夜间构建,这仅用于开发目的。 上述命令将始终下载最新版本的Pimcore。 使用以下命令提取存档。

unzip pimcore*.zip -d pimcore

如果您没有安装unzip,可以运行yum -y install unzip

第6步 - 配置权限和防火墙

现在,您将需要使用以下命令将应用程序的所有权提供给Web服务器用户。

chown -R nginx:nginx /var/www/pimcore

如果您正在运行,您可能还需要通过防火墙允许端口80上的HTTP流量。 运行以下命令相同。

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload

要临时禁用SELinux而不重新启动服务器,请运行以下命令。

setenforce 0

要完全禁用SELinux,您需要编辑/ etc / selinux / config文件。

nano /etc/selinux/config

找到以下行:

SELINUX=enforcing

将其更改为:

SELINUX=disabled

现在为Pimcore应用程序创建虚拟主机或服务器块。 运行以下命令相同。

nano /etc/nginx/conf.d/cms.yourdomain.com.conf

将以下行粘贴到文件中。

server {
    root /var/www/pimcore;
    index index.php;
    server_name cms.yourdomain.com;
    listen 80;
    access_log  /var/www/pimcore/website/var/log/nginx_access.log;
    error_log   /var/www/pimcore/website/var/log/nginx_error.log error;
 
    set $getassets "";
    if ($uri ~* ^/website/var/assets)   { set $getassets "${getassets}A"; }
    if ($request_method = GET)      { set $getassets "${getassets}B"; }
    if ($getassets = "AB") {
        rewrite ^ $uri$args last;
    }
 
  location ~* ^(/plugins/(?!.*/static).*|^/pimcore/(?!(static|modules/3rdparty)).*|/website/var/(?!tmp|assets|areas)|/modules/(?!.*/static).*|^(vendor|tests|node_modules|phing)/.*|^(bower|package|composer|gulpfile)\.) {
        return 403;
    }
    
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
        index index.php;
    }
 
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_read_timeout 60;
    }

    location ~* \.(jpe?g|gif|png|bmp|ico|css|js|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ {
        access_log off;
        log_not_found off;
        try_files $uri $uri/ /website/var/assets$uri /index.php$is_args$args;
        expires 1w;
    }
    
  
    rewrite ^\/cache-buster-\d+(.*) $1 break;
    
    location /fpm-ping {
        access_log off;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }

    location /fpm-status {
        allow 127.0.0.1;
        deny all;
        access_log off;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }
    location /nginx-status {
        allow 127.0.0.1;
        deny all;
        access_log off;
        stub_status;
    }
}

cms.yourdomain.com替换为要用于访问应用程序的任何域或子域。 保存文件并退出编辑器。 运行以下命令重新启动Nginx服务器。

systemctl restart nginx

现在使用Web浏览器完成安装,请转到以下链接。

http://cms.yourdomain.com

您将受到以下页面的欢迎。

选择mysqli作为数据库适配器,提供数据库和新的管理员用户的详细信息。 点击立即安装! 按钮一次完成 安装只需几秒钟即可完成。

结论

Pimcore的安装现已完成,您可以使用Pimcore轻松创建一个美丽的网站,用于个人或商业目的。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏