Si: i link possono essere solo fatti verso file contenuti nella cartella accessibile ad apache.
Altrimenti crei uno script php (in una cartella accessibile a apache) che restituisce (anche facendo evantuali controlli sulle autorizzazioni degli utenti e registrando gli accessi se vuoi ) il contenuto del file richiesto dopo aver settato gli headers.
Per un esempio di questo cerca su goggle qualche script per il download dei file.