Внимание! Статья посвящена гордым пользователям платформы Win32.
Листая форум Drupal.ru заметил частые вопросы о том, как перенести свой сайт с локального компьютера на хостин. Каюсь, я тоже этого не знал. Да и много чего так бы и не узнал вообще, если бы не пользовался старым, проверенным методом научного тыка.
Итак, юзер, ты созрел для своего сайта на Drupal и уже готов купить себе профессиональный хостинг с терабайтами дискового пространства и неограниченным числом баз MySql. Чтож. Решение твое благое и правильное. И наверняка оно воплотиться в жизнь, т. к. ты не просто юзер, а Юзер с большой буквы с толстым
кошельком, готовый разбирать Drupal по косточкам за деньги, уходящие прожорливому хостеру и бесконечно извинятьсь перед аудиторией сайта за постоянно падающий ресурс из-за бесчисленных экспериментов. Но
позволю себе рассказать о пути не столь крутом, но проверенном и верном. Итак, приступим.
Прежде всего качаем джентльменский набор веб-мастера, в народе зовущийся Денвером. http://www.denwer.ru/dis/ Установка очень проста, но с перезагрузкой компа, после которой у тебя в системе появляется виртуальный диск. Это и есть твой хостинг. В директории home находятся наши домены. Не удаляй ничего из этого каталога, да и вообще с виртуального диска.
Теперь займемся нашим доменом. Предположим ты уже замастырил себе супер-бупер невозможный домен – superuser.ru. Да. Классный домен. Мне бы такой, но не об этом.
Создавай в директории home, своего виртуального диска, папочку с именем своего домена: superuser.ru или www.superuser.ru . А в ней папочку с именем www. Туда и распаковывай архив Drupal. Только нужно учесть, что в каталоге www, который ты создал в директории superuser.ru, должен находиться индексный файл сайта. В нашем случае это index.php из архива Drupal.
Теперь нужно поработать ручками в Блокноте. Открой свой виртуальный диск и перейди в каталог usr\local\php. Открой файл php.ini в текстовом редакторе и найди строку «; Обработка ошибок и журнализация ;» в секции PHP. Меняем строку на что-то типа error_reporting =E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR. Иначе будут постоянные сообщения об ошибках скрипта.
Отлично. Сайт лежит на твоем серваке (пусть даже и виртуальном), все поправлено. Пришло время заняться базой данных.
Закрой проводник, отключись от сети и запусти браузер. Под словом браузер я подразумеваю Opera или Mozilla, но если ты упрямо предан Ослу тогда от сети отключаться не стоит. На рабочем столе, после установки Денвера, есть три ярлыка: Start Servers, Stop Servers и Restart Servers. Думаю, нет смысла объяснять, что означают имена этих ярлыков? Правильно. Жмем Start Servers. Когда промелькнут, и потухнут два консольных окошка запускай браузер и набери в адресной строке http://localhost.
Если ты видишь перед собой серую страницу с заголовком «Ура! Заработало!» значит все прошло нормально и ты можешь продолжать.
Загружай сразу phpMyAdmin http://localhost/Tools/phpMyAdmin и создавай новую базу данных. При её создании стоит учесть кодировку базы. Она должна быть только в UTF-8, будущее имя базы данных, которое будет у тебя на хостинге зависит от того какие разрешения у твоего хостера. Если ограничений нет, то имя может быть любое. Если скажем хостер дает создавать имена базы только по определенному принципу, то лучше осведомиться у него, что ты будешь иметь на своем хосте, а лучше всего уже иметь базу на хосте. Конечно это не принципиально, но избавит от лишнего редактирования файла sites/default/settings.php, самого друпала. Вводи имя базы, выбирай кодировку и жми «Создать».
База создана. Теперь определим имя пользователя и пароль к базе. Они должны быть одинаковы для доступа к базе данных на хосте. Для этого открываем phpMyAdmin Денвера и через localhost->Привелегии-> Добавить нового пользователя. Создаешь дубликат своей учетной записи на хостинге. Например: Имя: superuser Пароль: 123456. Естественно с правами root.
Ну вот почти все. Набирай в строке браузера имя домена http://superuser и инсталлируй Drupal. Единственное, что нужно отметить это при создании базы данных инсталлятором Drupal укажи того пользователя базы данных, которого ты создал в phpMyAdmin.
Инсталлируй и извращайся, Юзер. Позже расскажу как перенести твое творение на хостинг.
Комментарии
Urfin название проверьте
Ну бывает. Спасибо.
А не раскажете как на Linux с установленным LAMP разместить сайт?
Неа. Обещал эту тайну унести в могилу
Статья задумывалась для описания процедуры переноса сайта с localhost в сеть. Но подумал и решил разбить на части.
И зря вы смеетесь, юзер Подавляющее большинство народа, приходящего сюда, совершенно ничего не знают о сайтостроении. Достаточно полистать форум. Вопросов про localhost достаточное количество.
Перевод некоторых модулей
не дождался продолжения статьи о переводе своего творения на хост. сделал на денвере, все ОК. начал пернос на хост.
сделал в pphMyAdmin на локалхосте архив базы .zip (нажимал Экспорт) , на хосте аналогично - нажал импорт. что-то качало, потом выдало
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /usr/local/cpanel/base/3rdparty/phpMyAdmin/libraries/string_mb.lib.php on line 60
Ошибка
Вероятно, SQL-запрос содержит ошибку. При наличии таковой, ниже будет выведена ошибка MySQL-сервера, облегчающая диагностику проблемы.
STR: '
SQL:
INSERT INTO `boxes` VALUES (4, '', '��������', 3);
SQL-запрос:
INSERT INTO `boxes` VALUES (4, '
', '��������', 3);Ответ MySQL:
' for key 2#1062 - Duplicate entry '
и что это такое может быть?
мля, уже перебробовал всякие варианты импорт-экспорт-кодировка. не рубаюсь в базах. help!
толи с кодировкой при заливке что-то, толи просто надо эту часть поправить в дампе
Однозначно с кодировкой. Внимательнее с экспортом. И не править полученный файл стандартными средствами WinДоFF.
Проверь версии phpMyAdmin у себя и у хостера.
с разрешения автора
я хотел бы внести некоторы поправки в статью
если сайт ложить в паку home то для того что бы он открылся в браузере
надо внести изменения в файл hosts
но можно этого и не делать а создавать папку в home\localhost
и ходить на него из http://localhost/имя_сайта
тогда не надо от сети отключаться
прошу прощения тут описка вышла
папку сайта надо создавать в home\localhost\www\имя_сайта
и тогда в него можно будет ходить
http://localhost/имя_сайта
Ребята. Работает все замечательно. Папка localhost хранит в себе скрипты самого Денвера. Можно и туда, но смысл? Тогда нарушается путь к сайту. Придется править ручками конфиги сайта после опубликования в сети. От сети я не отключаюсь. Но только в Опере или Рыжем лисе. Осел тупо лезет в сеть.
Статейка весьма помогла.. Респект автору
Перевод некоторых модулей
Спасибо за отзыв. Значит продолжим тему.
У меня получилось!!)) Мне как раз не хватало этой части! Спасибо!
Всю ночь боролся с установками и настройками... Пасиба за подробный мануал... Не у всех вот руки растут из плечей
Такс... а если хостер сам выдаёт имя базы... и хост базы... не localhost а допустим mysql2.000webhost.com
Мне чтобы сайт потом с локального хостинга (с компа) на вэб-хостинг.... нужно при создании базы указывать хостинг базы данных как mysql2.000webhost.com....или всётаки как localhost ?????
У меня тоже хостер выдает готовое имя. В начале получи имя базы, а потом создай аналогичное на у себя localhost. Но имя базы не актуально. Его легко изменить в setting.php.
При установке возникает ошибка, как ее можно исправить?
Requirements problem
The following error must be resolved before you can continue the installation process:
The Drupal installer requires that you create a settings file as part of the installation process.
1. Copy the ./sites/default/default.settings.php file to ./sites/default/settings.php.
2. Change file permissions so that it is writable by the web server. If you are unsure how to grant file permissions, please consult the on-line handbook.
More details about installing Drupal are available in INSTALL.txt.
The following installation warning should be carefully reviewed:
Operations on Unicode strings are emulated on a best-effort basis. Install the PHP mbstring extension for improved Unicode support. (Currently using Unicode library Standard PHP)
Please check the error messages and try again.
Ругается так на этапе Set up database:
Failed to connect to your MySQL database server. MySQL reports the following message: Access denied for user '(мое имя пользователя базы данных)'@'localhost' (using password: NO).
Are you sure you have the correct username and password?
Are you sure that you have typed the correct database hostname?
Are you sure that the database server is running?
For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.
Где это поправить?