Open main menu


Този страница обяснява и разяснява процеса на инсталация на последната стабилна версия. За подверсиите има отделна страница. Серията 1.6 е последната, която поддържа версии на PHP по-ранни от PHP 5.

Инсталацията на MediaWiki може да създаде трудности за средния потребител, ако той няма, или има малък, опит на работа със сървърна базиран софтуер. Повечето потребители, които искат да използват софтуера, могат да спечелят повече, използвайки свободните wiki хостове (виж списъка в Wikibooks).


Подготовка за инсталацияEdit

Минимални системни изискванияEdit

За самостоятелен уебсайт е препоръчително наличието на 256MB RAM памет, въпреки че това е недостатъчно за натоварен с много работа публичен сайт. Някои потребители обаче съобщават, че са подкарали MediaWiki на компютри с инсталирана по-малко от 48MB RAM.

Нужни компонентиEdit

Преди да започнете да инсталирате MediaWiki, трябва предварително да инсталирате четири компонента. Когато ги инсталирате, не забравяйте да прочетете приложената към тях документация. Ако някой хоства вашия сайт, попитайте администраторите дали са инсталирани тези продукти и ако не са - да ги подсигурят.

Вместо да инсталирате всички компоненти, можете да използвате WOS Mixer, който включва готов за инсталация пакет.

  1. Apache - уеб сървър, наличен на официалната даунлоуд страница.
    • MediaWiki също така тръгва под IIS 6.0, Cherokee и lighttpd.
    • Sun имат някои допълнителни инструкции за пускането на Mediawiki под Sun Java System Web Server 7.0.
  2. Актуална версия на PHP, езикът за програмиране, на който софтура MediaWiki е написан. Наличен е на официалната даунлоуд страница. От версия 1.7 на татък е необходим PHP 5.x -- PHP 4.x не е поддържан
    • Виж PHP config за опции на компилиране
    • Някои Linux сървъри изискват също еквивалента MySQL package и PHP session management package; виж документацията на операционната система.
    • Ако Apache сървъра има инсталиран Hardened PHP patch, трябва да въведете някои стойности във файла /etc/php.ini, ако желаете Wiki страниците да съдържат голямо количество данни. Става дума за параметрите в varfilter.max_value_length, hphp.post.max_value_length, и hphp.request.max_value_length. Настройните по подразбиране ограничават размера на вашите страници до 10k или 64k.
    • Накои потребители съобщават, че когато публикуват статия в последните версии на wiki, получавата празни страници. Най-вероятният проблем е в ограничаването на паметта при инсталацията по подразбиране на php (най-често 8M). Проверете php или/и apache лот-ове за грешки. Решението: Редактирайте /etc/php.ini и променете параметъра "memory_limit" на 20M (memory_limit = 20M). След промяната рестартирайте apache.
  3. Сървър за база от данни MySQL, който служи за съхранение на текстовете, списъците с потребители и т.н. Наличен и на официалната даунлоуд страница.
    • От версия 1.8, Postgres също е поддържан. Трябва обаче да се отбележи, че поддръжката от Postgres е от скоро и не е добре тествана като MySQL еквивалент.
  4. Софтуерът МедияУики, който е наличен на официалната даунлоуд страница. Версиите в разработка са налични на сраниците на проекта в Sourceforge.net.

Качване на сървърEdit

Сваляне и декомпресияEdit

Свалете MediaWiki на личния си компютър и разархивирайте файловете. Това трябва да стане със софтуерни продукти като 7-Zip, WinZip или IZArc под Windows. Под Linux разархивирайте файловете чрез тази команда:

tar -xvzf mediawiki-*.tar.gz

КачванеEdit

Разархивираният на локалният компютър софтуер трябва да бъде качен на уеб-сървъра (обикновено public_html/wiki), (на Apache уеб-сървър това обикновено е директория htdocs), чрез ползването на FTP клиент от рода на SmartFTP (Windows), FileZilla (Windows) или Cyberduck (OSX). Можете да поставите файловете в главната директория. Ако използвате услугите на хостинг-компания, най-добре е да създадете поддиректория в /www/ на файловата система, например /wiki и да качите вътре всички файлове на софтуера от вашия компютър.

