• Categories
    Category
    {{ postCtrl.tags }}
    • {{ category.tag_type }}

      • {{tag.tag_name}}
      • View more
  • Categories
    Category
    {{ postCtrl.tags }}
    • {{ category.tag_type }}

      • {{tag.tag_name}}
      • View more
  • News
  • Tutorials
  • Forums
  • Tags
  • Users
Tutorial News Comments FAQ Related Articles

How to install ProcessWire CMS on Centos 7 using LEMP

{{postValue.id}}


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.

1

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

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

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

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.
5

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

Enter all the necessary details and click on Continue.
7

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

With this, the installation of ProcessWire CMS on CentOS 7 via NGINX is complete.

Tags:
grayson
Author: 

Comments ( 0 )

No comments available

Add a comment
{{postCtrl.cmtErrMsg}}

Frequently asked questions ( 5 )

Q

What is ProcessWire CMS?

A

ProcessWire is a free and open source content management system built using PHP. It is a 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.

Q

what is the recommended PHP version for Processwire?

A

For ProcessWire it is recommended to have PHP 5.6 version and above.

Q

What are the required PHP modules for ProcessWire?

A

The required PHP Modules are php71w php71w-mysqli with PHP 7 is used for ProcessWire.

Q

Where to download the archive file of ProcessWire?

A

You can download the archive format of ProcessWire from https://github.com/processwire/processwire/archive/master.zip

Q

What PHP extension is used for Processwire while running in Nginx web server?

A

For ProcessWire in LEMP stack, php-fpm is mandatory.

Back To Top!
Rank
User
Points

Top Contributers

userNamenaveelansari
135850

Top Contributers

userNameayanbhatti
92510

Top Contributers

userNamehamzaahmed
32150

Top Contributers

1
userNamelinuxhelp
31040

Top Contributers

userNamemuhammadali
24500
Can you help Lucas ?
Various options in Top command

Am using Top command only to view the load average, what are the various options in Top command..??

Networking
  • Routing
  • trunk
  • Netmask
  • Packet Capture
  • domain
  • HTTP Proxy
Server Setup
  • NFS
  • KVM
  • Memory
  • Sendmail
  • WebDAV
  • LXC
Shell Commands
  • Cloud commander
  • Command line archive tools
  • last command
  • Shell
  • terminal
  • Throttle
Desktop Application
  • Linux app
  • Pithos
  • Retrospect
  • Scribe
  • TortoiseHg
  • 4Images
Monitoring Tool
  • Monit
  • Apache Server Monitoring
  • EtherApe 
  • Arpwatch Tool
  • Auditd
  • Barman
Web Application
  • Nutch
  • Amazon VPC
  • FarmWarDeployer
  • Rukovoditel
  • Mirror site
  • Chef
Contact Us | Terms of Use| Privacy Policy| Disclaimer
© 2025 LinuxHelp.com All rights reserved. Linux™ is the registered trademark of Linus Torvalds. This site is not affiliated with linus torvalds in any way.