Поиск по сайту:

Как установить Pimcore с Nginx на CentOS 7


На этой странице

  1. Шаг 1. Установка Nginx
  2. Шаг 2. Установка PHP
  3. Шаг 3. Установка MariaDB
  4. Шаг 4. Установка дополнительного серверного программного обеспечения
  5. Шаг 5. Установка и настройка Pimcore
  6. Шаг 6. Настройка разрешений и брандмауэра
  7. Заключение

Pimcore предоставляет бесплатную систему управления корпоративным контентом с открытым исходным кодом. Он написан на PHP и использует MySQL для хранения своей базы данных. Pimcore CMS полностью гибкая и редактируемая, вы можете персонализировать сайт так, как хотите. Помимо всего этого, он имеет множество функций корпоративного класса, которые позволяют ему удовлетворять спрос на веб-сайт корпоративного уровня.

В этом руководстве мы установим Pimcore CMS на сервер CentOS 7.

Предпосылка

  • Минимальный сервер CentOS 7
  • Привилегии root

Шаг 1 — Установка Nginx

Рекомендуется обновить сервер перед установкой любого пакета, чтобы обновить существующие пакеты и репозитории.

yum -y install epel-release
yum -y update

После обновления вашей системы вы можете приступить к установке веб-сервера Nginx.

yum -y install nginx

Теперь запустите веб-сервер Nginx и включите его во время загрузки, используя следующую команду.

systemctl start nginx
systemctl enable nginx

Шаг 2 — Установка PHP

Pimcore поддерживает все версии PHP выше 5.6. Но в этом уроке мы установим PHP 7.1. Установка последней версии PHP обеспечит максимальную безопасность и производительность приложения.

Репозиторий YUM CentOS по умолчанию не включает 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

Вы должны получить вывод, подобный этому.

[ ~]# 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. Сохраните файл и выйдите из редактора.

Теперь откройте файл конфигурации PHP-FPM, расположенный по адресу /etc/php-fpm.d/www.conf:

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

Найдите следующие строки:

user = apache
group = apache

Измените значение пользователя и группы с apache на nginx. Теперь найдите:

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

Раскомментируйте вышеуказанные строки и измените none на 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, чтобы продолжить.

Сценарий спросит вас, хотите ли вы установить пароль root для установки MariaDB, выберите y и установите надежный пароль для установки. Большинство вопросов говорят сами за себя, и вы должны ответить «да» или «y» на все вопросы. Вывод будет выглядеть так, как показано ниже.

Чтобы создать базу данных, нам нужно сначала войти в командную строку MySQL. Выполните следующую команду для того же.

mysql -u root -p

Приведенная выше команда войдет в оболочку MySQL пользователя root, она запросит пароль пользователя 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. Настройте разрешения и брандмауэр

Теперь вам нужно будет предоставить право собственности на приложение пользователю веб-сервера, используя следующую команду.

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

Вам также может потребоваться разрешить HTTP-трафик на порту 80 через брандмауэр, если он у вас установлен. Выполните следующие команды для того же.

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

Теперь завершите установку с помощью веб-браузера, перейдите по следующей ссылке.

http://cms.yourdomain.com

Вас приветствует следующая страница.

Выберите mysqli в качестве адаптера базы данных, укажите сведения о базе данных и новом пользователе-администраторе. Нажмите Установить сейчас! кнопка после того, как сделано. Установка займет всего несколько секунд.

Заключение

Установка Pimcore завершена, вы можете использовать Pimcore, чтобы легко создать красивый веб-сайт для личных или коммерческих целей.