Для начала нужно пояснить что такое Джумла в общем. Итак CMS Joomla являет собой некое подобие фундамента, на котором с помощью различного рода компонентов и модулей можно построить что угодно, от обычных страниц визиток, до огромных интернет магазинов. Но как и у всех подобных конструкторов у нее есть ряд проблем связаных в большинстве своем с совместимостью компонентов и обратной совместимость самой джумлы. Но этой статье речь пойдет чуть о другом, в ней будут перечислены основные проблемы которые возникают пусть нечасто, но хоть с одной из них вы скорее всего столкнетесь. Итак начнем.
Проблемы с установкой
Для того что бы ощутить все прелести Джумлы ее для начала надо установить. В основном при установке никаких проблем нет, в установщике все на написано достаточно понятно и просто. Но есть пара проблем которые не зависят от пользователя на прямую. Вот пара самых популярных:
Проблема номер раз
Иногда при установке Джумлы,у некоторых пользователя возможен такой конфуз:
При заполнении базы данных возникли ошибки: SQL=INSERT INTO
Эта ошибка связана с различиями в версиях MySQL сервера и sql запросов посылаемых джумлой. Проблема решается следующим образом:
1.Находим файл joomla.sql, находится он по данному пути: /installation/sql/mysql/joomla.sql
2. Ищем там строку с PRIMARY_KEY и USING_BETREE, в данном случае они находятся в строке 7 и 11
3. Вырезаем USING_BETREE и вставляем после PRIMARY_KEY
Если вы хотите загрузить не чистую джумлу, а уже с информацией, вам надо проделать данную операцию во всех sql файлах в директории: installation\sql\mysql\
Проблема номер два
Данная проблема касается только серверов с unix системами, то есть практически всех. Заключается она в том, что при загрузке файлов на сервер FTP клиент преобразует все имена файлов в нижний регистр. В Windows ничего страшного не случится, потому что для нее регистр в названии файлов имеет не сильно большое значение, но та же Linux будет на вас очень сильно ругаться, и выдавать такую вот ошибку:
Warning: main(.../includes/phpInputFilter/class.inputfilter.php): failed to open stream: No such
file or directory in .../includes/joomla.php on line 81
Fatal error: main(): Failed opening required '.../includes/phpInputFilter/
class.inputfilter.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in .../includes/
joomla.phponline 81
Такое часто случается с TotalComander, и решается просто: в диалоговом окне при копировании убрать галочку с пункта «Перевести имена в нижний регистр».
Касательно установки, я думаю можно закончить. Осталось добавить, что львиная доля ошибок случается из-за того что люди не читают требования к серверу для установки, сейчас данная проблема не актуальна, но для гарантии все таки стоит проверить какая версия PHPустановлена у вас по стандарту, и если она не подходит, просто выбрать подходящую из списка.
Часто встречающиеся ошибки
Итак Джумлу мы поставили, какие же проблемы могут возникнуть дальше. Тут я слегка отклонюсь от темы, если вы обновили Джумлу с версии 2.5.х до версии 3.х.х, то скорее всего ваш ждет проблема совместимости старых модулей с новой Джумлой, данная тема достаточно большая что бы включать ее в данную статью, но во многих ситуациях стоит просто посмотреть какую версию Джумлы они поддерживают и при возможности эти модули обновить.
Теперь к основной теме. Данная часть статьи будет построена в формате FAQ, так она будет легче восприниматься, и обеспечит быстрейший поиск ответа. Поехали:
При попытке зайти на сайт появляется сообщение примерно такого содержания «Сайт закрыт», «Siteoffline», «Сайт временно недоступен»
Данная проблема может возникать из-за того что база данных не может подключиться, либо ее нет вовсе. Для того что бы решить данную проблему надо проверить правильность ввода данных в configuration.php, конкретнее в:
public $user = «Имя пользователя»;
public $password = «Пароль»;
public $db = «Название БД»;
И соответственно ее наличие.
Не заходит в админку, пишет, пользователь заблокирован, что делать?
Для решения данной проблемы вам надо зайти в phpMyAdmin найти там строку #__users с вашим именем и в поле block поставить 0. Примерно,
так как на картинке:
Вы удалили то что трогать было не надо, и у вас поломался сайт, не заходит в админку, происходит то что происходить не должно.
Ответ прост и сложен одновременно, у нас на хостинге каждый день делается бэкап ваших файлов и вы без проблем можете откатиться до того момента когда все поломалось. Это путь простой. Второй путь сложный и полон опасностей, и если вы собираетесь выбрать его, вам нужно подумать, сколько по времени заняла ваша работа и представить, сколько времени займет восстановление компонентов ручками, и скорее всего быстрее будет восстановиться из бэкапа, и все переделать. Вот список того что надо сделать если вам хочется переустановить все вручную:
- Во-первых, сделать бэкап файлов и базы данных.
- Установить Joomla локально, чтобы можно было собрать инсталяционный архив с расширением. Если ваше расширение это:
- Мамбот - в папке /mambots/группа/ надо найти чаще всего два файла мамбот.php и мамбот.xml, заархивировать их в zip архив и попытаться установить. "Группа" - это логическая группа вашего мамбота. Если это mosimage, то это группа content (мамбот обрабатывает контент на сайте). Если вы группу не знаете - попробуйте поискать везде.
- Модуль - в папке /modules/ найдите чаще всего два файла (если их больше - при установке инсталлятор будет ругаться, что файлов не хватает или можно сразу глянуть в xml и узнать что нужно дополнительно) - mod_модуль.php и mod_модуль.xml. Запаковываем их в zip-архив и пробуем ставить.
- Компонент - создаем временную папку, копируем в нее все файлы из директорий /administrator/components/com_компонент/ и /components/com_компонент/, запаковываем в zip-архив и пробуем ставить. Но. Большинство стандартных компонентов, сделаны так, что не имеют в своем xml-файле записи о своей установке. Это не плохо, просто уж если считать их стандартными, то не так уж и страшно то, что информация о них вставляется еще при установке Joomla. В частности, у некоторых компонентов отсутствуют записи о пункте меню в административной части. Т.е. даже если вы таким образом поставите компонент, вы все-равно не сможете до него добраться (исключая ручной ввод в адресную строку браузера строчки "index2.php?option=com_компонент"). Поэтому можно:
▪ Сделать дамп одной таблицы #__components и в нем найти всего одну строчку вида "INSERT INTO #__components ..." где будет присутствовать подстрока "com_компонент".
▪ Руками в xml-файл еще до установки добавить секцию "administrator" (если ее нет), и в нее добавить тэг "menu". Примерно вот так:
<mosinstall>
...
<administration>
<menu>Заголовок пункта меню</menu>
</administration>
...
</mosinstall>
Но быстрее и удобнее будет сделать бэкап.
Если вы просто отключили модуль и не можете его включить, то вам опять в phpMyAdmin в директорию #_modules.
Не могу зайти в админку, не подходит пароль и логин,что делать?
Скорее всего вы спутали пароль для входа в cPanel с паролем от админки, такое часто случается, Пароль и логин для админки вы выставляете сами, при установке Джумлы, советую его записывать что бы потом не возникало неприятностей со входом.
Эпилог
Задача данной статьи не в том, что бы ответить на все вопросы по Джумле, или написать всеобъемлющий FAQ.В начальной части статьи представлены проблемы, которые могут испортить первое впечатления от этой CMS. Во второй же я представил часть ошибок, которые встречаются у новичков, из-за невнимательности или незнания, и которые при всей своей простоте могут быть проблемой. Я просто хотел показать, что решение большинства проблем достаточно простое, просто надо приложить немного усилий. Желаю удачи в освоении CMS Joomla, и удачной работы!