Configuring DI when using four-layer architecture In my presentation layer I use an MVC pattern with DI to achieve thin controllers like so:

public class HomeController : Controller
{
    private IHomeService _service;

    public HomeController(IHomeService service)
        : base()
    {
        _service = service;
    }

    public override ActionResult Index()
    {
        HomeIndexViewModel viewModel = new HomeIndexViewModel();
        viewModel.NewsArticles = _service.GetLatestNewsArticles();
        return View(viewModel);
    }
}


I'm using Ninject thus I've configured Ninject within the presentation layer like so:

public class NinjectConfig
{
    public static IKernel CreateKernel()
    {
        StandardKernel kernel = new StandardKernel();

        kernel.Bind&lt;IHomeService&gt;().To&lt;HomeService&gt;();
        kernel.Bind&lt;ISearchService&gt;().To&lt;SearchService&gt;();

        return kernel;
    }
}


I'm a bit confused as to whether I should be configuring Ninject in the presentation layer, or whether this should be done in the application layer.

I'm also wondering whether it is acceptable to have multiple Ninject configurations in multiple layers, such as a configuration in the application layer and another in the business layer.
Actually, in this case you are not configuring ninject in presentation layer, as the presentation layer in case of MVC is cshtml files. 

DI engines (like ninject) should be generally configured in the start-up part of application, not in any specific layer. DI has nothing to do with logical decomposition of your application into layers. DI engines only role is to automatically 'distribute' dependencies to objects, usually by interfaces.
In case your application is modular and modules shouldn't see each other, than yes - in this case you probably need per-module DI set-up.

Coming back to ASP.NET MVC, in this case the initial object that are created are controllers and you need to provide implementations for it's dependencies (like you did in the code piece). Now if these dependencies - for exampl HomeService, have their own dependencies, these would need to be registered in the same ninject DI contaier right? So as you see, DI spawns across whole MVC application layers.