Установка нескольких CMS на одну базу данных

Sunday, 03 Jul 2011

В очередное раз столкнулся с вопросом человека- как быть если прикупил себе нищебродский хостинг, позволяющий разместить 5 доменов, и всего одну базу mysql. Я конечно с трудом понимаю кто эти люди, которые приобретают подобные варианты, и главное где они их находят и по какой цене, учитывая что анлим с 4 IP стоит меньше 190 рублей в месяц.

Но как водится выход есть даже из самой жопской ситуации. То есть если вам необходимо завести пяток сайтов в одной базе, то это возможно сделать. Но надо учитывать несколько моментов:

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

Если вы все же решили что оно того стоит, то создаем базу данных средствами хостинга, после чего закачиваем нужное количество копий wordpress на хостинг, подключаем домены и запускаем установку CMS WordPress, где для каждой установки указываем различные table_prefix: wp_ ; wp1_; wp2_ и т.п, которые после копируем в файл wp-config.php (в самом файле для копии wordpress эта строка будет выглядеть $table_prefix = ‘wp_’; )

Точно такое же действие подойдет и для других CMS:
в Drupal прописываем в файл sites/default/settings.php аргумент $db_prefix = ‘drupal1_’;
в Joomla в файле configuration.php указываем var $dbprefix = ‘joomla1_’;
После того как запустим установку CMS все необходимые таблицы, с указанными префиксами создадутся установочными скриптами.

VN:F [1.9.21_1169]
Rating: 5.0/10 (29 votes cast)
VN:F [1.9.21_1169]
Rating: +2 (from 8 votes)

Создание резервной копии сайта через ftp

Tuesday, 31 May 2011

Знакомые девочки попросили вписаться за них, ибо некий разработчик отлично доил их контору, пользуясь тем, что девочки не очень хорошо себе представляли средние цены на услуги хостинга, да и разработки кстати тоже, которая оставляла сильно желать лучшего. Когда же проявился я, товарищ ушел в полную несознанку, ибо нагрузить меня по части php и серверных технологий у него получилось не очень здорово, что добавило еще один камень в корзину неадекватности некоторых русских интернетчиков, но озлобило его до ужаса.

Так что когда  возникла необходимость перенести сайт, служивший предметом торга, с его хостинга на новый хостинг вышеупомянутых барышень, товарищ мне предоставил только ftp доступ, сказав что ипитесь сами, так что пришлось немного пораскинуть мозгами- но не особо далеко.

Собственно для того чтобы сделать резервную копию сайта- нам необходимо два типа данных- собственно содержимое домашней директории сайта и выгрузка базы данных. Сайт мы копируем по ftp, используя стандартные механизмы протокола, единственно не забывая о том, что если на сайте присутствуют русские имена файлов, то нам необходим ftp-клиент поддерживающий кодировку utf8 (об этом я как раз писал накануне).

Для того же чтобы выкачать базу- нам понадобится утилита управления серверов mysql – phpmyadmin. Естественно, что можно скопировать сайт используя например встроенные утилиты- например для того же Drupal, но во первых они не всегда корректно копируют базу, а во вторых у того пользователя который был у меня на момент выгрузки данных- не было прав на использование этого модуля.

Так что пришлось таки биться с phpMyAdmin. Качаем утилиту с официального сайта, разархивируем её себе на компьютер и редактируем файл конфигурации, предварительно ознакомившись с файлом конфигурации сайта имеющейся резервной копии, на предмет выяснения паролей и явок связи сайта с базой данных. Собственно у каждого движка его расположение свое собственное, поскольку я переносил друпальный сайт, то в моем случае его местоположение было sites/all/default.

Создаем конфиг-файл config.inc.php, из имеющегося config.sample.inc.php, и заполняем строчку
$cfg['blowfish_secret'] = ‘ba17c1ec07d65003′;  // use here a value of your choice
произвольным кодом, который нам будет нужен для аутентификации по кукам. Также мы можем поменять тип аутентификации, в строчке
$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
например на аутентификацию по http, что бы при обращении к странице сразу выскакивал логин-промт:
$cfg['Servers'][$i]['auth_type'] = ‘http’;

Помещаем файл в корневую директорию phpmyadmin. После этого загружаем все содержимое каталога  в подпапку, например phpmyadmin, корневого раздела сайта и заходим через бродилку http://сайт//phpmyadmin. Вводим логин который мы достали из конфига CMS и вуаля- “мы уже а Хопре!”

Вероятнее всего при заходе через бродилку у вас будет ругань следующего содержания: «Расширение mcrypt не найдено. Пожалуйста, проверьте ваши настройки PHP», но её мы просто игнорируем. Также в этой ситуации придется забить и на все остальные варнинги, как то отсутствие библиотеки mbstring, которая также ставится из консоли, и всевозможные опции для утилиты phpmyadmin.

Поэтому проходим в экспорт и цинично сливаем базу данных, выбрав доступный формат сохранения базы данных- как минимум sql.

VN:F [1.9.21_1169]
Rating: 3.5/10 (19 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 4 votes)

Как скачать ftp на русском или поддержка unicode ftp-клиентами

Friday, 27 May 2011

Столкнулся в самом начале своей работы в инет агентстве с тем, что пришлось переносить один через-жопу-сделанный-сайт™ (далее ЧЖСС), который еще до моего прихода в контору, ваяли некие омские умельцы, о которых я уже упоминал как то, и видимо еще буду неоднократно их вспоминать. Собственно при переносе всплыла некая особенность реализации, что люди не удосужились озадачиться юзерфрендли алгоритмом переименовывания русскоязычных картинок, при загрузке на сайт, в англоязычные. Поэтому они грузились на сайт в таком же виде что и были на компе, с той лишь разницей- поскольку все это проходило через Drupal, что русские названия сохранялись в кодировке utf-8.

