Teachers Team @ MES
Case Studies in Software Engineering: Module-1
1. An embedded system This is a system where the software controls some hardware device and is embedded in that device. Issues in embedded systems typically include physical size, responsiveness, and power management, etc. The example of an embedded system that I use is a software system to control an insulin pump for people who have diabetes.
2. An information system The primary purpose of this type of system is to manage and provide access to a database of information. Issues in information systems include security, usability, privacy, and maintaining data integrity. The example of an information system used is a medical records system.
3. A sensor-based data collection system This is a system whose primary purposes are to collect data from a set of sensors and to process that data in some way. The key requirements of such systems are reliability, even in hostile environmental conditions, and maintainability. The example of a data collection system that I use is a wilderness weather station.
4. A support environment. This is an integrated collection of software tools that are used to support some kind of activity. Programming environments, such as Eclipse (Vogel 2012) will be the most familiar type of environment for readers of this book. I describe an example here of a digital learning environment that is used to support students’ learning in schools.
Click here to download the case studies.
Configure Multiple Sites in a Server
How to Configure Multiple Sites with Apache
If you are hosting more than one site on a server, then you most likely use Apache’s virtual host files to state which domain should be served out. Name based virtual hosts are one of the methods used to resolve site requests. This means that when someone views your site the request will travel to the server, which in turn, will determine which site’s files to serve out based on the domain name. Using this method you'll be able to host multiple sites on one server with the same IP. In this tutorial, we’ll show you how to set up your virtual host file for each of your domains on an Ubuntu 18.04 VPS server.
Login in as root
Step 1: Make a Directory for Each Site
You’ll create a directory for each site that you’ll be hosting, within the /var/www folder. This location newly created location is also dubbed the document root location; you’ll need to set this path later in the configuration file. Sub the domain.com and domain2.com for your domain names.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Step 2: Set Folder Permissions
chmod -R 755 /var/www
To see a home page you’ll want to make sure the index.html file is created for each domain. Something as simple as “testing for domain.com” can be set within this file.
vim /var/www/domain.com/public_html/index.html
testing for domain.com
Save and quit by hitting the Escape button and typing :wq
Repeat the steps for your second domain, using the command below.
vim /var/www/domain2.com/public_html/index.html
Step 4: Copy the Config File for Each Site
Copy the default configuration file for each site, this will also ensure that you always have a default copy for future site creation.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Step 5: Edit the Config File for Each Site
At the bare minimum, you’ll adjust and add the highlighted lines within the <VirtualHost *:80> and </VirtualHost> tags.
vim /etc/apache2/sites-available/domain.com.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/domain.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Quit and Save with :wq. Repeat this process for your domain2.com.conf file, be sure to update your ServerName, ServerAlias and DocumentRoot for your second domain.
Step 6: Enable Your Config File
Out of the box, your server is set to read the default 000-default.conf file. But, in our previous step we made a new config file for each domain. So, we will need to disable the default file.
a2dissite 000-default.conf
To have your server mapped to your domains you’ll need to enable each of your newly made .conf files.
a2ensite domain.com.conf
a2ensite domain2.com.conf
We restart the Apache service to register our changes.
systemctl restart apache2
Step 7: Verify Apache Configurations
After starting Apache you now can view that the configurations are working by either editing your /etc/host file on your computer or by editing your domain's DNS.
After either one of these aspects are set, you'll be able to visit your website in a browser to see the index.html pages set in Step 3.