Successfully installed Craft 3 via Composer but can't access site or admin I've been Googling around all day looking for answers to this, but I'm actually stuck.

Ok, so basically I installed Craft 3 via Composer into a subdomain on my development server (apache). Everything ran successfully, there are no error logs, and the database has been populated with all of the tables. The problem is that if I go to http://craft.domain.com/index.php?p=admin (or /index/admin or /admin or /) all I get is a 500 Internal server error, and not one with the fancy craft background either. It does say email webmaster@craft.domain.com... on the error screen so I know SOMETHING's clicking, but I can't work my way around this.

I tried installing Craft once before manually by extracting the zip, uploading all the files, and then changing the .env file, and I got a similar result. I still wasn't able to access the admin OR the install page, and that's why I ended up trying it all through Composer instead.

Running the latest version of Apache, PHP 7, MYSQL with InnoDB; I run a ton of wordpress and laravel sites on this server without issue so I'm not clear on what makes Craft so different. I have WHM and shell access. Open to all suggestions.

Directory structure looks like this: 

/home/username/public_html/craft (this is also the subdomain path)
  - config
  - modules
  - storage
  - templates
  - vendor
  - web
  - (and then the composer/env files)


Directory permissions are 775, the rest of the files are default Craft 3 installation. I've also made sure my PHP 7 memory limit is at 128MB (it was set to 32MB for some reason).
Thank you for any advice in advance!
On the public_html/index.php file, try replacing 

define('CRAFT_BASE_PATH', dirname(__DIR__));


with

define('CRAFT_BASE_PATH', ('/home/pathToCraftFolder/craft'));


The structure of my folders is as follow:

/home/username/
  - public_html, or just html / this is where the content of your web folder goes  
  - config
  - modules
  - storage
  - templates
  - vendor
  - (and then the composer/env files)

Then on the index.php file (which can be found under /home/username/public_html/index.php),you'd replace:

 define('CRAFT_BASE_PATH', dirname(__DIR__));


with

 define('CRAFT_BASE_PATH', ('/home/pathToCraftFolder/'));


If you only have access to the public_html folder or would like to install craft3 on a subfolder this is how you can structure it:

on your public_html (/home/username/public_html),
create a craft subfolder((/home/username/public_html/craft)), then send your craft3 web folder into the public_html. It should look like this:

/home/username/public_html/
               -index.php
               -web.config
               -.htaccess
               /craft/

In your index.php file, replace

define('CRAFT_BASE_PATH', dirname(__DIR__));


with

 define('CRAFT_BASE_PATH', ('/home/pathToCraftFolder/craft'));


Hope this helps.