Joomla: переход с версии 1.0.12 на версию 1.5.24 |
![]() |
Добавил(а) microsin |
В статье описывается опыт (положительный) миграции в виде моих вопросов, которые возникали в процессе перехода, и ответов, которые я получил от опытного вебмастера (или нашел самостоятельно). Получилось некоторое FAQ, которое может пригодится другим владельцам сайтов Joomla 1.0.12, которые подумывают об апгрейде. Причины, по которым задумывался апгрейд (переход на версию Joomla 1.5 или 1.7), следующие: Сначала я хотел сделать мигрирование на тестовой площадке Денвера [1], и после успешного портирования просто перезалить новую Joomla заместо старой, но потом выяснилось, что абсолютные ссылки на статьи и разделы сразу поменяются, и плавный переход (без выпадения на некоторое время из индекса поисковиков) осуществить на старой площадке нельзя. Поэтому был куплен новый домен и новый хостинг для обновленной версии сайта. Далее - вопросы и ответы, которые возникали при переходе (апгрейде сайта на Joomla 1.5.24). [111116] Q000. Какую версию Joomla выбрать для апгрейда? Не думаю, что Joomla 1.7 будет стабильней Joomla 1.5.24, так как 1.5.24 мощный и зрелый продукт с долго тестированным функционалом и большим количеством расширений. Для перехода на новую joomla 1.7 должны быть очень веские причины. Т. е. должны быть какие-то очевидные плюсы перехода, без которых жить уже сложно. Версия 1.7 тестировалась всего несколько месяцев, и просто не может быть стабильней, чем выверенная версия 1.5. Кроме того, конкретно в вашем случае очень много по контенту ссылок из старой версии, которые вообще вряд ли заставишь работать в 1.7 (а в 1.5 они всё же работают, так как есть режим совместимости с 1.0). Таким образом, пока контент не будет очищен от прямых вставок в тексты статей старых ссылок Joomla, то вряд ли есть разумная необходимость перехода на версию 1.7. Я пока даже не могу оценить сложность, и вероятность того, что именно у Вашего сайта всё получится перенести. В результате для апгрейда была выбрана Joomla 1.5.24 (самая свежая из версий Joomla 1.5 на ноябрь 2011 года). [111122] Q001. Можно ли заменить ссылки http://sitedomain1.ru/index.php?option=com_content&;task=view&id=605&Itemid=44 чем-то более осмысленным, типа http://sitedomain2.net/programming/AVR/avr-usb-mega16.html ? Нужны нормальные человекочитаемые ссылки. Просто нет никакого смысла менять одни бессмысленные ссылки на другие, все равно поисковикам их придется переиндексировать. 1) Встроенный sef, как сделано сейчас, минусы: - плохая управляемость, не все компоненты, которые можете захотеть в будущем, корректно работают (впрочем и с другими вариантами sef не все корректно работают - это вообще сложная тема), index.php в строке ссылки. 2) Если установить стороннее расширение типа sh404sef: плюсы и для продвижения и для настройки мета-тегов, возможна тонкая настройка, и плагинов для компонентов много. Кроме того, получив один раз SEF-ссылки, потом можно в дальнейшем проще (относительно) мигрировать между версиями движка - а сейчас это основная проблема для вебмастеров Joomla. Но минусы - в данном случае некоторые старые ссылки, которые прописаны напрямую в статьях (специфика контента), просто могут неправильно преобразоваться и работать не будут. Я бы сказал так - для продвижения и серьезного проекта конечно надо настраивать стороннее расширение типа sh404sef (например для интернет-магазина и для форума желательно иметь серьёзный компонент SEF, а не встроенный, как сейчас), но тут точно или чистить вручную контент от старых ссылок, или разрабатывать компонент для корректного перехода старых ссылок, а это получится достаточно сложная доработка. Но если не стоит задачи серьёзно продвигаться, то хватит и встроенного компонента. В итоге был выбран вариант с установкой sh404sef, и преобразование "кривых" ссылок контента через mod_rewrite .htaccess Apache (об этом далее). Q002. Насколько устойчива данная инсталляция сайта (портированная на Joomla 1.5.24) к взлому? Можно ли получить от Вас гарантию - скажем, на полгода - если в течении этого времени произойдет проблема с безопасностью (если она не по мой вине), то Вы её бесплатно исправите? Для конкретно Joomla я установлю два плагина, существенно повышающих безопасность. В админке смотрите Расширения -> Плагины -> System - Marco's SQL Injection - LFI Interceptor. это плагин от распространенных попыток взлома, IP пытающегося атаковать будет блокирован на полчаса. Но главное, чтобы сервер сайта отдавал правильный IP - на моём сервере всё правильно настроено, на сторонних я не знаю как будет. И ещё - если Вы например при редактировании материала с фронтэнда попытаетесь вставить ссылку вида: ../../images/, т.е. с двумя точками - то система может вас посчитать за хакера - т.к. это распространенный запрос для взлома. Поэтому просто пишите /images Без лишних относительных путей. Второй плагин Расширения -> Плагины -> System - AdminExile это засекреченный вход в админку joomla, почти второй пароль. Т. е. вход теперь по секретной фразе: http://тут_имя_домена/administrator/index.php?login_dla_admina. Фраза login_dla_admina прописывается в настройках плагина, и теперь любой, кто не знает этой фразы (секретной ссылки) в админку не попадёт, и всякие роботы хакеров просто будут перенаправлены на главную страницу. Но никаких гарантий на саму Joomla или безопасность сервера, где будет стоять сайт, я давать не могу. Даже на своём собственном сервере, где у меня много стоит всего для безопасности, избежать взлома не всегда удаётся - здесь лучший защитник бдительный админ, и всё равно просто приходится делать бэкапы и быть внимательными, а при опасности быстро восстановить всё из бэкапа. В своё время мы помогали с сайтом обменника валют, и всё равно при всех предосторожностях пути взлома всё равно были возможны. Безопасность - это непрекращающаяся работа за постоянным слежением актуальности прежде всего сервера и просмотр своего сайта и его папок на следы сторонних файлов. Например самый простой способ взлома: залить шелл на сайт через какую нибудь форму, например форму заливки аватара на форум, и потом использовать шелл из известного адреса для взлома сайта. Тут кроме постоянной бдительности и драконовских настроек никто не поможет. А некоторые вещи из этих настроек мешают красивой работе сайта, и вот постоянно надо соблюдать баланс между удобством для пользователей и безопасностью. Единственное, что хочу сказать - обычно сайты без возможности своровать деньги - не ломают. А если ломают обыкновенные сайты, то ради просто хвастовства или баловства. Решение проблемы в этом случае состоит в том, чтобы легко и быстро восстановить сайт из бэкапа и быстренько поменять пароли. И ещё часто ломают, своровав именно с компьютера пользователя пароли к админке или FTP, такой взлом всего распространенней, после заливки шелла. Так что если что-то произойдёт, то я могу что то подсказать, но не править код самой Joomla или проводить аудит чужого сервера. Q003. Какая версия PHP и MySQL используется на сайте? Какие другие версии можно использовать? Конкретно сейчас на сервере установлены PHP Version 5.2.17 и MySQL 5.0.51. Версии (и другую информацию) можно посмотреть вызовом PHP функции phpinfo() [2]. Работоспособность Joomla зависит не от того, на какой версии Денвера её настраивали, а именно от того, работает ли она с теми параметрами, что есть на хостинге или нет. Поэтому невозможно точно повторить на локальной версии Денвера все то, что есть на хостинге. Версия PHP и MySQL большой роли не играет, ведь внутри PHP и MySQL очень много настроек, расширений и функций, которые могут или работать или не работать с Joomla. Поэтому надо напрямую задать вопрос техподдержке хостинга - поддерживает ли он на free-аккаунтах работу Joomla или нет, без этого проблем может быть много, и часть из них нерешаемые. Сейчас много дешёвых хостингов, поддерживающих Joomla, и можно посмотреть в их сторону. В итоге по совету веб-мастера был выбран виртуальный сервер FastVPS [3], тариф OVZ-3. Q005. Проблемы с компонентом WebLinks. Не перенесены Ссылки -> Администрирование и Ссылки -> Программирование, ссылки с этих страниц ведут на старый сайт. [111123] Q006. Почему-то с новым засекреченным входом в админку (AdminExile) по логину http://тут_имя_домена/administrator/index.php?login_dla_admina попадаю не в админку, а в профиль пользователя admin с правом редактирования/публикации статей. В общем, в админку попасть не удалось... Такая "двойная" авторизация получается из-за jcomments и их плагинов - они требуют ещё одной проверки, и система перекидывает вас. Q007. Ссылки с длинными именами типа http://тут_имя_домена/index.php/программирование/26/1178-usb-----.html, если их нельзя вручную исправить на простую ссылку типа http://тут_имя_домена/usb-console - не нужны. Кириллические ссылки тоже не нужны однозначно. Нужны англоязычные, которые проставятся на всех статьях автоматом (пусть они будут плохие), и которые можно поправить вручную (на короткие и хорошие). На счёт "Идеальный вариант" - когда, цитата вашего вопроса: "система сама создает такие ссылки на основании имен разделов и категорий (пусть они будут плохие), и можно при желании вручную задать любую нужную ссылку для статьи, вбивая любое количество имен и любое количество слешей" - как раз так и работает sh404sef, но не с вашими старыми ссылками. Вот если бы всё это было бы родным для новой joomla, То именно так и работает система - посмотрите расширенные настройки sh404sef, без вашего участия итак бы создавались красивые ссылки и только какие то вы могли бы по желанию править. А просто включить эту систему не получается т. к. тогда она не обрабатывает старые ссылки напрямую прописанные в контенте - она не может их обработать. Для новых статей и т. п. всё будет хорошо с sh404sef а старые видимо тогда надо перебить вручную или не включать sh404sef, а довольствоваться встроенным, там делается как делается и без возможности ручной правки. В итоге: хотите перейти на новую систему - надо пройтись по страницам вашего сайта - получить преобразованные все старые ссылки и вручную их поправить на правильные. А новые будут создаваться уже сами правильно. [111124] Q010. За инструкцию спасибо, инструкция супер, в ней-то как раз все ясно и понятно =). Однако, несмотря на инструкцию, остается нерешенным вопрос Q007 - как люди делают красивые, человеческие ссылки. Я бы например тоже хотел иметь у себя на сайте раздел tools, в ней категорию prog, и чтобы все статьи в этой категории имели ссылки наподобие этой, без всяких лишних циферок и кириллицы (не убеждайте, что кириллица в ссылках удобна - это чисто ИМХО, кому что нравится, но это однозначно не для меня). Или хотел бы вручную (но только без проблем! - а в случае с компонентом sh404sef Вы как раз обещаете проблемы) заменить тупую ссылку на короткую и понятную - любую, какую захочу. Судя по Вашей инструкции, это пока невозможно, либо я чего-то не понял. tools/hardware/board456.html То что нужно. Т.е. ваши старые статьи на новой системе с новым sh404sef обрабатываются правильно - т.е. вновь созданные ссылки работают и всё будет хорошо. Но в местах где в статьях есть старые ссылки, например на главной есть ссылка, вставленная прямо в текст, и она сконфигурирована в старой joomla - вот она не знает как обрабатываться новой системой. Если бы хотя бы все были вот так: http://sitedomain1.ru/content/category/5/36/44/, то ещё ладно, но в оригинале встречается и вот как я сказал длинные ссылки и на неё сконфигурируется какая то ссылка вида: http://sitedomain1.ru/.html, и вот таких дубликатов будет много. Надо просто в sh404sef пройтись по ним и заменить на что угодно, например http://sitedomain1.ru/1.html, следующую http://sitedomain1.ru/2.html и т.п. Тогда старые ссылки будут работать, а новые и на новые и на старые статьи станут красивыми. Проблемы только в ручной работе. Т. е. именно то что вы хотите. Проблемой в данном случае, которые я обещаю - является перевод вручную всех старых не сконфигурировавшихся автоматом ссылок - которые как вы видели прописываются дубликатами, хотя ведут на разные материалы и проблема в них возникает не от того что есть эти статьи, а от того что по тексту статей указана старая ссылка и плагин при проходе текста статьи не знает как её обрабатывать. Т. е. система будет работать так, как вы хотите, если в ручную перевести всё что было и не преобразовалось раньше на новый лад. Причём, старые статьи сами по себе тоже будут иметь правильную ссылку - и только те, что по тексту напрямую прописаны в старом виде не срабатывают автоматом, но ведь их много и вот по ним надо проходить вручную. А новые статьи будут работать уже по новому. А с кириллическими ссылками я не уговариваю, я как раз тоже против них, просто есть такое мнение что они даже помогают. Если нужно я ещё раз объясню как работать с ссылками. И ещё я завтра посмотрю, у меня мысль появилась, но пока не уверен как она сработает (имеется в виду переделка "неправильных" ссылок с помощью mod_rewrite через файл .htaccess Apache). Q014. Какой зарубежный хостинг посоветуете (с поддержкой доменов .net или .com)? Из наших, но достаточно дорогих, мне понравился atlex, из бюджетных терпим rucenter. Не советовал бы идти на мастерхост, 1gb, sweb. Из маленьких компаний там может быть по разному, в зависимости от админа, но можно как хорошо попасть, так и мучаться. На счёт поддержки доменов. Тут по идее не хостинг должен поддерживать домены, а вы должны зарегистрировать домен com или net Например в r01.ru, а потом направлять свой домен куда угодно через ns сервера т. е. тут на любой хостинг можно направить, и в плюс Вы не зависите от отношений с хостингом в любое время перенесёте на другой хостинг и перепишите ns сервера. А то если регистрируете домен через хостинг в этом случае бывают проблемы вплоть до откровенной блокировки и замораживания домена, если Вы съезжаете с хостинга (было например с sweb). Q014a. Зарубежный хочу по двум причинам. Во-первых, чтобы не зависеть от прихотей нашей административной машины. Иногда натыкаюсь на форумах на сообщения о случаях прикрытия сайтов без решения суда. К сайту моему конечно вряд ли будут у кого-то претензии, но все-таки. И по этой же причине хочу домен зарегистрировать не у российского регистратора. Во-вторых, цены раза в полтора ниже, а набор услуг и параметры лучше, чем у наших. Например за то, что бесплатно (!) дает 000webhost, я плачу Агаве в полтора раза дороже (!), чем платная услуга того же 000webhost (причем объем свободного места и прочие параметры в разы отличаются у буржуев в лучшую сторону). Q014b. Ориентировочно думал запустить хостинг на 000webhost [4], там даже бесплатно можно на Joomla работать, а платный хостинг за то, что мне надо, стоит там около 5 долларов в месяц. Смущает только то, что это америкосы, и у них могут SOPA внедрить =). 000webhost хостинг уже попробовал, там бесплатно крутится сайт конторы, где я работаю (на Joomla 1.7) - 3 месяца полет нормальный и никаких претензий (правда, посещаемость там практически нулевая). Как обстоит дело с ценами и параметрами на хостинге, который в Германии? Сколько там стоит виртуальный хостинг (мне этого больше чем достаточно)? Вот тарифы, см. [3]. По идее вам и OVZ1 .. OVZ3 может подойти, но конечно всё начиная с OVZ2 уже дороже обычного виртуального хостинга. Кстати, именно на Европу надо ориентироваться, потому что скорость работы с американскими хостингами будет не очень - всё же пинг до них большой. А то, что я вам от себя предлагал - это именно аккаунт на уже настроенном моём сервере (не виртуальном, а реальном), но тут у меня нет тарифов каких-то, надо бы узнать каково ваше среднее посещение на сайт в день. Q014c. Смутили Вы меня отзывом о зарубежном хостинге, неужели на Агаве придется остаться? Не нашел на fastvps.ru описание набора услуг, и не смог сравнить с описанием услуг 000webhost, как например, см. [4]). На счёт описания услуг. Его как бы не может быть на виртуальном сервере. Что такое для вас виртуальной сервер - это машина с установленной операционной системой и набором ПО. Для виртуального сервера устанавливают ISP manager lite, там у вас будет удобная панель управления. Плюс к ней устанавливают набор веб-сервера. там будет PhpMyAdmin, PHP, MySQL и всё прочее будет то что вы попросите. Установят для вас поддержку и таких версий какие захотите. Можно будет обновлять версии ПО по вашему запросу - это бесплатно для некоммерческих сайтов. Ящиков сколько угодно, управление хостингом - полное. Бэкапы как сами настроите, столько их будет. Т. е. это как бы сверххостинг по параметрам, но надо немного вникнуть. И именно для вас (а не для других) будет 6 ГБ места на диске 500 MHz процессор, 200 оперативки в минимальном тарифе. Если вдруг решитесь брать, я помогу с приобретением и начальной настройкой, пообщаюсь с поддержкой если будет надо. Поддержка там одна из лучших из тех что я встречал - люди работают. Единственное я бы конечно не стал бы брать уж совсем минимальный тариф, но тут зависит от ваших возможностей и планов. P.S. А с Агавы я начинал когда то давно :) я даже на них работал (только не на хостинг, в начале они ещё и разработкой ПО занимались :) ). И именно их хостинг я пробовал в начале, в общем многое устраивало, но не устраивала цена на сколько помню, и были какие то там пертурбации постоянно вначале. Сейчас я давно не смотрел их планы тарифные. Вот залез смотрю. Тариф агавы Normal 240 руб./мес. сравним с тарифом OVZ-2 (прим. автора - на старом сайте у меня как раз Normal), только на OVZ-2 будет 400 оперативки вместо 64 у Агава, и 8 Гб диска вместо 2 Гб у Агава, а также индивидуальная мощность процессора 800 MHz, а остальное - версии ПО - какие захотите, ящиков почтовых сколько нужно и т. д. и т. п. сайтов тоже сколько влезет. Агава тариф профи [5] 400 руб./мес. приблизительно сравним с OVZ-3 ~450 руб, только на OVZ-3 будет 600 оперативки вместо 128 у Агава, и 10 Гб диска вместо 7 у Агава, а также индивидуальная мощность процессора 1100 MHz, а остальное - версии ПО - какие захотите, ящиков почтовых сколько нужно и т. д. и т. п., сайтов тоже сколько влезет. Я бы советовал всё же OVZ-3 не ниже. И ещё момент, панель управления сервером и хостингом [6] ISP manager lite можно или купить разово (15,9 Е) и больше не платить, или прибавлять к плате за хостинг её абонентскую плату (3,9 Е). Я себе покупал в начале pro и всё - больше не платил, но для ваших целей lite хватит. Ни в коем случае не навязываю вам это решение, т. к. с сервером в начале всё равно придётся вникнуть, но не сказать чтоб сложно было, а после первичной настройки всё будет как будто у вас хостинг свой. Только с более широкими привилегиями и возможностями в настройке. Вы даже перезагружать свой сервер сможете и т. п. Размещать сайты друзей если понадобится выделяя им свои аккаунты независимые от вас и т. п., т. е. почти свой хостинг :). В результате я поддался на уговоры и купил OVZ-3 FastVPS [7]. [111125] Q014d. Заинтересовался виртуальным хостингом, я просто не сразу понял, что это означает. Возможно, что OVZ-2 должно мне подойти. Насколько надежна технология виртуального хостинга? На какой операционной системе там работает виртуальный сервер (понятно, что теоретически поставить наверное можно любую систему, но интересует, какую обычно предлагает хостинг и какую Вы используете у себя)? Можно ли делать собственный backup системы (чтобы не зависеть от backup хостера)? У меня у самого такая конфигурация - настоящий сервер и на нём тоже по технологии OVZ стоят два виртуальных сервера и работают надёжно. [111127] A010. (продолжение, решение проблемы "кривых" ссылок). Одна из проблем заключалась в alias Названий и категорий. Я заменил в дампе имеющиеся ссылки на формат новой Joomla (по максимуму что было возможно) и перевёл все дубликаты алиасов в контенте и категориях в уникальные названия, а также прописал где их не было. В итоге ссылки стали нормально генерироваться на материалы без дубликатов. Остались только старые ссылки типа http://sitedomain1.ru/content/category/5/36/44/ но и они редиректятся теперь на новые ссылки. для этого строки из Htaccess Сконфигурируйте sh404SEF: зайдите в Компоненты/sh404sef, sh404SEF Конфигурация, вкладка Расширенные, и поставьте ещё: 301 перенаправление из не-Sef в SEF URL ДА В общем после всего этого сайт имеет красивые и правильно генерируемые ссылки, типа http://тут_имя_домена/programmirovanie/MSC51/index.html а также работают все старые. По идее можно и вместо основного сайта выкладывать. Да и ещё забыл сказать - установил карту сайта чтоб можно было ссылки [111129] Q015. Я развернул WWW сервер (хостинг OVZ-3) на тестовом домене тут_имя_домена, и залил туда предпоследнюю конфигурацию (c "плохими" ссылками) портированного сайта. Все вроде заработало. Потом я перенастроил DNS доменов sitedomain3.org и sitedomain2.net на тот же IP, который привязан к домену. Решил, попробовать, что будет, если обратиться с HTTP-запросами к моему серверу по несуществующим доменам, и был сильно удивлен. Вопрос - почему, если набрать в браузере ссылку http://sitedomain2.net или http://sitedomain3.org, то сервер показывает по этой ссылке содержимое сайта тут_имя_домена - причем если ходить по ссылкам, то все они будут относительно домена sitedomain2.net или sitedomain3.org? Я ожидал, что сервер должен выдавать ошибку что-то наподобие "page not found", так как домашних каталогов www сайтов sitedomain2.net пока просто не существует (я их еще не создал). Какая настройка сервера задает такое поведение? В принципе, оно довольно полезно, так как я мог бы просто поменять домен sitedomain1.ru на адрес нового сервера, и у меня получилась бы автоматическая "переадресация" (на самом деле пока делать этого не буду, как на старом сайте крутится реклама, которую на новый сайт я переносить не хочу). В общем, хочется управлять поведением веб-сервера при обращении к нему по несуществующим доменам, а где это настраивается, не знаю. Не подскажете, куда копать? A015. Когда на сервер прописаны несколько доменов на один IP, а самих доменов (аккаунтов) для них не создано, то сервер обращается к первому сайту прописанному в настройках сервера, а это как я понял тут_имя_домена. Если хотите чтоб все домены открывали одно и тоже, то при создании домена (или отредактируйте в isp manager) пропишите псевдонимы к основному домену. А если хотите, чтобы первым был другой домен, то надо залезть в конфиг и делать это осторожно. Зайдите под рутом в ISP manager в Менеджер файлов. Обычно конфиг здесь: там прописаны хосты что то типа Вот первым можно поставить какой угодно хост и перегрузить апач (делается через ISP manager Инструменты/Сервисы). Реально браузер ходит по вашему ip, а SEF сервера показывает тот домен, что вы запросили. По поводу такой "переадресации" - вот выше описал, и если вы хотите домены, то лучше их создать всё-таки в isp manager и если на них не предполагается сайта, то хотя бы ошибку будет выдавать. А сейчас идёт так - запрос к ns серверу домена, он выдаёт ip - обращаемся к уже вашему серверу он ищет ответ сервера с записями доменов, которые предполагаются на вашем ip, а их нет - он выдаёт тот, что основной, и прописан первым к ip. Вот и всё. Т. е. надо чтобы это были разные домены и сайты - создайте через isp manager эти домены и повесьте их или на одну учетную запись, или на разные. Хотите чтоб отдавались правильно, но все домены на один сайт - то пропишите к одному домену - остальные псевдонимами в редактировании доменов (но сами домены всё равно создать надо как я понимаю). Q016. Почему-то если в ссылках домена sitedomain1.ru поменять (прямо в адресной строке браузера) имя домена на sitedomain3.org, то открывается та же самая статья, только на домене тут_имя_домена. (?..) Никакого Page Not Found... Например, откройте вместо второй ссылки почему-то (после легкого раздумья сервера) открывается ссылка http://тут_имя_домена/programmirovanie/AVR/_metaboard_arduino.html (!), причем та статья, которая нужна (!). Это совсем для меня загадка, черная магия какая-то. Вопрос - почему такое происходит? A016. Нет это не чёрная магия, это я настраивал и вам описал это :) посмотрите свой Htaccess на тут_имя_домена там есть строки типа: я вам писал что вам надо перебить их на тот домен куда поставите вместо тут_имя_домена - это как раз старые ссылки редиректит ко мне на тут_имя_домена (ведь адрес в Htaccess вы не изменили), и берёт правильные параметры подстраивает их к новой joomla Все, даже старые ссылки прописанные в контенте (по крайней мере большинство) будут работать и показывать красивые удобные ссылки, да ещё и мета-теги можно прописывать и менять в общем все тридцать три удовольствия :). У вас много контента и много посетителей как я понимаю, а через какое-то время и ещё больше пойдёт - т.к. оптимизация будет работать, так что вам останется только монетизировать трафик по возможности, сайт качественный и полезный - думаю перспективно. [111230] Q017. При настройке WWW-домена в ISP manager: чем отличаются друг от друга варианты настройки PHP: Какой из вариантов больше подходит для моего сайта на Joomla 1.5? Я попробовал для тут_имя_домена вариант "нет поддержки PHP", но сайт все равно работает. A017. Сайт-то работает, но компоненты Вы нормально не поставите. Нужно выбирать вариант PHP как CGI, тогда интерпретатор PHP будет работать от имени пользователя - владельца домена, и получит все права на файловую систему каталогов сайта домена. Q019. Почему под пользователем root в ISP manager -> Инструменты -> Базы данных не видны базы сайтов? Какие базы данных создаются и редактируются в этом разделе? Q020. Как получить доступ к дополнительному хранилищу для бекапов, которое я купил вместе с хостингом OVZ-3? Какой объем данных я могу туда сохранить? Можно ли в менеджере бекапов настроить бекап так, чтобы файлы бекапов сохранялись на дополнительном хранилище? Q022. Конфиг configuration.php все равно не сохраняется с ошибкой: Warning: is_writable() [function.is-writable]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/username/data:.) in /var/www/username/data/www/sitedomain2.net/libraries/joomla/filesystem/path.php on line 200. Пока правлю конфиг вручную и заливаю по ftp, но хотелось бы эту проблему решить. Также в панели управления компонентом sh404SEF (админка Joomla 1.5.24) смущают надписи Доступ невозможен (administrator/components/com_sh404sef/config Закрыта для записи ... components/com_sh404sef/cache Закрыта для записи). Это проблема? Q027. Какие посоветуете инструменты для создания файлов sitemap и robots для поисковых машин Google и Яндекс? User-agent: * Если коротко - тут не запрещено поисковикам соваться для индексации в любые места, за исключением этих папок и их подпапок. Этот файл полностью рабочий и пригоден для индексации. Я уверен, что через день-другой страницы сайта sitedomain2.net появятся в индексе Google и Yandex. Q028. Не нашел в архивах, что Вы оставили на закачку, файла htaccess.txt c Вашими прописанными умными редиректами (там просто файл со значениями редиректов по умолчанию - защитой от всяких взломов). Может быть, он у Вас был записан где-то в другом месте, не в корневом каталоге сайта тут_имя_домена? Т. е. файлы htaccess.txt, которые у меня есть в корневых папках сайтов, не содержат Ваших умных редиректов... Пришлите пожалуйста htaccess.txt с редиректами, и укажите, в какую папку его положить. В письме от 27 ноября я как раз привёл строчки, которые надо прописать в .htaccess. Он должен быть в корне сервера, и я думаю он у вас там уже есть. В нём измените строчки на свой домен. для этого строки из .htaccess Замените тут_имя_домена на свой домен. Q033. Как правильно вставлять новые внутренние ссылки в статьи, чтобы они не стали абсолютными? Задача та же самая - должна стоять ссылка, не привязанная к домену, которая без проблем и редиректов работала бы на любом домене. A033. 1. Для ссылок на картинки нужно убрать префикс http://имя_домена. Например, нужно все вбитые в статьях ссылки типа http://sitedomain1.ru/images/stories/hard/avr-usb-mega16-IMG_8082.JPG заменить на images/stories/hard/avr-usb-mega16-IMG_8082.JPG. 2. Чтобы составить ссылку, которая будет автоматом распознана системой sh404sef, ссылку на статью можно составить по такому правилу: index.php?option=com_content&view=article&id=605:avr-usb-mega16&catid=26:AVR&Itemid=44, где view=article означает показать статью Пример ссылки на раздел сайта: Пример ссылки на категорию сайта (категория входит в раздел): Такие "правильные" ссылки без SEF автоматом составляются, если пользоваться встроенным инструментом "вставить ссылку" встраиваемого редактора статей Joomla - JCE Editor. Этот встроенный инструмент предоставляет браузинг по статьям и категориям сайта, что позволяет выбрать нужный объект, для которого автоматически составляется правильная ссылка. Эти правильные ссылки система sh404sef распознает и переводит в "красивые", человеческие (состоящие из алиасов разделов, категорий и статей). Q034. Как можно поменять пароль root: Q035. Как в Joomla FSK Editor редактировать напрямую HTML? Q036. В моей конфигурации Joomla 1.5.24 (WWW домены тут_имя_домена и sitedomain2.net). Для пользователя (администратора Joomla) проблема выглядит следующим образом - система ругается при попытке установки новых компонентов "Невозможно переместить файл". Как мне кажется, проблема связана с правами доступа демона HTTP и скриптов PHP на файловую систему корневого каталога WWW домена. Корневые каталоги WWW я создавал от имени пользователя username (папки /var/www/username/data/www/тут_имя_домена и /var/www/username/data/www/sitedomain2.net), а сервер Apache возможно запускается под пользователем root, чем и вызвана проблема доступа. Вопросов собственно два. Если я неправ, в чем может быть проблема на самом деле? Как узнать/поменять пользователя, от имени которого стартует Apache и выполняются скрипты PHP? A036. Проблема действительно в правах доступа и в настройках свойств WWW-домена. Можно установить php в режим работы FastCGI, тогда php будет работать от имени пользователя - владельца домена. В некоторые папки нужны права доступа 777 или Как пофиксить: 1. У пользователя, от имени которого создан WWW домен (в каталоге этого пользователя находится корневой каталог сайта), необходимо включить права . Это делается через ISP manager -> Пользователи -> выделяем пользователя -> кликаем на иконку с карандашиком "Параметры пользователя" -> идем на закладку Права -> ставим галки "PHP как модуль Apache" и "PHP как CGI". После этого от имени этого пользователя на веб-сервере PHP может работать в двух режимах - "PHP как модуль Apache" и "PHP как CGI". 2. Проверяем свойства WWW-домена. ISP manager -> WWW домены -> кликаем на строку с доменом -> жмем стрелочку с карандашиком "Параметры WWW домена" -> выбираем PHP как CGI, жмем OK. 3. Перезагружаем сервис HTTP. Это делается через ISP manager -> Сервисы -> кликаем на строку с сервисом HTTP -> жмем кнопочку для перезапуска сервиса "Перезапустить сервисы" -> OK. 4. Если все-таки расширения/компоненты/модули не устанавливаются, попробуйте поменять настройку Joomla, которая управляет передачей и записью файлов. Это делается через админку Joomla -> Сайт -> Настройки -> Сервер -> FTP -> Разрешить FTP -> выберите Да или Нет. В моем случае Да не работало, когда я переключился на Нет, то ошибки с установкой расширений исчезли (админка Joomla -> Расширения -> Установка и удаление). Если Вы включили режим FTP, то введите правильные параметры "Пользователь FTP", "Пароль FTP", "Корень FTP". Q040. Как посмотреть, сколько занято места на диске, в каких папках? Q041. Возможно ли делать бекапы данных пользователя с помощью оболочки ISP manager lite? Пытался настроить задание по Вашему видеоролику, но ничего у меня не получилось (пробовал под пользователем root и под пользователем username) - бекапится непонятно какие данные, но только не то, что мне надо. Меня интересует бекап сайта sitedomain2.net, его файлы находятся в папке /var/www/username/data/www/sitedomain2.net, и его база данных имя_базы_данных. Если можно делать такой бекап с помощью ISP manager lite, то дайте ссылку на документацию, как делать задания на бекап данных пользователя, или научите, как это делать. email (папка) Реальную ценность представляет только папка www, в которой и находятся все сайты WWW-доменов, созданных под пользователем username. Q042. Как делать бекап базы данных сайта sitedomain2.net с помощью оболочки ISP manager lite? Возможно ли вообще это? Все делал по обучающим видеороликам, пробовал и из-под root, и из-под пользователя username - ничего не выходит, бекапа базы данных сайта utf8p3 нигде не нашел. База была залита из дампа через PhpMyAdmin. В PhpMyAdmin логинился через MySQL пользователя root, у него свой собственный пароль (отличается от пароля root сервера). Смущает также: 1. Когда настраиваю задание и пытаюсь добавить в задание базу имя_базы_данных, то в выпадающем списке выбора баз нет ни одной базы данных. A042. Настраивать задание и восстанавливать бэкап нужно из-под пользователя, под которым добавлен домен (не root). Q044. Как правильно настраивать бекапы? Полный бекап - хранить 6 ежедневных бекапов, 3 еженедельных, 3 ежемесячных. Второе, что нужно уяснить себе - система, по которой работает OVZ, рассчитана на то, что база данных MySQL и WWW домен должны быть сделаны в ISP не от имени пользователя root, а от какого-нибудь обычного пользователя. Иначе будут проблемы с бекапом баз MySQL и вообще с работой сайта. И настраивать задания также следует, залогинившись в ISP manager под этим обычным пользователем. Далее пример настройки бекапов подразумевает именно такой расклад, из под пользователя username. Все файловые пути в заданиях отсчитываются не от корневой директории сервера, а от домашнего каталога пользователя. Т. е. / соответствует папке /var/www/username/data, а /www соответствует /var/www/username/data/www, /var соответствует /var/www/username/data/var и т. д. Процесс создания бекапов по шагам, со скриншотами: [][][][][] Название задания bkpfull Далее будет диалог выбора данных - поставить все галки. [Если нужно настроить исключения] 1. Выберите задание, нажмите кнопку Данные (Данные для резервного копирования). С осторожностью нужно выбирать место хранилища "локальная директория", так как данные будут писаться в /var/www/username/data, и они могут попасть в пути бекапа. Например, если указать место хранилища локальная директория, и путь Директория указать /backups, то данные бекапа попадут в папку /var/www/username/data/backups/username. Внимание! Не выбирайте в качестве формата архива ZIP, потому что архивы в таком формате могут создаваться некорректно, и туда не попадет дамп базы данных. Выбирайте формат tgz. Q045. Как можно сбросить статистику сайта (счетчики посещения статей)? Q046. Как убрать название сайта с главной страницы? Q047. Как мне составлять "универсальные", т. е. старые ссылки без SEF/ЧПУ (в которых есть цифровые идентификаторы категории, раздела или статьи) - для того, чтобы в случае смены настройки SEF ссылка все равно работала? Например, это может понадобиться для случая, когда я отправляю ссылку для публикации на чужом ресурсе. Q049. Где меняется настройка длины списка статей категории? [111213] Q054. Joomla 1.5: как поменять количество анонсов статей, отображаемых на главной странице? Q055. Как работает перенаправление ссылок через .htaccess? Имеются также директива RewriteRule, которая часто используется в паре с директивой RewriteCond (однако RewriteCond может и отсутствовать). В директивах RewriteRule и RewriteCond могут также использоваться регулярные выражения. Перед директивами RewriteRule и RewriteCond должна стоять директива RewriteEngine On. Внимание: файлы .htaccess часто не видны в браузере FTP, так как имеют атрибут "скрытый" (hidden). Чтобы увидеть эти файлы, например, в Total Commander, нужно в меню Net выбрать пункт FTP Show Hidden Files. Q056. Что означает [L] в конце строк правил переадресации (например RewriteRule) файла .htaccess? Q057. Иногда при сохранении статьи в редакторе JCE Editor выскакивает сообщение сервера "Forbidden access (". Например, на ссылку http://тут_имя_домена/index.php?option=com_content&;Itemid=100001&id=388&lang=ru&ret=aHR0cDovL21pY3Jvc2luLm5ldC8=&task=edit&view=article [111218] Q060. Похоже, что все-таки что-то не так с настройкой сервера либо с настройкой самой Joomla, так как при установке Ninja RSS Syndicator столкнулся с проблемой - не устанавливался компонент Ninja RSS Syndicator (из пакета com_ninjarsssyndicator.1.1.10beta.zip, который я скачал с сайта http://ninjaforge.com/extensions/ninja-rss-syndicator). После попытки установки компонента стандартным способом вылезала ошибка: JFolder::files: Неверный путь к папке либо она была удалена. Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /var/www/username/data/www/тут_имя_домена/libraries/joomla/installer/helper.php on line 142 Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /var/www/username/data/www/тут_имя_домена/libraries/joomla/installer/helper.php on line 142 Warning: Invalid argument supplied for foreach() in /var/www/username/data/www/тут_имя_домена/libraries/joomla/installer/helper.php on line 187 A060. Проблему установки компонента Ninja RSS Syndicator удалось решить обходным путем - я распаковал пакет com_ninjarsssyndicator.1.1.10beta.zip во временную папку tmp (в корне сайта sitedomain2.net), и воспользовался методом Расширения -> Установка и удаление -> Установка из папки. Только после этого компонент установился. Как побороть, т. е. что может быть не так в инсталляции Joomla? Экспериментировать можно на домене тут_имя_домена, там установлена старая копия сайта sitedomain2.net (корень этого тестового сайта находится в папке /var/www/username/data/www/тут_имя_домена). Проблема решается также переупаковкой архива zip в tar или gz (я делал в Tar), видимо как-то не так сконфигурирована библиотека zip на сервере, Вы можете написать провайдеру с просьбой переустановить - поддержка бесплатная. Ещё вот тут какие то способы описывают: http://joomlaforum.ru/index.php?topic=56520.0 . Но видимо всё же в zip проблема или в какой то настройке ещё сервера (потому что ведь некоторые zip ставит, а некоторые нет). [111219] Q061. Есть site1.ru и у него есть алиас site2.ru. При чем алиас прописан в хостинге. Можно ли с помощью .htaccess сделать так, чтобы при наборе в адресной строке браузера site1.ru использовался один robots.txt (с Host: www.site1.ru) и один sitemap.xml, а при наборе в адресной строке браузера site2.ru использовался другой robots.txt (с Host: www.site2.ru) и другой sitemap.xml? A061. RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$ [NC] RewriteCond %{HTTP_HOST} ^(www\.)?site2\.ru$ [NC] Ответ B: http://blog.cherouvim.com/robotstxt-control-for-host-aliases-via-mod_rewrite/ Варианты решения: Q063. Как убрать ссылки на каналы встроенные каналы новостей. Q064. Не отображается иконка favicon. У sitedomain2.net: Исправил на и все заработало. [111220] Q065. Проблема с JCE Editor - он при открытии статьи портит текст, содержащий специальные символы HTML, например портит текст FS_MINIMIZE <= 1="" br="">A065. [120106] infobox - еще один виртуальный хостинг. [120110] Q066. Думаю попробовать установить какой-нибудь форум, пока не тестовой площадке (на домене ...), чтобы потренироваться на кошечках. Прошу Вашего совета - какой форум посоветуете? Функционал нужен наподобие http://electronix.ru/forum/ (не знаю, какой там стоит), или еще лучше, если такой есть на Joomla. A066. Под joomla мне больше всех после многих проб понравился agora forum. Вот пример: У меня с доработками там стоит 3.0.13 версия русская, возможно она не последняя, но под неё я тогда многим исправлений делал и sh404sef под неё нашёл и дописал. Под остальные форумы с тем или другим вопросом были проблемы. Как создавать БД для сайта Joomla. Q067. Как правильно создать базу данных Joomla, точнее как сделать копию базы с другим именем? Q068. Прошу Вашего совета, как лучше организовать файлы index.html. В установочном пакете Joomla эти файлы залиты во все каталоги, и имеют пустое содержание (как я понял, просто с целью отобразить пустой экран, и запретить просмотр содержимого папки через браузер): На моем старом сайте sitedomain1.ru во многие каталоги, которые я хотел защитить от прямого просмотра, был залит файл index.htm, который делал переадресацию на главную страницу сайта: < meta http-equiv="Refresh" content="0;URL='http://sitedomain1.ru';" / > Вопросы: 1. Я хотел бы, чтобы на URL в папки, в которые мне нужно запретить просмотр через браузер, выдавалась не пустая страница, а ошибка 404 (не найдено). Какие есть варианты для решения этой задачи (может быть, есть готовые компоненты, или нужно писать для этого специальный код?). 2. Какие посоветуете имеющиеся средства для организации показа странички 404 (чтобы можно было управлять её внешним видом и содержанием)? 3. Какой вариант запрета браузинга папок выбрать - пока я знаю только три варианта - или просто переадресация на главную страницу, или ошибка 404, или отображение пустой страницы (такой вариант работает сейчас на sitedomain2.net). Моя цель - скрыть на сайте sitedomain2.net содержимое служебных папок типа /phpscr (где у меня лежат разные скрипты) и других рабочих папок Joomla. [Совет 120123] Если сервер повис, то перезапускать его через ssh -> reboot нельзя, нужно использовать VDS manager. Такое может произойти из-за превышения максимального количества подключений к apache. Посмотреть ошибку можно в /var/log/apache2/error.log: Исправить ошибку можно, если подправить MaxClients в сторону увеличения в файле /etc/apache2/apache2.conf, я увеличил эту переменную до 200. [Совет 120214] Перезагружать лучше только через vdsmanager. При перезагрузке виртуальной машины из консоли они часто не поднимаются. [Совет 120410] В 22.10 заметил, что сайт sitedomain2.net лежит - отвечает "Database Error: Unable to connect to the database:Could not connect to MySQL". >nmap sitedomain2.net Ни к ftp, ни к ssh подключиться нельзя. Создал тикет. Причина была в попытке взлома почтовых ящиков на сервере - было слишком много сессий подключения по протоколу POP3. Проблема была решена перезагрузкой и перенастройкой почтового сервера - было задано не более одного подключения на один IP. [Словарик] SEF Search Engine Friendly (дружественный для поисковых систем) формат оформления ссылок на сайте. Обычно ЧПУ (human friendly URL) одно и то же, что и SEF. PHP специальный скриптовый интерпретируемый язык, предназначенный для генерации показываемых сервером страниц сайта. Язык выполняется и работает на стороне WEB-сервера (обычно Apache). CMS Joomla написана именно на PHP. MySQL система управления базами данных. Обычно применяется для хранения данных статей и других данных для сайтов (например, данных пользователей). CMS Joomla также использует базу MySQL. sh404sef специальный компонент для Joomla, который позволяет генерировать ссылки SEF и управлять ими. появятся в индексе обычно имеется в виду момент, когда поисковая система (Google, Yandex) прочитает страницы сайта и его ссылки, и будет выдавать их в поиске по заданным ключевым словам. .htaccess специальный текстовый файл, может находиться в любом из каталогов WEB-сервера Apache, который применяется для управления показом страниц сайта. URL сетевой адрес, который впечатывается в адресной строке браузера при переходе на нужную страницу сайта. домен специальное уникальное имя для сайта, которое входит как часть в URL. Если URL состоит из префикса http:// и доменного имени, то браузер обычно выдает главную (стартовую, домашнюю) страницу сайта. Для WEB-сайтов обычно применяют домены второго (например microsin.net) и третьего уровня (например forum.microsin.net). VPS Virtual Private Server, виртуальный частный сервер. Одно и то же, что и VDS (Virtual Dedicated Server). Услуга провайдера, который предоставляет пользователю отдельный сервер для организации сетевых сервисов (обычно для сервиса WWW). Слово Virtual означает, что сервер не физический, а виртуальный, т. е. он эмулируется как физический сервер на специальном оборудовании (более мощном сервере, который эмулирует десятки виртуальных серверов) и специальном программном обеспечении. В этом случае администратор сервера (имеется в виду человек, который взял в аренду VPS) полностью управляет сервером и установленным на нем программным обеспечением, и знает пароль пользователя root. виртуальный сервер то же самое, что и VPS, VDS. виртуальный хостинг альтернативный способ предоставления услуги для организации WEB (WWW) сервера. В этом случае один WEB-сервер на одном физическом сервере обслуживает сразу десятки WEB-сайтов, расположенных в домашних каталогах пользователей. В этом случае администратор сервера (имеется в виду человек, который взял в аренду виртуальный хостинг) полностью управляет только файлами своего каталога на физическом сервере, и не знает пароль пользователя root. CGI Common Gateway Interface (общий интерфейс шлюза) стандарт программного интерфейса (API), применяемого для связи внешней программы с WEB-сервером. Программу, которая работает по интерфейсу CGI совместно с WEB-сервером, принято называть шлюзом, хотя многие предпочитают названия «CGI-скрипт» (сценарий) или «CGI-программа». CGI разработан таким образом, чтобы можно было использовать любой язык программирования, который может работать со стандартными устройствами ввода/вывода. Такими возможностями обладают даже скрипты для встроенных командных интерпретаторов операционных систем, поэтому в тех случаях, когда нет нужды в сложной функциональности, могут использоваться даже такие простые командные скрипты. Все скрипты, как правило, помещают в каталог cgi (или cgi-bin) сервера, но это необязательно: скрипт может располагаться где угодно, но при этом большинство веб-серверов требуют специальной настройки. В веб-сервере Apache, например, такая настройка может производиться при помощи общего файла настроек httpd.conf или с помощью файла .htaccess в том каталоге, где содержится этот скрипт. Apache WEB-сервер, который у провайдера обычно работает на UNIX-системах (FreeBSD, Linux). CMS Content Management System (система управления контентом) - специальная программная система, работающая на WEB-сервере, которая предназначена для упрощения работы с WEB-сайтом. CMS содержит набор инструментов для предоставления ставших стандартными сервисов сайта - показ и оформление страниц сайта, оформление SEF ссылок, обслуживание гостевой книги, комментариев пользователей, редактирование статей сайта, форум, поиск и многое другое. Joomla одна из систем управления сайтом (CMS). Денвер (Denwer) домашний WEB-сервер с установленными PHP и MySQL, который легко устанавливается и запускается. Денвер предназначен для разработки и тестирования сайтов на домашнем компьютере под управлением Windows. sitemap (карта сайта) файл XML, в котором находится специальная информация о страницах сайта, предназначенная для поисковых систем. В этой информации указано, какие страницы сайта нужно проиндексировать. Файл sitemap обычно расположен в корневом каталоге сайта. robots текстовый файл robots.txt, который служит для тех же целей, что и sitemap. Отличие только в формате файла (файл имеет текстовый формат, а не XML). [Ссылки] 1. Денвер (Denwer) - пакет разработчика web-сайтов. |