For Apache web server SSL personally keep mine in
/etc/apache2/ssl/private or a similar user created area under httpd/apache configuration in
/etc. (The default area is normally
/etc/ssl - see bottom of this answer for more.)
This post is geared toward Ubuntu+Apache/OP, but should work on most systems, but note the notes.
sudo mkdir /etc/apache2/ssl
sudo mkdir /etc/apache2/ssl/private
sudo chmod 755 /etc/apache2/ssl
sudo chmod 710 /etc/apache2/ssl/private
chmod 710 supports ssl-cert group under Ubuntu.
Setting permission to '700' on /etc/apache2/ssl/private will also work.
sudo chown -R root:root /etc/apache2/ssl/
sudo chown -R root:ssl-cert /etc/apache2/ssl/private/
If you do not have ssl-cert group, just use 'root:root' for everything. (^ignore the 2nd line).
Put public www ssl certificate(s) along with intermediate certificate(s) in
Put private ssl key(s) in
Then set permissions:
sudo chmod 644 /etc/apache2/ssl/*.crt
sudo chmod 640 /etc/apache2/ssl/private/*.key
Note: The group permission is set to READ due to ssl-cert group. '600' should also work fine.
Now edit any web server '.conf' files and where they point for SSL as needed.
sudo nano /etc/apache/sites-enabled/mysiteexample-ssl.conf
Restart web service.
sudo service apache2 restart
sudo systemctl restart apache2.service
As mentioned, it really doesn't matter where you put your private key(s) as long as you properly protect them.
NOTE: I do not use the default location /etc/ssl in above example. It's easier for me to keep all mine in a separate area. You can view the Apache default ssl configuration ("cat /etc/apache2/sites-available/default-ssl.conf") as a good example of default directories normally used under a simple Ubuntu Apache/SSL install. It points to SSL certificates,keys,bundles,etc, as well as common directives used for a given SSL site. The Default /etc/ssl area should already be protected correctly as installed.