Как да инсталирате MODX CMS и Nginx на CentOS 7

MODX е безплатна система за управление на съдържанието с отворен код, написана на PHP. Той използва MySQL или MariaDB за съхраняване на своята база данни. MODX е предназначен за бизнеса, в който поддържането на уебсайт е от решаващо значение. Той предоставя гъвкавост на разработчиците да създават уебсайт, като избират свой собствен дизайн и структура. Той също така разполага с WYSIWYGредактор за нетехнически потребители в бизнеса. Освен че е гъвкав, той може да бъде оптимизиран за невероятно бърза скорост.

Този урок е написан за MODX 2.6.1 и може да работи и за по-нови версии.

Предпоставки

За този урок ще използваме modx.example.comкато име на домейн, насочено към екземпляра Vultr. Моля, не забравяйте да замените всички срещания на примерното име на домейн с действителното.

Актуализирайте базовата си система с помощта на ръководството Как да актуализирате CentOS 7 . След като вашата система бъде актуализирана, продължете с инсталирането на зависимостите.

Инсталирайте Nginx

Nginx е производствен уеб сървър за стартиране на уеб приложения. Инсталирайте Nginx.

sudo yum -y install epel-release
sudo yum -y install nginx

Стартирайте Nginx и го активирайте да работи автоматично при стартиране.

sudo systemctl start nginx
sudo systemctl enable nginx

Инсталирайте PHP 7.2

MODX поддържа всички версии на PHP над 5.4. Ще инсталираме най-новата налична версия на PHP. Използването на PHP 7.2 ще гарантира максимална скорост и сигурност. Добавете и активирайте хранилището на Remi, тъй като версията на PHP 7.2 не е налична в YUMхранилището по подразбиране .

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

Инсталирайте PHP версия 7.2 заедно с модулите, изисквани от MODX.

sudo yum -y install php php-zlib php-mysqli php-curl php-json php-cli php-pear php-gd php-openssl php-xml php-mbstring php-fpm ImageMagick

Редактирайте заредения PHP конфигурационен файл.

sudo nano /etc/php.ini

Намерете следния ред. Разкоментирайте го и задайте подходящата часова зона.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone

Също така задайте подходящо ограничение на паметта на следващия ред. Задаването му на -1ще даде неограничена налична памет на скрипт.

memory_limit = -1

След това намерете следния ред и задайте стойността му на, 0след като го декомментирате.

cgi.fix_pathinfo=0

Запазете файла и отворете php-fpmконфигурационния файл.

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

Намерете съществуващия listen = 127.0.0.1:9000, коментирайте го и добавете нов ред, както е показано по-долу.

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock

Също така променете потребителите, както е показано по-долу.

listen.owner = nginx
listen.group = nginx

...

user = nginx
group = nginx

Запазете файла и стартирайте php-fpmи го активирайте автоматично да стартира при стартиране.

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

Осигурете разрешения за писане в директорията на сесията.

sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session

Сега преминете към инсталирането на MariaDB.

Инсталирайте MariaDB

MariaDB е разклонение на MySQL. Добавете хранилището на MariaDB към вашата система. YUMХранилището по подразбиране съдържа по-стара версия на MariaDB.

echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

Инсталирайте MariaDB.

sudo yum -y install mariadb mariadb-server

Стартирайте MariaDB и го активирайте да стартира автоматично при стартиране.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Преди да конфигурирате базата данни, ще трябва да защитите MariaDB.

sudo mysql_secure_installation

Ще бъдете помолени за текущата парола за root на MariaDB. По подразбиране няма root парола в нова инсталация на MariaDB. Натиснете клавиша " Enter", за да продължите. Задайте силна парола за rootпотребителя на вашия MariaDB сървър и отговорете на " Y" на всички други въпроси, които се задават. Зададените въпроси се разбират сами.

Влезте в обвивката на MySQL като root.

mysql -u root -p

Предоставете паролата за влизане на root потребителя на MariaDB.

Изпълнете следните заявки, за да създадете база данни и потребител на база данни за инсталацията на MODX.

CREATE DATABASE modx_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'modx_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON modx_data.* TO 'modx_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Можете да замените името на базата данни modx_dataи потребителското име modx_userпо ваш избор. Моля, не забравяйте да промените StrongPasswordна много силна парола.

Инсталирайте MODX

Изтеглете MODX zip архива.

wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip

Винаги можете да потърсите връзката към най-новата версия на приложението на страницата за изтегляне на MODX .

Инсталирайте разархивирайте.

sudo yum -y install unzip

Разархивирайте архива в директорията webroot на Nginx.

sudo unzip modx.zip -d /usr/share/nginx/

Променете името на директорията.

cd /usr/share/nginx/
sudo mv modx-*/ modx/

Освен това преименувайте ht.accessфайла на .htaccess.

sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess

Създайте директория за кеш на сесията и осигурете собственост на потребителя на nginx.

sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache

Накрая създайте празен конфигурационен файл и дайте подходящи разрешения.

sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/

Разрешете трафик на портове 80и 443през защитната стена.

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

Създайте виртуален хост

За да хоствате вашия MODX сайт, създайте нов виртуален хост.

sudo nano /etc/nginx/conf.d/modx.example.com.conf

Попълнете файла.

