Программирование HTML Joomla: переход с версии 1.0.12 на версию 1.5.24 Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Joomla: переход с версии 1.0.12 на версию 1.5.24 Печать
Добавил(а) microsin   

В статье описывается опыт (положительный) миграции в виде моих вопросов, которые возникали в процессе перехода, и ответов, которые я получил от опытного вебмастера (или нашел самостоятельно). Получилось некоторое FAQ, которое может пригодится другим владельцам сайтов Joomla 1.0.12, которые подумывают об апгрейде.

Причины, по которым задумывался апгрейд (переход на версию Joomla 1.5 или 1.7), следующие:
- нужно было получить ссылки с красивыми именами, состоящими из алиасов разделов, категорий и статей.
- для Joomla 1.0.12 практически стало невозможно найти новых компонентов и модулей.

Сначала я хотел сделать мигрирование на тестовой площадке Денвера [1], и после успешного портирования просто перезалить новую Joomla заместо старой, но потом выяснилось, что абсолютные ссылки на статьи и разделы сразу поменяются, и плавный переход (без выпадения на некоторое время из индекса поисковиков) осуществить на старой площадке нельзя. Поэтому был куплен новый домен и новый хостинг для обновленной версии сайта. Далее - вопросы и ответы, которые возникали при переходе (апгрейде сайта на Joomla 1.5.24).

[111116]

Q000. Какую версию Joomla выбрать для апгрейда?
A000. В настоящий момент (ноябрь 2011 года) для Joomla 1.7 не очень много компонентов и расширений, и в скором времени она будет заменена на 1.8. Версия 1.6 была неудовлетворительной переходной версией, с проблемами как в функциях, так и в безопасности. В итоге стабильной версией до сих пор остаётся Joomla 1.5. Поэтому если цель - просто улучшить и усовременить сайт, то 1.5. тоже подходящий вариант. А куда приведёт развитие 1.7. и 1.8 пока не могут сказать даже сами разработчики 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 ? Нужны нормальные человекочитаемые ссылки. Просто нет никакого смысла менять одни бессмысленные ссылки на другие, все равно поисковикам их придется переиндексировать.
A001. Я сделал пробный вариант. Минусы этого варианта - кириллица в некоторых ссылках, например: наведите мышку в верхнем меню на Администрирование. Правда некоторые считают это плюсом. Далее подробнее, что тут вообще есть и чем это грозит в дальнейшем. Варианты sef:

1) Встроенный sef, как сделано сейчас, минусы: - плохая управляемость, не все компоненты, которые можете захотеть в будущем, корректно работают (впрочем и с другими вариантами sef не все корректно работают - это вообще сложная тема), index.php в строке ссылки.

2) Если установить стороннее расширение типа sh404sef: плюсы и для продвижения и для настройки мета-тегов, возможна тонкая настройка, и плагинов для компонентов много. Кроме того, получив один раз SEF-ссылки, потом можно в дальнейшем проще (относительно) мигрировать между версиями движка - а сейчас это основная проблема для вебмастеров Joomla. Но минусы - в данном случае некоторые старые ссылки, которые прописаны напрямую в статьях (специфика контента), просто могут неправильно преобразоваться и работать не будут. Я бы сказал так - для продвижения и серьезного проекта конечно надо настраивать стороннее расширение типа sh404sef (например для интернет-магазина и для форума желательно иметь серьёзный компонент SEF, а не встроенный, как сейчас), но тут точно или чистить вручную контент от старых ссылок, или разрабатывать компонент для корректного перехода старых ссылок, а это получится достаточно сложная доработка. Но если не стоит задачи серьёзно продвигаться, то хватит и встроенного компонента.

В итоге был выбран вариант с установкой sh404sef, и преобразование "кривых" ссылок контента через mod_rewrite .htaccess Apache (об этом далее).

Q002. Насколько устойчива данная инсталляция сайта (портированная на Joomla 1.5.24) к взлому? Можно ли получить от Вас гарантию - скажем, на полгода - если в течении этого времени произойдет проблема с безопасностью (если она не по мой вине), то Вы её бесплатно исправите?
A002. Проблема безопасности сайтов не может быть гарантирована. Она может быть только существенно затруднена для взломщика. Абсолютно любой сайт можно взломать. И чаще всего это делают не через сайт, а через уязвимости в сервере. Кроме того, я не разработчик Joomla и не разработчик компонентов Joomla, как я могу вам давать какие то гарантии на эти решения? Чтобы даже расследовать, как произошёл взлом, нужно проводить аудит сайта и сервера (а на сервер, если он не Ваш, вас никто не пустит делать это), аудит безопасности стоит десятки тысяч рублей (а иногда сотни тысяч). Я неоднократно сталкивался с проблемами безопасности и их устранениями, знаю порядки цен и работал активно со многими специалистами в этой области, в том числе и с хакерскими группами, которые работают по обе стороны баррикады - проблема настолько сложная, что каких-либо гарантий с моей стороны просто не может быть.

Для конкретно 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 используется на сайте? Какие другие версии можно использовать?
A003. В данном случае не сайт использует версии, а на сервере установлены версии, Joomla может работать на широком спектре версий, на всех современных и на многих старых. Кроме самих версий гораздо важнее особенности настройки PHP и MySQL, а также отдельных модулей PHP (например mod_rewrite и т. п.).

