Slayer gave the basic answer. Solr run is a java app and runs in a java web server like getty. Now assuming your apache runs on port 80 you should configure your network so both web servers can talk to that solr server (using the real ip address in your magento configuration and obviously not 127.0.0.1) but no one outside the network can.
Furthermore I would use THAT as your security and not httpauth authentication because we ran into issues where it did not work. Basically magento sends a ping during some operations without credentials and fails and thus will not send the real query WITH the creds.
OK. Another important point is "fulltext indexing".
I have a long answer on stack overflow here https://stackoverflow.com/questions/11667728/magento-1-12-and-solr-3-6-no-proper-results-and-no-spell-suggestions/12984270#12984270 but I will try to be brief.
If you run the fulltext indexer from the shell via php shell/indexer.php --reindex-all catalogsearch_fulltext it will not work properly. An event is not fired. So run it from the UI. However that is a problem because the operation will take 4+ hours depending on the number of products you have. Quick fix is to tweak php timeout around the fulltext indexer functionality. Because obviously your apache timeouts should be short. They can continue to be short but if the php timeout is long it should continue to run even though apache will show a dead page.
Also the newest magento wraps the fulltext indexer code in a transaction. As a result while it is running and searches on the site return a "wait lock timeout" on catalogsearch_query table. We removed the transaction wrapping it and we were fine.