Предположим у вас есть продукт, который нужно показать другим да не просто показать, а дать именно пощупать. Щупать будут люди разные: нормальные, любопытные и, потенциально, плохие. Конечно можно просто поместить demo-пользователя в группы «Manager», тем самым запретив ему доступ к глобальной конфигурации и установке/удаления расширений, однако это не решит проблему контента содержащегося в вашем продукте, который следопыты будут щупать с распростёртыми руками: редактировать, удалять, создавать свой. Конечно все эти действия испортят внешний вид продукта. Закрыть доступ к контенту — закрыть доступ к продукту! Выход есть: периодическое обновление БД через определённые промежутки времени.
И так приступим:
- Создадим субдомен, например demo.domain.ru;
- Установим Joomla на субдомен;
- Установим и настроим наши demo-расширения, которые будим показывать всему миру;
- Создадим нового пользователя и присвоим ему группу «Manager»;
- Для безопасности в глобальный конфигурации отключим ftp-режим.
Теперь на помощь приходить великий и могучий , который и будет выполнять всю грязную работёнку: каждый час удалять все таблицы БД на demo-сайте и создавать новые из бэкапа, а также чистить каталог с demo-сайтом и потом занова копировать оригинальные файлы, чтобы привести весь тот хаос на demo-сайте, оставленный после следопытов в начальное состояние.
Предположим что наш demo-сайт физически расположен в каталоге "/home/{user}/public_html/demo":
- Создадим новый каталог "/home/{user}/demo.restorefrom". Не стоит создавать каталог «demo.restorefrom» в каталоге «public_html» тем самым открывая ему публичный доступ!
- С помощью панели управлениях хостингом или скопируем содержимое каталога "/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 указать своё название БД, имя пользователя и пароль!
Обсудить статью на форуме: Создание demo-сайта на Joomla 1.5.
Источник: Создание demo-сайта на Joomla 1.5, который обновляется каждый час









