This document is in Markdown. An HTML formatted version of this document can be read at: https://processwire.com/download/readme
ProcessWire is an open source content management system (CMS) and web application framework aimed at the needs of designers, developers and their clients. ProcessWire gives you more control over your fields, templates and markup than other platforms, and provides a powerful template system that works the way you do. Not to mention, ProcessWire's API makes working with your content easy and enjoyable. Managing and developing a site in ProcessWire is shockingly simple compared to what you may be used to.
Unzip the ProcessWire installation file to the location where you want it installed on your web server.
Load the location that you unzipped (or uploaded) the files to in your web browser. This will initiate the ProcessWire installer. The installer will guide you through the rest of the installation.
Git clone ProcessWire to the place where you want to install it:
git clone https://github.com/ryancramerdesign/ProcessWire
Load the location where you installed ProcessWire into your browser. This will initiate the ProcessWire installer. The installer will guide you through the rest of the installation.
This indicates that Apache is not properly reading your .htaccess file.
First we need to determine if Apache is reading your .htaccess file at all.
To do this, open the .htaccess file in an editor and type in some random
characters at the top, like lkjalefkjalkef
and save. Load your site in
your browser. You should get a "500 Error". If you do not, that means
Apache is not reading your .htaccess file at all. If this is your case,
contact your web host for further assistance. Or if maintaining your own
server, look into the Apache AllowOverride directive which you may need
to configure for the account in your httpd.conf file.
If the above test did result in a 500 error, then that is good because we know your .htaccess file is at least being used. Go ahead and remove the random characters you added at the top. Now look further down in the .htaccess file for suggested changes. Specially, you will want to look at the RewriteBase directive, which is commented out (disabled) by default. You may need to enable it.
The presence of an Apache 500 error indicates that Apache does not like one or more of the directives in the .htaccess file. Open the .htaccess file in an editor and read the comments. Note those that indicate the term "500 NOTE" and they will provide further instructions on optional directives you can try to comment out. Test one at a time, save and reload in your browser till you determine which directive is not working with your server.
If you are getting an error message, a blank screen, or something else unexpected, see the section at the end of this document on enabling debug mode. This will enable more detailed error reporting which may help to resolve any issues.
In addition, the ProcessWire error log is located in the file: /site/assets/logs/errors.txt - look in here to see if more information is available about the error message you have received.
If the above suggestions do not help you to resolve the installation error, please post in the ProcessWire forums.
If you prefer an automatic/web-based upgrade, an upgrade module is available for upgrading to 2.7. This upgrade utility can also help with upgrading other modules as well.
Before upgrading, login to your ProcessWire admin under a superuser account. This is not required to upgrade, but is recommended for more verbose output during the upgrade.
Upgrading from one version of ProcessWire to another is a matter of deleting these files/directories from your old version, and putting in fresh copies from the new version:
/wire/
/index.php
/.htaccess
Removing and replacing the above directory/files is typically the primary thing you need to do in order to upgrade. But please see the version-to-version specific upgrade notes documented further in this section. Further below are more details about how you should replace the files mentioned above.
After replacing the /wire/ directory (and the other two files if needed), hit reload in your browser, anywhere in the ProcessWire admin. You should see messages at the top of your screen about updates that were applied. Depending on which version you are upgrading from, you might also see error messages--this is normal. Keep hitting reload in your browser until you no longer see any upgrade related messages (up to 5 reloads may be necessary).
NOTE: Renaming is an alternative to deleting, which gives you a quicker path to revert should you want to. For example, you might rename your /wire/ directory to be /.wire-2.4.0/ with ".wire" rather than "wire" to ensure the directory is hidden, and the 2.4.0 indicating the version that it was. Once your upgrade is safely in place, you could delete that .wire-2.4.0 directory (or keep it around). If you keep old version dirs/files in place, make sure they are not http accessible. This is typically done by preceding the directory with a period to make it hidden.
When you put in the new /wire/ directory, make sure that you remove or rename the old one first. If you just copy or FTP changed files into the existing /wire/ directory, you will end up with both old and new files, which will cause an error.
Note that the /wire/ directory does not contain any files specific to your site, only to ProcessWire. All the files specific to your site are stored in /site/ and you would leave that directory alone during an upgrade.
This file doesn't change often between minor versions. As a result, you don't need to replace this file unless it has changed. But when in doubt, you should replace it.
This is also a file that does not always change between versions. But when it changes, it is usually important for security that you are up-to-date. When in doubt, replace your old .htaccess file with the htaccess.txt from the new version.
This file is initially named htaccess.txt in the ProcessWire source. You will want to remove your existing .htaccess file and rename the new htaccess.txt to .htaccess
Sometimes people have made changes to the .htaccess file. If this is the case for your site, remember to migrate those changes to the new .htaccess file.
If using ProCache
If you are using ProCache, it will have added some things to your
.htaccess file. Copy these changes from your old .htaccess file to
your new one. The changes are easy to identify in your previous
.htaccess file as they start and end with a "# ProCache" comment.
Alternatively, you can have ProCache re-apply the changes itself by
logging in to your admin and going to Setup > ProCache.
Completing an upgrade typically requires hitting reload in your browser 1-5 times to apply database updates. If logged into your admin, you will see notices about the updates that it is applying on each reload.
After completing the upgrade test out your site thoroughly to make sure everything continues to work as you expect.
If using Form Builder make sure you have the latest version, as past versions did not support ProcessWire 2.4+. With ProcessWire 2.7 we recommend FormBuilder 0.2.5+.
If using ProCache and you upgraded your .htaccess file, you should go to your ProCache settings after the upgrade to have it update your .htaccess file again. If no upgrades to your .htaccess file are necessary, than the ProCache settings page own't mention it.
If using ListerPro, we recommend using version 1.0.9+ with ProcessWire 2.7.
The general upgrade process may be followed to perform this upgrade. It is not necessary to replace your .htaccess file. You should replace these directories/files:
Next, check if any of your modules would benefit from upgrades. If using any of the Pro modules, there are newer versions that provide additional capabilities for ProcessWire 2.6 dev and 2.7. Visit the relevant support board at the ProcessWire forums to download the latest.
The general upgrade process may be followed to perform this upgrade. In addition, please note the following:
The general upgrade process may be followed to perform this upgrade. In addition, please note the following:
New .htaccess and index.php files
While not urgent, you will want to replace your .htaccess
and index.php files as part of the upgrade.
If you have modified either of those files, it's okay to leave them in
place temporarily, as you can still use ProcessWire 2.5 with the old
.htaccess and index.php files in place. But we recommend updating them
when you can.
Does your site depend on other sites loading it in an iframe?
Related to the above point, the new .htaccess file contains an option
that you will need to disable if your site relies upon other sites
loading yours in an <iframe>
. If this is your case, please delete or
comment out this line in your .htaccess file:
Header always append X-Frame-Options SAMEORIGIN
TinyMCE rich text editor was replaced with CKEditor
2.5 dropped TinyMCE as the rich text editor and replaced it with
CKEditor. After installation of 2.7, you will see an error message
on any pages that use TinyMCE. From this point, you may either
install TinyMCE or switch your fields using TinyMCE
to CKEditor. To switch to CKEditor, go to Setup > Fields > [field] > Details,
and change the Inputfield Type to CKEditor (it may already be
selected), then be sure to Save.
Already have CKEditor or HTML Purifier installed?
A couple of modules that were previously 3rd party (site) modules
are now core (wire) modules in ProcessWire 2.7. If you have either
the InputfieldCKEditor or MarkupHTMLPurifier modules installed,
you will get warnings about that after upgrading. The warnings will
tell you to remove the dirs/files for those modules that you have in
/site/modules/. Don't be alarmed, as this is not an error, just a
warning notice. But it is a good idea to remove duplicate copies
of these modules when possible.
Next, review the upgrade instructions for 2.6 to 2.7 for any additional instructions.
Newer versions of ProcessWire have these additional requirements:
Please confirm your server meets these requirements before upgrading. If you are not certain, paste the following into a test PHP file and load it from your browser:
<?php phpinfo();
This will show your PHP configuration. The PHP version should show PHP 5.3.8 or newer and there should be a distinct PDO section (header and information) present in the output.
To proceed with the upgrade follow the general upgrade process above. You will want to replace your index.php and .htaccess files as well.
In addition we recommend adding the following line to your /site/config.php:
$config->httpHosts = array('domain.com', 'www.domain.com');
Replace domain.com with the hostname(s) your site runs from.
Next, review the upgrade instructions for 2.5 to 2.6 and 2.6 to 2.7 for any additional instructions.
If you get an error message when loading your site after an upgrade, hit "reload" in your browser until the error messages disappear. It may take up to 5 reloads for ProcessWire to apply all updates.
If using Form Builder, make sure you have version 0.2.3 or newer, as older versions did not support ProcessWire 2.4+. For ProcessWire 2.7 we recommend using FormBuilder 0.2.4 or newer.
If your site still doesn't work, remove the /wire/ directory completely. Then upload a fresh copy of the /wire/ directory.
If your site still doesn't work, view the latest entries in your error log file to see if it clarifies anything. The error log can be found in: /site/assets/logs/errors.txt
If your site still doesn't work, enable debug mode (as described in the next section) to see if the more verbose error messages help you to determine what the issue is. If you need help, please post in the ProcessWire support forums.
Debug mode causes all errors to be reported to the screen, which can be helpful during development or troubleshooting. When in the admin, it also enables reporting of extra information in the footer. Debug mode is not intended for live or production sites, as the information reported could be a problem for security. So be sure not to leave debug mode on for any live/production sites.
/site/config.php
$config->debug = false;
false
to true
, like below, and save. $config->debug = true;
This can be found near the bottom of the file, or you can add it if not already there. It will make PHP and ProcessWire report all errors, warnings, notices, etc. Of course, you'll want to set it back to false once you've resolved any issues.
Copyright 2015 by Ryan Cramer / Ryan Cramer Design, LLC