What you're doing is quite normal, separate interfaces for separate functions...
With only 1 external number, you need to create separate ip ranges (subnets) off eth1 & eth2.
If your dhcp is issuing 10.07.07.x/24 numbers, that's a whole subnet taken for eth2.
So you have a free choice for eth1... eg 10.08.08.x/29... depends on how many pc's are going to live in the dmz zone.
It's good practice to keep the dmz subnet mask very tight to avoid having unused numbers and the possibility of someone/something pumping packets down there to explore the subnet.
Port forward (DNAT) the http server's ports on the router.
To provide the http server's local eth1 ip number in response to url name queries from the eth2 lan, you will need to have a dns in the eth2 lan or you will need to run a dns
masquerade on the router only listening on eth2. The eth2 lan can't use the http server's external ip number coz it will reply directly using it's eth1 number, and the eth2 lan pc's will ignore the packets, wrong source ip number. They are expecting only the external ip number to reply.
You would also need to have some dmz rules in the router to protect the local lan from the http server, if it was ever compromised/abused. Basically, it should only originate NEW requests to the Internet, never back into the LAN, and only certain types of NEW requests, eg dns, time, update traffic, ssh/scp...