change the root directory references
The actual web root name doesn’t matter. Usually it’s “public_html” or something similar, and Craft’s “public” folder is only meant to represent that folder.

There are no references to the public/public_html folder within Craft itself; it’s the other way around: The index.php file within public/public_html is the one referencing Craft, via its $craftPath variable.

So here’s what you need to do:


Upload the craft/ folder to your web server, ideally on the same level as your public_html/ folder rather than inside it, but if you don’t have permission to do that, inside public_html/ is OK.
Upload the public/index.php file into your public_html/ folder
Upload the public/htaccess file into your public_html/ folder and rename it to .htaccess
Open up public_html/index.php and make sure the $craftPath variable is a valid path to the craft/ folder, wherever it is.