Ако ползвате Unix сървър и имате достъп до httpd.conf, настройте symlink. Променете опциите за достъп към поддиректорията "config" така, че тя да стане writable през уеб сървъра. Ако използвате FileZilla кликнете с десния бутон на мишката върху директорията, маркирайте "attributes...", и отбележете "Write" под "Owner". Ако ви запита за номер или ако използвате конзолния интерфейс, използвайте 755 (777 за Linux Redhat). Можете да използвате и "control panel", ако е наличен за вашия web host. В някои случаи, взависимост от конфигурацията на сървъра, за да стартирате инсталационния скрипт на MediaWiki, трябва да отбележите във FileZilla всички полета (777).


  • Забележка: Архивът съдържа много файлове, разположени в различни директории. Бъдете особено внимателни, когато ги качвате на сървъра. Ако трансферът спре, възможно е някои файлове да не са качени както трябва или да липсват файлове.

Отстраняване на проблемиEdit

  • Букви: Ако използвате FTP клиент различен от FileZilla, бъдете сигурни, че клиентът е конфигуриран да не преобразува главните или нормалните букви в имената на файловете на уеб сървъра. MediaWiki различава главни и малки букви във файловите имена.
  • Incomplete uploads: The pack includes a lot of files, spread over dozens of directories. Be careful when uploading. If the transfer is interrupted, you might have missing or incomplete files. You may have to retry your upload several times, especially if you have an unreliable connection.
  • Internal error: If your webserver produces a "500 Internal Error" at the beginning of the install process, you may need to change the permissions on the config folder to 755.
  • SELinux: Linux distributions which support SELinux ('Security Extensions') are becoming more widespread. On such systems, PHP scripts will still be unable to write to the config directory, after you have set the normal file permissions. You will also need to use the 'chcon' command to change the SELinux file type. See SELinux.
  • If you are running the Mediawiki software on a free site that requires banners or prefix advertising, this may cause MediaWiki not to work, and appear to only generate empty pages beyond the banner advertising. A fix for this will need to be done in the future. In the interim the only option is to find a paid hosting site. This may be considered a bug, and is being reported.
  • Config directory unwritable: If you have changed the permissions for the config directory and still get an unwritable error try changing the owner to apache.
