This is
going to be short and sweet. First you have to have a Door and a Button.
Right click in the 2D view and for the door choose func/func_door, and for
the button choose func/func_button. There now select the door and push N
to bring up the Entity Window and for Key type in targetname and
for Value type in a name like door01. Now deselect everything by
pushing Esc and then select the button and push N and for Key type in target
and for Value door01, (or whatever you named your door).

The following you can enter for
both the door and the button, I suggest that you do it. for Key type in speed
and for Value type in a number. This will determine how fast your door or
button moves once you activate it. The second one is: for Key type in return,
this is the return speed, it determines how long your door stays open, or
how long your button stays pushed in. Then for Value type a number. if you
enter -1 for your number the door will stay open forever, or for your
button the button will stay pushed in and you will only be able to
activate the door once.