Википедия:Как сделать копию Википедии
Материал из Википедии — свободной энциклопедии
Содержание |
[править] Введение
Данная статья описывает загрузку базы данных (дампа) статей Википедии в уже установленную MediaWiki. То есть предполагается, что вы уже установили программное обеспечение MediaWiki на свой компьютер в соответствии с руководством Установка MediaWiki.
Данное руководство справедливо для компьютера с операционной системой Windows. Руководство для компьютера с операционной системой Linux размещено здесь.
Прежде чем приступить к действиям, следует учесть, что после установки сервера приложений STPServer 1.0 или XAMPP на компьютер, подключённый к общедоступной сети, любой человек может получить административный доступ к базе данных через phpmyadmin! Чтобы этого избежать, установите firewall (брандмауэр) и закройте от внешнего доступа порты 80, 443 и 3306 перед началом установки. При использовании Windows XP SP2 можно просто включить встроенный брандмауэр — по умолчанию он запрещает любые соединения на любые порты.
При написании обновлённой инструкции все шаги были проверены на машине с процессором Athlon XP 2600+ и установленной системой Windows 2003.
Если в процессе загрузки базы данных статей возникнут какие-то проблемы, обратитесь к разделу "Возможные проблемы и способы их решения" данного руководства.
[править] Настройка базы данных Википедии
На http://download.wikimedia.org/backup-index.html скачиваем дамп Русской Википедии. Так как в списке будет много различных дампов, то можно с помощью поиска (Ctrl+F) найти русские дампы, которые начинаются на ru. Например, можно с помощью поиска найти дамп ruwiki. (Последняя доступная версия 2009-01-24 10:37:27).
Щелкаем на ruwiki. Открывается список успешных дампов (Dump complete). Выбираем один из дампов, например pages-meta-current.xml.bz2 или pages-articles.xml.bz2.
Обратите внимание на размер файлов!
Например, файл ruwiki-20080614-pages-meta-current.xml.bz2 имеет размер 449 Мб, а при его разархивации создается файл размером 2.9 Гб (Файл ruwiki-20081019-pages-meta-current.xml.bz2 размер 152 КБ при разархивации создается файл размером 808 КБ).
Загружаем выбранный архив.
Далее описывается последовательность действий для каждого из серверов приложений STPServer 1.0 и XAMPP.
[править] Для сервера STPServer
Распакуйте архив, например, в папку C:\TEMP. Обратите внимание, у вас, наверно, будет другая дата в имени файла.
Перейдите в каталог T:\usr\local\mysql5\bin и выполните команду:
mysqld-max-nt.exe --user=root --database=wikidb < T:\home\virtual\prime\maintenance\wikipedia-interwiki.sql
Это необходимо для корректного отображения ссылок на другие языковые разделы.
Перейдите в каталог T:\home\virtual\prime\maintenance и выполните команду:
T:\usr\local\Php\php.exe importDump.php < C:\TEMP\ruwiki-20060202-pages-meta-current.xml
Это собственно сами страницы. Обратите внимание, у вас, наверно, будет другая дата в имени файла.
После того, как база импортирована, для комфортной работы лучше создать индекс для поиска и список соответствия страниц своим категориям.
Сначала нужно отредактировать один файл, необходимый для запуска скрипта rebuildall.php.
Перейдите в каталог T:\home\virtual\prime, переименуйте файл AdminSettings.sample в AdminSettings.php и в нем замените строки:
$wgDBadminuser = 'wikiadmin';
$wgDBadminpassword = 'adminpass';
на
$wgDBadminuser = 'root';
$wgDBadminpassword = '';
Теперь перейдите в каталог T:\home\virtual\prime\maintenance и запустите полную переиндексацию:
T:\usr\local\Php\php.exe rebuildall.php
По окончании процесса переиндексации идём на http://prime и наслаждаемся собственной Википедией.
[править] Для сервера XAMPP
Распакуйте архив, например, в папку C:\Program files\xampp\. Обратите внимание, у вас, наверно, будет другая дата в имени файла.
Перейдите в каталог C:\Program files\xampp\mysql\bin и выполните команду:
mysql --user=root --database=wikidb < "C:\Program files\xampp\htdocs\wikipedia\maintenance\wikipedia-interwiki.sql"
Это необходимо для корректного отображения ссылок на другие языковые разделы.
Перейдите в каталог C:\Program files\xampp\htdocs\wikipedia\maintenance и выполните команду:
"C:\Program files\xampp\php\php.exe" importDump.php < "C:\Program files\xampp\ruwiki-20060202-pages-meta-current.xml"
Это собственно сами страницы. Обратите внимание, у вас, наверно, будет другая дата в имени файла.
После того, как база импортирована, для комфортной работы лучше создать индекс для поиска и список соответствия страниц своим категориям.
Сначала нужно отредактировать один файл, необходимый для запуска скрипта rebuildall.php. Перейдите в каталог C:\Program files\xampp\htdocs\wikipedia\, переименуйте файл AdminSettings.sample в AdminSettings.php и в нем замените строки:
$wgDBadminuser = 'wikiadmin';
$wgDBadminpassword = 'adminpass';
на
$wgDBadminuser = 'root';
$wgDBadminpassword = '';
Теперь перейдем в каталог C:\Program files\xampp\htdocs\wikipedia\maintenance и запускаем полную переиндексацию:
"C:\Program files\xampp\php\php.exe" rebuildall.php
и идем пить кофе … на компьютере с процессором Celeron 2600 выполнение этого шага заняло около двух часов.
По окончании процесса переиндексации идём на свою собственную Википедию (http://localhost/wikipedia/) и наслаждаемся.
[править] Обновление базы данных
Скачав новый, более свежий дамп базы проделываем шаги из пункта Настройка базы данных за исключением выполнения скрипта wikipedia-interwiki.sql
[править] Заключение
Другое программное обеспечение, используемое для установки:
- WinRAR (платный) или 7-Zip (свободный) для распаковки архива bz2
- Файловый менеджер (например, стандартный "проводник" или Total Commander)
[править] Дополнение: возможные проблемы и способы их решения
На шаге индексации лично у меня (FDSC) в самом начале происходили ошибки. Далее я привожу руководство, как с ними справиться. Если кто-то знает, как их избежать более корректно — напишите. Я сам не знаком с MySQL и мог что-то неправильно сделать.
[править] Сould not open input file: inportdump.php
Появилось при выполнении команды
"C:\Program files\xampp\php\php.exe" importDump.php < "C:\Program files\xampp\ruwiki-20060202-pages-meta-current.xml"
Скажите как решить данную проблему
[править] Сообщение Unknown variable 'database=wikidb'
Может появиться при выполнении команды:
mysql --user=root --database=wikidb < T:\home\virtual\prime\maintenance\wikipedia-interwiki.sql
Этот SQL-запрос можно выполнить с помощью утилиты администрирования phpmyadmin.
Запустите панель и выберите базу данных wikidb. Далее нужно выбрать закладку SQL, нажать на кнопку Обзор и найти файл wikipedia-interwiki.sql
После этого нажмите на нижнюю кнопку Пошел. Появится сообщение, что SQL-запрос был удачно выполнен.
[править] Сообщение MySQL functions missing, have you compiled PHP with the --with-mysql option?
Может появиться при выполнении команды импорта базы:
T:\usr\local\Php\php.exe importDump.php < C:\TEMP\ruwiki-20060202-pages-meta-current.xml
В этом случае необходимо последовательно выполнить следующие действия, до устранения ошибки.
Шаг 1. Запустить предыдущую команду с указание пути к файлу php.ini (опция -c).
Например:
T:\usr\local\Php\php.exe -c T:\usr\local\Apache\bin\php.ini importDump.php < C:\TEMP\ruwiki-20060202-pages-meta-current.xml
Шаг 2. Проверьте с помощью следующей команды список загружаемых модулей:
T:\usr\local\Php\php -m
В списке должен быть модуль mysql. Если этого модуля в списке нет, то базу импортировать не удасться.
Шаг 3. Проверьте, что в файле php.ini разрешен запуск модуля php_mysql.dll:
extension=php_mysql.dll
Впереди этой строки НЕ ДОЛЖНО быть знака ; (точка с запятой).
Шаг 4. Проверьте содержимое папки, в которой хранятся динамически загружаемые расширения PHP (PECL). Размещение этой папки определено в файле php.ini:
extension_dir = "/usr/local/PHP/PECL"
Данная папка должна содержать файл php_mysql.dll
Шаг 5. Скопируйте файлы php_mysql.dll и libmysql.dll в папку C:\WINDOWS\SYSTEM32
Скопируйте файл php.ini в папку C:\WINDOWS.
Попробуйте еще раз выполнить команду импорта базы.
Если после описанных шагов так и не удалось импортировать базу, обратитесь к специалистам.
[править] Отказ в соединении с базой данных
Если у вас выводится сообщение о отказе в соединении с базой данных.
1. Проверьте, запущен ли у Вас MySQL. Для этого запустите из директории, куда вы установили xampp файл ....\xampp\xampp-control.exe (ярлык должен быть на рабочем столе, если нет - найдите сам файл). Две верхние кнопки должны быть с надписью Stop, напротив слов Apache и MySql должны быть слова Running. Если это не так, запустите приложения кнопками Start.
2. При настройке Wiki в полях Database name, DB username и DB password должны быть установлены такие же значения, как и при создании нового пользователя и базы данных при настройке MySQL. Database name соответствует имени создаваемой в MySQL базе, Имя пользователя — DB user name, Пароль — DB password. Если у Вас не так — самое лёгкое: сотрите базу данных (в администраторе MySQL) и каталог с данными wikipedia (...\xampp\htdocs\wikipedia) и проделайте соответствующие шаги заново.
Если это не помогает (у меня не помогло, в чём дело — не знаю), сделайте следующее (это помогло):
1. Для ВСЕХ пользователей MySQL в phpmyadmin сотрите пароли Это делается так: привилегии -> на экране таблица пользователей. В ней для любого пользователя жмём значок справа (редактировать привилегии). Далее находим заголовок «Изменить пароль». Отмечаем «без пароля» и нажимаем кнопку с надписью «пошёл». Далее повторяем процедуру для всех оставшихся пользователей.
Внимание! Не запускайте сервера Apache и MySQL без паролей при подключении к internet.
2. В файле ...\xampp\htdocs\wikipedia\LocalSettings.php найдите строки вида
$wgDBserver = "localhost"; $wgDBname = "wikidb"; $wgDBuser = "wikiuser"; $wgDBpassword = "password"; $wgDBprefix = "";
Напишите $wgDBpassword = "", тем самым обнулив пароль. Так как Вы работаете на ПК без подключения к internet, а не сервере, пароль всё равно не нужен.
[править] Превышение max_allowed_packet
Может выводится сообщение о превышении размера запроса над величиной переменной max_allowed_packet.
1. Остановите сервер MySQL. Аналогично первому пункту, используем С:\Program files\xampp\xampp-control.exe, нажимаем вторую сверху кнопку с надписью «Stop» (напротив слов MySQL: Running). Если кнопка имеет надпись «Start», ничего делать не надо: сервер не запущен.
2. В командной строке переходим в каталог C:\Program files\xampp\mysql\bin.
3. Набираем команду:
mysqld.exe --max_allowed_packet=134217728
Нажимаем Enter, далее, окно консоли можно закрыть. Число справа — максимальный размер пакета. Вы можете ввести и другое число (в примере — 128 Мб). По умолчанию размер пакета 1 Мб.
[править] Неправильная заглавная страница
В отличие от всех других страниц, Заглавная страница содержит страницу по умолчанию, а не ожидаемую копию из Википедии. Это связано с тем, что страница в архиве старше страницы вновь установленной Википедии. Старую страницу можно найти в истории правок. Заодно можно поупражняться в редактировании и восстановить страницу.
Заглавной страницей может быть назначена любая вновь созданная или уже имеющаяся страница с вашего ВИКИсайта. Достаточно указать ссылку на странице /index.php/MediaWiki:Mainpage
[править] Примечания
[править] См. также
- Как сделать копию Википедии (рус.). Virtual Laboratory Wiki. — правообладатель альтернативной версии статьи. Проверено 7 июня 2009.
| Это незавершённая статья о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |

