|
Инструменты |
Википедия:Как сделать копию Википедии
[править] ВведениеДанная статья описывает загрузку базы данных (дампа) статей Википедии в уже установленную 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. (Последняя доступная версия 2008-06-24 20:13:13). Щелкаем на ruwiki. Открывается список успешных дампов (Dump complete). Выбираем один из дампов, например pages-meta-current.xml.bz2 или pages-articles.xml.bz2. Обратите внимание на размер файлов !!! Например, файл ruwiki-20080614-pages-meta-current.xml.bz2 имеет размер 449 Мб, а при его разархивации создается файл размером 2.9 Гб. Загружаем выбранный архив. Далее описывается последовательность действий для каждого из серверов приложений 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 [править] ЗаключениеДругое программное обеспечение, используемое для установки:
[править] Дополнение: возможные проблемы и способы их решенияНа шаге индексации лично у меня (FDSC) в самом начале происходили ошибки. Далее я привожу руководство, как с ними справиться. Если кто-то знает, как их избежать более корректно — напишите. Я сам не знаком с MySQL и мог что-то неправильно сделать. [править] Сообщение 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 = "http://ru.wikipedia.org/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 = "";
[править] Превышение 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 [править] Примечания
|