Henkilökohtaiset työkalut
Tulosta PDF

Sisällysluettelo

WP-sivujen ohjelmistokehitys

Yleistä

  • devel palvelin osoitteessa: http://devel.nknuoriso.hki.local/
  • Teemojen ja plugareiden ym koodaaminen svn:n kautta
  • blogs.dir ja uploads hakemistot eivät kopioidu versionhallinnassa
  • Muokattavan sivuston datan import/export kannattaa tehdä wp:n cpanin avulla
  • Uusi versio WP:stä päivitetään develpalvelimelle ja viedään sieltä tuotantoon
  • Sivut päivittyvät kehityspalvelimelle svn reposta 5min välein.
  • Tuotantoon viennistä vastaa Tero ja Arto

Kehitystyökalut

käytössä on Netbeans, Xampp

Netbeans asetukset

Katso Netbeans SVN asennusohjeet kohdasta SVN versionhallinta/Netbeans.

Tietokannan asetukset

Projektihakemistossa on tiedosto blogit.sql. Tuo tämä tiedosto MySQL-tietokantaasi.

Wordpress conffi

SVN-repossa on esimerkkifilet wp-config.php.temp ja htaccess.temp. Kopioi nämä tiedostoiksi: .htaccess ja wp-config.php samassa hakemistossa! Käy tiedostot läpi, varsinkin tiedostosta wp-config.php:

  • MySQL-palvelimen asetukset!
  • Domain nimi tiedoston lopusta!

Laita lopuksi molemmat tiedostot svn ignoreen!

Esimerkki wp-config.php tiedostosta:

<?php
/**
 * The base configurations of the WordPress.
 *
 * This file has the following configurations: MySQL settings, Table Prefix,
 * Secret Keys, WordPress Language, and ABSPATH. You can find more information
 * by visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing
 * wp-config.php} Codex page. You can get the MySQL settings from your web host.
 *
 * This file is used by the wp-config.php creation script during the
 * installation. You don't have to use the web site, you can just copy this file
 * to "wp-config.php" and fill in the values.
 *
 * @package WordPress
 */

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'blogit');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', '');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


/**Multisite päälle**/

define('WP_ALLOW_MULTISITE', true);

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         '|`4)I7$ Ko|1-3?5Kuop<7@/D3CYAmu&%`zQUYem_-t8QRFmul/xE=~DQETr^~,u');
define('SECURE_AUTH_KEY',  '`V&KNo)(&hW#7gGf49i+RlE5{I4m{ap,E09^y<]GeCND,$N/2o,Tf;W<MmPC_*q_');
define('LOGGED_IN_KEY',    '|]Qg*|KJP?i47yj#l.PTHeCKoh(GDZdn>y&J;Zx)fs$vzMLL=(/bzL+[nd5!8SqH');
define('NONCE_KEY',        '|?pmp{p1Mg4*G@<iwz[A!/Q{&d=BHlvI9aG-hviF+u!NFx7`q 8bw3.X*`ejpF|&');
define('AUTH_SALT',        'kawhJbNu&PadL.0v{:)G0`]:zE_70>Auv|?XWtd*GFE6/DArY&G$j.m(Z`LI)%4*');
define('SECURE_AUTH_SALT', '8brLJ=}g8iY`(Z)H~pXpw~D: RJ:1eFlqS1QeIs)n2bD<V|m?bMxS29$OB&LB6Ll');
define('LOGGED_IN_SALT',   'hcL{g+[$RllmoV/%H5y-=LI,|8wg+rCnM*=X8}:rjynrqvGt8Hq9Y<44e{hqP9e:');
define('NONCE_SALT',       '0j 5_y@wh7rsrMG|}<+ukfU;PxIvsZ#Do,CJY@|LzAGXN,298}L{Fy;/+SrI:?D|');

/**#@-*/

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each a unique
 * prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

/**
 * WordPress Localized Language, defaults to English.
 *
 * Change this to localize WordPress.  A corresponding MO file for the chosen
 * language must be installed to wp-content/languages. For example, install
 * de.mo to wp-content/languages and set WPLANG to 'de' to enable German
 * language support.
 */
define ('WPLANG', '');

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define('WP_DEBUG', false);

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/blogit/';
define( 'DOMAIN_CURRENT_SITE', 'localhost' );
define( 'PATH_CURRENT_SITE', '/blogit/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

Esimerkki .htaccess:

RewriteEngine On
RewriteBase /blogit/
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

TODO

Jotain ongelmakohtia joihin pitäisi miettiä ratkaisut ja luoda jokin prosessi että nämä onnistuisivat ilman suurempaa pään hakkaamista seinään:

  • Käyttäjätunnukset ja uusien käyttäjien lisääminen lokaalisti:
    • Käytettäessä XAMPP:ia ja Eclipseä käyttäjiä ei voi lisätä, koska vahvistusähköpostia ei voi lähettää. Pitääkö luoda käyttäjät valmiiksi Trunkkiin vai voiko tuon vaiheen ohittaa WP:n admin paneelista?
  • Tuotantoon siirtäminen: Tietokantaongelma
    • Luotaessa blogeja ja uusia sivuja WP tykkää tehdä tietokantaan muutoksia. Miten nämä siirretään tuotantoon ilman että tarvii puukottaa tietokantaa? Pitääkö blogi ensin luoda tuotantoon, josta se tuodaan kehityspalvelimen trunkkiin ja siitä eteenpäin Brancheihin? Onko parempaa ratkaisua vai onko tämä WP mu:n ongelma?
  • Uusien blogien luominen
    • Pitääkö tämä tehdä ensin tuotannossa ja siirtää siitä testipalvelimelle ja brancheihin, vai voiko tehdä myös toisinpäin?
  • Kuvien ja videoiden säilöminen yhteen paikkaan
    • Miten saadaan asetettua että kaikki blogit käyttäisivät samaa paikkaa kuvien ja videoiden lataamiseen? Onko tähän jotain konfiguraointi asetuksia?
    • Miten hoitaa lokaalisti uploadatut failit, ignoretaanko vain SVN:stä? Tero: tein symbolisen linkin /var/media/blogs.dir kansioon tuotantopalvelimella, tämä ignoroidaan svn:ssä. Voidaan myös siirtää nämä tulevaisuudessa erilliselle mediapalvelimelle. Pitäisi varmaan yhtenäistää ja siirtää wikin ja nettiareenan tiedostot tänne kanssa?
  • Tiedosto-oikeudet mäkissä
    • Mäkissä XAMPP tykkää antaa vainlukuoikeudet vaikka olisikin adminina kirjattuna sisään. Tästä tulee säätöä kun yrittää saada WP:n pyörimään lokaalisti XAMPP:n avulla.
  • Blogin sijainti hakemistopuussa
    • Missä blogin pitää sijaita, miten blogin alasivujen pitäisi näkyä hakemistopuussa ja miten saada tämä toimimaan?