Конкретно сейчас на сервере установлены 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. Не перенесены Ссылки -> Администрирование и Ссылки -> Программирование, ссылки с этих страниц ведут на старый сайт.
http://sitedomain1.ru/index.php?option=com_weblinks&;view=category&id=34&Itemid=34
http://sitedomain1.ru/index.php?option=com_weblinks&;view=category&id=35&Itemid=34
A005. Это компонент weblinks, как раз об этом я написал, что в базе есть ссылки с прямым указанием старого домена. Т. е. я не могу стереть домен в этих ссылках, они находятся в базе данных, и заранее не зная какой домен нужен, нельзя ничего сделать. Если просто стереть домен, то компонент не будет работать. Т. е. эту настройку надо делать после того, как уже известен домен. Т. е. в компоненте в админке Компоненты -> ссылки -> ссылки когда заводишь ссылку, то пишешь, на какую должен идти редирект и вот в этих ссылках (Вы можете в админке посмотреть) есть ссылки как раз на http://sitedomain1.ru/content/view/515/43/ и тут уже лучше это править как раз на том домене, который будет в реальности. Или массово перед настройкой новой базы заменить домен в дампе в этой таблице. Т. е. или в ручную в админке или когда будете знать домен можно автоматом в базе будет поправить. При установке на хостинг напишите мне - я помогу.

[111123]

Q006. Почему-то с новым засекреченным входом в админку (AdminExile) по логину http://тут_имя_домена/administrator/index.php?login_dla_admina попадаю не в админку, а в профиль пользователя admin с правом редактирования/публикации статей. В общем, в админку попасть не удалось...
A006. Первый раз просто введите секретную ссылку и нажмите Enter. После этого появится стандартное приглашения входа в админку: Админцентр Joomla! RE и приглашение ввода логина и пароля, как и должно быть. Как только Вас вместо админки перекинет снова на главную страницу, второй раз снова введите ту же секретную ссылку, и появится админка.

Такая "двойная" авторизация получается из-за jcomments и их плагинов - они требуют ещё одной проверки, и система перекидывает вас.

Q007. Ссылки с длинными именами типа http://тут_имя_домена/index.php/программирование/26/1178-usb-----.html, если их нельзя вручную исправить на простую ссылку типа http://тут_имя_домена/usb-console - не нужны. Кириллические ссылки тоже не нужны однозначно. Нужны англоязычные, которые проставятся на всех статьях автоматом (пусть они будут плохие), и которые можно поправить вручную (на короткие и хорошие).
A007. Нельзя сделать совсем как хочется, я уже говорил тема очень сложная и одна из самых проблемных в joomla вообще.

На счёт "Идеальный вариант" - когда, цитата вашего вопроса: "система сама создает такие ссылки на основании имен разделов и категорий (пусть они будут плохие), и можно при желании вручную задать любую нужную ссылку для статьи, вбивая любое количество имен и любое количество слешей" - как раз так и работает sh404sef, но не с вашими старыми ссылками. Вот если бы всё это было бы родным для новой joomla, То именно так и работает система - посмотрите расширенные настройки sh404sef, без вашего участия итак бы создавались красивые ссылки и только какие то вы могли бы по желанию править. А просто включить эту систему не получается т. к. тогда она не обрабатывает старые ссылки напрямую прописанные в контенте - она не может их обработать. Для новых статей и т. п. всё будет хорошо с sh404sef а старые видимо тогда надо перебить вручную или не включать sh404sef, а довольствоваться встроенным, там делается как делается и без возможности ручной правки.

В итоге: хотите перейти на новую систему - надо пройтись по страницам вашего сайта - получить преобразованные все старые ссылки и вручную их поправить на правильные. А новые будут создаваться уже сами правильно.

[111124]

Q010. За инструкцию спасибо, инструкция супер, в ней-то как раз все ясно и понятно =). Однако, несмотря на инструкцию, остается нерешенным вопрос Q007 - как люди делают красивые, человеческие ссылки. Я бы например тоже хотел иметь у себя на сайте раздел tools, в ней категорию prog, и чтобы все статьи в этой категории имели ссылки наподобие этой, без всяких лишних циферок и кириллицы (не убеждайте, что кириллица в ссылках удобна - это чисто ИМХО, кому что нравится, но это однозначно не для меня). Или хотел бы вручную (но только без проблем! - а в случае с компонентом sh404sef Вы как раз обещаете проблемы) заменить тупую ссылку на короткую и понятную - любую, какую захочу. Судя по Вашей инструкции, это пока невозможно, либо я чего-то не понял.
A010. Включаем систему sh404sef. Делаете раздел Инструменты, прописываете alias = tools. Делаете категорию Железо, прописываете alias = hardware. Создаёте статью Платы серии №456 алиас прописываете = board456 и назначаете их этому разделу и этой категории в итоге ссылка на статью при включенных в sh404sef добавлении alias будет:

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)?
A014. А почему именно зарубежный? Поездив по зарубежным - решил, что если проект не предполагает конкретно например американских посетителей (в большинстве случаев это так), то сервер в Америке просто не нужен, проблем много, минусов тоже, там сервис вовсе не лучше нашего. Например godaddy - просто кошмар. В Европе чуть лучше, но я всегда общался именно с русскими компаниями, предлагающими размещение на западе, но не скажу, что у меня есть какие то определённые советы, т. к. сам я разместил сервер в датацентре в Германии и после этого забыл о всяких проблемах с хостингом. Т. е. конкретно посоветовать хостинг за рубежом и проверенный я не могу. Как уже говорил если нужно я могу выделить вам аккаунт на сервере, он расположен в Германии.

Из наших, но достаточно дорогих, мне понравился atlex, из бюджетных терпим rucenter. Не советовал бы идти на мастерхост, 1gb, sweb. Из маленьких компаний там может быть по разному, в зависимости от админа, но можно как хорошо попасть, так и мучаться.

На счёт поддержки доменов. Тут по идее не хостинг должен поддерживать домены, а вы должны зарегистрировать домен com или net Например в r01.ru, а потом направлять свой домен куда угодно через ns сервера т. е. тут на любой хостинг можно направить, и в плюс Вы не зависите от отношений с хостингом в любое время перенесёте на другой хостинг и перепишите ns сервера. А то если регистрируете домен через хостинг в этом случае бывают проблемы вплоть до откровенной блокировки и замораживания домена, если Вы съезжаете с хостинга (было например с sweb).

