You have to cross the South of Italy from Napoli, realistically to one of Ancona (longest ferry, but more services), Bari or Brindisi for the ferry.
Patras is the main port in Greece for Italian arrivals, so look at: www.patrasferry.co.uk/ ((most services in summer offer a "deck" price, which is the cheapest if you can sleep outside))
Can't help with bus/coach travel in Southern Italy, unfortunately, but for trains:
Napoli - Ancona is about 2 hourly, change in Rome, taking 5-7 hours (although that's using more expensive express trains). Ancona is also heading Northerly
Napoli - Bari/Brindisi not so frequent, but 2 hourly again in afternoon. Brindisi is a continuation from Bari and journey takes about 3.45 (to Bari) and 5-5.5 to Brindisi, both changing in Caserta (again, some on express trains)
Italian trains are relatively cheap, and if your prepared to go around the houses a bit, i can suggest some much longer but cheaper journeys avoiding express services if that's of use. Against that, depending upon when you land, it may mean you wouldn't make the ferry the same day, so would have to sleep in a hedge (cheapest) or a hostel etc somewhere, which may make the jny proce overall more expensive.
My gut reaction still says that Ryanair to Ancona and onwards ferry to Patras would be the easiest, and if you get a good Ryanair price, may work out amongst the cheapest as well.
HTH. If you want any further ideas/options etc, just ask. Good luck