Главная » Joomla » Статьи о Joomla » Основы Joomla » Репозиторий файлов на Joomla средствами Apache
Распечатать статью

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

  1. Создадим две вложенные директории /files/files в корне сайта. Если вы пожелаете использовать другие имена директорий, то вам необходимо будет внести соответствующие правки в дальнейшем.
  2. В директорию /files поместим файл index.php следующего содержания:
    <?php
    header("Location:files");
    ?>

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

  3. В директорию 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 назначают файлы, содержимое которых будет автоматически подставляться в начало и конец страницы репозитории и служат для достижения разнообразных оформительских эффектов.

  4. Теперь создайте файлы .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-страницу, которую можно гармонично вписать в дизайн вашего сайта. Вот пример репозитория-галереи (в качестве файлов выступают рисунки): [ссылка]

  5. Осталось самое важное — интегрировать наш репозиторий в 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 — хранятся данные авторизации: имя пользователя и хэш-образ пароля.

Файл passwd.file создается утилитой htpasswd, которая входит в состав сервера APACHE. Более подробно об этом можно узнать [здесь].

P.S. Если в вашем ропозитории будут отсутствовать иконки файлов, то распакуйте и поместите папку icons в корень вашего сайта [ссылка]

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

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи