WordPress: Difference between revisions
m (Added Applications category) |
(Added install with MS SQL instructions) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Installation == | |||
=== With Microsoft SQL === | |||
Installing WordPress to use MS SQL is not recommended. It is possible, but its a bit of a bodge and you may encounter problems at a later date. You can install MySQL on Windows, and this is a preferred route to take if possible. | |||
You'll need to have a working installation of PHP completed on your webserver 1st | |||
# Create a new blank database on your MS SQL server with a user | |||
# Install the Microsoft Drivers 3.0 for PHP for SQL Server | |||
#* http://www.microsoft.com/en-us/download/confirmation.aspx?id=20098 | |||
#* Make sure that the sqlsvr extension is being loaded by PHP (you may need to restart IIS). Create a single PHP page with the content below. | |||
# Copy WordPress into the web root | |||
# Download and install the ''WP Db Abstraction'' plugin so that WordPress can access MS SQL | |||
#* http://wordpress.org/plugins/wordpress-database-abstraction/installation/ | |||
<source lang="php"> | |||
<?php | |||
phpinfo() | |||
?> | |||
</source> | |||
== Configuration == | == Configuration == | ||
=== Pretty Permalinks === | |||
The WordPress documentation recommends editing your site's <code>.htaccess</code> file in order to set-up pretty looking permalinks <ref>http://codex.wordpress.org/Using_Permalinks</ref>. However, where possible Apache advise against using a <code>.htaccess</code> file as it can impact a site's performance <ref>http://httpd.apache.org/docs/2.2/howto/htaccess.html</ref>. To do so, update your site's config file as follows... | |||
<pre> | |||
RewriteEngine On | |||
RewriteRule ^index\.php$ - [L] | |||
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f | |||
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d | |||
RewriteRule . /index.php [L] | |||
</pre> | |||
Add the above to the config for the site (not within a <code><Directory /></code> subsection for example). In order to stop Apache looking for an <code>.htaccess</code> file to process, ensure <code> AllowOverride </code> is disabled, for example... | |||
<pre> | |||
<Directory /> | |||
AllowOverride None | |||
</Directory> | |||
</pre> | |||
=== Send Emails via SMTP Server === | === Send Emails via SMTP Server === | ||
If you need to configure your WordPress install to use an SMTP server then there is no way to achieve this via the existing admin console (there are Plugins that do this though). | If you need to configure your WordPress install to use an SMTP server then there is no way to achieve this via the existing admin console (there are Plugins that do this though). | ||
Line 8: | Line 48: | ||
|- | |- | ||
| Be aware that changes made may be overwritten by software upgrades, and line numbers etc will change. | | Be aware that changes made may be overwritten by software upgrades, and line numbers etc will change. | ||
Procedure below was created using WordPress v3. | Procedure below was created using WordPress v3.6, will update when necessary for subsequent releases | ||
|} | |} | ||
Line 18: | Line 58: | ||
## To update the From email address in email update <code>$from_email = </code> at around line 335 | ## To update the From email address in email update <code>$from_email = </code> at around line 335 | ||
# Update <code> /wp-includes/class-phpmailer.php </code> to configure the SMTP server connection settings | # Update <code> /wp-includes/class-phpmailer.php </code> to configure the SMTP server connection settings | ||
## Find the line <code> public $Host = '';</code>, should be around line | ## Find the line <code> public $Host = '';</code>, should be around line 225, and update with MTA hosts | ||
##* EG <code>public $Host = 'mail.domain.com;mail2.domain.com'; </code> | ##* EG <code>public $Host = 'mail.domain.com;mail2.domain.com'; </code> | ||
## If you need to use a secure connection set <code> public $SMTPSecure </code> to <code>ssl</code> or <code>tls</code> as appropriate | ## If you need to use a secure connection set <code> public $SMTPSecure </code> to <code>ssl</code> or <code>tls</code> as appropriate | ||
Line 25: | Line 65: | ||
##* EG <code>public $Username = 'blog-email-account';</code> | ##* EG <code>public $Username = 'blog-email-account';</code> | ||
##* EG <code>public $Password = 'blog-email-ac-password';</code> | ##* EG <code>public $Password = 'blog-email-ac-password';</code> | ||
##* EG <code>public $SMTPSecure = 'tls';</code> (if required, could also be <code>ssl</code>) | |||
It's a bit of a pain to test, but if you've got comment notifications turned on, create a comment that needs approval and see if you get an approval request. | It's a bit of a pain to test, but if you've got comment notifications turned on, create a comment that needs approval and see if you get an approval request. | ||
The above was based on http://maisonbisson.com/blog/post/12939/using-wordpress-with-external-smtp-server/ | The above was based on http://maisonbisson.com/blog/post/12939/using-wordpress-with-external-smtp-server/ | ||
==References== | |||
<references /> | |||
[[Category:Applications]] | [[Category:Applications]] | ||
[[Category:Apache]] |
Latest revision as of 12:52, 11 October 2013
Installation
With Microsoft SQL
Installing WordPress to use MS SQL is not recommended. It is possible, but its a bit of a bodge and you may encounter problems at a later date. You can install MySQL on Windows, and this is a preferred route to take if possible.
You'll need to have a working installation of PHP completed on your webserver 1st
- Create a new blank database on your MS SQL server with a user
- Install the Microsoft Drivers 3.0 for PHP for SQL Server
- http://www.microsoft.com/en-us/download/confirmation.aspx?id=20098
- Make sure that the sqlsvr extension is being loaded by PHP (you may need to restart IIS). Create a single PHP page with the content below.
- Copy WordPress into the web root
- Download and install the WP Db Abstraction plugin so that WordPress can access MS SQL
<?php
phpinfo()
?>
Configuration
Pretty Permalinks
The WordPress documentation recommends editing your site's .htaccess
file in order to set-up pretty looking permalinks [1]. However, where possible Apache advise against using a .htaccess
file as it can impact a site's performance [2]. To do so, update your site's config file as follows...
RewriteEngine On RewriteRule ^index\.php$ - [L] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Add the above to the config for the site (not within a <Directory />
subsection for example). In order to stop Apache looking for an .htaccess
file to process, ensure AllowOverride
is disabled, for example...
<Directory /> AllowOverride None </Directory>
Send Emails via SMTP Server
If you need to configure your WordPress install to use an SMTP server then there is no way to achieve this via the existing admin console (there are Plugins that do this though).
Out of the box WordPress will try to use PHP's mail function, which will either try to use sendmail (on Unix) or an external MTA (on Windows). To send emails via an external SMTP server use the procedure below.
Be aware that changes made may be overwritten by software upgrades, and line numbers etc will change.
Procedure below was created using WordPress v3.6, will update when necessary for subsequent releases |
- Update
/wp-includes/pluggable.php
to use SMTP- Find the line
$phpmailer->isMail();
- In
vi
use/$phpmailer->isMail();
to find, should be around line 400
- In
- Update it to
$phpmailer->isSMTP();
- To update the From name in email update
$from_name =
at around line 320 - To update the From email address in email update
$from_email =
at around line 335
- Find the line
- Update
/wp-includes/class-phpmailer.php
to configure the SMTP server connection settings- Find the line
public $Host = ;
, should be around line 225, and update with MTA hosts- EG
public $Host = 'mail.domain.com;mail2.domain.com';
- EG
- If you need to use a secure connection set
public $SMTPSecure
tossl
ortls
as appropriate - If you need to authenticate with the server set the following...
public $SMTPAuth = true;
- EG
public $Username = 'blog-email-account';
- EG
public $Password = 'blog-email-ac-password';
- EG
public $SMTPSecure = 'tls';
(if required, could also bessl
)
- Find the line
It's a bit of a pain to test, but if you've got comment notifications turned on, create a comment that needs approval and see if you get an approval request.
The above was based on http://maisonbisson.com/blog/post/12939/using-wordpress-with-external-smtp-server/