The best joomla server configuration and set up post is shared and written for the general purpose. So if you don’t understand anything about command line, server set up or server administration, you don’t have to worry. We only provide you the solution and the reason why and how to choose the right platform for your joomla server to get it work best. If you want your server set up like all of stuffs in this post, please contact us.
IS YOUR JOOMLA SERVER FAST?
Joomla System Requirements doesn’t require a lot of server resource and doesn’t require the server have to be strong or some special tweaks. But if you are a fan of joomla or you have run joomla for your online business for a long time, you will realize that it is not easy to get joomla work fast and secure as it should – less than 1 second per page load.
Sound nice to get a best joomla server configuration and set up. So let ‘s get started!!!
1. Operating System (OS): Linux/Unix, Windows or Mac?
As you see we have many options here for the first idea about OS because all of them are working well with Joomla Server. But still only Linux OS work best for PHP because PHP was born in Linux and all of update are up to date for linux first. Other than that, not all of modules and extensions of PHP will work in other type of OS platform so that we have no doubt to choose Linux as the best OS for Joomla because it make PHP work best.
Even though we already got Linux as OS Platform we still need to choose from a hundred of linux distributions. Base on our experience, let ‘s choose the most popular linux server is CentOS or Ubuntu. With CentOS, it have many development versions and not update too usually, but with Ubuntu it have a very good community always update on time. So that in the last choice, I recommend you choose Ubuntu 12.4 LTS. For the popular linux OS, you will get a lot of tools with high compatible, stable and a lot of help tutorials. That ‘s the point.
2. Webserver: nginx or apache?
For the fastest server, lower cost then I suggest you choose Nginx since it is designed to save server resource, fast and secure but still keep all of features you need for joomla. But if you want to work with the new rules of nginx.conf instead of .htaccess then apache should be perfect.
Other than that, not all of components and modules of third party of joomla will work well on Nginx as it work on Apache because it require some special .htaccess rules. If joomla module doesn’t require .htaccess rules then it should be fine in Nginx. But the good thing is all of rule in .htaccess can be converted to nginx.conf so that if you really want to move your joomla site to Nginx webserver then I am pretty sure you will have way to get it work well.
So for the best performance, I highly recommend you choose Nginx, for the easiest to use let ‘s choose apache.
Check our article Joomla Nginx set up and configuration.
3. PHP: mod_php, fastcgi or php-fpm?
The quick answer for this is php-fpm, we have full reason why to make sure php-fpm is the best in this post mod_php, FastCGI or PHP-FPM for Server?
4. Database (or DBMS – Database Management System): MySQL, MariaDB or Percona?
I think you will have the first question is: do MariaDB and Percona work well with Joomla? Or what is MariaDB? What is Percona?
I can say they are all work well with Joomla as database engine 100%. For more information you can look at
The option will belong to your server hardware but I would say, you should choose MariaDB. Almost of our customer feel happy and easy to use with MariaDB. You can think about MariaDB and Percona as Advantage version of MySQL with all of Tweaks what already done for us. They work exactly like MySQL. That ‘s mean if your server are using mysql then you can just install Percona or MariaDB override MySQL, everything should work well as it is working.
5. Proxy cache/Static cache: Squid, Varnish or Nginx?
A little bit too advantage here with proxy cache server but I can give you some of conclusion:
- Squid: this is pure proxy server what is not design for web caching and it ‘s too old technique so that we shouldn’t use it for our new server with new hardware and software
- Varnish: it ‘s nice understand and use them as proxy caching server, it can do more than a proxy cache but it require a very high tech to manage and maintain the system. If you have Varnish expert then let ‘s go with it. Or you have too much money then let ‘s hire Varnish service to maintain it.
- Nginx: this is cheap, easy and fast proxy cache server with a big community and a lot of tutorials. I highly recommend you use Nginx as proxy cache server. In the case you are using nginx as webserver then you just simply configure it for static cache and don’t need to be a proxy but still keep the high response server as proxy.
People are talking about the combination nginx as webserver and varnish as proxy server to have a perfect server set up. But I don’t think it ‘s the best solution since nginx serve the static files faster than varnish and varnish serve the dynamic content faster than nginx. But varnish require too much work in running and maintain it. So that I think we should choose nginx as our solution.
6. PHP Dynamic cache: Memcache, Redis , APC …
I would say Redis is fastest but memecache is very popular what work with all of caching module of joomla so that I think you should choose memcache. APC or others are good choice too but not best for PHP Dynamic cache.
7. PHP Opcode: XCache, eAccelerate, APC …
First of all, what is opcode?
PHP is an interpreted language. This means that each time a PHP generated page is requested, the server must read in the various files needed and “compile” them into something the machine can understand (opcode). A typical Drupal page requires more than a dozen of these bits of code be compiled.
Opcode cache mechanisms preserve this generated code in cache so that it need only be generated a single time to server hundreds or millions of subsequent requests.
That ‘s enough for what is opcode. So the main question is which opcode solution should we use?
Let ‘s use APC, it ‘s official and built-in support from PHP 6.x. With this information we can understand APC is the best choice for future.
8. Server Management Panel: CPanel, Webmin or ISPConfig?
For the easiest to use I would say Cpanel since it is the most popular, if you have ever used server control panel, then I am pretty sure you already used CPanel. But still if you use Nginx as your webserver then the only perfect choice for you is ISPConfig. Other than that, ISPConfig is 100% free and opensource so that you can use on unlimited server. You can take a look at ISPConfig here http://ispconfig.org/
Our team always use ISPConfig as our server management panel since it ‘s stable and update usually with nice functionality. And of course, it can do all of tasks what a web server panel should have. Maybe one more reason we use them is it ‘s totally free.
In summary, what is the best server configuration and set up for joomla? With our choice, we use Ubuntu 12.04 64bit + Nginx + PHP-FPM + MariaDB + Memcache + APC + ISPConfig
Need some tweaks to configure cache for your joomla site to get it work best. So let ‘s try it and you will see how strong it is.
Again, if you are not going to install and configure server yourself then you can contact us for help and you even don’t want to use server/vps for your joomla site then you can look at another post the best joomla hosting to choose the best joomla hosting for you.
Good luck and welcome your comment …