As explained earlier, there are a number of ways to technically open data, which we won't repeat here.
It's probably labouring the point, but as in the discussion in the portal section, its really important to start with the who is demanding data and match their needs with your supply of open data. For example, if you find the most important user of a particular dataset to be a programmer, then share that data through an API.
If the community of users that needs to use the data is one that does not have easy and widespread access to the internet, consider using one of the offline methods of giving them access to it.
If you are still not so convinced about the upfront importance of this user focus, you should read the research behind the Making All Voices Count initiative, which reviews 80 civic technology projects carried out over 5 years in Kenya and South Africa.
Using this research The Engine Room, the Network Society Lab and Mtaani Initiative based at Pawa254 created Alidade.tech, a toolkit for helping you assess what technology is appropriate for your needs:
Once you have carried out the process of finding a community that needs data and sharing that data with them a few times, you will basically have started the research into what the requirements of an open data portal will be (which using Alidade above can assist with as well).
At this point, you're in a good place to start investigating an open data portal.