You have to configure your server to point to your subdomain directory i suppose you have a linux server and your domain is example.com
here an example with apache :
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName subdomain.example.com
DocumentRoot "/var/www/html/subdomain/public"
AddDefaultCharset utf-8
<Directory "/var/www/html/subdomain/public">
Options FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler proxy:unix:/var/run/php/subdomain-fpm.sock|fcgi://dummy
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine Off
<location />
RewriteEngine On
DirectorySlash Off
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
</Location>
</IfModule>
ErrorLog ${APACHE_LOG_DIR}/subdomain-error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/subdomain-access.log combined
</virtualHost>
i think you can get example with nginx on this forum already posted
Then you to put your files on your server with ftp or git
Directory structure in /var/www/html :
app/
boostrap/
config/
database/
public/
resources/
...