Вы здесь

Делаем локальную копию этого сайта

Backup                                                  О сколько нам открытий чудных
                                                  Готовят просвещенья дух…
                                                                               A.C. Пушкин
 
 
 
Здравствуйте, это я – Карандаш. Сегодня расскажу Вам маленькую историю о том, как я делал локальную копию этого сайта.
 
В своё время мой очень хороший друг помог мне, когда надо было сэкономить время. Он создал простой и надёжный сайт, самостоятельно запустил и передал все «бразды правления». До этого я никогда не занимался этим. Но теперь у меня появилось время и желание. Нет, скажем честно – осознанная необходимость.
 

Надо быть осторожным – и число «шишек» на моём лбу тому подтверждение :). Поэтому было решено первым делом создать рабочую локальную копию. Правильно: сервер и данные. Многие товарищи мне советовали пользоваться Денвером (от сокр. Д.н.w.р или ДНВР — джентльменский набор Web-разработчика), но я отказался. Ведь, если знаешь, что туда входит – имеет смысл ставить это самому, так как надо, а не так как это хотят другие. А мне потребовались лишь MySQL, Apache, PHP и phpMyAdmin. Клиент FTP не потребовался, т.к. использую бесплатный FAR. Вместо phpMyAdmin можно использовать какой-нибудь другой, удобный для Вас, менеджер БД MySQL, например EMS SQL Manager for MySQL – тоже удобная штука.
 
Поехали! Вот страничка для таких «чайников», как я: http://php-myadmin.ru/learning/instrument-intro.html . Моё почтение автору! Саму инструкцию можно скачать Здесь. Думаю, «разжевать» лучше – не получиться. Плюс, эту инструкцию можно там же и скачать. Как говориться: «нажимай, да дуй» (не моё). Могу только дополнить разделы об установке PHP и phpMyAdmin:
 
  • По установке PHP
Если у Вы устанавливаете PHP версии 5.3 и выше (а это так!), то рекомендую подключить модуль (библиотеку расширения) "php_fileinfo" (ранее, magic_open). Это можно сделать просто найдя и раскомментировав (в php.ini) строку "extension=php_fileinfo.dll". Всё :))
 
Конечно, можно этого не делать. Но, в этом случае вас замучает предупреждение Drupal-а в отчёте о состоянии (Управление=>Отчёты=>Отчёт о состоянии). Т.е., запуская этот отчёт, Вы каждый раз будете лицезреть примерно такое сообщение:
 
File Information Extension Отключено
In order to check whether the uploaded file acutally is of the type its file extension suggests. Web File Manager uses the php fileinfo extension in order to do that.
 
  • По установке phpMyAdmin
Вот, что пишет автор инструкции в разделе установка phpMyAdmin:
«Следующим шагом необходимо создать специального пользователя с именем "pma" и наделить его соответствующими правами, для чего нажмите "Privileges" ("Привилегии"), на открывшейся странице нажмите ссылку "Add a new User" ("Добавить нового пользователя"), в разделе "Login Information" ("Информация учетной записи") заполните поля следующим образом:…»
 
А вот моё предложение:
 
  1. Сначала просто создаём пользователя «pma» (без прав).
  2. Потом открываем окно для ввода SQL-запросов (см. вверху в окне phpMyAdmin значок SQL) и выполняем такой запрос:
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO 'pma'@'localhost';
 
Выполнение этой операции предотвратит возникновение некоторых небольших проблем в правах этого пользователя, когда начнёте заходить под его именем с целью завести других пользователей или настройки их прав. Информацию о сути сего действа можно почерпнуть в разделе «Using authentication modes» файла «Documentation.html», находящегося в директории phpMyAdmin. Как говориться, если всё-таки не получается – читайте инструкции J.
А дальше, как и говорил автор инструкции: «...в разделе "Login Information" ("Информация учетной записи") заполните поля следующим образом:…». И всё будет просто замечательно!
По окончании выполнения инструкции, делаю следующее (Apache не запущен!):
 
По примеру автора инструкции, сделал папочки «C:\Apache\Copy-Mustang.Com» и «C:\Apache\Copy-Mustang.Com\WWW». В файле «vhosts-on.txt» дописал строки:
 
Copy-Mustang.com
 
В файле «C:\Apache2\conf\extra\httpd-vhosts.conf» написал следующее:
 
# Карандаш 06.11.2011 Copy-Mustang.com

<VirtualHost *:80>

   # Папка, в которой будет корень вашего хоста.
   DocumentRoot "C:/apache/Copy-Mustang.Com/www"
   # Домен по которому вы сможете обращаться к виртуальному хосту.
   ServerName Copy-Mustang.com
   # Алиас (добавочное имя) домена.
   ServerAlias www.Copy-Mustang.com
   # Файл, в который будут записываться ошибки.
   ErrorLog "C:/apache/Copy-Mustang.com/error.log"
   # Файл журнала доступа к хосту.
   CustomLog "C:/apache/Copy-Mustang.com/access.log" common
</VirtualHost>
 
 
Что ж, площадка готова. Едем дальше. Ага, теперь мне нужны файлы и MySQL-база этого сайта.
 
Для этого, я зашёл в панель управления на «Мирохосте» в раздел управления домена, и разрешил некому пользователю доступ к ftp только с моего IP-адреса. С помощью FAR-а подключился и скачал файлы в папку «C:\Apache\Copy-Mustang.Com\WWW». После чего, запретил моего пользователя ftp. А что, Вам тоже надо было? Ай-яй-яй, совсем забыл… Снег в башка попал, совсем дурной стал :)! Вот и чудненько… Осталось на «Мирохосте» запустить phpMyAdmin и сделать полную копию базы данных (экспорт). Порядок! Файлы есть, и «экспортный вариант» базы данных – тоже.
 
Уф-ф-ф, теперь можно и дух перевести. Чем бы таким приятным заняться?.. А вот это – вопрос творческий :). Я, например, посмотрел и покрутил настройки phpMyAdmin в файле «phpMyAdmin/config.inc.php».
 
<?php
  $i = 0;
  $i++;
 
/* Параметры подключения к серверу
 *  $cfg['Servers'][$i]['host'] = 'localhost';
 *  $cfg['Servers'][$i]['port'] = '';
*/
  $cfg['Servers'][$i]['host'] = 'localhost';
 
/* Если порт не указан, то используется - 3306 */
  $cfg['Servers'][$i]['port'] = '';
 
/* the improved MySQL client PHP extension */
  $cfg['Servers'][$i]['extension'] = 'mysqli';
 
/* Тип соединения с базой данных (socket или tcp) */
  $cfg['Servers'][$i]['connect_type'] = 'tcp';
 
/*
 * Если в предыдущем случае указан socket, то по-умолчанию,
 * применяется путь к сокету /tmp/mysql.sock. Если у Вас
 * сокет базы данных в другом месте, его следует указать
 * в следущей переменной.
 *
 * $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock'
*/
 
/* Использовать ли для подключения к БД шифрование SSL? */
  $cfg['Servers'][$i]['ssl'] = false;
 
/* Применять ли сжатие? Может быть true (да) или false (нет) */
  $cfg['Servers'][$i]['compress'] = false;
 
/* Метод авторизации ['HTTP'|'http'|'cookie'|'config'|'signon'] */
  $cfg['Servers'][$i]['auth_type'] = 'config';
 
  $cfg['Servers'][$i]['user'] = 'root';
  $cfg['Servers'][$i]['password'] = Пароль пользователя root
 
/* Имя и пароль пользователя для доступа к расширенным таблицам. */
  $cfg['Servers'][$i]['controluser'] = 'pma';
  $cfg['Servers'][$i]['controlpass'] = Пароль пользователя pma
 
  $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
  $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
  $cfg['Servers'][$i]['relation'] = 'pma_relation';
  $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
  $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
  $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
  $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
  $cfg['Servers'][$i]['history'] = 'pma_history';
  $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
  $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
  $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
?>
 
Более подробно об этом написано в файле «phpMyAdmin\Documentation.html», ну а для «лентяев» – стоит покопаться в и-нете, и Вы вполне можете найти, например, такую ссылку: http://daemony.org/freebsd/phpmyadmin-setup.html или какую-другую.
 
Ну что, с файлами сайта как-то примерно понятно, а что делать с данными MySQL? Отгадка должна быть где-то рядом… А давайте-ка откроем папочку «C:\Apache\Copy-Mustang.Com\WWW», да посмотрим... Ух-ты, да тут Drupal. Хлебнув для храбрости чайку, ныряю в папочку «sites\default» и обнаруживаю файл «settings.php». Внимательно смотрю и кое-что нахожу:
$db_url = 'mysqli://user:userpwd@localhost/mustangsoft';
$db_prefix = '';
 
О как всё непросто! Значит, для работы мне требуется на локальном MySQL-сервере всего-то навсего иметь базу данных «MustangSoft» с пользователем «user», у которого пароль «userpwd».
Так вот оно чё, Михалыч! (с)тыренное. Теперь понятно, для чего экспортировались данные.
 
Так и делаю: запускаю Apache (start-webserver.bat), открываю интернет-эксплорер, пишу «localhost/pma». Куда мы попали, думаю объяснять не надо. Делаю базу, «закачиваю» (импортирую) в неё ранее заботливо экспортированные данные. Потом – иду в привилегии. Завожу нужного пользователя с нужным паролем. Даю ему права на базу MustangSoft… И дрожащей рукой вытираю пот…
 
Деревянные непослушные от напряжения пальцы набирают в эсплорере «www.Copy-Mustang.com». «Enter»... Да! Да! Да-а-а-а-а!
 
Жизнь – она такая… Хочешь сделать хорошо – сделай это сам.
 
 
Карандаш.
 
P.S.: инструкцию по установке инструментов Web-разработчика можно скачать Здесь.
 

Комментарии

Thanks for your message. I plan to refer to the points I marked when I am writing my updates as well, so that you can have a better idea of what I am talking about.

Thank you for your kind words! I admire that you can read in Russian. Please forgive me for what the site claimed to be bilingual, but there is no English translation. But, I'll try to do it soon. Good luck!

Инфо на ресурсе интересное, как бы такое необычное что ли. Через денек опять посещу сайт, почитаю новое.

Практически на всех ресурсах замечаю одно – вебмастера редко отвечают по обратной связи. Написал к вам с неделю назад – вы молчите.

"А был ли мальчик"? Я не обнаружил Вашего вопроса. Но, Вы его можете написать здесь, в комментариях. А можете отослать по почте по адресу: info@mustang-soft.com. Ответ гарантирую.
 
Кстати, я не WEB-мастер...

Каждый день проверяю написал ли ты что-нибудь новое. Классный блог. Жду с нетерпением возвращения. Успехов и новой волны.

В ближайшее время немного напишу. Но лишь немного... Времени не хватает...

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer