Не секрет, что основной проблемой при установке портальной системы E-Xoops, является правильное размещение его компонентов на ВЭБ-сервере провайдера.
О том, как это сделать быстро и правильно, я и поделюсь с Вами в этой статье. Рассматривать приемы установки мы будем в варианте, когда пользователь имеет возможность работать со своим акаунтом по FTP и SSH (на примере хостинга BuildingHOST.com )
Здесь и далее я буду рассматривать решения с точки зрения собственных предпочтений. Читатели могут в некоторой степени отходить от моих рекомендаций, пользуясь основными положениями, или собственным опытом и предпочтениями. Все приведенные здесь примеры основываются на варианте хостинга у проекта BuildingHOST.com
Инструменты, необходимые для работы
1) Нам понадобится FTP-клиент (далее Ф-клиент), с помощью которого мы будем размещать файлы в каталоге на ВЭБ-сервере.
У некоторых провайдеров ВЭБ-услуг (далее Провайдеров) присутствует достаточно удобная панель управления акаунтом, в которой может присутствовать файл-менеджер (например в Cpanel). Файл-менеджер позволяет работать как с содержимым ВЭБ-сервера, так и выполнять функции Ф-клиента. Но согласитесь, что гораздо быстрее и удобнее работать с программым Ф-клиентом, чем с виртуальным. Уже значительное время я пользуюсь различными версиями Windows Commander, а в последнее время его последним исполнением - Total Commander. Коммандер имеет всем нам знакомый интерфейс, а-ля Нортон Коммандер. Позволяет выполнять все основные операции, как на локальном компьютере, так и на ВЭБ-сервере. С помощью него Вы сможете выполнить закачку-получение файлов по FTP, архивирование-разархивирование, установка прав пользователя.
Здесь и далее - пользуемся Total Commander 5.51
2) Для работы с SSH нам понадобится программное обеспечение. Опять же из своего опыта рекомендую маленькую программку - PuTTY. Ее очень легко найти в интернет, просто набрав в любом поисковике ее название.
Готовим файлы для отправки на сайт
Предположим, что Вы обкатали свой сайт на локальном компьютере, и хотите это дело поскорее разместить в сети.
Не торопитесь. 1) Портал можно разместить, и не производя его повторную установку, а просто подготовив предварительно файлы к закачке и сняв с локальной MySQL дамп базы. 2) При работе на локальной машине по Линуксом, при простой закачке необходимо определить, что-бы файлы сохраняли свои права, при смене владельца. Если это по каким-то причинам невозможно, то скопировать их на ВЭБ-сервер с наследуемыми правами. но это отдельный разговор. Мы будем считать, что на Вашем локальном компьютере стоит Денвер и Винда (любая)
Последовательность операции подготовки:
Всем известно, что закачать маленький файл легче, чем большой. А так, как мы имеем возможность выполнения значительного списка операций с ними по SSH непосредственно на сервере, то пакуем. Просто пакуем в .zip Для этого упаковываем в отдельный каталог все каталоги, кроме modules и themes
рис.1
Файлы, которые находятся в корне локального сайта пакуем в архив www.zip (см. рис 1)
Создаем два каталога themes и modules, и соответственно в них укладываем архивы внутренних каталогов тем и модулей (рис. 2)
рис.2
Как Вы успели заметить размеры каталогов получаются достаточно удобоваримого размера, что-бы в случае сбоя при закачке, не пользоваться часто докачкой
Отправляем файлы на сервер
Теперь настало время отправить файлы на сервер. Сразу определюсь - для разных типов файлов требуется различный вариант отправки на сервер - в виде ФАЙЛОВ, и в виде ТЕКСТОВ. Файлами подразумеваются все графические, архивные и пр. адекватные типы файлов. Текстами считаются файлы HTML-страниц, PHP, ТХТ и т.д. файлы. Т.е. те, что содержат в себе текстовую информацию. Для того, что-бы не мучаться с определением типа файлов, можно установить режим Автоопределения, предварительно указав тип файлов, который будет соответствовать текстовому: *.txt *.htm *.html *.pas *.c *.cpp *.h *.bas *.tex *.php *.css *.js *.sql *.shtml *.sh и т.д.
Теперь закачиваем все это архивное безобразие в корневой каталог ВЭБ-сервера (в нашем случае public_html), естественно сохраняя полученную структуру файлов-каталогов при архивировании
О DOS - пою хвалу тебе я ;)
Имея в своем распоряжении такой мощный инструмент как SSH имеет смысл подумать о некоторой автоматизации процесса разархивирования и установки прав на каталоги и файлы.
Автоматизация процесса разархивирования Здесь все очень просто - создаем пакетный файл, в котором прописываем команды на разархивацию. Например создаем файл unzip.sh и открываем его в блокноте, или любом текстовом редакторе, лишь бы он сохранял файлы в кодировке win-1251. Файл можно создать один, для всех каталогов и файлов, а можно сделать и отдельные для корня сайта, каталога themes, и каталога modules. Пример файла unzip.sh:
Должен обратить Ваше внимание на то, что если каталог, или файл имеет имя MyAnnonces.zip, то и вводите его имя с правильными Заглавными и строчными буквами, т.к для xNIX систем имена MyAnnonces.zip и myannonces.zip - совершенно разные. Это вам не ВИНДА - да!
Закидываем получившийся файл в корневой каталог своего ВЭБ-сервера.
Настала пора SSH
Запускаем PuTTY и получаем доступ к серверу через интерфейс удаленной консоли (как настроить SSH-клиента я расскажу как нибудь в следующий раз - там все просто)
По умолчанию мы попадаем в область перед каталогом ВЭБ-сервера (public_html) Иногда на сервере присутсвует алиас данного каталога в виде каталога WWW.
Для того, что-бы перейти в каталог public_html (WWW), набираем до боли знакомую по ДОС команду: cd www, и попадаем в этот каталог
Набрав команду dir получим на экране содержимое данного каталога
рис.3
Теперь наступила пора поработать с архивами. - набираем в строке: sh unzip.sh На экран начинает выводится последовательность выполняемых операций. После завершения выполнения пакетного файла, скролинг экрана прекращается и вы возвращаетесь в командную строку. - Все разархивированные файлы и каталоги по умолчанию имеют права - каталоги 755, файлы 644 Естественно, что такой вариант нам неподходит.
Здесь можно пойти двумя путями: - Сделать установку портала, через http://ваш_сайт/_install/install.php, предварительно поменяв права на на файл mainfile.php на 666, и выполнив после установки, определенный программой файл chmod.sh - А можно сразу выполнить файл chmod.sh, или подготовив его заранее, или исполнив скрипт, который сам определит, чему - какие права устанавливать. Ссылка на модифицированный скрипт. Команда очень проста: sh exoops.sh
Устанавливаем базу MySQL
Как я уже сказал ранее, мы можем далее пойти двумя путями - установить портал заново, или :
Идем в Cpanel, или MyphpAdmin и создаем администратора (пользователя) базы MySQL и саму пустую базу.
Присваиваем этого пользователя данной базе
Копируем в MyphpAdmin, в созданную базу, полученный на локальном компьютере дамп базу MySQL
Переходим в каталог ВЭБ-сервера и меняем установки в файле mainfile.php:
// Физический путь к основной директории E-Xoops БЕЗ зарывающего слеша. ( При инсталяции в windows не забудьте указать c:/myfolder )
// Имя пользователя для базы данных на вашем хостинге. (Если установка на локальном сервере то в большинстве случаев root)
$xoopsConfig['dbuname'] = 'root';
// Пароль к вашей базе данных на сервере.
$xoopsConfig['dbpass'] = 'password';
// Имя базы данных на сервере. Программа устновки попробует создать свою базу данных если у вас нет информации
$xoopsConfig['dbname'] = 'exoops';
То, что необходимо поменят - выделено жирным шрифтом.
ЗАПУСКАЕМ ПОРТАЛ
На данный момент основная установка закончена. Осталось сделать только одну вещь - обновить "установленные" с помощью дампа MySQL модули. Для этого входим в панель администрирования портала - модули