Как да инсталирате 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" и инсталаторът ще запише своите данни в базата данни.

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

Оставете коментар

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече