To get to Mahogany Town, you should go to Ecruteak and use a surfing pokémon to go east. You will pass by Mt. Mortar, but there isn't much you can do there except fight trainers. Do that if you want, but otherwise, head east to get to Mahogany Town.
Something fishy is going on here. There's a tree with a piece of metal sticking out of it, and a store where some suspicious people are hanging out. What's the deal, yo?
Don't bother buying the RageCandyBar; it won't make that guy move out of the way.
Instead you should go north. Don't go into the building!! There are some Team Rocket Grunts who will steal money from you!! Instead, go the long way, fighting trainers and walking through the grass. Eventually you will reach the Lake of Rage.
There is a Shiny Gyarados swimming around in this rainy lake. This is an opportunity to get a shiny pokémon easily, so go for it! Once you catch or defeat that Red Gyarados, you get a Red Scale. Exiting the lake, you meet Lance. Agree to help him. You can go to the northwest area of the lake for some items.
Go back to Mahogany Town and into that building where the suspicious dudes are. Lance will be there, and you will discover a secret passage.