И вот собственно при попытке их вытащить с многострадального хостинга, выяснилось что сделать это не представляется возможным, так как при трансфере стандартным leechftp которым я пользовался стопяцот лет, русские названия превращаются в нечитабельную крокозябру, так что трансфер по ftp на русском превратился в серьезный головняк, так как выяснять какие файлы какие и потом их переименовывать (как мне посоветовали веселые разработчики) было реально сизифовым трудом. Опять же загоном сайта в архив эта проблема не решалась, так как файлы в архиве тоже были со сбитой кодировкой. Поэтому пришлось задуматься в чем проблема того что скачать ftp на русском не представляется возможным.

А оказалось что проблема в том, что кодировку utf-8 поддерживает весьма небольшое количество ftp-клиентов, так что следующим этапом стал поиск удобоваримого клиента, в резьтате чего сформировался следующий список:

SmartFTP
FileZilla (вроде как в варианте патченной версии)
плагин к FireFox- Fireftp
Lftp
FTPRush

Из них я попробовал несколько штук, и остановился на SmartFTP- правда к сожалению данный клиент является коммерческим, что подразумевает что за него надо бы платить денег. Так как с FileZilla у меня возникли таки траблы с переносом файлов, Fireftp эпизодически задумывалось о судьбах рунета, в вот SmartFTP работал отлично, так что в данный момент я использую исключительно его, в том числе и для работы с файлами по ftp на русском, поскольку решать проблему русскоязычных файлов никто не захотел. SmartFTP оказался отличным ftp-клиентом, который помимо возможности скачать ftp на русском позволяет выполнять все необходимые для ftp-клиента функции: качать, переносить директории и файлы без трансфера на удаленную машину, редактировать удаленные файлы, менять права и многое-многое другое. Единственный вскрывшийся глюк оказался в том, что при редактировании файла на локальной машине- следует убирать выделение с файла, так как он, при попытке сохранения изменений, будет удален.

VN:F [1.9.21_1169]
Rating: 3.8/10 (29 votes cast)
VN:F [1.9.21_1169]
Rating: +2 (from 6 votes)

После переезда сайта в Drupal открывается только первая страница

Saturday, 30 Oct 2010

Пришлось мне тут переносить один сайт на Drupal который моей конторе достался от одного разработчика- ue-бана. Вкратце, чел со своей конторой доил агентство как мог- выставив не высокие цены за разработку, вламывал в качестве работы над модулями в среднем от 10 до 24 часов за доработку стандартных модулей и прочее, при этом и грел их на хостинге.

(more…)

VN:F [1.9.21_1169]
Rating: 4.1/10 (24 votes cast)
VN:F [1.9.21_1169]
Rating: +2 (from 8 votes)

Снова в строю

Wednesday, 17 Mar 2010

Закончился мой полуторанедельный марафон по сдаче аттестационных экзаменов по продукции McAfee, так что теперь я снова в строю, правда пока что еще с несколько видоизмененным сознанием- ибо сдача онлайн экзаменов в режиме 15 экзаменов в день никому не может пойти на пользу. Первый день в офисе ознаменовался радостным известием, что наш продуктовый портфель увеличился на одного нового вендора- компанию parallels, так что вскоре видимо мне предстоит начать разбираться с их виртуальными машинами и, что для меня наиболее радостно, с их системой управления серверами Parallels Plesk Panel.

Никогда пожалуй я не тянулся к знаниям с такой силой, как в предвкушении этой задачи ;)

Ну это все романтика, а пока собственно новостей особых нет, кроме того, что потерял пароль от одного из своих сайтов на Joomla, ввиду перестановки винды, так что добравшись до работы пересоздал новый пароль, и подключил на сайте несколько интересных опочек, о которых напишу практически следом. Но надеюсь все таки не так, как написал о переезде сайта под WordPress :-D

VN:F [1.9.21_1169]
Rating: 3.3/10 (27 votes cast)
VN:F [1.9.21_1169]
Rating: +1 (from 3 votes)

Скрытие внешних ссылок от поисковиков и пользователей

Monday, 28 Dec 2009

Иногда, а для меня последнее время и довольно часто, бывает нужно скрыть на сайте внешнюю ссылку от поискового робота, или благодарного, но слишком любопытного пользователя. И если с первым случаем: поисковым роботом, все более понятно, тем более что использование в ссылках спец тегов много и обильно муссируется в инете (вид HTML ссылки, закрытой для поискового робота, будет <noindex><a rel=”nofollow” href=”TARGET_URL”>То самое ссылко</a></noindex>), то последний вариант рассматривается не часто. Но это также бывает нужно, например для сокрытия реферальной ссылки, чтобы не палить всем и каждому домен куда ведет тот или баннер или рекламный слоган. Вариант с перенаправлением через один php’шный скрипт на всех, мне тоже не особо нравится поскольку в конце url все равно пишется конечный адрес. В этой связи я использую два варианта:
(more…)

VN:F [1.9.21_1169]
Rating: 3.2/10 (25 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 4 votes)

Создание алфавитного списка в Drupal

Tuesday, 28 Jul 2009

Для нового, только что запущенного проекта, посвященного прочтенным книгам, под незатейливым названием Что Читать?, озадачился темой создания алфавитного списка.

Сам движок крутится под CMS Drupal версии 6.Х. Для предыдущей пятерки имелся модуль views_alpha_pager, но для новой версии он пока что не доступен. Пошерстив инет, понял, что все можно организовать на модуле view2, доступном на сайте друпала.

(more…)

VN:F [1.9.21_1169]
Rating: 3.7/10 (20 votes cast)
VN:F [1.9.21_1169]
Rating: -1 (from 5 votes)