A guide for the NPB (Next Poor Bastard) -- posting it here so hopefully those whose google-fu is strong will be able to find it...
I shall assume a basic level of familiarity with dokuwiki and a beginner's level familiarity with Amazon EC2 (ie: you've RTFM'd a bit).
OK, so you've gotten yourself an AWS account and created an admin user subaccount. There's a tutorial here that will step you through to process, including doing stuff like creating a key pair:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html
When creating your security group, if you want to use phpmyadmin on the server, add a rule just like the restrictive SSH rule for a random port in the 8xxx range, it'll come in handy later.
Log in and go to the EC2 management console
* Make sure you're set to the AWS region nearest you (or your audience)
Find the EC2 Launch Wizard (bottom right of page) and click on it.
Go into the AWS Marketplace. You basically have two options:
* Launch a DokuWiki-specific LAMP stack, which comes with the latest standard install of DokuWiki. Do this if you want a fresh new site. Seach for "bitnami dokuwiki" and (important!) select the (HVM) image.
* Launch a vanilla LAMP stack and install DokuWiki. This is your choice if you're migrating. Search for "bitnami lamp" and again, you want the HVM type.
On the next page, select your instance type. t2.micro is a good starting choice, you can change it later. It's also the choice that gets you a free instance for your first year if you're starting out with AWS. I used SiteSucker on my Mac to load-test my site, and it didn't go over 50% utilization, so a t2.nano is probably OK for lightly used sites (you can change later).
Click Review and Launch and you're off to the races.
These instructions assume the bitnami stacks were used.
Go back to the EC2 dashboard and go down to Elastic IPs. Allocate a new Elastic IP and associate it with the instance. This gets you an dns address you can CNAME your DNS to so your server is findable. It'll be something like ec2-a-b-c-d.compute-1.amazonaws.com
Go up to Instances. Click on your instance and use Actions > Instance Settings > System log. Scroll down it and find your Bitnami application password, it'll be in a box of # symbols. Keep this handy.
By now your instance should be running. http://<your public elastic ip address> to see what you get.
Connecting via SSH
------------------
SSH to your new instance using the .pem keypair certificate, as follows:
ssh -i <path to pem file> bitnami@<your public elastic ip address>
You should be on the command line. User "ubuntu" also works.
File Transferring / Editing
---------------------------
The details of how you can do file transfers depends on what software / OS you're using.
You can transfer a file using the unix command line like this:
scp -i <path to pem file> <file to transfer> bitnami@<your public elastic ip address>:<path where you want the file to be put>
File transfer apps like Filezilla should be able to use the sftp protocol. Similarly, programming text editors like BBEDIT are sftp-capable.
However, you may need to do a little tweaking to get them to use your keypair.
Filezilla:
http://stackoverflow.com/questions/16744863/connect-to-amazon-ec2-file-directory-using-filezilla-and-sftp
BBEDIT:
http://blog.kenweiner.com/2011/02/edit-remote-ec2-text-files-with.html
Migrating your old Dokuwiki site.
---------------------------------
Replace the instance htdocs folder contents with the webserver folder contents of your old site. One easy way to do this is create a .tgz archive (ie: tar -cvzf <name of tarball>.tgz /path/to/source/folder), move it to the instance, and unpack it (tar -xvzf backup.tgz)
Make sure all the files are in the right place. Also, and this is important, make sure that the user:group of all the files in your htdocs are daemon:daemon (sudo chown -R daemon:daemon *). If you don't do this, then PHP won't be able to modify them and the dokuwiki code will complain mightily.
Optional: Enable phpmyadmin
---------------------------
Read this for help:
https://wiki.bitnami.com/Components/phpMyAdmin_and_phpPgAdmin
This is where that 8xxx port you set up in your security group will be used.
Miscellaneous Stuff
-------------------
Restarting Apache (after messing with config files): sudo /opt/bitnami/ctlscript.sh restart apache
Renaming files in a directory to lowercase: sudo rename 'y/A-Z/a-z/' *
This can be useful when moving from a case-insensitive files system (ie:MacOS) to Linux if you have linked to some assets in a directory under your htdocs root. You tweak the filenames and then use grep to fix the references in the dokuwiki .txt files. See also:
http://stackoverflow.com/questions/152514/how-to-rename-all-folders-and-files-to-lowercase-on-linux
There was at least one issue with configuration (either with Apache or phpmyadmin) that required tweaking a config file; it was something to do with requiring a login, but for the life of me I can't remember the exact details. If you run into it, let me know so I can update this document!
Have fun,
Robert