Просмотры
Материал из База знаний Joomla
Какие права необходимо выставлять на файлы. Какие права наиболее оптимальны
По заверениям sourpuss'а надо выставлять следующие права: 644 на файлы и 755 на папки, 777 на папки images и cashe. Кроме того, при установке вам красными буквами, если прав не хватает, нарисуются папки и файлы на которые надо выставить права 777. Но только на время установки. Потом лишние права необходимо убрать.
Почему при создании файлов джумлой у них изменяется владелец. Почему им не становлюсь я
Джумла тут ни при чем. Если у вас есть доступ по фтп, то создавая файлы на хосте вы являетесь их владельцем. Веб-сервер же работает совершенно под другим пользователем. Джумла является процессом веб-сервера и естественно все созданные файлы принадлежат пользователю, от которого запущен веб-сервер.
Как поменять права доступа на файл
Тут все зависит от того, кто является владельцем файлов. Только владелец может менять права. Все что написано ниже касается только UNIX-систем, если ваш хостинг на Windows, то это вам не подойдет.
Например, если вы закачивали сайт по FTP на хостинг или вы закачали архив, а потом в панели управления сайтом развернули его, то владельцем файлов скорее всего будет ftp-пользователь. Если же, например, при установке компонента, Joomla создала директорию, то владельцем, скорее всего, будет пользователь, от имени которого запущен веб-сервер. Зачем такие сложности спросите вы? Так получилось, в принципе ничего страшного в этом нет. Просто нужно учитывать, что у файлов могут быть разные владельцы.
Сменить права - означает уменьшить или увеличить права конкретной группе пользователей на файл. О правах и магических цифрах 777 или 644, чмод и CHMOD написано в разделе Безопасность.
Существует несколько вариантов действий. Сменить права можно при помощи:
- Панели управления, которую дала вам хостинговая компания. Панели бывают разные, и не все позволяют менять права.
- FTP-клиента. Он позволяет менять права на файлы созданные вами или панелью управления. Здесь описаные начальные действия для самых распространенных программ:
- FAR - встаем курсором на нужный файл и нажимаем Ctrl+A ...
- Total Commander - встаем на файл и в меню выбираем Файл->Изменить атрибуты ...
- Web-скриптов (они позволяют менять права на файлы, созданные веб-сервером)
- JoomlaXplorer, eXtplorer, NinjaXplorer - компоненты для Joomla, позволяющие менять права на файлы.
- Joomla system tool - сторонний скрипт, тоже позволяющий менять права на файлы.
У меня возникает ошибка "Fatal error: Allowed memory size of 16777216 bytes exhausted..."
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 85 bytes) in /public_html/includes/domit/xml_domit_lite_parser.php on line 883
Данная ошибка говорит о том, что вашим пользовательским процессом пхп превышено максимальное количество оперативной памяти сервера, предоставляемое аккаунту в рамках виртуального хостинга. Это количество памяти различается от хостинга к хостингу, но все эти хостинги объединяет одна вещь - они бесплатные. Джумла требует определенных ресурсов для своей работы, а потому вряд ли вам удастся запустить ее на бесплатном хостинге с кучей ограничений. На данный момент говорят, что она хорошо работает на бесплатном хостинге jino-net.ru. Про агаву(agava), холм(holm) и hut.ru точно известно - там она не работает.
Существует три способа выхода из данной ситуации:
- Написать хостеру и попросить увеличить лимит памяти для ваших скриптов. Вам могут либо отказать, либо сказать что вы сами можете это сделать.
- Если вы можете это сделать сами или хостер не ответил, то в файле .htaccess надо прописать строку
php_value memory_limit 32M
размер выделяемой памяти можете указать сами по необходимсти (например 64M, но чаще всего 32M хватает). Если в результате у вас белый лист, пустая страница и вы не знаете что делать - значит вы нифига не читали фак с самого начала. Читайте полностью. - В php-файле указанном в выданной ошибке в самом начале дописать строку
ini_set('memory_limit', '32M');
размер выделяемой памяти можно указать какой-либо другой.
Для каких папок надо делать CHMOD 777, чтобы без проблем устанавливать компоненты, модули, мамботы, шаблоны, языковые пакеты?
Сделайте CHMOD 777 на папки (перечислены папки для Joomla 1.0):
administrator/backups/ administrator/components/ administrator/modules/ administrator/templates/ components/ images/ images/banners/ images/stories/ language/ mambots/ mambots/content/ mambots/editors/ mambots/editors-xtd/ mambots/search/ mambots/system/ media/ modules/ templates/
Какие действия надо предпринять, что бы перенести джумлу из корня сайта в какую-либо папку и обратно
Исправить следующие конфигурационные переменные в configuration.php на новые (чаще всего просто надо удалить последнюю директорию из пути, если сайт перемещается "наверх"). Напоминаю, что путь пишется БЕЗ слэша на конце.
$mosConfig_absolute_path $mosConfig_cachepath $mosConfig_live_site
В случае использования sef - подправить RewriteBase в .htaccess (для корня это будет "/" (без кавычек), для директории - "/имя/")
Мне при установке пишется, что файл "configuration.php" не доступен для записи. Я изменил права на корень на 777, но надпись "Не доступен для записи" не исчезает.
Попытайтесь сделать пустой файл configuration.php в корне дать на него максимальные права и попробуйте начать установку заново.
Почему по ftp я не вижу файл .htaccess, куда он делся?
Дело в том, что в unix системах файл, имя которого начинается с точки считается скрытым. И для того, что бы он показывался надо в вашем любимом фтп-менеджере включить отображение скрытых файлов. В Total Commander это делается в меню FTP -> Показывать скрытые файлы на сервере
Почему у меня два слэша "//" в адресе сайта
Например, в адресе ваших ссылок появляются странного вида URL
httр://сайт.ру//index.php?option=com_content&task=view&id=34&Itemid=3
Скорее всего дело в том, что в переменной $mosConfig_live_site в самом конце написан лишний слэш. Его там быть не должно. Должен быть прописан просто адрес сайта.
При установке открывается index.html, которого и вовсе нет в Joomla
Joomla тут ни при чем - это настройки хостинга. В сервере Apache есть директива DirectoryIndex и именно она указывает какой файл считывать в директории, если он не задан пользователем. Обычно это index.php а затем уже index.html, что для Joomla вполне годится. Но на некоторых хостингах может быть настроено так, что ищется только index.html. Для устранения этой ошибки можно:
- Попросить хостинговую компанию решить эту проблему за вас
- Самому в файл .htaccess добавить директиву:
DirectoryIndex index.php index.html
Как закачать сайт или дистрибутив Joomla на хостинг
Существует несколько вариантов:
- FTP - загрузка файлов посредством протокола FTP в одном из FTP-клиентов (FAR, клиент в TotalCommander или какая-нибудь FileZilla). Заходим на выданный хостером ftp (логин и пароль) в одной панельке, в другой находим файлы дистрибутива Joomla и нажимаем кнопку "Копировать". Способ очень медленный и не производительный, потому что все несколько мегабайт отдельными файлами копируются по сети. Плюсы - всеми файлами будет владеть ftp-пользователь и способ самый надежный из всех.
- Одним архивом - создаем архив всех нужных файлов, копируем его в www-директорию при помощи FTP (что будет намного быстрее, потому что файлы сжаты и во-вторых копируется всего один файл) и пытаемся разархивировать. Разархивировать можно несколькими способами:
- ZIP - при помощи скриптов, например Joomla system tool. В ней выбираем архив и нажимаем соответствующую ссылку. Единственный минус данной операции в том, что владельцем файлов становится не FTP-пользователь, а веб-сервер.
- TAR.GZ - если хостер предоставляет в вашем тарифном плане SSH-доступ, то при помощи любого SSH-клиента, например PuTTY, можно войти на ваш сайт и ввести несколько unix-команд, которые разархивируют ваш файл. Для уверенного пользования нужно знать команды консоли linux/unix. Коротко это выглядит так (сжимать в .tar.gz умеет архиватор 7z):
cd /path/to/dir/weth/archive tar -xzvf your_file.tar.gz
Либо зайти при помощи Midnight Commander (mc) в архив и скопировать на другую панель уже из архива. Способ работает и с zip-архивами.
- ZIP,TAR.GZ - в панели управления хостингом - любая современная панель умеет посредством нажатия на специальную кнопочку разархивировать выбранные файлы.
Я пытаюсь удалить Joomla с хостинга, но некоторые папки не удаляются, хотя я и пытаюсь выставить на них атрибут доступа 777
Главная проблема состоит в том, что изначально файлы Joomla были созданы под фтп-пользователем и принадлежат ему. Но как мы знаем, веб сервер на большинстве хостингов работает под совершенно другой учетной записью. И при установке новых компонентов Joomla действует именно от имени последнего и создает файлы, которые по факту принадлежат непосредственно ему. Установка компонента чаще всего заключается в создании директорий /components/com_xxx и /administrator/components/com_xxx и файлов в них. И при попытке удалить их фтп-клиентом ничего не получается только потому, что один пользователь естественно не может изначально иметь права удалять файлы другого.
Из данной ситуации можно предложить один выход - создать или использовать скрипт, который работая от имени пользователя веб-сервера будет удалять ненужные папки или менять их права на 777, что позволит их удалить уже фтп-клиентом. В качестве примера такого скрипта можно назвать Joomla system tool. Но в принципе вы можете использовать любой другой, на ваш выбор. Такие скрипты называются web-shell.
Ошибка: Warning: session_write_close: write failed: Disk quota exceeded (122) in /папка/папка/файл.php on line 123
Данная ошибка означает лишь одно - у вашего аккаунта на хостинге или вообще физически закончилось дисковое пространство. И интерпретатор языка пхп не в состоянии создать файл сессии для работы пользователя (например, в административной части). Ошибка устраняется лишь одним способом - проверкой тарифного плана на то, сколько же места вам отведено и либо удалением лишних файлов, занимающих много места, либо контактом с хостером, если лимит не превышен.
Invalid command 'CharsetSourceEnc', perhaps mis-spelled or defined by a module not included in the server configuration
Данная ошибка в логах веб-сервера Apache означает, что он не имеет модулей, умеющих распознавать директиву CharsetSourceEnc и от ее использования придется отказаться.
Последнее изменение этой страницы: 19:37, 7 ноября 2010.



