Manual:Upgrading/pl



Informacje ogólne
Najpierw należy zapoznać się z informacjami zawartymi w pliku UPGRADE wchodzącym w skłąd pakietu instalacyjnego oprogramowania MediaWiki. W szczególności należy:


 * 1) sprawdzić wymagania systemowe
 * 2) przeczytać informacje o wydaniu
 * 3) wykonać kopię zapasową istniejących plików i bazy danych
 * 4) rozpakować pobrane pliki
 * 5) uruchomić skrypt aktualizacyjny w celu sprawdzenia bazy danych
 * 6) uaktualnić rozszerzenia
 * 7) przetestować uaktualnionę instalację

Sprawdzenie wymagań systemowych
Oprogramowanie MediaWiki wymaga:

PHP

 * PHP 5.0.x lub nowszy
 * Zaleca się korzystanie z PHP 5.1.x, 5.2.x lub 5.3.x, oprócz wersji 5.3.1,w której występuje błąd.
 * Uwaga: oprogramowanie PHP 5.0.x działając na niektórych platformach 64-bitowych wykazuje błędy powodujące podstawowe błędy w działaniu oprogramowania MediaWiki. Przy pracy na platformach x86_64 (AND64, EMT64) zaleca się korzystanie z PHP w wersji 5.1.x lub 5.2.x.

System zarządzania bazami danych

 * MySQL 4.0.x lub nowszy
 * Wersja 3.x nie jest obsługiwana przez MediaWiki od wersji 1.6.0

lub


 * PostgreSQL 8.1 lub nowszy
 * W systemie wymagana jest obecność modułów tsearch2 oraz plpgsql, jeśli zainstalowano PostgreSQL 8.1 lub 8.2.
 * Patrz również Upgrading Postgres/pl

Przeczytaj informacje o wydaniu
W archiwum .tar.gz z dystrybucją MediaWiki lub pośród plików wyeksportowanych/pobranych z SVN znajduje się kilka plików o nazwach zapisanych wielkimi literami, z których jeden zawiera informacje o wydaniu (RELEASE-NOTES). Należy ten plik otworzyć i sprawdzić zmiany, które zostały wprowadzone do aktualnie pobranej wersji mediaWiki.

Wykonanie kopii zapasowej istniejących plików i bazy danych

 * Pełne instrukcje: Manual:Backing up a wiki/pl

Skrypty aktualizacyjne są dobrze napisane i skuteczne, lecz mimo wszystko niektóre kwestie mogą potoczyć się niezgodnie z przewidywaniami. Przed uaktualnieniem struktury bazy danych należy wykonać pełną kopię bezpieczeństwa całej wiki, obejmującą zarówno bazę danych jak i pliki.


 * Zawartość wiki przechowywana w bazie danych. Oprócz zrzutu bazy danych SQL warto rozważyć wykonanie kopii w postaci pliku XML.
 * MySQL:
 * zrzut tekstowy: mysqldump --all-databases > file.txt
 * zrzut do pliku XML: mysqldump --all-databases --xml > file.xml
 * PostgreSQL:
 * Plik dla programu pg_restore: pg_dump --create -Fc -i yourwiki > yourwiki.db.dump
 * SQLite:
 * php maintenance/sqlite.php --backup-to filename
 * Grafiki i inne media (zawartosć katalogu images)
 * Pliki konfiguracyjne, tj. LocalSettings.php</tt> i AdminSettings.php</tt> (jeśli są obecne w instalacji)
 * Pliki programowe MediaWiki, w tym wszystkie skórki i rozszerzenia, szczególnie jeśli pliki te zostały poddane modyfikacjom

Z pakietu .tar.gz
Po pobraniu pakietu .tar.gz należy go rozpakować na serwerze, gdzie uruchomiona jest poprzednia instalacja oprogramowania MediaWiki. Normalni, przy rozpakowywaniu pakietu stworzony będzie katalog, dla nowej wersji wiki i zaistnieje konieczność przekopiowania nowych plików do katalogu, gdzie działa dotychczasowy serwis. es można uprościć, wydając jedno polecenie:

$ tar xvzf mediawiki-.tar.gz -C /katalog/gdzie/znajduje/się/wiki/ --strip-components=1

W przypadku starszych dystrybucji Linuksa (np. RHEL/CentOS 4.x) polecenie wygląda następująco:

