.

Installera / Uppgradera WordPress med Subversion - VPS Bible # 15

English Engelska (change)
  • Digg
  • Twitter
  • Technorati
  • del.icio.us
  • Facebook
  • MySpace
  • Reddit
  • StumbleUpon
  • LinkedIn
  • email

Konfigurera unmanaged VPS (4 Newbies) - Del 15: WordPress Setup & uppdateringar från kommandoraden

wordpress subversion logo image

Den här handledningen använder Subversion för att hämta och installera standalone WordPress bloggar & deras plugins, snabbt och enkelt från din Linux command line interface, med enkla uppdateringar därefter. Det beskrivs också WordPress MySQL processen databas setup.

OK, jag erkänner, jag är partisk till WordPress! Och denna guide är en perfekt passform för dem som vill lansera sina WP blogg från en VPS i den snabbaste tiden och är utformad för future-proofing.

Som sagt, om du använder en av de tusentals andra plattformar som kan installeras med Subversion, är installationen inte disimilar. Om du har specifika frågor, oberoende av plattform, lämna en kommentar och jag ska försöka hjälpa. Vem vet, kanske jag skriver med en särskild handledning.

WordPressers - förbereda för att spara buntar av tid.

Inrätta en unmanaged VPS (4 Newbies) .. VPS Bibeln

I 20 copy / paste steg .. från noll till hjälte, tomma rutan för söt-som Linux-server.

Bläddra nedåt för hela serien index.

Så, hey, skjul delade & viva virtuellt! Hoppas det hjälper. The_guv

Essential Web Server Förberedelser för WordPress

I Del 8: SNABBARE VPS! Konfigurera PHP, MySQL & xcache, bland annat installerat vi Subversion. I Del 11: Installera nginx (bättre än Apache eller Lighttpd) vi inrättat Nginx. I Del 13: Konfigurera nginx Multi-Site Virtual Hosts vi förbättrat Nginx filstruktur och tillåtet för multi-site hosting. I Del 14: Setup WordPress på nginx (FURLs & Cache), tweaked vi Nginx att optimera sin servering av WordPress. Om du missat någon av dessa, spåra.

I slutet av den här guiden kommer vi att få WordPress arbetsdagar. Ljuvt.

Här är dina krav: --

  • skapa databas
  • installera WordPress
  • Lägg föredrog plugins
  • importera tema
  • flytta data

Om du vill ha en helt ny blogg, kommer du att utföra de fyra första av dessa skeden.

Öppna upp din terminal CLI sak. Om du använder Windows lokalt och inte redan gjort det, skapa fjärrserver tillgång, säkert och för att underlätta inloggningen enormt. För att läsa Del 3: Ställ in en Remote krypterad förbindelse & Del 4: Hide Data & Simple Login - SSH & PuTTY.

... Även om jag gnat, om du inte redan har, bör du också utför Del 6: LOCK LINUX - SSH och en iptables Firewall.

Bara en sista anmärkning. throughout this guide. Jag exempel min Linux / MySQL username guvnr och min hemsida waywiderweb.com hela denna guide. Ersätta dessa värden med dina egna :?

Höger. Redo.

Skapa en MySQL-databas för WordPress från kommandoraden

Logga in till MySQL med: --

mysql -u root -p

Add your password, or the password we created when we installed MySQL in Part 8: FASTER VPS! Set Up PHP, MySQL & Xcache .

Now paste this lot, replacing your_wordpress_username , your_wordpress_password and wp_database_name with yours, and leaving the quote marks I've included for the password:-

grant all privileges on *.* to your_wordpress_username@localhost identified by "your_wordpress_password";
create database wp_database_name;
quit

Install WordPress on your Linux VPS Using Subversion

Let's go to the directory in which to install WordPress. I'm installing to my root directory, /home/public_html/waywiderweb.com/public , which I created in Part 13: Configure NGINX Multi-Site Virtual Hosts (the directory structure is explained most comprehensively in the video in Part 13.) If you want your blog to appear in a sub-directory, such as waywiderweb.com/blog, then use /home/public_html/waywiderweb.com/public/blog . Of course, change waywiderweb.com for your domain:-

cd /home/public_html/waywiderweb.com/public

If you created a test index.html file in Part 13: Configure NGINX Multi-Site Virtual Hosts , let's bin it:-

sudo rm index.html

Now we'll use the subversion command to install the latest version of WordPress. Ammend this version with any newer one. Leave the dot at the end, it's not a typo:-

sudo svn co http://svn.automattic.com/wordpress/tags/2.8.4 .

And create the WordPress config file:-

sudo mv wp-config-sample.php wp-config.php

Now let's connect the database. Open the WP config file:-

sudo nano wp-config.php
...and add the details you entered above into your new MySQL database. So, in the wp_config file, swap putyourdbnamehere , usernamehere and yourpasswordhere . Here's the original wp-config, before you change it:-
/** The name of the database for WordPress */
define('DB_NAME', 'putyourdbnamehere');

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

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

While you're in there, for added security, find:-

$table_prefix  = 'wp_';

...and swap wp_ to something unique.

Save and quit (CTRL-X, 'y' to confirm and hit Return.)

Run WordPress Install & Connect the MySQL Database

Open your blog in a browser, so for me, for instance, that's www.waywiderweb.com. Enter a few details, log in and change the password the WP installer gave the newly created Admin user. You should really delete Admin entirely and replace with another user, but that's another story.

Hack-Proof Your Blog

For complete WP security tips, read Video How-to: 10 Tips To Make WordPress Hack-Proof but ignore the bit about htaccess as that's an Apache thing, not Nginx.

Hmmn, if anyone's got any specific Nginx blog security tips, lemme know please. I'll write it up.

Batch-install WordPress Plugins using Subversion

This bit really rocks my roger. If you've got a bunch of blogs with pretty much the same plugins, you may just save a month of Sundays here.

Back at the CLI, goto the plugin directory:-

cd /home/public_html/waywiderweb.com/public/wp-content/plugins

Let's edit our plugin list. Keep that dot:-

sudo svn propedit svn:externals .

OK, so there's only Akismet in there. Let's add some more. Go to the WordPress Subversion plugin repository and take your pick. For each plugin you have 2 download choices:-

  • tags - stable releases by version, so choose generally the latest
  • trunk - latest version, bleeding edge, occasionally buggy

Personally, I run the trunk versions, for the simple reason that I can install or upgrade all plugins by issuing a simple command, thereafter. If a plugin gives me any gip, I simply delete it and its reference in my svn WP plugins list, else I replace its trunk with a tag. Of course, if you use the tags option, you have to keep editing your plugins file, which largely negates having it in the first place.

So, here's an example externals file that I've thrown together. Note the name of each plugin before the link, 'cos you must have that identifier. If you followed Part 14: Setup WordPress on NGINX (FURLs & Cache), you'll notice I've included the WP Super Cache plugin:-

akismet http://plugins.svn.wordpress.org/akismet/trunk/
wp-phpmyadmin http://svn.wp-plugins.org/wp-phpmyadmin/
wp-super-cache http://svn.wp-plugins.org/wp-super-cache/trunk/

TIDY TIP: If you're happy with trunks, in the WP Sub Vers Repos, look down the list and right mouse click > Copy Link Location , then paste it to a text file, adding the name of the plugin before the link. Do that to as many plugins as you want, then simply paste /trunk at the end of each link. Then paste the lot to your svn plugins file. Much quicker. If you want tagged versions, it's the long way round, 'cos the tags differ. Then again, for some plugins, there is no svn listing at all, so those have to be included the old-fashioned way.

Right, with your plugins file edited, saved and closed, now type:-

sudo svn update

Take tea.

Import Your WordPress Theme

Set Linux Folder Permissions

If you didn't in Part 13: Configure NGINX Multi-Site Virtual Hosts , set your folder permissions, allowing SFTP access, substituting guvnr with your user name:-

