More Info..
As I suspected, putting DNN in a subfolder off your root on 1and1 is the problem. It seems that for some unkown reason it loses the applications base directory path System.AppDomain.CurrentDomain.BaseDirectory gets "confused" and it defaults to using the parent's path, which is your root (i.e. / instead of /dnn or whatever your subfolder is). It then thinks you are trying to access a path outside of the appdomain for the dotnetnuke application, and you get the dreaded system.security.fileiopermissions error. This also eliminates the need for a redirect at your root directory to redirect the user to a subfolder. I spent all day yesterday and I got DNN 4.3.5 to work on the root of my 1and1 account. Guess What? No security errors. The logs for dotnetnuke have NO MORE EXCEPTIONS! I removed all of my hacks from the dotnetnuke modules as noted in my previous post and still no exceptions. I've been pounding the site and have not gotten the security error.
Here's what I would suggest and if someone can give it a go on their 1and1 account, that would be great. Follow the instructions exactly.
1. Create a directory called dnn off your root. Also..VERY IMPORTANT:
CLEAN UP ANY PREVIOUS INSTALLS OF DOTNETNUKE INCLUDING ANY TABLES THAT EXIST IN YOUR SQL SERVER DATABASE. I can't stress this enough... START FRESH!!!
2. Set up your web.config file and FTP it along with the dnn INSTALL files to the dnn directory created above with the correct connectionstring settings, etc... as outlined in the DNN installation guide. I did not upload the ZIP file then unzip it using 1and1 webfiles. I ftp'd the extracted DNN Install zip file from my localcomputer to the DNN Directory above. Give the network service and IUSR account modify and write permissions for now to this directory after you ftp the files using the 1and1 webfiles application. I know some people said don't do this, but permissions don't mean anything if your portal doesn't work. You can come back later and remove these permissions later if you like (I haven't yet..so do it at your own peril). Then create an application using the 1and1 webfiles app called dnn that points to the directory called dnn you created off the root.
3. Create your portal site just like the DNN Install Guide instructions tell you. You WILL MOST LIKELY GET ERRORS DURING THE INSTALL. Some have to do with not being able to write to the web.config file to add the code subdirectory for the reports or the survey modules or insert the machine key, etc.. You can fix these later (i.e. add these directory paths for the code subdirs). At the very least, it should create your portal site. If it doesn't get that far, something else is wrong (bad connection strings, leftover database tables from a previous install, etc...). I can only tell you when I started fresh, the install worked except for the writing of the code subdir to the web.config file.
4. Now we start hacking. USE THE WEBFILES APPLICATION. DO NOT USE YOUR FTP PROGRAM TO MOVE THE DIRECTORIES. Using the 1and1 webfiles application, move all of the subdirectories that are contained in the dnn folder you created in step 1 up to your root folder. Select a folder, select move, then move it to the root (/). Repeat this for every folder (the webfiles application will move all subfolders) in the dnn folder. You cannot move the whole DNN Folder to the root. Don't try. YOU CAN'T. You have to select a subfolder (i.e. admin) and move it. Remember to also move all of the FILES contained in the dnn subfolder. In other words, the dnn folder should be completely EMPTY after you are done and all of the subdirs and files should now life at the root (/).
5. Open up your portalalias table in your SQL Server Database and edit the 1 record that is in there. You should see a record with a PortalID column of 0 (thats ZERO) AND an HTTPAlias column of www.yourdomainname.com/dnn. Change this to www.yourdomainname.com. VERY IMPORTANT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (Have I got your attention?) DO NOT PUT A TRAILING SLASH ON THE URL IN THE HTTPAlias column. AND NO HTTP:// in front of it. It should just be your domain name. My domain is www.raiseepilepsy.org. And that's all that's in my HTTPAlias column.
6. VERY IMPORTANT. DO NOT ACCESS YOUR SITE RIGHT NOW. YOU NEED TO RECYCLE YOUR APP first. Open up your web.config file at the root of your site (which should be in the /) and modify it. You can add spaces after a tag or whatever. It just needs to be written back to the webserver so .Net will fire the Application_Start event.
7. Your dnn folder you created in step 1 should be totally empty. You can delete it and the application you created that points to this folder using the 1and1 webfiles app.
8. Now...I did notice something.. It took awhile for the site to work. So I suggest you walk away from your computer for 10 minutes. I'm not so sure that changes you make in webfiles are really immediate on 1and1 servers. I think it takes some time. If things aren't working, try modifying your web.config file again.
9. I had to fix the following modules because of bugs in these modules. THIS HAS NOTHING TO DO WITH 1AND1 OR THE SERVERS. They are documented bugs in the DNN Baseline. Google the errors and you will find forum posts that show you how to fix them by re-running certain SQL scripts:
Announcements
Links
Surveys
Events
Adding code subdirectories for the reports and survey modules to the web.config file.
GOOD LUCK FOLKS...