server {
        listen 80;
        server_name modx.example.com;
        root /usr/share/nginx/modx;
        index index.php;
        client_max_body_size 30M;
        location / {
                root /usr/share/nginx/modx;
                if (!-e $request_filename) {
                        rewrite ^/(.*)$ /index.php?q=$1 last;
                }
        }
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }

        location ~ /\.ht {
                deny  all;
        }
}

Тествайте конфигурацията на уеб сървъра на Nginx.

sudo nginx -t

Ще видите следния изход.

[user@vultr nginx]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ако не виждате грешки в конфигурацията, рестартирайте Nginx, за да може новата конфигурация да влезе в сила.

sudo systemctl restart nginx

Обобщавайки

Преди да имате достъп до инсталацията, ще трябва да завършите инсталацията чрез уеб инсталатора. Достъп до уеб базираната инсталация на http://modx.example.com/setup. Ще видите интерфейс за промяна на езика на инсталацията.

Изберете езика според вашите предпочитания и на следващата страница изберете опцията " New Installation". На следващата страница предоставете своите идентификационни данни за MySQL или MariaDB база данни и създайте нов администраторски акаунт. Накрая щракнете върху бутона " Install" и инсталаторът ще запише своите данни в базата данни.

В този момент сте готови да създадете своя уебсайт от административното табло.


Как да инсталирате Thelia 2.3 на Debian 9

Как да инсталирате Thelia 2.3 на Debian 9

Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i

Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Инсталиране на Microweber на Ubuntu 16.04

Инсталиране на Microweber на Ubuntu 16.04

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате dotCMS на Ubuntu 16.04

Как да инсталирате dotCMS на Ubuntu 16.04

Използване на различна система? DotCMS е система за управление на съдържанието от корпоративен клас с отворен код, написана на Java. Той съдържа почти всички необходими функции

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с

Как да инсталирате BigTree CMS на Fedora 26 LAMP VPS

Как да инсталирате BigTree CMS на Fedora 26 LAMP VPS

Използване на различна система? BigTree CMS 4.2 е бърза и лека, безплатна и с отворен код, корпоративна система за управление на съдържанието (CMS) с обширна

Инсталиране на Pagekit CMS на Ubuntu 16.04 LTS

Инсталиране на Pagekit CMS на Ubuntu 16.04 LTS

Използване на различна система? Pagekit е CMS с отворен код, написан на PHP. Изходният код на Pagekit се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате

Как да инсталирате PyroCMS на Ubuntu 16.04

Как да инсталирате PyroCMS на Ubuntu 16.04

Използване на различна система? PyroCMS е CMS с отворен код, написан на PHP. Изходният код на PyroCMS се хоства на GitHub. В това ръководство добре се разходете из целия

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание

Как да инсталирате Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Как да инсталирате Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Използване на различна система? Backdrop CMS 1.8.0 е проста и гъвкава, удобна за мобилни устройства, безплатна система за управление на съдържанието (CMS) с отворен код, която ни позволява

Как да инсталирате Roadiz CMS на Debian 9

Как да инсталирате Roadiz CMS на Debian 9

Използване на различна система? Въведение Roadiz е модерна CMS, предназначена да обработва много видове услуги. Въз основа на компонентите на Symfony и Doctrine ORM, т.е

Инсталиране на Microweber на Debian 9

Инсталиране на Microweber на Debian 9

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате Grav CMS на Fedora 28

Как да инсталирате Grav CMS на Fedora 28

Използване на различна система? Grav е CMS с плосък файл с отворен код, написан на PHP. Изходният код на Grav се хоства публично на GitHub. Това ръководство ще ви покаже как т

Как да инсталирате Grav CMS на Debian 9

Как да инсталирате Grav CMS на Debian 9

Използване на различна система? Grav е CMS с плосък файл с отворен код, написан на PHP. Изходният код на Grav се хоства публично на GitHub. Това ръководство ще ви покаже как т

Как да инсталирате Automad CMS на CentOS 7

Как да инсталирате Automad CMS на CentOS 7

Използване на различна система? Automad е файлова система за управление на съдържанието (CMS) с отворен код и шаблонна машина, написана на PHP. Изходният код на Automad i

Как да инсталирате Raneto на Ubuntu 17.10

Как да инсталирате Raneto на Ubuntu 17.10

Raneto е безплатна база от знания с отворен код, изградена на Node.js, която е лесна за настройка и използване, както и лесна за администриране. Категории и страници ar

Как да инсталирате Thelia 2.3 на Ubuntu 16.04

Как да инсталирате Thelia 2.3 на Ubuntu 16.04

Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i

Как да инсталирате октомври 1.0 CMS на Debian 9 LAMP VPS

Как да инсталирате октомври 1.0 CMS на Debian 9 LAMP VPS

Използване на различна система? Октомври 1.0 CMS е проста и надеждна, безплатна и отворена система за управление на съдържанието (CMS), изградена върху рамката Laravel

Как да инсталирате ImpressPages CMS 5.0 на Ubuntu 16.04 LAMP VPS

Как да инсталирате ImpressPages CMS 5.0 на Ubuntu 16.04 LAMP VPS

Използване на различна система? ImpressPages CMS 5.0 е проста и ефективна, безплатна и с отворен код, лесна за потребителя, базирана на MVC, система за управление на съдържанието (CMS)

How to Install CMS Made Simple 2.2 on a Debian 9 LAMP VPS

How to Install CMS Made Simple 2.2 on a Debian 9 LAMP VPS

Using a Different System? CMS Made Simple 2.2 is a flexible and extensible, free and open source Content Management System (CMS) intelligently designed to b

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече