Создание demo-сайта на Joomla 1.5

хостинг файлов

Предположим у вас есть продукт, который нужно показать другим да не просто показать, а дать именно пощупать. Щупать будут люди разные: нормальные, любопытные и, потенциально, плохие. Конечно можно просто поместить 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 указать своё название БД, имя пользователя и пароль!


Источник: http://joomlaportal.ru

Добавить комментарий:
Имя:
E-mail:
2021 © Обсуждение Joomla и других CMS-систем управления сайтами  Правила | О проекте | Обратная связь