Answers.Body: <p>Generally, you can make the Craft <code>public</code> folder whatever you want it to be. That allows you to deploy to any folder you like.</p>
  
  <p>For example, I deploy to a <code>public_html</code> on one server, <code>public</code> on another and <code>web</code> on another server. Each of those directories are the web root of their respective site.</p>
  
  <p>The only thing(s) within the <code>public</code> (or whatever you call it) directory is/are the index.php file (and whatever other js/css etc type files) you may have. As long as you can tell that file where the <code>craft</code> directory is (usually one level above the web root) - you should be golden!</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-08-10T14:06:19.740Z
Answers.LastActivityDate: 2015-08-11T02:11:33.710Z
Answers.LastEditDate: 2015-08-11T02:11:33.710Z
Answers.UserDisplayName: Damon
Body: <p>I have a website setup in Craft multi-environment config for git workflow with a development branch automatically deploying via deploybot from a bitbucket repository.   I want to add an additional live server for manual deployment via deploybot, but I'm concerned about the folder structure.  I know the <code>public</code> folder in Craft is just a stand in for <code>web_root</code>, but if I allow git to deploy to the server root, won't it try to make a new <code>public</code> folder by default?</p>
  
  <p>Staging setup
  <code>/home/user/public_html/staging/public/index.php</code></p>
  
  <p>Live site 
  <code>/home/user/public_html/index.php</code> instead of 
  <code>/home/user/public/index.php</code></p>
  
  <p>I have seen where I can add a symlink to point one folder to another, but I don't think I can point <code>public_html</code> to a new public folder as I have other subdomains stored in <code>public_html</code>.   Should I just rename <code>public</code> in my Craft files to <code>public_html</code> in the local and staging files, or can I symlink <code>public</code> to <code>public_html</code> without abandoning my existing files?</p>
  
Tags: <multi-environment>
Title: public vs public_html for git workflow deployment in apache?
ThreadText: # public vs public_html for git workflow deployment in apache?
  
  (Asked by: username_0 on 2015-08-10)
  
  I have a website setup in Craft multi-environment config for git workflow with a development branch automatically deploying via deploybot from a bitbucket repository. I want to add an additional live server for manual deployment via deploybot, but I'm concerned about the folder structure. I know the `public` folder in Craft is just a stand in for `web_root`, but if I allow git to deploy to the server root, won't it try to make a new `public` folder by default?
  
  Staging setup
  `/home/user/public_html/staging/public/index.php`
  
  Live site
  `/home/user/public_html/index.php` instead of
  `/home/user/public/index.php`
  
  I have seen where I can add a symlink to point one folder to another, but I don't think I can point `public_html` to a new public folder as I have other subdomains stored in `public_html`. Should I just rename `public` in my Craft files to `public_html` in the local and staging files, or can I symlink `public` to `public_html` without abandoning my existing files?
  
  **Tags:** multi-environment
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2015-08-10. Score: 3 | Accepted answer
  
  Generally, you can make the Craft `public` folder whatever you want it to be. That allows you to deploy to any folder you like.
  
  For example, I deploy to a `public_html` on one server, `public` on another and `web` on another server. Each of those directories are the web root of their respective site.
  
  The only thing(s) within the `public` (or whatever you call it) directory is/are the index.php file (and whatever other js/css etc type files) you may have. As long as you can tell that file where the `craft` directory is (usually one level above the web root) - you should be golden!
  
  
  ---
  
  