In case you want your mapserver to provide WMS layer, which is reprojected on the fly you will require GDAL to be configured with your MapServer. If you are on windows a simple solution is installing MS4W. Now your mapfile definition could be as simple as follows:
MAP
NAME USA
STATUS ON
SIZE 800 500
IMAGETYPE PNG
IMAGECOLOR 240 240 240
SHAPEPATH "/var/www/html/data"
UNITS dd
# The projection object is typically used within the map and the layer
# objects. You only define it once within the map object and this definition
# becomes your output projection--MapServer will render your maps in this
# projection. You also use the projection object within the layer object to
# define your input projection. Your layers can be in different
# projections--MapServer will reproject them into your output projection.
PROJECTION
"init=epsg:4326"
END
WEB
IMAGEPATH "/var/www/html/tmp/"
IMAGEURL "/tmp/"
END
LAYER
NAME "US state boundaries"
TYPE POLYGON
STATUS ON
DATA "statesp020"
PROJECTION
# projection for the Continental U.S.
"proj=laea"
"ellps=clrk66"
"lat_0=45"
"lon_0=-100"
END
CLASS
NAME "US states"
OUTLINECOLOR 60 60 60
COLOR 255 255 0
SYMBOL 0
END
END
END
Here your input projection is Lambert Azimuthal Equal-Area (for US state boundaries layer) and your output is geographic (latlong) projection using the WGS84 datum