sudo chown -R guvnr:webmasters /home/public_html

Add the theme

If you are using a regular theme, add it in the usual WordPress way.

Alternatively, if you want to use a previous, adapted theme:-

Open an SFTP client like FileZilla or WinSCP, browse to your remote themes directory - something like /home/public_html/waywiderweb.com/public/wp-content/themes/ - and upload your bespoke theme.

Either way, you can now enable the theme in the regular way, at http://your_blog.com/wp-admin/themes.php .

Relocate Your Existing WP Blog Data

...If you've got any to relocate! For new blogs, skip this bit.

You can do this by exporting from the old and importing into the new database. In my experience it's far easier to use WP's export/import tools, which also optimises the data.

Surf to your original blog:-

http://www.your_ORIGINAL_blog.com/wp-admin/export.php

...or Dashboard > Tools > Export .

And Download export file .

Now goto your new blog:-

http://www.your_ORIGINAL_blog.com/wp-admin/import.php

...or Dashboard > Tools > Import .

Click the WordPress option, choose the exported file and Upload file and import . Prompted, check the box Download and import file attachments .

If you receive any errors, that's probably a permissions problem. For example, I got this:-

Unable to create directory /home/public_html/waywiderweb.com/public/wp-content/uploads/2009/04. Is its parent directory writable by the server?

...So we'll take ownership of the directory:-

sudo chown -R guvnr:webmasters /home/public_html/waywiderweb.com
sudo chmod -R g+w /home/public_html/waywiderweb.com

And now have another go with Upload file and import , opting for our user imports and checking the box Download and import file attachments .

If you'd prefer to relocate select data, there's always wp-phpmyadmin .

Activating WP Super Cache

Activate in the usual WordPress way, and cash in on the groundwork of Part 13: Configure NGINX Multi-Site Virtual Hosts . Cash in, geddit! Sorry.

Updating WordPress Plugins

While 2.7 brought in some top functionality with the WordPress auto-updating, pretty much negating using Subversion to update the platform or plugins, there will be occasions when it's still faster to upgrade plugins this way.

Particularly this will be the case after a platform upgrade, when plugins race to bring out updates, they can be upgraded together using Subversion:-

sudo svn update

Sending Live a Relocated WordPress Blog

Refer to Part 19: Moving Day! How to Move Your Blog or Site for the best way to do this, with the least downtime or other sticky problems.

Rinse & Repeat

Follow this process for your entire blog farm.

Just Round the Corner

For WordPress, that's all the specifics taken care of, I think. You tell me, what have I forgotten? Lemme know and I'll write it up.

More generally, I'll wrap up the series - Set Up Unmanaged VPS (4 Newbies) .. The VPS Bible - by showing how and why to setup Google Apps in Part 17: Google Apps for Domain-Specific Email , which keeps our VPS server resources jealously focussed on our sites and blogs, before running down the all-important moving day checklist mentioned above. Then there'll be a handy backup guide before linking a heap of top resources for Linux newbies in Part 20: Blogroll, Links, Credits, Resources .

Guess what...


SETUP an Unmanaged VPS (4 Newbies) .. The V-P-S Bible

Serve multi sites & blogs on a budget .. at the fastest possible speed .. with the least downtime .. in the most secure environment .. and future-proofed for easy admin.

That's what the VPS Bible is about, stepped out in simple copy & paste guides.

From high traffic WordPress blogs to startup web hosts, here's what you need.

Set it up?   Click here for the 21 part follow-up .. V-P-S Admin

mysql -u root -p

Add your password, or the password we created when we installed MySQL in Part 8: FASTER VPS! Set Up PHP, MySQL & Xcache .

Now paste this lot, replacing your_wordpress_username , your_wordpress_password and wp_database_name with yours, and leaving the quote marks I've included for the password:-

grant all privileges on *.* to your_wordpress_username@localhost identified by "your_wordpress_password";
create database wp_database_name;
quit

Install WordPress on your Linux VPS Using Subversion