$ tar xvzf mediawiki-.tar.gz -C /katalog/gdzie/znajduje/się/wiki/ --strip-path=1

Osoby korzystające ze starszej wersji programu tar, np. GNU tar 1.13.x nieobsługującej flag --strip-components czy --strip-path mogą zdekompresować archiwum bez opcji -C i rekursywnie przekopiować zawartości zdekompresowanego katalogu do struktury katalogów wiki:

$ tar xvfz mediawiki-.tar.gz $ cp -r mediawiki-/* /katalog/gdzie/znajduje/się/wiki/

Użytkownicy systemu (Open)Solaris powinni skorzystać z polecenia gtar lub:

$ gzip -dc mediawiki-.tar.gz | tar xf -

Użytkownicy systemu Windows mogą skorzystać z programu 7-Zip.

Korzystanie z systemu subversion
Pobierając oprogramowanie MediaWiki z systemu subversion, należy wyeksportować pliki do czystej, niezajętej lokalizacji. Wszystkie pliki należy zastąpić nowo pobranymi wersjami, zachowując strukturę katalogów. Główna część kodu MediaWiki zostanie w ten sposób uaktualniona.

Uruchomienie skryptu aktualizacyjnego
Uwaga: Zmieniając wersję oprogramowania MediaWIki na starszą niż 1.16, należy upewnić się, że w głównym katalogu wiki znajduje się plik AdminSettings.php</tt> i że zawiera on aktualne informacje. Użytkownik prowadzący aktualizację musi mieć pełny dostęp do bazy danych.

Zalecane jest przeprowadzanie uaktualnienia za pomocą uruchamianego z wiersza poleceń skryotu aktualizacyjnego, choć aktualizacja również możliwa jest po uruchomieniu działającego w przeglądarce WWW instalatora.

Wiersz poleceń
W linii poleceń, powłoki SSH lub innej, należy przejść do katalogu maintenance</tt> i uruchomić skrypt aktualizacyjny:

$ php update.php

Uwaga dotycząca prostych instalacji w systemach Windows, na przykład działających pod oprogramowaniem XAMPP: można uruchomić skrypt aktualizacyjny po dwukrotnym kliknięciu, jeśli pliki o rozszerzeniu .php otwierane są przy pomocy PHP.exe; jeśli nie, należy kliknąć prawym przyciskiem myszy plik update.php, wybrać polecenie &bdquo;Otwórz za pomocą...&rdquo; i wskazać plik PHP.exe. Należy też sprawdzić, czy działa serwer WWW (np. Apache) i serwer baz danych (np. MySQL).

Oprogramowanie MediaWiki dokona sprawdzenia aktualnej konfiguracji i uaktualni ją do prawidłowej współpracy z nowym kodem, dodając wymagane tabele i kolumny.

Co zrobić w przypadku wystąpienia błędu &bdquo;No superuser credentials&rdquo;
W przypadku, gdy skrypt zatrzymuje pracę wyświetlając komunikat:

&bdquo;No superuser credentials could be found. Please provide the details of a user with appropriate permissions to update the database. See AdminSettings.sample for more details&rdquo;

oznacza, ze należy sprawdzić, czy w pliku LocalSettings.php</tt>, znajdującym się w głównym katalogu wiki, zdefiniowano zmienne $wgDBadminuser</tt> i $wgDBadminpassword</tt>. Jest to nazwa użytkownika majacego dostęp do bazy danych i jego hasło.

Co zrobić w przypadku wystąpienia błędu &bdquo;unexpected T_STRING&rdquo;
Individuals running update.php from the command line may encounter the following errpr: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in ~/mainteance/commandLine.inc on line 13

This error occurs when update.php is run from php4.

Individuals who have their site hosted by providers whom provide both php4 and php5 should take the following steps:
 * 1) from the command line, enter the command 'whereis php5'
 * 2) once you have discerned the location of the php5 path, list the director of the php5/bin directory
 * 3) once you've determined the name of the php executable (either php or php5), then type in the entire path to execute update.php

Below is an example: $ whereis php5 $ ls -la ls /usr/local/php5/bin $ /usr/local/php5/bin/php update.php

Alternative 1: phpShell
If full permissions/shell access is not available, look at options such as phpShell, which emulates a command prompt using PHP functions. This might not work on some locked-down hosting setups.

When using such a solution, it is often desirable to skip the countdown period at the start of the script. Pass the --quick</tt> option to the update script to do so:

$ php update.php --quick

You may have to use "php5" instead of "php" if different versions are installed. For phpshell, the commandLine.inc and LocalSettings.php files may have to be edited so the script doesn't quit because phpshell is a run from the web server. It may instead be possible to sidestep this problem by running:

$ unset REQUEST_METHOD; php update.php --quick

This unsets the REQUEST_METHOD environment variable, the existence of which causes the script to quit, and then executes the script.

Alternative 2: Re-run the installer
An alternative to running the update script from the shell is to re-run the web installer. To do this, follow these steps:


 * 1) Rename LocalSettings.php</tt> to LocalSettings.old.php</tt>
 * 2) Make the config</tt> directory writable by the web server
 * 3) Make sure the database user has full rights to the database
 * 4) Browse to the wiki and start the installer
 * Fill in the form fields with the same values as was done during the previous version's installation.
 * When the installation process starts, the script will detect existing MediaWiki tables, and upgrade their schema.
 * When this is complete, a new LocalSettings.php</tt> will be generated.
 * 1) Delete the new configuration file (LocalSettings.php</tt>)
 * 2) Rename LocalSettings.old.php</tt> back to LocalSettings.php</tt>
 * 3) Restore permissions on the config</tt> directory

Upgrade extensions
Certain extensions have been updated in order to work with the new version of MediaWiki. Be sure to upgrade to the latest versions of such extensions. You might need to perform manual updates to custom extensions.

Test the update
Once the upgrade has been completed, browse to the wiki and check that the following operations work as expected:
 * Viewing pages
 * Editing pages
 * Uploading a file

Visit Special:Version and check that the version shown is correct and that the extensions are present.

How hard is it to upgrade?
If the only file you have modified is LocalSettings.php, and you are upgrading from 1.5 or later, the process is very simple. The amount of human work involved is only a few minutes. The database schema changes will take an amount of time proportional to the size of your database -- potentially hours for wikis with millions of pages, but for a more typical size of a few thousand pages, it is usually done in seconds.

Minor upgrades, within the same major version, say from 1.13.0 to 1.13.1, do not require any schema changes at all. You can just update the files.

Upgrading from 1.4 or earlier is potentially complicated because support for character sets other than UTF-8 was dropped, and the schema for storing bulk text changed. Please read the relevant section in the UPGRADE</tt> file.

Upgrading becomes difficult if you have modified our source code, and you don't want your changes to be overwritten. Tools such as diff and patch may be useful. There is also potential for trouble if you are using unmaintained extensions. Upgrade your extensions at the same time as you upgrade MediaWiki.

How do I upgrade from a really old version? In one step, or in several steps?
In one step, from your old version to the latest stable version. The vast majority of reports, as well as automated testing, indicate that doing it in one step works just fine.

If you have trouble believing this, read this mailing list post.

Should I back up first?
Short answer: yes.

Long answer: it depends on a) how much you value your data, b) how hard it is to create a backup and c) how confident you are with MySQL maintenance and administration.

An upgrade failure may leave your database in an inconsistent state, in between two versions. It may move an important table to a temporary name and then fail before it recreates the table correctly. It may change a field definition to an incorrect data type. It is very rare for an upgrade to cause irreversible data loss. More often, data corruption occurs which can be reversed by a skilled administrator.

Recovery is often complex. Volunteers on the support forums are unlikely to be impressed if you neglect to make a backup and then need help to recover from upgrade-related corruption. A better outcome is if you can revert to your backup, and then report the bug in the upgrade process which caused the corruption.

Can I keep my LocalSettings.php?
Yes, but you may have to make some minor changes. The format of LocalSettings.php is largely backwards compatible. Changes which break LocalSettings.php compatibility will be documented in the "configuration changes" section of the release notes.

Can my wiki stay online while it is upgrading?
Yes.

If you are upgrading between minor releases of MediaWiki, all you need to do is update the source files.

If you are upgrading between major releases of MediaWiki, the preferred procedure is as follows:


 * 1) Unpack the new version of MediaWiki into a new directory
 * 2) Prepare that new directory: copy your current LocalSettings.php from the old directory, copy any installed extensions and custom skins (if any).
 * 3) Enable read-only mode in LocalSettings.php of the old directory:


 * 1) Run the upgrade script in the new directory.
 * 2) Swap the old directory and the new directory.