Как установить Pimcore с Nginx на CentOS 7
На этой странице
- Шаг 1. Установка Nginx
- Шаг 2. Установка PHP
- Шаг 3. Установка MariaDB
- Шаг 4. Установка дополнительного серверного программного обеспечения
- Шаг 5. Установка и настройка Pimcore
- Шаг 6. Настройка разрешений и брандмауэра
- Заключение
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
Вас приветствует следующая страница.
![](common-images/how-to-install-pimcore-on-centos-7/Image_001.jpg)
Выберите mysqli в качестве адаптера базы данных, укажите сведения о базе данных и новом пользователе-администраторе. Нажмите Установить сейчас! кнопка после того, как сделано. Установка займет всего несколько секунд.
![](common-images/how-to-install-pimcore-on-centos-7/Image_003.jpg)
Заключение
Установка Pimcore завершена, вы можете использовать Pimcore, чтобы легко создать красивый веб-сайт для личных или коммерческих целей.