Let's go to the directory in which to install WordPress. I'm installing to my root directory, /home/public_html/waywiderweb.com/public , which I created in Part 13: Configure NGINX Multi-Site Virtual Hosts (the directory structure is explained most comprehensively in the video in Part 13.) If you want your blog to appear in a sub-directory, such as waywiderweb.com/blog, then use /home/public_html/waywiderweb.com/public/blog . Of course, change waywiderweb.com for your domain:-

cd /home/public_html/waywiderweb.com/public

If you created a test index.html file in Part 13: Configure NGINX Multi-Site Virtual Hosts , let's bin it:-

sudo rm index.html

Now we'll use the subversion command to install the latest version of WordPress. Ammend this version with any newer one. Leave the dot at the end, it's not a typo:-

sudo svn co http://svn.automattic.com/wordpress/tags/2.8.4 .

And create the WordPress config file:-

sudo mv wp-config-sample.php wp-config.php

Now let's connect the database. Open the WP config file:-

sudo nano wp-config.php
...and add the details you entered above into your new MySQL database. So, in the wp_config file, swap putyourdbnamehere , usernamehere and yourpasswordhere . Here's the original wp-config, before you change it:-
/** The name of the database for WordPress */
define('DB_NAME', 'putyourdbnamehere');

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

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

While you're in there, for added security, find:-

$table_prefix  = 'wp_';

...and swap wp_ to something unique.

Save and quit (CTRL-X, 'y' to confirm and hit Return.)

Run WordPress Install & Connect the MySQL Database

Open your blog in a browser, so for me, for instance, that's www.waywiderweb.com. Enter a few details, log in and change the password the WP installer gave the newly created Admin user. You should really delete Admin entirely and replace with another user, but that's another story.

Hack-Proof Your Blog

For complete WP security tips, read Video How-to: 10 Tips To Make WordPress Hack-Proof but ignore the bit about htaccess as that's an Apache thing, not Nginx.

Hmmn, if anyone's got any specific Nginx blog security tips, lemme know please. I'll write it up.

Batch-install WordPress Plugins using Subversion

This bit really rocks my roger. If you've got a bunch of blogs with pretty much the same plugins, you may just save a month of Sundays here.

Back at the CLI, goto the plugin directory:-

cd /home/public_html/waywiderweb.com/public/wp-content/plugins

Let's edit our plugin list. Keep that dot:-

sudo svn propedit svn:externals .

OK, so there's only Akismet in there. Let's add some more. Go to the WordPress Subversion plugin repository and take your pick. For each plugin you have 2 download choices:-

  • tags - stable releases by version, so choose generally the latest
  • trunk - latest version, bleeding edge, occasionally buggy

Personally, I run the trunk versions, for the simple reason that I can install or upgrade all plugins by issuing a simple command, thereafter. If a plugin gives me any gip, I simply delete it and its reference in my svn WP plugins list, else I replace its trunk with a tag. Of course, if you use the tags option, you have to keep editing your plugins file, which largely negates having it in the first place.

So, here's an example externals file that I've thrown together. Note the name of each plugin before the link, 'cos you must have that identifier. If you followed Part 14: Setup WordPress on NGINX (FURLs & Cache), you'll notice I've included the WP Super Cache plugin:-

akismet http://plugins.svn.wordpress.org/akismet/trunk/
wp-phpmyadmin http://svn.wp-plugins.org/wp-phpmyadmin/
wp-super-cache http://svn.wp-plugins.org/wp-super-cache/trunk/

TIDY TIP: If you're happy with trunks, in the WP Sub Vers Repos, look down the list and right mouse click > Copy Link Location , then paste it to a text file, adding the name of the plugin before the link. Do that to as many plugins as you want, then simply paste /trunk at the end of each link. Then paste the lot to your svn plugins file. Much quicker. If you want tagged versions, it's the long way round, 'cos the tags differ. Then again, for some plugins, there is no svn listing at all, so those have to be included the old-fashioned way.