Q014a. Зарубежный хочу по двум причинам. Во-первых, чтобы не зависеть от прихотей нашей административной машины. Иногда натыкаюсь на форумах на сообщения о случаях прикрытия сайтов без решения суда. К сайту моему конечно вряд ли будут у кого-то претензии, но все-таки. И по этой же причине хочу домен зарегистрировать не у российского регистратора. Во-вторых, цены раза в полтора ниже, а набор услуг и параметры лучше, чем у наших. Например за то, что бесплатно (!) дает 000webhost, я плачу Агаве в полтора раза дороже (!), чем платная услуга того же 000webhost (причем объем свободного места и прочие параметры в разы отличаются у буржуев в лучшую сторону).
A014a. Я бы не говорил со столь убежденностью что сервис у них лучше. Много я работал и с иностранцами и с нашими бывшими согражданами, уехавшими в США и западную Европу - и сталкивался с их уровнем сервиса. Так вот - сервис не лучше чем у нас, возможно подешевле иногда, но уровень поддержки если что - оставляет желать лучшего, гарантий ещё меньше, а бюрократии (не касаемо хостинга, а вообще) на порядок больше. Это как бы из первых уст, впечатления людей, уже не один год и некоторые десяток лет живущих и работающих за рубежом. Но тут как говорится как наткнёшься, возможно есть и хорошие хостинги, но я их не могу назвать, т. к. лично сам не проверял. А те что видел - мне не понравились ни удобством панели, ни скоростью работы.

Q014b. Ориентировочно думал запустить хостинг на 000webhost [4], там даже бесплатно можно на Joomla работать, а платный хостинг за то, что мне надо, стоит там около 5 долларов в месяц. Смущает только то, что это америкосы, и у них могут SOPA внедрить =). 000webhost хостинг уже попробовал, там бесплатно крутится сайт конторы, где я работаю (на Joomla 1.7) - 3 месяца полет нормальный и никаких претензий (правда, посещаемость там практически нулевая). Как обстоит дело с ценами и параметрами на хостинге, который в Германии? Сколько там стоит виртуальный хостинг (мне этого больше чем достаточно)?
A014b. Они к сожалению прикрыли направление именно хостинга, предлагают только виртуальные сервера (т. е. у них нет виртуального хостинга, есть виртуальные сервера). Там нужны небольшие знания работы с сервером, но по умолчанию всё настраивается их службой техподдержки при установке, и потом работает стабильно, техподдержка опять-таки поможет.

Вот тарифы, см. [3]. По идее вам и OVZ1 .. OVZ3 может подойти, но конечно всё начиная с OVZ2 уже дороже обычного виртуального хостинга. Кстати, именно на Европу надо ориентироваться, потому что скорость работы с американскими хостингами будет не очень - всё же пинг до них большой. А то, что я вам от себя предлагал - это именно аккаунт на уже настроенном моём сервере (не виртуальном, а реальном), но тут у меня нет тарифов каких-то, надо бы узнать каково ваше среднее посещение на сайт в день.

Q014c. Смутили Вы меня отзывом о зарубежном хостинге, неужели на Агаве придется остаться? Не нашел на fastvps.ru описание набора услуг, и не смог сравнить с описанием услуг 000webhost, как например, см. [4]).
A014c. Не хотел смутить, просто хотел предупредить, что сложившееся мнение, что там лучше условия, далеко не так верно, там тоже много проблем с массовыми хостингами, т. е. как попадёшь - можно попасть хорошо и всё будет замечательно, а можно много ездить по хостингам.

На счёт описания услуг. Его как бы не может быть на виртуальном сервере. Что такое для вас виртуальной сервер - это машина с установленной операционной системой и набором ПО. Для виртуального сервера устанавливают 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 хостера)?
A014d. Ставится на выбор. Но я лично предпочитаю debian, и к ней и сотрудники поддержки склоняют, и также эта система без проблем поддерживается службой техподдержки, а экзотические версии линукс не всегда. При заказе пакета там как раз и нужно выбрать ОС, выбирайте debian. Собственный backup можно делать, и причём в разных вариантах и т. п. т. е. можно и отдельно и целиком. На счёт надёжности - всё надёжно и давно используется во всём мире. Конечно риски есть всегда, но эти риски есть везде.

У меня у самого такая конфигурация - настоящий сервер и на нём тоже по технологии OVZ стоят два виртуальных сервера и работают надёжно.

[111127]

A010. (продолжение, решение проблемы "кривых" ссылок). Одна из проблем заключалась в alias Названий и категорий. Я заменил в дампе имеющиеся ссылки на формат новой Joomla (по максимуму что было возможно) и перевёл все дубликаты алиасов в контенте и категориях в уникальные названия, а также прописал где их не было. В итоге ссылки стали нормально генерироваться на материалы без дубликатов.

Остались только старые ссылки типа http://sitedomain1.ru/content/category/5/36/44/ но и они редиректятся теперь на новые ссылки. для этого строки из Htaccess
#RewriteRule ^content/view/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]
RewriteRule ^content/view/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]
RewriteRule ^content/view/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]
RewriteRule ^content/view/([0-9]+)/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1&Itemid=$2 [L]
RewriteRule ^content/view/([0-9]+)/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1&Itemid=$2 [L]
RewriteRule ^content/category/([0-9]+)/([0-9]+)/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=category&sectionid=$1&id=$2&Itemid=$3 [L]
RewriteRule ^content/category/([0-9]+)/([0-9]+)/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=category&sectionid=$1&id=$2&Itemid=$3 [L]
RewriteRule ^content/blogsection/([0-9]+)/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=section&ayout=blog&aid=$1&Itemid=$2 [L]

Сконфигурируйте sh404SEF: зайдите в Компоненты/sh404sef, sh404SEF Конфигурация, вкладка Расширенные, и поставьте ещё:

301 перенаправление из не-Sef в SEF URL ДА
301 перенаправление с JOOMLA SEF в sh404SEF ДА

