Manual:Moving a wiki/hi

यह पृष्ठ बताता है कि कैसे एक विकि को दूसरे सर्वर पर ले जाना है। किसी भिन्न वेब सर्वर या डोमेन (या दोनों) पर जाते समय अक्सर इसकी आवश्यकता होती है।

इसे करने का सबसे सुरक्षित तरीका दोनों विकियों पर समान मीडियाविकि संस्करण का उपयोग करना है। हालांकि, नए सर्वर पर नए मीडियाविकि संस्करण को स्थापित करना और सीधे नए सर्वर पर अपग्रेड करना संभव है। वास्तव में, यह आपके लिए एकमात्र विकल्प हो सकता है यदि आप अपने विकी को एक नए संस्करण में अपग्रेड करना चाहते हैं जिसमें आपके पुराने सर्वर (जैसे PHP संस्करण) पर उपलब्ध आवश्यकताओं की तुलना में उच्च आवश्यकताएं हैं।

चरणों को मूल रूप से अन्य पृष्ठों में समझाया गया है:


 * 1) अपने विकी का बैकअप बनाएं।
 * 2) पुराने सर्वर से बैकअप को नए में ट्रांसफर करें।
 * 3) नए सर्वर पर बैकअप पुनर्स्थापित करें।

नए सर्वर का उन्नयन
यदि आप नए सर्वर पर नए मीडियाविकि संस्करण में अपग्रेड कर रहे हैं, पुराने MediaWiki निर्देशिका और एक्सटेंशन को नए सर्वर पर कॉपी करने के बजाय, आपको अपग्रेडिंग प्रक्रिया का पालन करना चाहिए। आप नए सर्वर पर एक नया मीडियाविकि संस्करण डाउनलोड करेंगे और आपके द्वारा उपयोग किए जाने वाले एक्सटेंशन के नए संस्करण, नए मीडियाविकि संस्करण से मेल खाते हुए। अपडेट स्क्रिप्ट चलाएँ याद रखें।

नोट्स

 * यदि URL बदल गया है (उदाहरण के लिए, एक नया डोमेन), तो इसके सभी संदर्भ LocalSettings.php में अपडेट करना सुनिश्चित करें। यदि VisualEditor का उपयोग कर रहे हैं, तो आपको Parsoid कॉन्फ़िगरेशन को भी अपडेट करना होगा।
 * कैश्ड पृष्ठों पर लिंक अभी भी पुराने डोमेन की ओर इशारा कर सकते हैं। उस समय से पहले संचित पृष्ठों को त्यागने के लिए आपको $wgCacheEpoch को टक्कर देनी पड़ सकती है।
 * जांचें कि अपलोड का उपयोग करते समय  निर्देशिका में सही अनुमतियां सेट हैं; यह वेब सर्वर द्वारा लिखने योग्य होना चाहिए।
 * Make sure any extension directories have the correct permissions as well (e.g., if linux: )
 * When manually transferring a wiki from a windows platform to a Linux platform the best method is to:
 * 1) Manually install MediaWiki on the Linux platform from a tar file as outlined here: Manual Install of Wiki (i.e., try not to use install from an automated package)
 * 2) Replace the newly installed MediaWiki folder (e.g., /var/www/mediawiki...) on your Linux machine with the MediaWiki base folder from your windows machine
 * 3) Update your Linux machine's MySQL Database (e.g. wikidb) with the wiki database from your windows machine (i.e., use the backup and restore features of mysql as outlined above)
 * After importing a wiki database, even if the database can work, some minor problems may arise:
 * 1) You might need to repair Searchindex: In phpMyAdmin, enter "  " for rebuilding the search index. wikidb is your database's name.
 * 2) The collation of some rows may be changed. Cross-check it with the original database.

Test
At this point, try to use the wiki on the new server. Log in as a sysop and a regular user and check that viewing, creating and editing pages and uploading files still works. Fix any problems reported either by PHP or MediaWiki itself.

You can do the entire process to test if the move will work without problems, before actually putting the old wiki in read-only mode. Once you know your wiki in the new server works as expected, you can put your old wiki in read-only mode and perform the move again.

Frequent problems

 * Inaccessible files after the changing the domain

The column md_deps in the module_deps table contains absolute file paths, which are used to locate the images and LESS files that CSS depends on. These paths break when the wiki is, e.g., moved to another folder or another server. After your move, you might see PHP warnings that certain files could not be accessed. In current versions of MediaWiki, this can be solved by running update.php, thus clearing caches.

In versions older than MediaWiki 1.25 (where T37472 is not implemented), update.php does not delete the contents of the module_deps table. For these versions, the workaround is to manually fix wrong entries in the module_deps table:

This can be used to update wrong path segments and to fix the error.

A similar issue can happen when MediaWiki tries to read resource loader messages. In this case the solution is to truncate the according tables: