Do I need a work permit and resident visa?
To get a resident visa, you need a work permit. The work permit is also necessary to work legally in a foreign country. Working without a work permit in a foreign country is a punishable offence. That said, many ESL teachers work illegally in many parts of the world. To get a work permit, you need a job or at least a job offer from a reputable company. The employer will usually take care of the necessary paperwork.
What about private lessons?
If you want to take on private students you will need to get permission from your employer. Some employers may not allow this, but if they are happy with your regular teaching, they will probably not object to this. But it depends. If you are planning to give private tuition, you will have to find the students yourself.
What about accommodation?
Many schools arrange free accommodation if you are willing to sign a contract of one year or more. You will probably have to share the accommodation with other teachers. Still it is better than having to pay the rent yourself. In many Middle Eastern countries renting a room can be very costly. Some employers also take care of your travel expenses.
What if you want to quit?
If you are not happy with the working conditions or the salary, you will probably want to quit. Sometimes the school will ask you to stay until they find a replacement for you. But note that if they have incurred costs such as airfare, they will probably ask you to repay some or all of those costs. This can be quite taxing for you. Hence it is important that you gather as much information as possible about the school and the country before you embark on your journey.