В общем после всего этого сайт имеет красивые и правильно генерируемые ссылки, типа http://тут_имя_домена/programmirovanie/MSC51/index.html а также работают все старые. По идее можно и вместо основного сайта выкладывать.

Да и ещё забыл сказать - установил карту сайта чтоб можно было ссылки
посмотреть: http://тут_имя_домена/xmap-1.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 в Менеджер файлов. Обычно конфиг здесь:
/etc/apache2/apache2.conf (сохраните себе копию)

там прописаны хосты что то типа

ServerName *****
и т.д.

Вот первым можно поставить какой угодно хост и перегрузить апач (делается через ISP manager Инструменты/Сервисы). Реально браузер ходит по вашему ip, а SEF сервера показывает тот домен, что вы запросили.

По поводу такой "переадресации" - вот выше описал, и если вы хотите домены, то лучше их создать всё-таки в isp manager и если на них не предполагается сайта, то хотя бы ошибку будет выдавать. А сейчас идёт так - запрос к ns серверу домена, он выдаёт ip - обращаемся к уже вашему серверу он ищет ответ сервера с записями доменов, которые предполагаются на вашем ip, а их нет - он выдаёт тот, что основной, и прописан первым к ip.

Вот и всё. Т. е. надо чтобы это были разные домены и сайты - создайте через isp manager эти домены и повесьте их или на одну учетную запись, или на разные. Хотите чтоб отдавались правильно, но все домены на один сайт - то пропишите к одному домену - остальные псевдонимами в редактировании доменов (но сами домены всё равно создать надо как я понимаю).

Q016. Почему-то если в ссылках домена sitedomain1.ru поменять (прямо в адресной строке браузера) имя домена на sitedomain3.org, то открывается та же самая статья, только на домене тут_имя_домена. (?..) Никакого Page Not Found...

Например, откройте
http://sitedomain1.ru/content/view/1321/44/
и
http://sitedomain3.org/content/view/1321/44/

вместо второй ссылки почему-то (после легкого раздумья сервера) открывается ссылка http://тут_имя_домена/programmirovanie/AVR/_metaboard_arduino.html (!), причем та статья, которая нужна (!). Это совсем для меня загадка, черная магия какая-то. Вопрос - почему такое происходит?

A016. Нет это не чёрная магия, это я настраивал и вам описал это :)

посмотрите свой Htaccess на тут_имя_домена там есть строки типа:
RewriteRule ^content/view/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]
RewriteRule ^content/view/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]

я вам писал что вам надо перебить их на тот домен куда поставите вместо тут_имя_домена - это как раз старые ссылки редиректит ко мне на тут_имя_домена (ведь адрес в Htaccess вы не изменили), и берёт правильные параметры подстраивает их к новой joomla
а новая настроенная уже к хорошим ссылкам joomla немного думает и кидает их на правильную статью но с уже новой красивой ссылкой - вот и вся магия :). Т. е. поставьте тот вариант на новый домен, что я вам дал с красивыми уже ссылками. Отредактируйте Htaccess прописав вместо тут_имя_домена свой домен и всё будет так как надо, недаром я с ними мучался :)

Все, даже старые ссылки прописанные в контенте (по крайней мере большинство) будут работать и показывать красивые удобные ссылки, да ещё и мета-теги можно прописывать и менять в общем все тридцать три удовольствия :). У вас много контента и много посетителей как я понимаю, а через какое-то время и ещё больше пойдёт - т.к. оптимизация будет работать, так что вам останется только монетизировать трафик по возможности, сайт качественный и полезный - думаю перспективно.

[111230]

Q017. При настройке WWW-домена в ISP manager: чем отличаются друг от друга варианты настройки PHP:
- нет поддержки PHP
- PHP как модуль Apache
- PHP как CGI
?

Какой из вариантов больше подходит для моего сайта на Joomla 1.5? Я попробовал для тут_имя_домена вариант "нет поддержки PHP", но сайт все равно работает.

A017. Сайт-то работает, но компоненты Вы нормально не поставите. Нужно выбирать вариант PHP как CGI, тогда интерпретатор PHP будет работать от имени пользователя - владельца домена, и получит все права на файловую систему каталогов сайта домена.

Q019. Почему под пользователем root в ISP manager -> Инструменты -> Базы данных не видны базы сайтов? Какие базы данных создаются и редактируются в этом разделе?
A019. Базы не видны, так как они создаются под другими учетными записями - под учетными записями владельцев доменов. Под root не надо создавать никакие базы данных для сайтов, все нужно делать под соответствующей учетной записью владельца домена.

Q020. Как получить доступ к дополнительному хранилищу для бекапов, которое я купил вместе с хостингом OVZ-3? Какой объем данных я могу туда сохранить? Можно ли в менеджере бекапов настроить бекап так, чтобы файлы бекапов сохранялись на дополнительном хранилище?
A020. Вам были высланы в письме и показаны в админке логин и пароль для сервера бекапов (Вы их потом скрыли в целях безопасности), адрес сервера backupovz1.fastvps.ru. Доступ к нему осуществляется по протоколу FTP. Поэтому если при настройке задания бекапа в случае места для получателя архива бекапа Вы выбираете backupovz1.fastvps.ru, то выберите протокол FTP. Вам выделено место на сервере backupovz1.fastvps.ru в размере 100 гигабайт.

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 Закрыта для записи). Это проблема?
A022. Проблемы из-за того, что Вы создали домен не под учетной записью пользователя - владельца WWW-домена, а из-под рута. Повторите процедуру создания домена в ISP manager из-под учетной записи пользователя - владельца WWW-домена, и запустите WWW-домен в режиме PHP как CGI. Все проблемы пропадут.

Q027. Какие посоветуете инструменты для создания файлов sitemap и robots для поисковых машин Google и Яндекс?
A027. См. руководство Yandex [8]. Также в корневом каталоге инсталляции Joomla 1.5.24 лежит уже готовый файл robots.txt, который вполне работоспособен. Вот его содержание:

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /cgi-bin/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/

Если коротко - тут не запрещено поисковикам соваться для индексации в любые места, за исключением этих папок и их подпапок. Этот файл полностью рабочий и пригоден для индексации. Я уверен, что через день-другой страницы сайта sitedomain2.net появятся в индексе Google и Yandex.

Q028. Не нашел в архивах, что Вы оставили на закачку, файла htaccess.txt c Вашими прописанными умными редиректами (там просто файл со значениями редиректов по умолчанию - защитой от всяких взломов). Может быть, он у Вас был записан где-то в другом месте, не в корневом каталоге сайта тут_имя_домена? Т. е. файлы htaccess.txt, которые у меня есть в корневых папках сайтов, не содержат Ваших умных редиректов... Пришлите пожалуйста htaccess.txt с редиректами, и укажите, в какую папку его положить.
A028. Именно в корневом каталоге, только файл не htaccess.txt а .htaccess (сами архивы я уже стёр сейчас не смогу посмотреть точно, но они там должны быть, т.к. без этого не работало бы), кроме того .htaccess Обязателен при использовании новых ссылок с mod_rewrite), он не показывается если у вас на сервере не включен режим просмотра скрытых файлов. Например в Total Commander команда меню FTP -> показывать скрытые файлы, и без этого файла не было бы редиректа с вашей ссылки http://sitedomain1.ru/content/view/1321/44/ на тут_имя_домена. Так что файл .htaccess там есть и он работает, просто Вы его пока не увидели.

В письме от 27 ноября я как раз привёл строчки, которые надо прописать в .htaccess. Он должен быть в корне сервера, и я думаю он у вас там уже есть. В нём измените строчки на свой домен.

для этого строки из .htaccess
#RewriteRule ^content/view/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]
RewriteRule ^content/view/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]
RewriteRule ^content/view/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1 [L]
RewriteRule ^content/view/([0-9]+)/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1&Itemid=$2 [L]
RewriteRule ^content/view/([0-9]+)/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=article&id=$1&Itemid=$2 [L]
RewriteRule ^content/category/([0-9]+)/([0-9]+)/([0-9]+)$ http://тут_имя_домена/index.php?option=com_content&;view=category&sectionid=$1&id=$2&Itemid=$3 [L]
RewriteRule ^content/category/([0-9]+)/([0-9]+)/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=category&sectionid=$1&id=$2&Itemid=$3 [L]
RewriteRule ^content/blogsection/([0-9]+)/([0-9]+)/$ http://тут_имя_домена/index.php?option=com_content&;view=section&ayout=blog&aid=$1&Itemid=$2 [L]

Замените тут_имя_домена на свой домен.

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 означает показать статью
id=605 уникальный идентификатор ID статьи, за ним через двоеточие следует псевдоним статьи (alias) avr-usb-mega16
catid=26 указывает на уникальный идентификатор категории, в которой расположена статья, за ним через двоеточие следует псевдоним категории (alias) AVR
Itemid=44 уникальный идентификатор ID пункта меню, которому соответствует статья (обычно пункт меню ведет на раздел сайта).

Пример ссылки на раздел сайта:
index.php?option=com_content&view=section&id=4&Itemid=43

Пример ссылки на категорию сайта (категория входит в раздел):
index.php?option=com_content&view=category&id=22&Itemid=43

Такие "правильные" ссылки без SEF автоматом составляются, если пользоваться встроенным инструментом "вставить ссылку" встраиваемого редактора статей Joomla - JCE Editor. Этот встроенный инструмент предоставляет браузинг по статьям и категориям сайта, что позволяет выбрать нужный объект, для которого автоматически составляется правильная ссылка. Эти правильные ссылки система sh404sef распознает и переводит в "красивые", человеческие (состоящие из алиасов разделов, категорий и статей).

Q034. Как можно поменять пароль root:
1. На виртуальный сервер.
2. VDS manager.
3. ISP manager.
?
A034. Можно сделать это из панели ISPmanager зайдя под root-пользователем - "Настройки" (кнопка сверху на главной странице). Это изменит пароль от root'а на весь сервер.

Q035. Как в Joomla FSK Editor редактировать напрямую HTML?
A035. Исходный код правится, когда нажимаешь кнопку Источник, она обычно справа вверху.

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 или
755 (в зависимости от настроек сервера). В joomla есть в админке есть меню Помощь/системная информация. Там есть вкладка Системная информация, и там как раз большинство папок указаны, к которым нужно права ставить. Но в плюс ещё другие компоненты требуют правильной настройки прав на папки, например cache от sh404sef.

Как пофиксить:

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. Как посмотреть, сколько занято места на диске, в каких папках?
A040. Посмотреть используемые ресурсы диска можно через ISP manager -> Статистика -> Использование диска. В разделе Статистика можно посмотреть и использование других ресурсов сервера.

Q041. Возможно ли делать бекапы данных пользователя с помощью оболочки ISP manager lite? Пытался настроить задание по Вашему видеоролику, но ничего у меня не получилось (пробовал под пользователем root и под пользователем username) - бекапится непонятно какие данные, но только не то, что мне надо. Меня интересует бекап сайта sitedomain2.net, его файлы находятся в папке /var/www/username/data/www/sitedomain2.net, и его база данных имя_базы_данных. Если можно делать такой бекап с помощью ISP manager lite, то дайте ссылку на документацию, как делать задания на бекап данных пользователя, или научите, как это делать.
A041. Если у Вас данные сайта находятся в папке пользователя (судя по вопросу, так оно и есть), до бекап файлов сайта нужно делать с помощью оболочки ISP manager lite под аккаунтом этого пользователя. Процесс по шагам:
1. ISP manager lite -> Обслуживание -> Настройка бэкапов -> кнопка с зеленым плюсиком "Добавить".
2. Вводим любое имя задания (например bkp01), выбираем Хранилище локальная директория, в директория выбираем название папки, например /backups (путь указывается не относительно корневой папки сервера, а относительно корневой папки пользователя, т. е. если указать /backups, то архив создастся в папке /var/www/username/data/backups/username), архиватор выбираем tgz, период ежедневно, время запуска 00:00, ежедневных архивов 6, еженедельных архивов 3, ежемесячных архивов 3, жмем ОК.
[]
3. Ставим все галочки, жмем ОК.
[]
4. Если нажать кнопку с зеленой стрелочкой "Сделать резервную копию сейчас", то создастся файл архива наподобие /var/www/username/data/backups/username/6_bkp01-2011-12-05.tar.gz, в котором будут следующие файлы и папки:

email (папка)
logs (папка)
www(папка)
etc(папка)
mod-tmp(папка)
php-bin(папка)
bin-tmp(папка)
username@тут_имя_домена
tmp
pbkp_wwwdomain.xml
pbkp_wwwredirect.xml
pbkp_emaildomain.xml
pbkp_emailgroup.xml
pbkp_emailredirect.xml
pbkp_email.xml
pbkp_db.xml
pbkp_cron.xml
pbkp_ftp.xml
public_html

Реальную ценность представляет только папка www, в которой и находятся все сайты WWW-доменов, созданных под пользователем username.

Q042. Как делать бекап базы данных сайта sitedomain2.net с помощью оболочки ISP manager lite? Возможно ли вообще это? Все делал по обучающим видеороликам, пробовал и из-под root, и из-под пользователя username - ничего не выходит, бекапа базы данных сайта utf8p3 нигде не нашел. База была залита из дампа через PhpMyAdmin. В PhpMyAdmin логинился через MySQL пользователя root, у него свой собственный пароль (отличается от пароля root сервера). Смущает также:

1. Когда настраиваю задание и пытаюсь добавить в задание базу имя_базы_данных, то в выпадающем списке выбора баз нет ни одной базы данных.
2. Физически базы данных находятся в каталоге /var/lib/mysql, в который пользователь username возможно не имеет доступа.
Прилагаю скриншоты.
[][][]

A042. Настраивать задание и восстанавливать бэкап нужно из-под пользователя, под которым добавлен домен (не root).
В таком случае в разделе Резервные копии Вы сможете увидеть все данные Вашего сайта в бэкапе. Сейчас базы не видны в ISP manager и не доступны для бекапа потому, что они были созданы через PhpMyAdmin от имени MySQL пользователя root. К сожалению, в таком случае базы не будут видны в ISPManager, никаким образом. Чтобы базы было видно в ISPManager необходимо сделать дамп базы через phpmadmin, после удалить базу и создать её в ISPManager. Заходить в ISP manager (чтобы создать базу данных) можно и под пользователем root, и под пользователем username. Достаточно установить владельцем БД пользователя "username", это можно сделать из-под обоих аккаунтов. При создании базы система требует создать нового пользователя MySQL. Похоже, создать базу для MySQL пользователя root через ISP manager нельзя (по крайней мере, если зайти в ISP manager под обычным пользователем). Галочка "Удаленный доступ" означает - можно ли работать под этим пользователем с базой через PhpMyAdmin.
[]

Q044. Как правильно настраивать бекапы?
A044. Вариантов собственно много, можно только посоветовать один из стандартных. Для сайтов средней и низкой посещаемости обычно настраивают два бекапа - один ежедневный, другой еженедельный. В ежедневный включают часто меняющиеся данные (базы MySQL, почтовые ящики - данные, которые имеют относительно небольшой объем), и исключают из него редко меняющиеся (файлы изображений, архивы программ и проч. - данные, которые могут иметь большой объем). В еженедельный включают все данные, или только те, которые редко меняются. При создании задания нужно проверить, какой объем архива получается, и рассчитать такое количество копий на какое хватит места на сервере. Например, если место на сервере 100 гигабайт, один полный еженедельный архив занимает 1.7 гигабайта, а один ежедневный архив 5 мегабайт. Если мы зададим 6 ежедневных полных архивов, 3 еженедельных и 3 ежемесячных, то мы потратим 1.7 * (6+3+3) = 20.4 гигабайта. Получается, что даже с учетом роста сайта места под бекап у нас достаточно. Иногда часто меняющиеся данные нужно бекапить каждый час, а то и чаще, тогда количество копий увеличивается. На частичные бекапы можно потратить, например, 5 * (70 + 70 + 70) = 1.050 гигабайт (70 ежедневных бекапов, 70 еженедельных и 70 ежемесячных). Запас свободного места получается около 78 гигабайт. Итак, наш план:

Полный бекап - хранить 6 ежедневных бекапов, 3 еженедельных, 3 ежемесячных.
Бекап только MySQL и почтовых ящиков - хранить 70 ежедневных бекапов, 70 еженедельных и 70 ежемесячных.

Второе, что нужно уяснить себе - система, по которой работает 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
Хранилище удаленный сервер FTP
Сервер backupovz1.fastvps.ru
Логин ...
Пароль ...
Директория /backups
Архиватор tgz
Период ежедневно
Время запуска 01:00
Ежедневных архивов 6
Еженедельных архивов 3
Ежемесячных архивов 3
Перезаписывать существующий архив да
Уровень компрессии по умолчанию

Далее будет диалог выбора данных - поставить все галки.

[Если нужно настроить исключения]

1. Выберите задание, нажмите кнопку Данные (Данные для резервного копирования).
2. Высветится следующая таблица, если до этого Вы выбрали все галочки:
[]
3. Чтобы исключить, например, папку /var/www/username/data/var, нужно нажать на Создать (Добавить), Действие Исключить из архива, Тип данных Файл или директория, Путь /var, нажать Ok.
4. Чтобы исключить, например, папку /var/www/username/data/www/тут_имя_домена, нужно нажать на Создать (Добавить), Действие Исключить из архива, Тип данных Файл или директория, Путь /www/тут_имя_домена, нажать Ok.
5. Чтобы исключить из архива базу данных, нужно нажать на Создать (Добавить), Действие Исключить из архива, Тип данных Базы данных MySQL, База данных mysql -> имя_базы_данных (здесь имя_базы_данных - имя базы, созданной в ISP manager под пользователем username), нажать Ok.

