Articles

How to Install ProcessWire

ProcessWire is an open-source content management system and framework.

After connecting a server to ServerPilot, you can install a ProcessWire app using SFTP.

Creating an App in ServerPilot

First, create an app in ServerPilot. Click + Create App at the top of your server's Apps page.

Name your app and select the server you want this app to be on.

You may also create a new system user or select an existing system user to run this app; we'll be using the serverpilot system user in this tutorial.

Click Create App to submit the form. You'll be shown some details about the app, including the location of your web root directory.

Creating a Database

ProcessWire requires a MySQL database, so we'll create one now.

Open your app's Databases tab in ServerPilot and click + Create Database.

Choose a database name. A database username and password will be generated for you. Write these down so you can enter them into the ProcessWire installer, and then click Create to submit the form.

If you forget to write down the database password and need to reset it, just click on the database user in ServerPilot to see the change password form.

Installing ProcessWire Using SFTP

Now, it's time to install ProcessWire on your server.

Visit https://processwire.com/download/ and click the option to download the newest version of the software.

Your browser will begin downloading an archive titled processwire-master.zip.

Log in to your server through Cyberduck (or your preferred SFTP client) with the username serverpilot and its password. (If you've just followed our tutorials on uploading files and configuring Cyberduck, then you might still be connected to your server.)

Follow this path to your app directory, where APPNAME is the name of your app (we use "processwire" in this tutorial):

apps/APPNAME

Drag the processwire-master.zip file from your computer's Downloads folder and drop it into your app directory in Cyberduck.

Delete your app directory's current public folder.

Next, click once on processwire-master.zip and select Expand Archive from the Cyberduck menu.

When the file has decompressed, delete the archive and rename the new folder to public.

Click Rename when the alert appears.

In your browser, visit http://YOUR.DOMAIN and click Get Started to begin the ProcessWire installation.

Select your Installation Profile and click Continue.

ProcessWire will run a compatibility check to verify all the appropriate systems are installed. If you receive an error message, click Check Again. ServerPilot installs all the ProcessWire requirements, so you should not receive any error messages.

The most common error is a false alert that mod_rewrite is missing from your Apache configuration; clicking Check Again creates a .htaccess file and clears the error.

Once all errors have been cleared, click Continue to the next step.

On the next page, enter the MySQL database name, username, and password you created in ServerPilot; leave the database host and port set to the installation defaults.

Leave the file permissions set to 755 and 644. These are the correct, secure settings created by ServerPilot for your app; changing them will cause your app to not work properly.

Leave the HTTP host name set to the default. You can make adjustments to your app's config.php file as needed after the installation.

Click Continue.

Set your ProcessWire admin account credentials on the next screen and click Continue again.


At this point, ProcessWire will trigger a false warning to change the permissions on your /site/config.php file.

This is triggered by a bug in the ProcessWire installer. ServerPilot's default permissions are secure and do not allow files to be accessed inappropriately.

You can safely ignore this warning.

You can now log in to your ProcessWire admin site and begin developing.

Refer to the ProcessWire documentation for assistant with using the CMS.


Last updated: June 19, 2017