Joomla портал
seo seo Subscribe
seo
seo
seo
0
seo

Предположим у вас есть продукт, который нужно показать другим да не просто показать, а дать именно пощупать. Щупать будут люди разные: нормальные, любопытные и, потенциально, плохие. Конечно можно просто поместить demo-пользователя в группы «Manager», тем самым запретив ему доступ к глобальной конфигурации и установке/удаления расширений, однако это не решит проблему контента содержащегося в вашем продукте, который следопыты будут щупать с распростёртыми руками: редактировать, удалять, создавать свой. Конечно все эти действия испортят внешний вид продукта. Закрыть доступ к контенту — закрыть доступ к продукту! Выход есть: периодическое обновление БД через определённые промежутки времени.

И так приступим:
Создадим субдомен, например demo.domain.ru;
Установим Joomla на субдомен;
Установим и настроим наши demo-расширения, которые будим показывать всему миру;
Создадим нового пользователя и присвоим ему группу «Manager»;
Для безопасности в глобальный конфигурации отключим ftp-режим.

Теперь на помощь приходить великий и могучий cron, который и будет выполнять всю грязную работёнку: каждый час удалять все таблицы БД на demo-сайте и создавать новые из бэкапа, а также чистить каталог с demo-сайтом и потом занова копировать оригинальные файлы, чтобы привести весь тот хаос на demo-сайте, оставленный после следопытов в начальное состояние.

Предположим что наш demo-сайт физически расположен в каталоге «/home/{user}/public_html/demo»:
Создадим новый каталог «/home/{user}/demo.restorefrom». Не стоит создавать каталог «demo.restorefrom» в каталоге «public_html» тем самым открывая ему публичный доступ!
С помощью панели управлениях хостингом или SSH скопируем содержимое каталога «/home/{user}/public_html/demo» в «/home/{user}/demo.restorefrom/demo».
Через phpmyadmin сделаем полным дамп базы demo-сайта, назовём полученный файл «dump.sql» и положим в каталог «/home/{user}/demo.restorefrom».
Создадим shell скрипт restore.sh со следующим содержимым:
#!/bin/sh
mysql -u{mysql username} -p{mysql password} {database name} < dump.sql
rm -rf /home/{user}/public_html/demo
mkdir /home/{user}/public_html/demo
cp demo/* /home/{user}/public_html/demo
и загрузим его в «/home/{user}/demo.restorefrom»
Перейдём в панель управления хостингом и добавим задачу для cron:
/bin/sh /home/{user}/demo.restorefrom/restore.sh
а также выставим время выполнения каждый час: (0 * * * *)

Вот и всё! Не забудьте заменить пути на свои, также в файле restore.sh указать своё название БД, имя пользователя и пароль!

seo
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo