I want to be good at football next year so I'm lifting anywhere from 4 to 6 times a week. I'm a defensive lineman so I want to gain weight (in muscle of course). How should I lift (weight, reps, frequency) and eat (to help with the weight lifting) to gain weight?
The question to that is how much experience lifting do you have? If you are brand new to lifting, then I would suggest doing the Starting Strength program to get your strength up as quickly as you can. That calls for no more than 3 full body workouts per week.
The reason I suggest Starting Strength over other alternatives for you would be for the power cleans. Power cleans have a lot of carryover to get that explosive start off the line. You can see the general outline of the program laid out pretty well here.
Eating to gain weight is fairly easy. You just need to eat big. If you eat another 1000 Calories on lifting days over maintenance, you will get bigger.
If you've been lifting for a while and are making gains weekly or monthly I would suggest structuring your program around Wendler's 5-3-1 program. That is the best and most flexible program to be able to structure your lifting and your skill work and conditioning which will be very important for your sport.
Some general rules of thumb, eat 1.5 grams of protein for each lb of bodyweight. If you weigh 200 lbs, you need 300 grams of protein, each day, to provide enough fuel for new growth. Also think about eating at least 15-20 calories per lb of bodyweight.
So if you're 200 lbs and want to gain weight, you need to aim for 300 grams of protein and minimum of 3000 calories per day.
Wendler's 5/3/1 is a great strength program, as is the Juggernaut method or the traditional Westside 5x5 method, all easy to find and research.
Eat big, lift big, get big.