PHPackages                             jkribeiro/drupal-composer-paranoia-acquia - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. jkribeiro/drupal-composer-paranoia-acquia

ActiveComposer-plugin[Security](/categories/security)

jkribeiro/drupal-composer-paranoia-acquia
=========================================

Composer plugin to improve the security of composer-based Drupal projects by moving all PHP files out of docroot for Acquia Environments.

1.x-dev(5y ago)32.0M↑31.8%1GPL-2.0+PHPPHP &gt;=5.4.5

Since Apr 18Pushed 5y agoCompare

[ Source](https://github.com/jkribeiro/drupal-composer-paranoia-acquia)[ Packagist](https://packagist.org/packages/jkribeiro/drupal-composer-paranoia-acquia)[ RSS](/packages/jkribeiro-drupal-composer-paranoia-acquia/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelogDependencies (3)Versions (5)Used By (0)

Drupal Composer paranoia mode for Acquia Cloud environments
===========================================================

[](#drupal-composer-paranoia-mode-for-acquia-cloud-environments)

Composer plugin for improving the website security for composer-based Drupal projects by moving all PHP files out of docroot, for Acquia environments.

This plugin has the dependency of the [drupal-paranoia](https://github.com/drupal-composer/drupal-paranoia) plugin, performing additional installation steps to run the paranoia mode on Acquia Cloud environments.

Would like to know more about it?

-
- [Moving all PHP files out of the docroot](https://www.drupal.org/node/2767907)
- [\#1672986: Option to have all php files outside of web root](https://www.drupal.org/node/1672986)
- [Remote Code Execution - SA-CONTRIB-2016-039](https://www.drupal.org/node/2765575)
-

Configuration
-------------

[](#configuration)

Make sure you have a [drupal-composer/drupal-project](https://github.com/drupal-composer/drupal-project)-based project created.

Rename your Acquia repo docroot directory to `app`.

```
mv docroot app

```

Update the `composer.json` of your root package with the following changes:

```
"extra": {
    "installer-paths": {
        "app/core": ["type:drupal-core"],
        "app/libraries/{$name}": ["type:drupal-library"],
        "app/modules/contrib/{$name}": ["type:drupal-module"],
        "app/profiles/contrib/{$name}": ["type:drupal-profile"],
        "app/themes/contrib/{$name}": ["type:drupal-theme"],
        "drush/contrib/{$name}": ["type:drupal-drush"]
    },
    "drupal-paranoia": {
        "app-dir": "app",
        "web-dir": "docroot"
    }
    "..."
}
```

Use `composer require ...` to install this Plugin on your project.

```
composer require jkribeiro/drupal-composer-paranoia-acquia:~1

```

Run the following commands to make sure that the new folders are installed:

```
composer drupal:paranoia
composer drupal:paranoia-acquia

```

Done! Plugin and new docroot are now installed.

Folder structure
----------------

[](#folder-structure)

Your project now is basically structured on two folders.

- **app**: Contains the files and folders of the full Drupal installation.
- **docroot**: Contains only the **symlinks of the assets files** and the **PHP stub files** from the `app` folder.

Every time that you install or update a Drupal package via Composer, the `docroot` folder is automatically recreated.

If necessary, you can rebuild it manually, running the command

```
composer drupal:paranoia

```

This could be necessary when updating themes images, CSS and JS files.

Last step is to commit and push the changes to Acquia Cloud git repository.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity43

Moderate usage in the ecosystem

Community9

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~241 days

Total

5

Last Release

1986d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/82291593cc1356f74a314304499ad8aa14c24ca61f99e6be72d24e21844457ab?d=identicon)[jkribeiro](/maintainers/jkribeiro)

---

Top Contributors

[![jkribeiro](https://avatars.githubusercontent.com/u/1932061?v=4)](https://github.com/jkribeiro "jkribeiro (13 commits)")[![suzymasri](https://avatars.githubusercontent.com/u/12935384?v=4)](https://github.com/suzymasri "suzymasri (1 commits)")

---

Tags

composerdrupaldrupal-8security

### Embed Badge

![Health badge](/badges/jkribeiro-drupal-composer-paranoia-acquia/health.svg)

```
[![Health](https://phpackages.com/badges/jkribeiro-drupal-composer-paranoia-acquia/health.svg)](https://phpackages.com/packages/jkribeiro-drupal-composer-paranoia-acquia)
```

###  Alternatives

[mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

2.0k16.7M113](/packages/mews-purifier)[drupal/core-vendor-hardening

Hardens the vendor directory for when it's in the docroot.

174.5M28](/packages/drupal-core-vendor-hardening)[acmephp/ssl

PHP wrapper around OpenSSL extension providing SSL encoding, decoding, parsing and signing features

141.2M4](/packages/acmephp-ssl)[mxr576/ddqg-composer-audit

Drupal Dependency Quality Gate Composer Audit plugin

1056.7k2](/packages/mxr576-ddqg-composer-audit)[plan2net/typo3-update-check

A Composer plugin that checks for TYPO3 updates and provides detailed information about breaking changes and security updates

204.5k](/packages/plan2net-typo3-update-check)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