chown -R apache:apache /var/www/html/mediawiki/*


ИнсталацияEdit

Създавана на база данниEdit

В момента, можете да използвате MySQL или Postgres за да съхранявате актуална информация във wiki.

MySQLEdit

Сървърът за база данни MySQL съхранява текстови и други данни във wiki.

  • Ако притежавате достъп до root, Инсталацията на софтуера ще ви попита за root-паролата и автоматично ще създаде и настрои базата от данни. Вижте MySQL config за повече подробности.
  • Ако не притежавате достъп до root-привилегии, ще трябва да създадете MySQL база от данни и потребител за тази база от данни на локалния хост преди да инсталирате MediaWiki. Можете да направите това като използвате различните контролни панели катоPhpMyAdmin, които често са възможни на shared hosts, или чрез ssh да влезете във вашия хост и да въвеждате команди във MySQL промта. Можете да помолите администраторите от хостинг-компанията, която ползвате, да направи това.
1. Свалете и инсталирайте MySQL 5.0. Това най-вероятно ще стане в /usr/local/mysql
2. Проверете дали сървърът за база данни е стартиран. ("/usr/local/mysql/bin/mysqladmin status"), ако не е - sudo /usr/local/mysql/bin/safe_mysqld &.
(За Fedora Core 5, използвайте /usr/bin/mysqld_safe)
3. Задайте парола за "root" акаунт на вашата база данни -

/usr/local/mysql/bin/mysqladmin -u root password yourpassword

4. Задайте потребител в MySQL на вашето Wiki--направете това в терминала : /usr/local/mysql/bin/mysql -u root -p mysql
5. Това стартира MySQL command line client. Сега въведете в клиента това:


 create database wikidb;
 grant create, select, insert, update, delete, lock tables on wikidb.* to 'wikiuser'@'localhost' identified by 'password';
 flush privileges;
 \q


If your database is not running on the same server as your web server, you need to give the appropriate web server hostname -- mediawiki.example.com in my example -- as follows:

 grant create, select, insert, update, delete, lock tables on wikidb.* to
 'wikiuser'@'mediawiki.example.com' identified by 'password';

PostgresEdit

If you are using Postgres, you will need to either have a database and user created for you, or simply supply the name of a Postgres user with "superuser" privileges to the configuration form. Often, this is the database user named postgres.

The database that MediaWiki will use needs to have both plpgsql and tsearch2 installed. The installer script will try and install plpgsql, but you may need to install tsearch2 yourself. (tsearch2 is used for searching the text of your wiki). Here's one way to do most of the setup. This is for a Unix-like system, and assumes that you have already installed the plpgsql and tsearch2 modules. In this example, we'll create a database named wikidb, owned by a user named wikiuser, with a password of "pgrocks". From the command-line, as the postgres user, perform the following steps.

 createuser -S -D -R -P -E wikiuser(then enter the password)
 createdb -O wikiuser wikidb
 createlang plpgsql wikidb

Adding tsearch2 to the database is not a simple step, but hopefully it will already be done for you by whatever packaging process installed the tsearch2 module. In any case, the installer will let you know right away if it cannot find tsearch2.

The above steps are not all necessary, as the installer will try and do some of them for you if supplied with a superuser name and password.

For installing tsearch2 to the wikidb database under Windows, do the following steps: 1. find tsearch2.sql (probably under .\PostgreSQL\8.x\share\contrib) and copy it to the postgresql\8.x\bin directory; 2. from a command prompt at the postgresql\8.x\bin directory, type "psql wikidb < tsearch2.sql -U wikiuser"; 3. it will prompt you for the password for wikiuser; That's it!

Run the installation scriptEdit

Use your browser to visit the wiki directory on your webserver to run the installation script. If you are running a distribution with SELinux, e.g. Fedora Core, be sure to set the context on the installation directory correctly e.g.:

ls -aZ
chcon -R system_u:object_r:httpd_sys_content_t wiki

If you installed into public_html/wiki, this will probably be something similar to http://www.yourdomain.com/wiki. Depending on how you uploaded the files, you may need to visit http://www.yourdomain.com/wiki/config instead. Follow the installation instructions on the installation script page. Refer to the following table if you're uncertain what to enter.

Field Explanation
Database name The name of the MySQL or Postgres database you created (see #Create a MySQL database)
Note: If you run MySQL using a different socket file (e.g. mysql on localhost, using --socket=/tmp/mysocketfile), set the database name to:"localhost:/tmp/mysocketfile".
Database username The username used for accessing your wiki database.
Database password The user password for accessing your wiki database.
Database table prefix (MySQL only) An optional prefix to prepend to the name of every table that will be created within your wiki database. If you plan to have several wikis, you might want use the prefix "w1" so that all the tables associated with your first wiki will have "w1_" prepended. This allows you to install multiple wikis using the same databases by making the name unique. For example the generic name "archive" becomes "w1_archive", so that it is possible to add another database with the same table names.
Database port Currently only used by Postgres, this is the port number Postgres is installed at. The default value of 5432 should work for most instances. If you are connecting by using a hostname, this should be blank.
Schema for mediawiki / Schema for tsearch2 (Postgres only) The name of the schema to put your wiki inside of. The default value of "mediawiki" should be fine for most purposes. The default value of "public" for tsearch2 should almost never have to be changed.
Superuser account / Superuser password The root database user and password, if you have it. If you don't have this password, leave it as it is. If you have the password, you may be able to skip the above stages of creating the database since MediaWiki will be able to do this for itself.

Click the "Install!" button.

If you are using a hosting service, note that the database name and database username may have an extra prefix (normally the userid given by your hosting provider). For example, if you have created a database named db01 with username u01 and your userid is ocom (given by your hosting provider), you should enter the database name and database username as ocom_db01 and ocom_u01 respectively.

This may or may not apply to MySQL 5.x, but with MediaWiki 1.8.3 and MySQL 4.1.21 installed with UTF-8 as the default character set, there may be a MySQL error of the type "specified key was too long". One way of solving that [1] is to choose "Backwards-compatible UTF-8" in the installation script and edit the file maintenance/tables.sql so that the table causing the problem uses shorther keys. For example, if you find the error message:

PRIMARY KEY job_id (job_id), KEY (job_cmd, job_namespace, job_title) ) TYPE=InnoDB " failed with error code "Specified key was too long; max key length is 1024 bytes (localhost)".

Then you should find table "job" in tables.sql and modify varchar(255) to something shorther, eg varchar(242) as following.

-- Jobs performed by parallel apache threads or a command-line daemon
CREATE TABLE /*$wgDBprefix*/job (
  job_id int(9) unsigned NOT NULL auto_increment,
  
  -- Command name, currently only refreshLinks is defined
  job_cmd varchar(242) NOT NULL default '',

  -- Namespace and title to act on
  -- Should be 0 and '' if the command does not operate on a title
  job_namespace int NOT NULL,
  job_title varchar(242) binary NOT NULL,

  -- Any other parameters to the command
  -- Presently unused, format undefined
  job_params blob NOT NULL default '',

  PRIMARY KEY job_id (job_id),
  KEY (job_cmd, job_namespace, job_title)
) TYPE=InnoDB;

Then you should delete tables you have made before, and then run the install script again. If you still see the same error, you can change the 255 to a even smaller number, eg varchar(150), and then repeat the above steps again. See also MediaWiki bug 4445.

Missing table prefixEdit

