| Drupal
cant install modules

When developers install Drupal modules, they rely on Drush or version control to manage their work.

However, most ordinary Drupal users do everything through the admin interface. They install modules via the "Install new modules" link.

Sometimes that link goes missing. If you can't find your "Install new modules" link, here are four possible solutions.

Can't Find the

#1. The Update Manager module is disabled

The most common reason why people can't see the "Install new module" link is that the Update Manager module is enabled.

Go to your Modules page and make sure it is enabled:

Install new module link in Drupal

#2. Administer modules permission

It is possible that you don't have the correct permissions to install modules.

One way to double-check whether this is your problem, is to visit this URL on your site: /admin/modules/install. If you see "You are not authorized to access this page.", then you've found the issue.

The permission you need is called "Administer modules" and you'll find it under People > Permissions > System.

Administer modules permissions in Drupal

#3. Your hosting company 

Quite a few hosting companies won't allow you to upload modules via the Drupal interface.

For example, here's what Acquia says:

"One of the most common tasks you'll accomplish while developing or maintaining a Drupal website is adding a Drupal contributed module. If you're used to working in a local installation of Drupal 7, you may be used to doing this directly in the Drupal admin interface, using the core Update Manager module. If your site is hosted on Acquia Cloud, your site's module directories are managed in your code repository. This means that you can't just add a module using the Update Manager or SFTP. Instead, you need to use your version control system (Git or SVN). "

Managing your modules with version control is definitely aligned with Drupal's best practices, but it does explain why your "Install new module" link is missing.

Other hosting companies also disable "Install new module" for the same reasons.

#4. Check your settings.php file

Open up your site's files and go to /sites/default/settings.php. Look for this line of code:

#$conf['allow_authorize_operations'] = FALSE; 

Make sure that the # symbol exists at the front of this line.

If it doesn't exist, add the # symbol so it matches the code above. Or, you can change that code to this:

$conf['allow_authorize_operations'] = TRUE; 

About the author

Steve is the founder of OSTraining. Originally from the UK, he now lives in Sarasota in the USA. Steve's work straddles the line between teaching and web development.