С осторожностью нужно выбирать место хранилища "локальная директория", так как данные будут писаться в /var/www/username/data, и они могут попасть в пути бекапа. Например, если указать место хранилища локальная директория, и путь Директория указать /backups, то данные бекапа попадут в папку /var/www/username/data/backups/username.

Внимание! Не выбирайте в качестве формата архива ZIP, потому что архивы в таком формате могут создаваться некорректно, и туда не попадет дамп базы данных. Выбирайте формат tgz.

Q045. Как можно сбросить статистику сайта (счетчики посещения статей)?
A045.

Q046. Как убрать название сайта с главной страницы?
A046. Название сайта (часто туда вводят просто имя домена) по умолчанию отображается вверху главной страницы, и иногда мешает. Чтобы убрать название сайта с главной страницы, в админке Joomla выбирают Меню -> Главное меню -> заходят в пункт меню Главная (Статьи » Главная Страница) -> справа есть внизу Параметры системы, раскрываем этот список -> Отображать заголовок страницы выбрать Нет.

Q047. Как мне составлять "универсальные", т. е. старые ссылки без SEF/ЧПУ (в которых есть цифровые идентификаторы категории, раздела или статьи) - для того, чтобы в случае смены настройки SEF ссылка все равно работала? Например, это может понадобиться для случая, когда я отправляю ссылку для публикации на чужом ресурсе.
A047.

Q049. Где меняется настройка длины списка статей категории?
A049. Админка Joomla -> меню Сайт -> Настройки -> Сайт -> Длина списка

[111213]

Q054. Joomla 1.5: как поменять количество анонсов статей, отображаемых на главной странице?
A054. Админка Joomla -> Меню -> Главное меню -> Главная -> справа Основные параметры -> поменяйте параметр Кол-во вводных.
См. также "КОЛИЧЕСТВО НОВОСТЕЙ И КОЛОНОК НА ГЛАВНОЙ СТРАНИЦЕ" http://joomlaportal.ru/content/view/45/53/

Q055. Как работает перенаправление ссылок через .htaccess?
A055. Есть директивы Redirect, RedirectMatch. Последняя позволяет использовать регулярные выражения.
Redirect [status] URL_LOCAL URL_REDIRECT

Имеются также директива RewriteRule, которая часто используется в паре с директивой RewriteCond (однако RewriteCond может и отсутствовать). В директивах RewriteRule и RewriteCond могут также использоваться регулярные выражения. Перед директивами RewriteRule и RewriteCond должна стоять директива RewriteEngine On.

Внимание: файлы .htaccess часто не видны в браузере FTP, так как имеют атрибут "скрытый" (hidden). Чтобы увидеть эти файлы, например, в Total Commander, нужно в меню Net выбрать пункт FTP Show Hidden Files.

Q056. Что означает [L] в конце строк правил переадресации (например RewriteRule) файла .htaccess?
A056. Это флаг "последнее правило" (Last), который говорит остановить процесс преобразования на этом месте и не применять больше никаких правил преобразований. Используйте этот флаг для того, чтобы не преобразовывать текущий URL другими, следующими за этим, правилами преобразований. По значениям других флагов см. также [1].

Q057. Иногда при сохранении статьи в редакторе JCE Editor выскакивает сообщение сервера "Forbidden access (". Например, на ссылку http://тут_имя_домена/index.php?option=com_content&;Itemid=100001&id=388&lang=ru&ret=aHR0cDovL21pY3Jvc2luLm5ldC8=&task=edit&view=article
A057. Такое может происходить, если активна опция включения безопасности в компоненте sh404sef. Выключить можно через админку Joomla -> Компоненты -> sh404SEF -> sh404SEF Конфигурация -> закладка Безопасность -> Вкл. функции безопасности -> Нет. На предупреждение об необходимости очистить кэш ссылок нужно ответить OK и удалить автоматически сгенеренные ссылки. См. также [11].

[111218]