A MySQL installation of MediaWiki 1.8.2 on a shared host failed to display the database table prefix input box. The form field was generated in the configuration page with no-display attributes. If you experience this problem, the addition of the // characters to config/index.php as shown below will cause this field to re-materialize. This input box is not needed unless more than one MediaWiki instance is being installed into a single database, so most installations will not need to do this, whether the field is present or not.

 <?php // database_switcher('mysql'); ?>
 <div class="config-input"><?php
         aField( $conf, "DBprefix", "Database table prefix:" );
 ?></div>

4. Променяне на правата за достъпEdit

cd into the directory where the mediawiki files are. You will find index.php and the config directory. You need to make the config directory writable by the web server. The simplest (but least secure) approach is to run the command chmod o+w config. For those of you who do not know what this means, you need to set the permissions (chmod) of the config directory to 777 so that it is world writable.

See your FTP client's instructions to figure out how to set permissions (E.g.: with the "Core FTP" client you simply right click on the config directory and select properties. A dialogue box will appear and easily allow you to change permissions to 777).

This can often be done by heading into your web host's control panel, and then into the file manager. If you are not allowed to set the permissions to 777, try setting it to 755 or 775 instead.

A better approach, if your web hosting server supports access control lists, is to run the command setfacl -d -m apache:rwx (be sure to replace "apache" with the name of the user your web server runs as). This grants access to just the webserver, not every user. You can later remove this access with setfacl -d -x apache config.

5. Посещаване на сайтаEdit

Visit the directory that wiki resides in. For example: if your domain is example.com and you are installing wiki in a folder called wikimedia, you will need to access http://example.com/wikimedia/ as this will lead you to the install page.

6. Отговаряне на въпросиEdit

  • fill in your desired wikidb name etc
  • wiki site name
  • license metadata
  • database username
  • database name
  • database root password (you may not have this, this is the nice way to go, if you don't have this, you have to use another set of tools to create your db and username, or just tag tables on with another webapp!)

and submit.

Ако използвате услугите на хостинг компания, обърнете внимание на това, че името на базата данни и потребителското име за тази база данни имат префикс (обикновено потребителското ви име, дадено ви от хостинг компанията). Например ако сте създали база от данни db01 с потребителско име за нея u01 и потребителското ви име е ocom (дадено ви от вашия хостинг провайдър), трябва да въведете името на базата данни и потребителското име на тази база респективно ocom_db01 и ocom_u01.

7. Копиране на LocalSettings.phpEdit

След като приключи инсталацията, в директория config автоматично е създаден файл LocalSettings.php. Трябва да копирате този файл в главната директория на вашето уики.

МедияУики търси файла LocalSettings.php в главната директория. Ако там съществува файл LocalSettings.php, МедияУики извлича данните от него и стартира уикито. В противен случай ще поиска от вас да стартирате отново инсталационния процес.

8. Права за достъп - ВАЖНОEdit

chmod o-w config You will need to set the permissions (chmod) of the config directory to 0600 so that only the owner can read and write to this file. It is important that this is done because not doing it will lead to security risks.


Question - The LocalSettings.php file is created by the web server with a+w permissions. Is it a security risk to leave it writeable by all users, or even the web server?
Guess? - Mine was just created 644, maybe this was changed/fixed or specific to your os / apache setup?
I believe it is not a security risk. If the permission is not 644, for instance 600 or so, then the web server would not be able to read the wiki's configuration. (the webserver runs with the permission "other")

If you move it instead of copying it, then it will be writable by the web server. It may indeed be safer, especially on a multiuser server without safe mode restrictions, to make it owned and writable only by yourself. It must however be readable by the web server or the system doesn't work. --brion 03:52, 27 Feb 2005 (UTC)

Question: Do you mind: You will need to set the permissions (chmod) the config directory to 600 (instead of 0600) ? --AmbroiseIngold 09:43, 8 Apr 2005 (UTC)

Historically, the chmod command used octal notation, so the leading 0 was significant. More recent versions of chmod will do the right thing without the leading 0. Actually, what he probably should have written instead was 0700. If you use 0600, the directory is not executable to the owner. 0700 is read+write+execute for owner. For directories this means that the owner is able to change current dir to it.

9. Допълнителни настройкиEdit

Можете да смените логото на сайта, като замените файла skins/common/images/wiki.png с вашето лого.

Размерът е 135 на 155 пиксела.

Можете да смените логото и като зададете правилния път до него във файла LocalSettings.php.

Вижте същоEdit

  1. "MediaWiki详细安装图解——常见安装问题" (in Simplified Chinese). Retrieved 2006-12-02. 


English · български · Deutsch · français · 日本語 · русский · 中文