OPS345 Assignment 2

From Littlesvr Wiki
Jump to navigation Jump to search

This assignment assumes you've learned something in the labs, and you can use that knowledge to install a real-world, useful web application. Without someone holding your hand through the process.

Set up Roundcube

  • Install and configure Apache and PHP on your email server.
    • Instead of creating a separate storage device for the web server data: store the data in /home/www and use a symbolic link from /var/www to point to it.
    • Only allow access to your web server via HTTPS. Choose whatever means you like to accomplish this.
  • Get the latest "Complete" package from the Roundcube website.
  • Decompress the files (and move them if need be) so that the root of your https://email.youruserid.ops345.ca goes straight to Roundcube.
  • Follow the instructions in the INSTALL file in the package.
    • Note that not 100% of those instructions will apply to your setup. You'll have to figure out which do.
  • Create a database inside your existing ops345db "instance".
    • Similar to what your did for Nextcloud: you'll need to create a database inside ops345db, and a new user and password.
  • Complete all the needed fields in https://email.youruserid.ops345.ca/installer
  • Alter your config.inc.php so that Roundcube doesn't attempt to use encryption to connect to your SMTP server on localhost:
    $config['smtp_server'] = 'localhost:25';
    $config['smtp_user'] = '';
    $config['smtp_auth_type'] = '';
  • Delete the installer directory after you've tested that everything works and you made your screenshots.
  • Send an email from Roundcube to youruserid@youruserid.ops345.ca

It should ultimately look something like this:


The instructions for this assignment are sparse because you've already done all the needed steps in previous labs. It will take you some time though to remember what your did in which lab and why.


Please submit on Blackboard one asg2.tar.gz file containing screenshots of your work (as individial images) with the correct filenames. Skip screenshots of work you didn't do:

  • asg2-ss01-dirs.png a screenshot of you running
    mount | grep home && ls -lad /var/www && ls -la /var/www/ /home/www/
    on your email server.
  • asg2-ss02-https.png: a screenshot of Firefox showing some webpage on your email server accessed via HTTPS. It can be your webmail if you got it to work.
  • asg2-ss03-http.png: a screenshot of Firefox or a terminal showing that you cannot access your email server via HTTP.
  • asg2-ss04-db: a screenshot showing that you created your database/user/password.
  • asg2-ss05-config1.png one or more screenshots showing what you've done in the installer/ web interface.
  • asg2-ss05-config2.png make as many screenshots as you need to show all the above.
  • asg2-ss06-errorlog.png a screenshot of you running
    date && tail /var/log/httpd/ssl_error_log
    on your email server.
  • asg2-ss07-received.png: a screenshot of Roundcube showing you received the email you sent from Roundcube.
  • asg2-ss08-bonus.png: a bonus mark if you sent the email from one user to another user on the email server.

(to create asg2.tar.gz select all your screenshots in a file manager in Linux Mint, right click, and pick "Compress")