Q060. Похоже, что все-таки что-то не так с настройкой сервера либо с настройкой самой Joomla, так как при установке Ninja RSS Syndicator столкнулся с проблемой - не устанавливался компонент Ninja RSS Syndicator (из пакета com_ninjarsssyndicator.1.1.10beta.zip, который я скачал с сайта http://ninjaforge.com/extensions/ninja-rss-syndicator). После попытки установки компонента стандартным способом вылезала ошибка:

JFolder::files: Неверный путь к папке либо она была удалена.
JFolder::folder: Неверный путь к папке либо она была удалена.
JFolder::files: Неверный путь к папке либо она была удалена.
Ошибка! Невозможно найти XML-файл установки в пакете Joomla!.

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
Причем на Denwer точно такая же установка проблем не вызывает, компонент Ninja RSS Syndicator ставится без вопросов (я сделал на Denwer копию сайта sitedomain2.net для экспериментов). Поиск решения проблемы в Интернете результатов не дал - там были предложения проверить корректность установки переменных $log_path и $tmp_path файла configuration.php, однако я их проверил - все вроде с ними нормально. Проверил также права на каталоги - везде стоит 755, т. е. пользователю username (PHP работает в режиме CGI) разрешено писать в файловую систему сайта.

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.
Ответ A: http://forum.sape.ru/showthread.php?t=43297
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$ [NC]
RewriteRule ^robots\.txt$ /robots1.txt [L]
RewriteRule ^sitemap\.xml$ /sitemap1.xml [L]

RewriteCond %{HTTP_HOST} ^(www\.)?site2\.ru$ [NC]
RewriteRule ^robots\.txt$ /robots2.txt [L]
RewriteRule ^sitemap\.xml$ /sitemap2.xml [L]

Ответ B: http://blog.cherouvim.com/robotstxt-control-for-host-aliases-via-mod_rewrite/

Варианты решения:
Вариант 1. Разобраться с .htaccess, сделать переадресацию правилами. Недостатки: сложно и неудобно, достоинство: экономия места на сервере.
Вариант 2. Убрать алиас домена sitedomain3.org, сделать копию сайта sitedomain2.net для sitedomain3.org, написать для него отдельный robots.txt. Недостаток: тратится место впустую, проблемы с рассинхронизацией, достоинство: просто, домен sitedomain3.org можно оставить как копию для экспериментов.
Вариант 3. Убрать алиас домена sitedomain3.org, сделать заглушку (в index.html) с переадресацией для sitedomain3.org, написать для него отдельный robots.txt. Недостаток: нету, достоинство - практически все преимущества.
Вариант 4. Убрать алиас домена sitedomain3.org, сделать для всех папок Joomla файловые символьные ссылки в папке sitedomain3.org на папки в sitedomain2.net. Недостаток: нету, достоинство - практически все преимущества.
Вариант 5. В панели управления ISP manager хостинга fastvps.ru есть такая возможность, как редиректы (World Wide Web -> Редиректы). Можно создать домен sitedomain3.org, и создать для него редирект 301 (перенесен на новый адрес), или редирект 302 (временно перенесен на другой адрес), или редирект 303 (нужно смотреть по адресу). Недостаток: непонятно, насколько хорошо это работает, и неясно, какой вариант редиректа выбрать. Достоинства: наверное все преимущества.
Вариант 6. Просто тупо удалить алиас sitedomain3.org и больше ничего не делать. Так как WWW домена sitedomain3.org не существует, сервер будет показывать домен тут_имя_домена. Для тут_имя_домена сделать отдельный файл robots.txt с директивой host. Фактически получился вариант 2.

Q063. Как убрать ссылки на каналы встроенные каналы новостей.
A063. Админка Joomla -> меню Меню -> войдите в свойства пункта меню по умолчанию (помечен желтой звездочкой в столбце "По умолчанию") -> справа Дополнительные параметры -> Отображать ссылку на канал новостей поставить Нет.

Q064. Не отображается иконка favicon.
A064. У sitedomain1.ru:
< link rel="shortcut icon" href="http://sitedomain1.ru/favicon.ico" />
< link rel="shortcut gif" href="http://sitedomain1.ru/images/favicon16x16-8b.gif" / >

У sitedomain2.net:
< link rel="shortcut" href="/templates/username/images/favicon16x16-8b.gif" type="image/x-icon" / >

Исправил на
< link rel="shortcut icon" href="//templates//images/favicon16x16-8b.gif" / >

и все заработало.

[111220]

Q065. Проблема с JCE Editor - он при открытии статьи портит текст, содержащий специальные символы HTML, например портит текст FS_MINIMIZE <= 1="" br="">A065.

[120106]

infobox - еще один виртуальный хостинг.

[120110]

Q066. Думаю попробовать установить какой-нибудь форум, пока не тестовой площадке (на домене ...), чтобы потренироваться на кошечках. Прошу Вашего совета - какой форум посоветуете? Функционал нужен наподобие http://electronix.ru/forum/ (не знаю, какой там стоит), или еще лучше, если такой есть на Joomla.

A066. Под joomla мне больше всех после многих проб понравился agora forum. Вот пример:
http://imigmaster.ru/forum/index.html
он поддерживает sh404sef

У меня с доработками там стоит 3.0.13 версия русская, возможно она не последняя, но под неё я тогда многим исправлений делал и sh404sef под неё нашёл и дописал. Под остальные форумы с тем или другим вопросом были проблемы.

Как создавать БД для сайта Joomla.
1. ISPmanager под root
2. Базы данных -> Создать, имя базы, владелец указываем пользователя сервера (не root), кодировка utf8, Пользователь выбираем пользователя MySQL (не пользователя MySQL root).
3. Теперь заходим в PHPmyadmin под пользователем MySQL, что указали на шаге 2, и заливаем базу из дампа (выбираем нашу новую базу и переходим на Импорт). Почему-то на третьем шаге не получается залить базу из-под пользователя MySQL, это получается только из-под пользователя root.

Q067. Как правильно создать базу данных Joomla, точнее как сделать копию базы с другим именем?
Исходные данные: нужно сделать базу данных utf8new из базы utf8old. Владелец www каталога Joomla пользователь сервера username, также есть username-mysql как пользователь MySQL.

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:
[Mon Jan 23 17:29:21 2012] [error] server reached MaxClients setting, consider raising the MaxClients setting

Исправить ошибку можно, если подправить 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
Starting Nmap 5.51 ( http://nmap.org ) at 2012-04-10 22:20
Nmap scan report for sitedomain2.net (AAA.BBB.CCC.DDD)
Host is up (0.052s latency).
rDNS record for AAA.BBB.CCC.DDD: тут_имя_домена
Not shown: 991 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp filtered smtp
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
993/tcp open imaps
995/tcp open pop3s
Nmap done: 1 IP address (1 host up) scanned in 4.41 seconds

Ни к 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 в том каталоге, где содержится этот скрипт.
CGI является одним из наиболее распространённых средств создания динамических веб-страниц.

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-сайтов.
2. Простейшие примеры скриптов на PHP (phpinfo).
3. Хостинг FastVPS.
4. 000webhost.
5. Агава, виртуальный UNIX хостинг, тарифы.
6. Панель управления сервером и хостингом FastVPS
7. Сам себе хостер - FastVPS, тарифы на базе технологии OpenVZ.
8. Руководство Yandex по robots.txt.
9. Joomla: как сделать карту сайта (sitemap).
10. Волшебный файл .htaccess
11Joomla JCE Editor вызывает срабатывание защиты Marco's SQL Injection Plugin и sh404SEF.

 

Добавить комментарий


Защитный код
Обновить

Top of Page