0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 21553 Просмотров
*

gorunov

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

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


СОЗДАНИЕ ЗАКРЫТОЙ ДИРЕКТОРИИ

Очень часто вам может понадобиться закрыть некоторые директории от общего доступа. Это также можно сделать средствами 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 в корень вашего сайта [ссылка]


[вложение удалено Администратором]
« Последнее редактирование: 17.05.2008, 16:27:24 от gorunov »
*

dezzor

  • Осваиваюсь на форуме
  • 103
  • 10
  • Flahost.ru - доступный хостинг
Супер (+) в гору
*

mvart

  • Осваиваюсь на форуме
  • 35
  • -2
Теперь создайте файлы .header.html, .footer.html

А как их создать если  я создаю файл .header.html а ответ  "СЛЕДУЕТ ВВЕСТИ ИМЯ ФАЙЛА"

с точкой не создается такой файл вернее с двумя точками или я чего-то не так делаю
localhost + Joomla! 1.0.15 Lavra Edition 2008
*

Physicist

  • Support Team
  • 963
  • 185
  • Рябов Денис
mvart, а ты как пытаешься их создать?
*

mvart

  • Осваиваюсь на форуме
  • 35
  • -2
да глюкнул с WINDOWS

понял ошибку

с joomla проводником создал но фича не работает почему-то
localhost + Joomla! 1.0.15 Lavra Edition 2008

Спасибо, gorunov. То что надо.  ^-^
На одном из своих сайтов так сделал, всё работает.
http://www.portmone.zp.ua/index.php?option=com_content&view=archive&Itemid=490

Есть одно дополнение:
Apache у моего хостера показывал в листинге директорий файлы .header.html и .footer.html, хотя они, должны быть скрытыми, вообще-то  :(
Помогло добавление такой строки в файл .htaccess
IndexIgnore .footer.html  .header.html
*

timurcheg

  • Новичок
  • 9
  • 0
Блин, а сразу-то и не заметил что ответ на мой вопрос, постом выше :)
Тогда другой вопрос: Я сделал всход в репозторий тока для зарегистрированных пользователей, однако, если руками вбить в строку http://domain.com/files/files то попадаешь в него. как бы прикрыть это?

и с иконками не совсем понятно, я распаковал в корень сайта архив, ничего не появилось :(
« Последнее редактирование: 06.10.2008, 01:05:59 от timurcheg »
*

gorunov

  • Осваиваюсь на форуме
  • 27
  • 11
Перенес сайт на другой хостинг (VPS), все русские буквы в файловом архиве стали  кракозябами, причем не взирая на то что в коде стояла кодировка windows-1251. Решение оказалось такое: Сказать APACHE, чтобы он передовал в загалоках кодировку windows-1251, для этого в файлике .htaccess пропишите дериктиву:

Код
IndexOptions Charset=WINDOWS-1251 
*

gorunov

  • Осваиваюсь на форуме
  • 27
  • 11
--> timurcheg
"Прикрыть" Jooml-ой нельзя (или по крайней мере не так просто), так как данный файловый архив с PHP вообще не свзяан, а работает исключительно с помощью APACHE. "Прикрыть" можно с помощью средств Apache . Как это сделать описано в первом посте.

Статья хорошая (лови +), долго думал и пробовал много файловых архивов но так ничего подходящего не нашел, а аказалось все гороздо проше:) Если кому интересно то вот что получилось у меня http://prgsl.info/index.php?option=com_wrapper&Itemid=44
*

lekx

  • Осваиваюсь на форуме
  • 44
  • 0
Создаю закрытую директорию на локальной машине(по инструкции как описано выше), и она не отображается на сайте(
Что я делаю не так?
И ещё вопрос. Как создать файл passwd.file на сервере хостера?
Заранее спасибо за ответы!
*

ogoncharuk

  • Новичок
  • 9
  • 0
Здравствуйте, попробовал на localhost все супер, на хостенге:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@bazaznan.rv.ua and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Apache Server at bazaznan.rv.ua Port 80

помогите разобраться !
*

timurcheg

  • Новичок
  • 9
  • 0
Архив с иконками распаковал, но иконки не появились :(  Может че надо дописать?
*

timurcheg

  • Новичок
  • 9
  • 0
ну подскажите как с иконками быть, ПЛЗ!
*

araneon

  • Новичок
  • 1
  • 0
Всем здрасти!
Понимаю что тема давнишняя но всё же актуальности не теряет.

Во первых gorunov Вам огромное спасибо за столь познавательный пост!
У меня вопрос, подскажите что нужно прописать в  .header.html .footer.html что бы получилось как в DEMO, я имею введу разнесение названия папок и файлов отдельно от даты и времени их создания. ФОТО
У меня получается что название папок/файлов не полностью влезают, а только 10-11 символов и после них 2 точки стоят, а у некоторых папок/файлов другие символы в конце ФОТО
Просто я в этом не силён, только начинаю разбираться с HTML и Joomla. Подскажите если не сложно.
За ранее огромное спасибо!
*

JahQRT

  • Новичок
  • 1
  • 0
Два вопроса.. как скачать иконки, и поддерживаю предыдущий пост, как расширить столбец с именем?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Загрузка файлов пользователями с фронта

Автор DRATUTI

Ответов: 17
Просмотров: 863
Последний ответ 30.11.2016, 14:57:53
от x1
Как реализовать архив PDF файлов на сайте?

Автор Igorenia

Ответов: 0
Просмотров: 504
Последний ответ 14.09.2016, 00:57:37
от Igorenia
Восстановление файлов на сервере

Автор edykina

Ответов: 11
Просмотров: 1276
Последний ответ 20.11.2015, 15:22:04
от edykina
Joomla 3.4.4 + Elfinder 2.0 rc1 Ошибка соединения с сервером

Автор Arzamaks

Ответов: 0
Просмотров: 1558
Последний ответ 01.10.2015, 16:58:49
от Arzamaks
Загрузчик файлов

Автор avaron

Ответов: 2
Просмотров: 1378
Последний ответ 04.04.2015, 06:06:31
от avaron