Difference between revisions of "Archive:Development Test Environment"
Turhan Bey (talk | contribs) (clarify from where PuTTYgen may be launched) |
Turhan Bey (talk | contribs) (clarifiation on using devtest as a development system) |
||
Line 3: | Line 3: | ||
EVE University uses an Amazon AWS/EC2 instance as its Development Test Environment (aka "devtest" or "devtest environment") which mimics "aura", the E-UNI production host. Members of the [[Web Development Team|E-UNI Web Development Team]] are given their login, password, and private key through a Forum Private Message. | EVE University uses an Amazon AWS/EC2 instance as its Development Test Environment (aka "devtest" or "devtest environment") which mimics "aura", the E-UNI production host. Members of the [[Web Development Team|E-UNI Web Development Team]] are given their login, password, and private key through a Forum Private Message. | ||
− | The devtest environment is used for final testing of web applications prior to their rollout on the production server. It is not intended as a development environment itself. | + | The devtest environment is used for final testing of web applications prior to their rollout on the production server. It is not intended as a development environment itself, though webdev staff may use it as such if they wish to. However, it will be fairly bare-bones with only remote shell access because it simply does not have the resources to function as a serious remote workstation. |
== "devtest" Information == | == "devtest" Information == |
Revision as of 03:57, 14 July 2013
EVE University Development Test Environment
EVE University uses an Amazon AWS/EC2 instance as its Development Test Environment (aka "devtest" or "devtest environment") which mimics "aura", the E-UNI production host. Members of the E-UNI Web Development Team are given their login, password, and private key through a Forum Private Message.
The devtest environment is used for final testing of web applications prior to their rollout on the production server. It is not intended as a development environment itself, though webdev staff may use it as such if they wish to. However, it will be fairly bare-bones with only remote shell access because it simply does not have the resources to function as a serious remote workstation.
"devtest" Information
Public DNS
The current public DNS (hostname) for devtest is "ec2-54-215-150-94.us-west-1.compute.amazonaws.com".
Authentication
WebDev team members may connect to the devtest environment through SSH by using their private key as authentication. The private key is a 1024-bit DSA key as used by Amazon for their AWS/EC2 instances, who store it in a file with a *.pem extension by default. Instructions for using it under different clients and environments may be found below.
Note that public key authentication is the only allowed method of remote connection. The password is only useful when creating a new shell from within the instance itself. Despite being unusable for remote connections, the password should still be changed by the user to something more secure upon first login by using the "passwd" command.
Applications and Services
The applications and services installed on the devtest environment may or may not be exactly those found on aura. This will be dependent upon what software and their versions will be available to us within the AWS/EC2 instance. (Even the version of the host OS distribution cannot be made the same.) This underscores the need to follow standards and to write code to be as flexible and version-independent as possible.
Setup, Windows Clients
PuTTY
1. Download both putty.exe and puttygen.exe from the PuTTY download page. Place them anywhere; they are standalone executables with no installers.
2. Create a new text file anywhere and call it "<your login>-eunidev.pem", for example "turhan-eunidev.pem". (The name isn't critical, but this convention will eliminate future confusion.)
3. Open that file in a text editor and then copy-paste the entire text of your private key into it from your PM. It should include even the BEGIN and END lines. Save the file. (Note: Do not give your private key to anyone else!)
4. Launch puttygen.exe.
5. Under the Conversions menu, choose "Import Key". Navigate to and select the *.pem file created above and press Open.
6. Press the "Save private key" button. When asked if you wish to save the key without a passphrase, press Yes. (If you know what you're doing and wish to add a passphrase, then go ahead.)
7. For the filename, use "<your login>-eunidev", for example "turhan-eunidev", and press Save. PuTTYgen will automatically add a *.ppk extension. (Again, the name isn't critical, but this convention will eliminate future confusion.)
8. Close puttygen.exe.
9. Launch putty.exe.
10. In the Host Name field, type the instance's public DNS shown above. Make sure the SSH radio button is selected and that the port is set to 22.
11. In the tree on the left, navigate to Connection -> SSH -> Auth. (Click on Auth itself, don't expand it further.)
12. In the "Private key file for authentication" controls, press the Browse button. Navigate to the *.ppk file created above, select it, and press Open.
13. In the tree on the left, click on Session (at the very top) to go back to the first set of controls.
14. In the "Load, save or delete a stored session" control group, type "eunidev <your login>" into the Saved Sessions field and press Save. (Again, the name isn't critical, but this convention will eliminate future confusion.)
And you're done. To connect to eunidev, you may launch putty.exe and you should be able to double-click on that saved session in the list. You will only need to type in your login name and not your password because the private key you created is your authentication.
WinSCP
1. Download and install WinSCP from the WinSCP download page.
2. WinSCP uses the PuTTY *.ppk file format for public key authentication. If you have not yet created a *.ppk file by following the PuTTY instructions, then follow Steps 2-8 from the PuTTY instructions above. (Note: PuTTYgen is installed as part of the WinSCP installation, and may be launched from Start Menu -> WinSCP -> Key tools -> PuTTYgen.)
3. Launch WinSCP.
4. In the File Protocol dropdown, select "SCP". Then set the Host Name field to the instance's public DNS shown above, and the User Name field to your login.
5. In the Private Key File field, press the "..." button. Navigate to the *.ppk file created above, select it, and press Open.
6. Press the Save button and name it "eunidev <your login>", and press OK. (The name isn't critical, but this convention will eliminate future confusion.)
You now have a stored session that you may double-click any time you run WinSCP. Your login was already entered as part of the stored session and no password is needed, because the private key you created is your authentication.
Setup, Unix/Linux Clients
ssh
1. Create a text file called "<your login>-eunidev.pem" and open it in a text editor. (The name isn't critical, but this convention will eliminate future confusion.)
2. Copy-paste the entire text of your private key into it from your PM. Save the file.
3. Change the permissions of the private key file to read-only by only yourself, i.e. "chmod 600 <your login>-eunidev.pem". Remember, this is your private key and nobody else should have access to it. (This will also remove a lot of warning messages that many versions of ssh will throw at you for being so lax in your key security.)
And you're done. To connect to devtest, just use ssh with that key file and the public DNS from above. For example:
"ssh -i turhan-eunidev.pem [email protected]"
scp
Just follow the same steps as needed to set up ssh, above. To copy files to or from devtest, just use scp with that key file and the public DNS from above. For example:
"scp -i turhan-eunidev.pem local-file.ext [email protected]:remote-file.ext"