Right, with your plugins file edited, saved and closed, now type:-

sudo svn update

Take tea.

Import Your WordPress Theme

Set Linux Folder Permissions

If you didn't in Part 13: Configure NGINX Multi-Site Virtual Hosts , set your folder permissions, allowing SFTP access, substituting guvnr with your user name:-

sudo chown -R guvnr:webmasters /home/public_html

Add the theme

If you are using a regular theme, add it in the usual WordPress way.

Alternatively, if you want to use a previous, adapted theme:-

Open an SFTP client like FileZilla or WinSCP, browse to your remote themes directory - something like /home/public_html/waywiderweb.com/public/wp-content/themes/ - and upload your bespoke theme.

Either way, you can now enable the theme in the regular way, at http://your_blog.com/wp-admin/themes.php .

Relocate Your Existing WP Blog Data

...If you've got any to relocate! For new blogs, skip this bit.

You can do this by exporting from the old and importing into the new database. In my experience it's far easier to use WP's export/import tools, which also optimises the data.

Surf to your original blog:-

http://www.your_ORIGINAL_blog.com/wp-admin/export.php

...or Dashboard > Tools > Export .

And Download export file .

Now goto your new blog:-

http://www.your_ORIGINAL_blog.com/wp-admin/import.php

...or Dashboard > Tools > Import .

Click the WordPress option, choose the exported file and Upload file and import . Prompted, check the box Download and import file attachments .

If you receive any errors, that's probably a permissions problem. For example, I got this:-

Unable to create directory /home/public_html/waywiderweb.com/public/wp-content/uploads/2009/04. Is its parent directory writable by the server?

...So we'll take ownership of the directory:-

sudo chown -R guvnr:webmasters /home/public_html/waywiderweb.com
sudo chmod -R g+w /home/public_html/waywiderweb.com

And now have another go with Upload file and import , opting for our user imports and checking the box Download and import file attachments .

If you'd prefer to relocate select data, there's always wp-phpmyadmin .

Activating WP Super Cache

Activate in the usual WordPress way, and cash in on the groundwork of Part 13: Configure NGINX Multi-Site Virtual Hosts . Cash in, geddit! Sorry.

Updating WordPress Plugins

While 2.7 brought in some top functionality with the WordPress auto-updating, pretty much negating using Subversion to update the platform or plugins, there will be occasions when it's still faster to upgrade plugins this way.

Particularly this will be the case after a platform upgrade, when plugins race to bring out updates, they can be upgraded together using Subversion:-

sudo svn update

Sending Live a Relocated WordPress Blog

Refer to Part 19: Moving Day! How to Move Your Blog or Site for the best way to do this, with the least downtime or other sticky problems.

Rinse & Repeat

Follow this process for your entire blog farm.

Just Round the Corner

For WordPress, that's all the specifics taken care of, I think. You tell me, what have I forgotten? Lemme know and I'll write it up.

More generally, I'll wrap up the series - Set Up Unmanaged VPS (4 Newbies) .. The VPS Bible - by showing how and why to setup Google Apps in Part 17: Google Apps for Domain-Specific Email , which keeps our VPS server resources jealously focussed on our sites and blogs, before running down the all-important moving day checklist mentioned above. Then there'll be a handy backup guide before linking a heap of top resources for Linux newbies in Part 20: Blogroll, Links, Credits, Resources .

Guess what...


SETUP an Unmanaged VPS (4 Newbies) .. The V-P-S Bible

Serve multi sites & blogs on a budget .. at the fastest possible speed .. with the least downtime .. in the most secure environment .. and future-proofed for easy admin.

That's what the VPS Bible is about, stepped out in simple copy & paste guides.

From high traffic WordPress blogs to startup web hosts, here's what you need.

Set it up?   Click here for the 21 part follow-up .. V-P-S Admin

  1. * Includes video tutorial.

  2. Not linked = not published. Won't be long. Fix a feed for updates.


If you liked that ...
... maybe you'll like these?

.