рдореИрдВ рдЗрддрдиреА рднрдпрд╛рдирдХ рд╣реЗрдбрд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛?
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ - рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЛрдореЗрди рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд╣рдо рд╡рд┐рдХрд┐ рд╡рд┐рд╢реНрд╡рдХреЛрд╖реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдХрд┐ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЕрд▓рдЧ рдЙрдкрдбреЛрдореЗрди рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдм рдПрдХ рд╣реА рдХреЛрдб рдкрд░ рдХрд╛рдо рдХрд░реЗ (рддрд╛рдХрд┐ рдЕрдкрдбреЗрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рдо рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдмрджрд▓ рд╕рдХреЗрдВ), рдФрд░ рдпрд╣ рднреА рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рд╡рд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╣реА рдкрдВрдЬреАрдХрд░рдг рд╣реЛред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐ рдЗрдВрдЬрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдпрд╣ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ?
рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рд╛рдЗрдЯ рд╣реИрдВред рдФрд░ рдореИрдВ рд╣рдореЗрд╢рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдПрдХрд▓ рд╡рд┐рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдореЗрд░рд╛ рдкрд░рд┐рджреГрд╢реНрдп рдпрд╣ рд╣реИ:
- рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдХрд▓ рдбреЛрдореЗрди рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ playwiki.ru рд╣реИ )
- рдЬрдм рдЖрдк рдЗрд╕реЗ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ - рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ - рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рд╡рд┐рд╡рд░рдг
- рдЦреЗрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдХрд┐ рдЕрдкрдирд╛ рдЙрдкрдбреЛрдореЗрди рд▓реЗрддрд╛ рд╣реИ: wow.playwiki.ru , diablo2.playwiki.ru , рдЖрджрд┐ред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдореВрд╣, рд╕рдореВрд╣ - рд╕рднреА рдЙрдк-рд╡рд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреБрдХреАрдЬрд╝ (рдпрд╛рдиреА рдПрдХ рдмрд╛рд░ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛)
- рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд┐ рдЗрдВрдЬрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХреА рдХрд╛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕, рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЫрд╡рд┐ рднрдВрдбрд╛рд░рдг рдлрд╝реЛрд▓реНрдбрд░, рдЕрдкрдиреА рддреНрд╡рдЪрд╛ рдФрд░ рд▓реЛрдЧреЛ рд╣реЛрддрд╛ рд╣реИ
Mediawiki рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдЕрдм рддрдХ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдЕрдкрдиреЗ рдкреНрд░рд╛рдердорд┐рдХ рдбреЛрдореЗрди рдкрд░ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ Mediawiki рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдХреЛрдИ рд╕реВрдХреНрд╖реНрдорддрд╛ рдирд╣реАрдВред
рд╕рд░реНрд╡рд░ред
рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореИрдВ nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдЕрдкрд╛рдЪреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдореБрдЦреНрдп рдбреЛрдореЗрди рдХреЗ рдХрд┐рд╕реА рднреА рдЙрдкрдбреЛрдореЗрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реИрд╕реЗ рднреА рд╕рдорд╛рди рдХреЛрдб рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдпрд╣ рдмрд╕ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
server {
server_name playwiki.ru *.playwiki.ru;
root /wwwroot/playwiki.ru ;
index index.php;
}
рдпрд╣рд╛рдБ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдирдЧреНрдиреЗрдХреНрд╕ рдХреЛ рдЕрдкрд╛рдЪреЗ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреБрдЫ рдЕрдВрддрд░ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЪрд╛рд╣реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдЙрдк-рдбреЛрдореЗрди рдкрд░ рдЬрд╛рдПрдВ,
server_name рд╣рдореЗрд╢рд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреИрд╢ рдХреЛ рд╣рдореЗрд╢рд╛
$ _SERVER ['SERVER_NAME'] рдореЗрдВ "playwiki.ru" рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк
рдореАрдбрд┐рдпрд╛рд╡рд┐рдХреА рдЗрдВрдЬрди рдореЗрдВ рдЧрд▓рдд рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╣реЛрдЧрд╛ред
рдЗрд╕ рдмрдЧ рдХреЛ рддреБрд░рдВрдд рдареАрдХ рдХрд░реЗрдВ:
LocalSettings.php рдореЗрдВ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
include ( 'My_ExtFunctions.php' );
$_SERVER[ 'SERVER_NAME' ] = ($pw_subdomain_prefix) ? $pw_subdomain_prefix . ".playwiki.ru" : "playwiki.ru" ;
рдЕрдВрдд рдореЗрдВ, рддреБрд░рдВрдд рд╣рдорд╛рд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:
include ( 'My_LocalSettings.php' );
рдпрд╣рд╛рдВ, рдЙрд╕реА рд╕рдордп, рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдХрдиреЗрдХреНрдЯ рдХреАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ
LocalSettings.php рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ред
$ pw_subdomain_prefix My_ExtFunctions.php рдХреЗ рдЕрдВрджрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
function getMySubDomainPrefix() {
$a = $_SERVER[ 'HTTP_HOST' ];
$a = substr($a, 0, strpos($a, ".playwiki" ));
if ($a == 'www' ) $a = '' ;
// secure it!
$a = str_replace( "\t" , "" , str_replace( "\r" , "" , str_replace( "\n" , "" , $a)));
$a = str_replace( "*" , "" , str_replace( "'" , "" , str_replace( "\"" , "" , $a)));
$a = str_replace( " " , "" , str_replace( "," , "" , str_replace( "." , "" , $a)));
$a = str_replace( "/" , "" , str_replace( "//" , "" , str_replace( "\0" , "" , $a)));
return $a;
}
$pw_subdomain_prefix = getMySubDomainPrefix();
рдЙрдк рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП Mediawiki рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕
$ pw_subdomain_prefix рдореЗрдВ рд╣рдорд╛рд░реЗ рдЙрдкрдбреЛрдореЗрди рдХрд╛ рдирд╛рдо рд╣реИред рд╕рднреА рдХреЛрдб
My_LocalSettings.php рдореЗрдВ рд▓рд┐рдЦреЗ
рдЬрд╛рдПрдВрдЧреЗ ред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддреНрд╡рдЪрд╛ рд╕реЗрдЯ рдХрд░реЗрдВ:
$wgDefaultSkin = 'monobook' ;
рдЪрд▓реЛ рдЦрд╛рд▓ рдХреЛ рдПрдХ рдЙрдкрдбреЛрдореЗрди рдХреЗ рдЕрдиреБрд░реВрдк рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, wow.playwiki.ru рд╕реНрдХрд┐рдиреНрд╕ / рд╕реНрдХрд┐рди / рд╕реНрдХрд┐рди_рд╡реЙ / рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
$wgStylePath = "{$wgScriptPath}/skins" . (($pw_subdomain_prefix == '' ) ? '' : "/skin_$pw_subdomain_prefix" );
$wgStyleDirectory = "{$IP}/skins" . (($pw_subdomain_prefix == '' ) ? '' : "/skin_$pw_subdomain_prefix" );
рдЪрд▓реЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЙрдкрдбреЛрдореЗрди рдкрд░ рдирд┐рд░реНрднрд░ рдмрдирд╛рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
www.playwiki.ru рдкрд░ рд╡рд┐рдХреА "playwiki" рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ (рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЖрдзрд╛рд░ рд╣реЛрдЧрд╛, рдЖрджрд┐), рдФрд░ рдЙрдкрдбреЛрдореЗрди рд╡рд┐рдХреА playwiki_wow, playbiki_la2, рдЖрджрд┐ рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
if ($pw_subdomain_prefix) $pw_subdomain_prefix = '_' . $pw_subdomain_prefix;
$wgDBname = 'playwiki' . $pw_subdomain_prefix;
рд╕рд╛рдЭрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЖрдИрдкреА рдмреНрд▓реЙрдХ рдХрд░рдирд╛):
$wgSharedDB = 'playwiki' ; // The $wgDBname for the wiki database holding the main user table
$wgSharedPrefix = 'wk_' ; // The $wgDBprefix for the database, if not used, this can be omitted
$wgSharedTables = array( 'user' , 'user_properties' , 'ipblocks' , 'user_groups' );
рд╣рдо рдХреБрдХреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдбреЛрдореЗрди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдЙрдкрдбреЛрдореЗрди рдкрд░ рд▓реЙрдЧ рдСрди рд░рд╣реЗ рдХрд┐рд╕реА рднреА рдЙрдкрдбреЛрдореЗрди рдкрд░ рд▓реЙрдЧ рдСрди рд░рд╣реЗ:
$wgCookieDomain = '.playwiki.ru' ;
рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд┐ рдЙрдкрдбреЛрдореЗрди рдХрд╛ рдЕрдкрдирд╛ рд▓реЛрдЧреЛ рдмрдирд╛рддреЗ рд╣реИрдВ:
$wgLogo = "images/logo$pw_subdomain_prefix.png" ;
рдЕрдкрд▓реЛрдб рдЫрд╡рд┐рдпрд╛рдВ рд╕реЗрдЯ рдХрд░рдирд╛ (рд╡рд┐рднрд┐рдиреНрди рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ):
$wgEnableUploads = true ;
$wgUploadDirectory = "images" ;
if ($pw_subdomain_prefix) $wgUploadDirectory .= "/img$pw_subdomain_prefix" ;
$wgUploadPath = "{$wgScriptPath}$wgUploadDirectory" ;
$wgUploadDirectory = "{$IP}/$wgUploadDirectory" ;
рдЙрд╕реА рд╕рдордп, рд╣рдо рдЕрдирдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрдкрд╛рджрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
$wgGroupPermissions[ '*' ][ 'edit' ] = false ;
$wgGroupPermissions[ '*' ][ 'createpage' ] = false ;
$wgGroupPermissions[ '*' ][ 'createtalk' ] = false ;
$wgGroupPermissions[ 'user' ][ 'edit' ] = true ;
$wgGroupPermissions[ 'user' ][ 'createpage' ] = true ;
$wgGroupPermissions[ 'user' ][ 'createtalk' ] = true ;
$wgGroupPermissions[ 'sysop' ][ 'edit' ] = true ;
$wgGroupPermissions[ 'sysop' ][ 'createpage' ] = true ;
$wgGroupPermissions[ 'sysop' ][ 'createtalk' ] = true ;
$wgGroupPermissions[ 'bureaucrat' ][ 'edit' ] = true ;
$wgGroupPermissions[ 'bureaucrat' ][ 'createpage' ] = true ;
$wgGroupPermissions[ 'bureaucrat' ][ 'createtalk' ] = true ;
рд╡рд┐рдХреА-рд╡рд┐рд╢реНрд╡рдХреЛрд╢ рдХрд╛ рдкреНрд░рдЬрдирдиред
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
рд╡рд┐рдХреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдмреЗрд╕ рдбрдВрдк рдХреА рдирдХрд▓ рдХреАред рдЕрдм, рдЬрдм рдореБрдЭреЗ рдПрдХ рдирдИ рд╡рд┐рдХреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддрд╛ рд╣реВрдВ, рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рдбрдВрдк рдХреЛ рд╡рд╣рд╛рдВ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реВрдВред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ - рд╕рд╣рд┐рд╖реНрдгреБред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╡рд┐рдХрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐ рджрд┐рди 10 рдЯреБрдХрдбрд╝реЗ рдЙрдард╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред :)