<p>If you're able to modify your php.ini's <a href="https://www.php.net/manual/en/ini.core.php#ini.open-basedir" rel="nofollow noreferrer">open_basedir</a> setting, the simplest solution would be to add <code>/var/www/clients/client0/web7/.composer</code> as an allowed path to it so PHP can write to it.</p>

CC BY-SA 4.0
2021-11-15T17:09:25.797Z
2021-11-15T17:09:25.797Z
Brad Bell
<p>I have ISP Config host virtual website which is a system tool to host many websites. <strong>Document root</strong> path '/' is not writable. I have an <strong>/private</strong>, which is writable. I used alias <strong>@root</strong> as <strong>/private</strong>, and I set in index.php this path as CRAFT_BASE_PATH. When I try to install plugins I have the following error:</p>
<pre><code>Error: is_dir(): open_basedir restriction in effect. File(/var/www/clients/client0/web7/.composer/cache) is not within the allowed path(s):
The web7/.composer is not writable 
</code></pre>
<p>How to fix this issue and let CraftCMS create <strong>temporary</strong> .composer/cache folder in <strong>@root alias</strong> path (/private folder), instead of the default <strong>DOCUMENT ROOT</strong> path?</p>
<p>The website public is in /web folder, for backend (not publicly shared) is in /private in ISP Config, and DOC_ROOT (/) is not writable.</p>

<structure><install><server><installation><composer>
Child (inner) Path of backend in Virtual Host is possible?
# Child (inner) Path of backend in Virtual Host is possible?

(Asked by: username_0 on 2021-11-11)

I have ISP Config host virtual website which is a system tool to host many websites. Document root path '/' is not writable. I have an /private, which is writable. I used alias @root as /private, and I set in index.php this path as CRAFT_BASE_PATH. When I try to install plugins I have the following error:
Error: is_dir(): open_basedir restriction in effect. File(/var/www/clients/client0/web7/.composer/cache) is not within the allowed path(s):
The web7/.composer is not writable 

How to fix this issue and let CraftCMS create temporary .composer/cache folder in @root alias path (/private folder), instead of the default DOCUMENT ROOT path?
The website public is in /web folder, for backend (not publicly shared) is in /private in ISP Config, and DOC_ROOT (/) is not writable.

**Tags:** structure, install, server, installation, composer

---

## 1 answers

### Answer by username_1 on 2021-11-15. Score: 1

If you're able to modify your php.ini's [open\_basedir](https://www.php.net/manual/en/ini.core.php#ini.open-basedir) setting, the simplest solution would be to add `/var/www/clients/client0/web7/.composer` as an allowed path to it so PHP can write to it.


---

