Реальный пиарCmsJoomla → Репозиторий файлов на Joomla средствами Apache

Репозиторий файлов на Joomla средствами Apache

Создадим две вложенные директории /files/files в корне сайта. Если вы пожелаете использовать другие имена директорий, то вам необходимо будет внести соответствующие правки в дальнейшем.

В директорию /files поместим файл index.php следующего содержания:
<?php
header("Location:files");
?>

Это необходимо сделать для того, чтобы пользователь, путешествую по директориям вашего репозитория, не смог выйти за его пределы.

В директорию files/files поместим файл .htaccess с настройками:
RemoveType application/x-httpd-php php php3
Options Indexes FollowSymLinks MultiViews
IndexOptions FancyIndexing ScanHTMLTitles
ReadmeName .footer.html
HeaderName .header.html

Команда RemoveType application/x-httpd-php php php3 запрещает запускать файлы *.php на выполнение в пределах вашего репозитория. Это полезно сделать, если вы будете давать доступ на размещение файлов в вашем репозитории третим лицам. В этом режиме php файлы не запускаются, а скачиваются как обычные файлы.

Команда Options Indexes FollowSymLinks MultiViews говорит серверу APACHE, что в данной директории разрешено сканирование содержимого. Это является ключевой настройкой, которая позволяет организовать репозиторий данного типа в принципе.

Команда IndexOptions FancyIndexing ScanHTMLTitles позволяет выводить заголовки html-файлов рядом с их именами. Эта опция является полезна, если в вашем репозитории будут хранится HTML-файлы.

Команды ReadmeName .footer.html, HeaderName .header.html назначают файлы, содержимое которых будет автоматически подставляться в начало и конец страницы репозитории и служат для достижения разнообразных оформительских эффектов.


Теперь создайте файлы .header.html, .footer.html и поместите их в каждую папку в пределах вашего репозитория. Если вы хотите, чтобы ваш репозиторий унаследовал стили вашего шаблона, то в файле .header.html нужно сделать подключение CSS-стилей, например так:
<link rel="stylesheet" type="text/css" href="http://www.gorodbereza.ru/templates/akogreenportal/css/template_css.css" />
(В моем случае идет импорт стилей с шаблона "akogreenportal")

Здесь существует один важный момент. В случае когда файлы заголовков не определены, APACHE автоматически создает заголовки с путём до текущей директории, например Index of /files/files . Это очень полезная информация, так как показывает координаты директории, которую вы в данный момент просматриваете. Если вы создаете свой заголовок (файл .header.html), то в нём будет полезно отразить эту информацию, прописав в каждом файле .header.html, каждой директории, путь до данной директории.

Использование файлов .header.html и .footer.html позволяет сделать из репозитория полноценную HTML-страницу, которую можно гармонично вписать в дизайн вашего сайта. Вот пример репозитория-галереи (в качестве файлов выступают рисунки): [ссылка]

Осталось самое важное - интегрировать наш репозиторий в JOOMLA. Для этого в админке JOOMLA войдите в окно создания нового элемента меню и выберите тип меню Wrapper. В открывшемся окне настроек впишите:
Name: - Файлы (название пункта меню)
Wrapper Link: - /files/files (путь до вашей директории с файлами)
Auto Height; - yes (активации данной опции является полезной, так как автоматически регулирует высоту окна и избавляет от неэстетической вертикальной полосы прокрутки)

В остальных опциях можно оставить значения по умолчанию.

Все, репозитарий готов. Он будет выглядеть примерно как у меня: [ссылка]
Создание закрытой директории

Очень часто вам может понадобиться закрыть некоторые директории от общего доступа. Это также можно сделать средствами Apache: В директорию, которую вы хотите закрыть (в моём случае, это директория private) поместите файл .htacces в котором необходимо прописать "секьюрные" настройки, например:
AuthName "Password Protected"
AuthType Basic
AuthUserFile /www/myproject/passwd.file
require valid-user>

Здесь самой важной является опция AuthUserFile, в которой прописывется путь до файла passwd.file. В файле passwd.file - хранятся данные авторизации: имя пользователя и хэш-образ пароля.


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

Рекомендуем



Добавление материалов пользователями в Joomla 1.5 Если же необходимо дать права на добавление материалов всем зарегистрированным пользователям на сайте, то проще всего расширить права группы Registered выполнив небольшую модификацию


Инструкция по обновлению с Joomla 1.0.x на Joomla 1.5 Stable В случае, если у Вас установлены сторонние расширения, Вам необходимо установить соответствующие плагины для компонента-мигратора Обратитесь за этими плагинами к авторам расширений


Создание кнопки для визуального редактора в Joomla 1.5 Весьма серьезным преимуществом Joomla перед другими системами является довольно широкие возможности расширения базового функционала системы посредством различного рода расширений