Tomasz Kozioł
WordUp Kraków
#wiosna 2014









  





http://www.idium.com/job-opportunities






Jak wydzielić core-a z potwora,


czyli współdzielony kod WordPress-a



Piotr Dziedzic


Jak oddzielić kod WordPress-a





Jak współdzielić kod WordPress-a



  • Przenieść pliki do wspólnej lokalizacji
  • Przygotować globalny wp-config.php
  • Przygotować globalną konfigurację Apache-a z aliasami
  • Przeładować konfigurację Apache-a

Przykładowy globalny 

plik wp-config.php

if(empty($_SERVER['DOCUMENT_ROOT']) || empty($_SERVER['HTTP_HOST']))
{
	@header( "HTTP/1.1 404 Not Found", true, 404 );
	echo '<h1>Not Found</h1><p>The requested URL was not found on this server.</p>';
	die;
}

$instancePath = rtrim(realpath($_SERVER['DOCUMENT_ROOT']), '/').'/'; $instanceUrl = 'http://'.$_SERVER['HTTP_HOST'].'/';
define( 'WP_CONTENT_DIR', $instancePath . 'wp-content' ); define( 'WP_CONTENT_URL', $instanceUrl.'wp-content' ); define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' ); define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' ); define( 'PLUGINDIR', WP_PLUGIN_DIR ); define('FS_METHOD', 'direct');

require_once $instancePath.'wp-config.php';

Przykładowy plik globalnej

 konfiguracji Apache

Alias /wp-admin /path/to/core/3.8.1/wp-admin
Alias /wp-includes /path/to/core/3.8.1/wp-includesAlias /wp-links-opml.php /path/to/core/3.8.1/wp-links-opml.phpAlias /wp-mail.php /path/to/core/3.8.1/wp-mail.phpAlias /wp-trackback.php /path/to/core/3.8.1/wp-trackback.phpAlias /wp-cron.php /path/to/core/3.8.1/wp-cron.phpAlias /wp-load.php /path/to/core/3.8.1/wp-load.phpAlias /xmlrpc.php /path/to/core/3.8.1/xmlrpc.phpAlias /wp-activate.php /path/to/core/3.8.1/wp-activate.phpAlias /wp-comments-post.php /path/to/core/3.8.1/wp-comments-post.phpAlias /wp-login.php /path/to/core/3.8.1/wp-login.phpAlias /wp-signup.php /path/to/core/3.8.1/wp-signup.phpAlias /index.php /path/to/core/3.8.1/index.phpAlias /wp-blog-header.php /path/to/core/3.8.1/wp-blog-header.php

Zalety

  • Bezpieczeństwo
  • Łatwa aktualizacja wielu stron
  • Lepsza wydajność (korzystając z akceleratorów PHP)



Wada

Stała ABSPATH prowadzi do współdzielonego kodu, 
a nie do katalogu głównego plików strony

Platforma WordPress-a 

w Idium



Cele

  • Bezpieczeństwo
  • Wydajność
  • Łatwość implementacji


GitLab

WP Manager
Varnish
APC
Nginx
Idium WP Libraries + Idium WP Theme
Współdzielony kod WordPress-a



Pytania?

Idium Kraków

By Tomasz Koziol

Idium Kraków

Presentation for WordUp event Spring 2014

  • 2,880