Перенос сайта с локального компьютера на хостинг

5747

Как залить сайт на хостинг

.

Пособие от чайника для чайников.

После того,как вы собрали сайт на денвере на своём локальном компьютере, протестировали его, убедились, что всё работает нормально - короче, всё вас устраивает - нужно перенести его на хостинг.
Помните, что лучше больше работы проделать на локалке - это и быстрее, и удобнее, чем на работающем сайте.


Для  версии 1.5 и более ранних :

1.Обязательно свяжитесь с Вашим хостером, и выясните конфигурацию сервера.
Должно быть обязательно:
apache+mod_rewrite
php 5.1.0 с расширениями GD, iconv, mbstrings.
mysql 5
Если что либо из этого списка не установлено, поросите установить. Как правило, хостеры легко делают это.
Если отказываются - меняйте хостинг, он не соответствует требованиям.

2. Создаёте базу данных на хостинге, с паролем, как положено. На Денвере, возможно,  Вы делали без пароля.
  (На хостинге - В разделе "Управление базами данных", в phpMyAdmin - программе управления базами данных.       Интерфейс управления БД на вашем хостинге может несколько отличаться).

3. Создание резервной копии БД
  
   Первый вариант:
   В админке созданного сайта, на главной странице, кнопка справа - "Настройки":
   Проверьте ещё раз БД и деревья - ошибок не должно быть, всё зелёным должно гореть - ОК
   Здесь же: Делаете резервную копию БД
   Настройки - резервные копии БД - Сохранить копию базы - /backups/27-05-2009.sql
   Сохраняете.
  
   Второй вариант:          
   В phpMyAdmin открываете нужную БД и делаете экспорт в файл, например, 27-05-2009.sql .
   в названии файла допускаются символы - маленькие латинские буквы, тире, цифры.
   Сохраните его у себя на компьютере.

Для новичков проще резервную копию базы данных сделать из админ-панели сайта (первый вариант).

4.Всё , что в папке WWW, заливаете по ftp в папку Вашего сайта на сервер.
  
4-а Альтернативная заливка на хостинг
    Заливка архивом:
    Если на хостинге,как например, на Джино, можно распаковывать архивы, то создаёте архив содержимого папки WWW
   (именно содержимого папки, WWW в архиве не должно быть)
   Этот архив ( одним  файлом) заливаете по ftp в папку Вашего сайта на сервер, а затем разархивируйте его там.
   Этот способ более быстрый, и как мне лично кажется , намного более удобный.
   Есть противники такого метода заливки, предпочитают заливать по традиции в распакованном виде по ftp

5. Установите права (chmod) 777 на
папки
        /backups
        /cache
/images
/includes
/upload
/templates/_default_/modules/modules_c
/templates/_default_/components/components_c
        /templates/_default_/plugins/plugins_c
и все вложенные в них!
  
6. Зайдите в управление базами данных (на хостинге - В разделе "Управление базами данных", в phpMyAdmin - программу управления базами данных). Выберите вновь созданную вами БД, и сделайте импорт из сохранённого На Вашем компьютере файла дампа базы данных.
Обязательно перед импортом смените кодировку ( по умолчанию она обычно UTF-8) - установите  кодировку cp1251 (Кодировка Windows). Если этого не сделаете, на сайте у Вас вместо символов будут вопросики типа: ???? ?????? ?????????

Совет на будущее:
Если вы в дальнейшем будете переустанавливать базу данных, помните, что импорт из файла резервной копии нужно
делать только в ЧИСТУЮ базу, т.е. чтобы там не было никаких таблиц. Иначе сайт работать не будет!
Для этого вы удаляете базу, которую вы хотите переустановить (предварительно записав все данные для этой базы: имя пользователя, имя базы, пароль, имя сервера БД) и вновь создаёте базу с ТЕМИ ЖЕ данными - именем, паролем, и т.д.  И только затем делаете импорт в эту БД из файла.


7.В папке на сервере, где находится Ваш сайт
  в файле includes/config.inc.php меняете параметры доступа к базе на новые (для хостинга)

<?php
if(!defined(’VALID_CMS’)) { die(’ACCESS DENIED’); }
$_CFG = array();
$_CFG[’sitename’] = ’Мой сайт’;
$_CFG[’hometitle’]
= ’’;
$_CFG[’siteoff’] = 0;
$_CFG[’debug’] = 0;
$_CFG[’offtext’] = ’Производится обновление сайта’;
$_CFG[’keywords’] = ’InstantCMS,
система управления сайтом, бесплатная CMS, движок сайта, CMS’;
$_CFG[’metadesc’] = ’InstantCMS - бесплатная система управления сайтом
с социальными функциями’;
$_CFG[’sitemail’] = ’’;
$_CFG[’stats’] = 0;
$_CFG[’template’] = ’winter’;
$_CFG[’splash’] = 0;
$_CFG[’slight’]
= 1;
$_CFG[’db_host’] = ’localhost’;
$_CFG[’db_base’] = ’имя_базы’;
$_CFG[’db_user’] = ’имя_пользователя’;
$_CFG[’db_pass’] = ’пароль_базы’;
$_CFG[’page_fx’] = 1;
$_CFG[’show_pw’] = 1;
$_CFG[’index_pw’] = 0;
$_CFG[’fastcfg’]
= 1;
$_CFG[’mailer’] = ’mail’;
$_CFG[’sendmail’] = ’/usr/sbin/sendmail’;
$_CFG[’smtpauth’] = 0;
$_CFG[’smtpuser’]
= ’’;
$_CFG[’smtppass’] = ’’;
$_CFG[’smtphost’] = ’localhost’;
?>

выделенное жирным нужно заменить на ваши значения.
меняете на Ваши значения:
                          имя_базы - имя базы данных
                          пароль_базы  - пароль базы данных
                          имя_пользователя  - пользователь БД
                          localhost - имя сервера,  где находится БД  (может так и остаться localhost, уточните по инструкции на своём хостинге)

Всё, должно заработать
Интернет-магазин. Новые возможности
Комментарии (12)
lokanaft 29 мая 2009 в 12:53 0
Спасибо! Только я не нашел как на Джино архивы распаковывать. :)
СергейР 29 мая 2009 в 13:13 +2
Сначала с помощью ftp-клиента (я использую  Filezilla - замечательный бесплатный ftp-менеджер) нужно закачать архив в папку, где будет сайт. Можно воспользоваться для закачки Джиновским файловым менеджером, но с помощью Filezilla удобнее.  
В контрольной панели Джино запускаешь файловый менеджер.
Находишь архивный файл, который ты закачал. Выделяешь его.
Жмёшь кнопку распаковать. Идёт процесс распаковки- файлы распаковались в буфер обмена.
Затем жмёшь кнопку "Вставить" . Все распакованные файлы вставляются в ту же директорию, где у тебя лежит архив.
mihalich 29 мая 2009 в 14:19 0
По поводу Бекапа Базы, когда база очень больших размеров и бывают трудности при Экспорте или Импорте то есть вот такая фича http://sypex.net/products/dumper/downloads/
lokanaft 29 мая 2009 в 14:24 0
Спасибо.
У меня вопрос(конечно не туда) что за # после ника?
0 11 сентября 2009 в 06:04 0
Простите возник ламерский вопрос!
Тут сказано:
5. Установите права (chmod) 777 на
папки
/backups, /cache, /images, /includes, /upload
/templates/_default_/modules/modules_c
/templates/_default_/components/components_c
/templates/_default_/plugins/plugins_c
и все вложенные в них!
"Все вложенное в них имеется ввиду все содержимое? Т.е только вложенные папки или паки и файлы и картинки?"
Эдуард Исламов 11 сентября 2009 в 06:24 0
Логично предположить, что права нужны только на каталоги. А вообще, вопрос с правами давно нужно официально упорядочить. А то в инсталляторе одно, здесь немного по-другому, ну а в разделе "Как установить" совершенно иначе...
СергейР 11 сентября 2009 в 06:24 0
Имеется в виду - все вложенные папки и файлы. Картинки - это тоже файлы
При помощи FTP-менеджера, к примеру,Filezilla, устанавливаются права папки
0 11 сентября 2009 в 06:58 0
Народ подскажите как правильно? Вы сами как делали у себя на сайте?
1. Права 777 или 755?
2. Права ставить только на указанные каталоги или на все соедержимое ИХ, включая папки, картинки, другие файлы ?
Просто получается путаница - везде по разному написано, поэтому приходися оффтопиться
Эдуард Исламов 11 сентября 2009 в 08:01 0
Я ставил 777 на папки, указанные здесь, включая все подкаталоги и файлы - все в норме. (Это если у хостера "корректная нумерация прав" - на одном хосте у меня была трабла с правами - каталаги с 777 там даже не читались, а 755 позволяли делать все, что угодно)
0 11 сентября 2009 в 09:29 0
Это не "корректная маршрутизация прав", а PHP там через CGI, поэтому на таких хостингах права на папки выставляют 755, а на файлы 644.
Если же у хостера PHP как модуль апача, то выставляете права как указано в инструкции.
seyfer 16 августа 2011 в 06:48 0
Версия 1.8.

При переносе на сайт выдает:

CREATE TABLE `cms_cron_jobs` (
`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`job_name` varchar( 50 ) NOT NULL ,
`job_interval` smallint( 6 ) DEFAULT '1' NOT NULL ,
`job_run_date` timestamp DEFAULT 'CURRENT_TIMESTAMP' NOT NULL ,

Ответ MySQL: Документация
#1067 - Invalid default value for 'job_run_date'

Как исправить?
seyfer 16 августа 2011 в 07:10 0
Тут нашел решение...
http://instantcms.ru/forum/thread6439.html