A pasta públic é a pasta que será visivel na web pra ser acessada...
Geralmente hospedagens dependem muito do gerenciador utilizado como cpanel, plesk, etc... pode ser a public_html, wwwhost, www, etc...
Não trabalhei com o laravel 4 ainda, mas deve ser a mesma coisa... No 3 eu faço assim:
Primeiro coloque o conteúdo da pasta public na pasta pública do host(public_html, wwwhost, etc)... e e o restante um nivel atrás... observe que no index.php da pasta public tem um require para o arquivo paths.php...
require '../paths.php';
Edite esse arquivo e em $paths['public'] = 'public'; troque para $paths['public'] = 'PASTA_PUBLIC'; // public_html, wwwhost, etc
E dê permissão de gravação na pasta storage...
Bem... com o Laravel 3 isso me basta pra publicar...
--
Wemerson Guimarães
Rio Verde - Go - Brasil