How to install ProcessWire CMS on Centos 7 using LEMP
To install ProcessWire CMS on Centos 7 using LEMP
ProcessWire is a free and open source content management system built using PHP. It is flexible and easy-to-use platform which can be customized as per the desire of the users. Processwire also lets you have a strong control over your pages, fields, templates and markup at any scale. Although it may seem little tedious, the process of installing ProcessWire CMS on CentOS 7 by using the LEMP stack is very simple and you can also do it by following this tutorial.
Installing ProcessWire CMS
In order to install ProcessWire CMS, you need certain extensions, so install PHP with those extensions as follows.
[root@linuxhelp ~]# yum -y install php71w php71w-mysqli
php71w-gd php71w-cli ImageMagick
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.viethosting.com
* epel: ftp.jaist.ac.jp
* extras: mirror.ehost.vn
* updates: centos-hcm.viettelidc.com.vn
* webtatic: sp.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package ImageMagick.x86_64 0:6.7.8.9-15.el7_2 will be
installed
--> Processing Dependency: libwmflite-0.2.so.7()(64bit) for
package: ImageMagick-6.7.8.9-15.el7_2.x86_64
--> Processing Dependency: libImath.so.6()(64bit) for package:
ImageMagick-6.7.8.9-15.el7_2.x86_64
.
.
.
php71w-xml.x86_64 0:7.1.8-2.w7
systemd.x86_64 0:219-30.el7_3.9
systemd-libs.x86_64 0:219-30.el7_3.9
systemd-python.x86_64 0:219-30.el7_3.9
systemd-sysv.x86_64 0:219-30.el7_3.9
Complete!
Once it is done, go to its official website to copy the download link. Use the wget command to download the package with that link.
[root@linuxhelp ~]# wget
https://github.com/processwire/processwire/archive/master.zip
--2017-09-12 09:42:55--
https://github.com/processwire/processwire/archive/master.zip
Resolving github.com (github.com)... 192.30.255.112,
192.30.255.113
Connecting to github.com (github.com)|192.30.255.112|:443...
connected.
HTTP request sent, awaiting response... 302 Found
Location:
https://codeload.github.com/processwire/processwire/zip/master
[following]
--2017-09-12 09:42:57--
https://codeload.github.com/processwire/processwire/zip/master
Resolving codeload.github.com (codeload.github.com)...
192.30.255.120, 192.30.255.121
Connecting to codeload.github.com (codeload.github.com)|
192.30.255.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘ master.zip’
[ < => ] 11,810,577
580KB/s in 48s
2017-09-12 09:43:48 (240 KB/s) - ‘ master.zip’ saved [11810577]
Once the package is downloaded, extract it by using the following command.
[root@linuxhelp ~]# unzip master.zip
Archive: master.zip
57b297fd1d828961b20ef29782012f75957d6886
creating: processwire-master/
inflating: processwire-master/.gitignore
inflating: processwire-master/CONTRIBUTING.md
inflating: processwire-master/LICENSE.TXT
inflating: processwire-master/README.md
inflating: processwire-master/composer.json
inflating: processwire-master/htaccess.txt
inflating: processwire-master/index.php
inflating: processwire-master/install.php
creating: processwire-master/site-beginner/
creating: processwire-master/site-beginner/assets/
.
.
.
.
inflating: processwire-master/wire/templates-
admin/styles/inputfields.css
inflating: processwire-master/wire/templates-
admin/styles/install.css
inflating: processwire-master/wire/templates-
admin/styles/main.css
inflating: processwire-master/wire/templates-
admin/styles/reset.css
inflating: processwire-master/wire/templates-
admin/styles/ui.css
inflating: processwire-master/wire/templates-admin/topnav.inc
This is one of the most crucial part, you need to move the processwire directory onto nginx document root. Do it this way.
[root@linuxhelp ~]# mv processwire-master/
/usr/share/nginx/html/
After that, you need to provide owner permission and file execution permission as follows.
[root@linuxhelp ~]# chown -R nginx:nginx /usr/share/nginx/html/ [root@linuxhelp ~]# chmod -R 775 /usr/share/nginx/html/
Another crucial step in this installation process is the configuration of nginx, for that you need to access the .conf file. Run the following command for the same purpose.
[root@linuxhelp ~]# vim /etc/nginx/nginx.conf
Once the .conf file is open, configure it as follows.
server {
listen 80 default_server
listen [::]:80 default_server
server_name 192.168.7.165
root /usr/share/nginx/html
index index.php
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf
location ~ \.php$ {
try_files $uri =404
fastcgi_pass unix:/run/php-fpm/php-fpm.sock
fastcgi_index index.php
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
include fastcgi_params
}
}
After the configuration, restart your nginx service with the help of the following command.
[root@linuxhelp ~]# systemctl restart nginx
The configuration part doesn' t end with this as you should also make some changes in the php-fpm configuration file. Run the following command to open that file.
[root@linuxhelp ~]# vim /etc/php-fpm.d/www.conf.
Once the file is open, make the following changes.
listen = /run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx user = nginx group = nginx
After configuring the file, you need to start the php fpm service so run the following command for the same purpose.
[root@linuxhelp ~]# systemctl start php-fpm
The configuration part is over, but you still need to provide owner permission for php-fpm configuration. This can be done by running the following command.
[root@linuxhelp ~]# chown -R nginx:nginx /run/php-fpm/php-
fpm.sock
After all this, you need to restart php-fpm service as follows.
[root@linuxhelp ~]# systemctl restart php-fpm
Now let us do the remaining part through GUI, so switch to your browser and enter machine’ s IP address in the URL search bar. When the page appears, click on the Get Started button.

Now, in the Site Installation Profile drop-down list box, choose Default (Beginner Edition).

Once the details appear on your screen, click on Continue to proceed further.

Once the Compatibility Check appears, check all the listed details and then click on Continue at the end of that page.

Now, you will be asked to enter your Database credentials, so enter all the details in the appropriate fields, and then click on Continue for proceeding further.

You will be acknowledged about your Admin Account. Then scroll down to enter your Admin Panel Information.

Enter all the necessary details and click on Continue.

After that, you' ll get to see your minimal site profile. You can enhance it by adding your web content.

With this, the installation of ProcessWire CMS on CentOS 7 via NGINX is complete.
Comments ( 0 )
No comments available