Now that you have a good understanding of installing and configuring engine X one of the final configuration
tasks is that of making more functionality available or in other words adding new engineers modules
in this place and then we'll see how to add modules to an existing engineers install by rebuilding the
source.
But more specifically do so with a dynamic module dynamic modules being modules we can load selectively
from the engine configuration unlike static modules which is always loaded before we start.
Note that adding standard modules is exactly the same as adding dynamic modules as is upgrading engine
X itself to a newer version just something to keep in mind.
As I mentioned then in order to add new modules to engine X will have to rebuild engine X from source
meaning as with the installation section of the course.
We'll need the source code.
I still have the original source I downloaded right here in the root users home directory including
that extracted directory containing the actual source code.
I'll change into this directory this being where we originally built this install from.
And it's perfectly reusable.
Of course at this point should engine X have released a new version.
You could also download that in bold the newer version instead which is all there is to upgrading engine
X..
Step 1 to rebuilding in X then is making sure we don't change any of the existing configuration which
we can very easily get by running engine X with a capital V flag there.
This being the configuration with which the current install was built.
So immediately copy that as we all want to use the exact same configuration.
Only adding are new modules having copied that.
The next step is going to be adding a new module to this configuration to see a list of modules available
with the source code download.
Then we can run configure in the current rectory with a help flag which lists out all of these modules
and flags available to configure engine X worth.
And if we scroll up a bit we see a few of these available modules that end worth equals dynamic.
These being dynamic modules we can also filter this output to only show the dynamic modules run that
same command.
But this time filter through grep looking for only lines containing dynamic.
And there we have it not many but still a few to choose from.
I'll add this HTP image filter module to demonstrate so post the original configuration command.
We copied a minute ago and simply add to this the module flag as it's listed here in order to have this
module compiled into engine X..
With that equals dynamic string telling engine X to compile this as a dynamic module.
Now whilst running this as is will be fine.
We've configured our engineers install to have all its configuration files at slash iti see slash engine
X meaning to have these dynamic modules at that same location which is going to make enabling them much
easier.
We also have to specify the module spark off which we can do by adding a flag modules Poff setting that
to slash it C slash engine X..
So where the configuration files are located slash modules run this.
And very quickly the configuration files HTP image filter module requires the g.d. library which is
an image processing module for Linux.
A dependency of this image filter module clear this install that module via a peetie by running apt
get install labidi dev.
I'll forward through this answering yes all the way through and done.
Try configuring the engine X source again fast forward and this time it works confirming all other configuration
paths including that new modules directory compile the newly configured source code by running make
as we did during the installation.
Fast forward again as this is quite a long process.
And once that's done run make install which installs the newly compiled source over the existing engine
exe install.
Note that any existing configuration files are left untouched so nothing to worry about there.
Check the current Bolds configuration and this now includes a new module and the modules bath.
Reload engine X to make sure everything is fine.
Check it status.
And all good.
So having this new image filter module installed Let's try and use it in our configuration.
The obvious candidate being thumb don't be in G.
Over to the configuration file.
I'll add a new exact match location for thumb dot G meaning we can apply image filters to this image
with certainty inside this location and if we check the documentation for this new module HTP underscore
image underscore faulter we see a number of arguments accepted on this image filter director off for
manipulating image data.
I'll add image underscore folder rotate rotating thumb don't be in G by a hundred and eighty degrees.
So flipping it upside down.
Save this and before reloading in generics as I know this isn't going to work.
Check the configuration syntax with engine X and a t flag.
Unknown directive.
Image underscore or falter that they're active we just added the should of course be available as we've
added that h.t. dp image full to module.
But remember we added it as a dynamic module meaning that module is not being loaded into INJ and X
by default the module itself exists in the modules part directory we defined list the contents of that
rectory e.g. C in X modules and there it is modules having a common dot s o extension so to enable this
module and have engine X load it we can add to the configuration in the main context load underscore
module the path to that module which is why I said having it in the same directory as the engine X configuration
simplifies loading it modules slash hgt body image filter module dot s o.
Relative to this engine X dot com file safe.
Check the configuration is okay again which it is.
This time round.
Reload.
And in the browser window refresh.
Some dopey end year served at a 180 degree rotation meaning our new image filter module is working as
expected as you can see then adding to upgrading or even making changes to the engine X installation
is extremely simple and can be done without any downtime whatsoever.