Changes

Jump to: navigation, search

OPS335 Lab 6

9,408 bytes added, 19:50, 16 March 2019
Controlling Access to Pages
[[Category:OPS335]][[Category:OPS335 Labs]]
==OBJECTIVE & PREPARATION==[[Image:lamp.png|thumb|right|300px|To provide additional help make your web resource more dynamic (for web apps such as webmail) several services are also required. A popular acronym to represent these foundations and servers is referred to as '''LAMP'''. It stands for '''Linux''', '''Apache''', '''MySQL''', and '''PHP''' (or ''Python'').<br><br>Image by Shmuel Csaba Otto Traian,<br>https://commons.wikimedia.org/w/index.php?curid=28224098)<br>(via: [http://creativecommons.org/licenses/by-sa/3.0 Commons Attribution-Share Alike 3.0]) ]]In this lab, we will look at several separate technologies that are used with the Apache web server to install, configure and run web applications.
According The basic purpose of the Apache web server is to serve text pages, images, and other static files. You can format those web-pages to appear nice, but they would lack dynamic functionality (i.e. the ability to change colors or font-size when the sambamouse moves over a link, button, etc). In other words using Apache web-server as a sole application would not make your web-pages more interesting.org website:
''"Samba is the standard Windows interoperability suite of programs If we want to add more features for Linux and Unixour web-page (eg. Samba is Free Software licensed under the GNU General Public Licensedynamic functionality, security, e-commerce, etc), your webserver would need additional help. To provide additional help requires several resources - more than just the Samba project web server itself. A popular acronym to represent these foundations and servers is a member of the Software Freedom Conservancyreferred to as '''LAMP'''."It stands for '''Linux''', '''Apache''', '''MySQL''', and '''PHP''' (or ''Python'').
Although In your previous OPS235 course, your second assignment may have required you setup a similar series of services in order to run a Samba server can provide many features such as printer sharing and backups, Wiki on one of your virtual machines. In this lab's primary focus is to , we will set up another example of a Samba server on '''"LAMP solution"''' that will allow the user to run webmail in a Linux server in order web-browser to allow MS Windows users to share common files from the Linux's Samba serversend and receive e-mail messages.
This === Online Resources=== * (Course Notes on the Apache Web Server)* [http://www.hitmill.com/computers/apache.htm Apache Resources]* [http://www.liquidweb.com/kb/how-to-install-apache-on-centos-7/ Installing Apache Webserver on Centos7]* [http://www.w3schools.com/php/default.asp PHP Tutorial] (w3schools.com)* [http://www.w3schools.com/sql/ MySQL / SQL Language Resources] (w3schools.com)  == INVESTIGATION 1: SETTING UP A WEBSERVER WITH DYNAMIC WEBPAGES == === Install, Configure & Run a Webserver (Apache) === Next we need to install, configure and run a webserver on one of our Linux VMs. {{Admon/tip |Apache Webserver Resources|Apache web-server configuration can be a very complex topic (covering an entire course!). Although this lab will first installfocuses only on one small application of a web-server, setupyou can refer to the following link to refer to additional configuration help: [http://www.hitmill.com/computers/apache.htm Apache Resources].}} '''Perform the following steps:''' #Make certain you are in your '''VM1''' machine.#Install the Apache package (the name of the package is: '''httpd''').#Start the httpd service, and enable this service to start automatically upon system startup.#Using a Samba text browser such as lynx on vm1 go to localhost. You should get the "Fedora Test Page" which indicates your web serveris running on the local virtual machine.#Make certain to configure your firewall to allow access to the httpd service (i.e. the Apache serves HTTP traffic which goes over TCP port '''80''') and keep the changes past rebooting. Then another virtual #Open a web-browser in your '''host''' machine and enter the following URL: '''vm1.youruserid.ops'''.<br />If you setup your Apache webserver correctly, you should be able to view the Apache Test page.#Although we will not be created exploring webservers in depth, we will have you create a simple webpage for testing purposes, then later setup a Windows operating systemweb resource for webmail.#The term '''DocumentRoot''' specifies where the Apache webserver will search for documents to serve. Create the file '''index.html''' in your '''DocumentRoot''' directory with the following contents (replace the date with the current one):<br><source>Hello, this is a web page on vm1.youruserid.ops and the current time is Mar 28 22:16:27 EDT 2016!</source><ol><li value="9">If you refresh your web-browser page in your browser, you should see the contents of your ''index.html'' document. If you wish, you can specify the filename index. Finallyhtml in the address, but it is not necessary, since the file index.html is automatically loaded by default when the URL refers to that directory containing that file.</li></ol>  {{Admon/tip |Using the '''index.html''' file|It is considered to be a "best practice" to create '''index.html''' files for newly-created subdirectories within the Windows virtual machine'''DocumentRoot''' (or users' '''public_html''' directories) to force a display of a web-page, users will access instead of viewing the directories "index" listing of files (from "curious eyes"): that is why the name of the file is called ''"index.html"''.}}  <ol><li value="10">Refresh your web-page by issuing the keycombination: '''ctrl-r'''. Notice that the time doesn't change as you refresh the page. This indicates that the Linux Samba server page is static (not dynamic) indicating that the page does not change (both graphically and command linei.e. boring!).</li></ol> === Creating a PHP Script ===
=== Online Resources===In order to allow us to run a webserver application in a web-browser, we need a scripting language that will allow the web-browser to function dynamically (i.e. being able to change frequently, as opposed to being "static" or unchanging). In this section, we will demonstrate how a scripting language (PHP) can be used for the web-browser to react in a more dynamic fashion. * {{Admon/tip |PHP Scripting Language|PHP code is considered to be a language that runs on the web-server (Course Notes i.e. "server-side programming"). PHP code can be embedded in an HTML document (HTML code), and use the resources on Samba Serverthe "server-side" to make the web document or resource more dynamic (eg. database access, etc)*. Although it is not the purpose of this course to learn about and create PHP documents, here is a quick resource on PHP: [http://www.tomsitprow3schools.com/articlesphp/linux-server-configuration-guide-book-excerptdefault.asp PHP Tutorial]}} '''Perform the following steps:''' #Copy the '''index.html''' file to '''index.php''' and modify it to contain:<br><source>Hello,2-777-2this is a web page on vm1.youruserid.html Samba Server Setup] ops and the current time is <?php system(Simple setup guide for samba server]"date"); ?>!</source>
<ol><li value==INVESTIGATION 1"2">On your host machine, again refresh your web-browser. Notice that in a web browser the ''index.php'' file isn't treated as a default page and the contents don't contain the date, but instead are displaying the text in the php code you entered into the index.php file (refer to above code).</li><li>The reason this occurs is that the PHP interpreter hasn't been installed on your vm by default.</li><li>Install the php package on your vm1 machine, and restart your webserver. NOTE: INSTALLING &amp; CONFIGURING A SAMBA SERVER==The php package comes with a working default Apache configuration so you don't need to enable it manually.</li><li>Refresh the webpage for your web-browser on your host machine. You should now notice that you see the date instead of the call to the date command. Refresh your webpage several times to see how the time changes. This is simply a "trivial example" of dynamic web content does it does provide a simple demonstration of how scripting languages can be used to create more dynamic webpages.</li></ol>
In this investigation, we will set up a '''Samba server''' on our '''VM2''' machine. We will first install, configure and enable the samba server on our virtual machine, and then we will quickly test === Controlling Access to see if the Samba server works.Pages ===
For security, it is important to allow access to general areas of your webpage, but also limit access to other sub-directories that contain other webpages or documents. Penetration Tester or hackers may be able to navigate your file systems within your html directory to obtain unauthorised information.
{{Admon/important|Prerequistites|Due to the changes made in lab3There are many common-sense safeguards, '''you will now need your vm1 running (such as the DNS server)''' creating an index.html file in order for any your default directory that will display a webpage instead of your virtual machines the directory index. On the other hand, there are also safeguards that you can setup to be able provide additional protection to use the internetyour data on your web server.}}
'''Perform the following steps:'''
#Make certain As the root user on your gateway/host, try to forward incoming http connections that both arrive on your '''VM1''' and '''VM2''' machines are runninghost to the web server on vm1. Use an iptables command something like this:<br><source>iptables -t nat -A PREROUTING -i *yourinterface* -p tcp --dport 80 -j DNAT --to 192.168.X.2</source>#Switch You will also need to your '''VM2''' machine as create a rule in the FORWARD chain in the '''root''' userdefault table to accept connections to port 80.#Issue To test this setup you'll need to use another machine outside your own network. If you are using an SSD and VMWare, you can simply use the following Linux command windows host. If you are using a removable drive, ask a classmate on another PC to install Samba server utlity:<br>act as the partner. In either case, enter your host's external IP address in their browser''yum install samba samba-client'''<br>s address window.#Copy Have the file partner machine view both '''/etc/samba/smbindex.confhtml''' to another filename by issuing the following command:<br>and '''cp /etc/samba/smbindex.conf /etc/samba/smb.conf.originalphp'''#Clear the contents of the configuration file by running Create a new directory called '''cat /dev/null > /etc/samba/smb.confprivate'''#Edit inside your '''/etc/samba/smb.confDocumentRoot''' so that the file that contains the following lines:and move index.php inside it. [global] workgroup = WORKGROUP server string = "put # Have your real name here without the quotes" encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd [home] comment = "put your real name here without the quotes" path = /home/partner view both files again.<yourSenecaIDbr> public = yes writable = yes printable = no create mask = 0765<olbr><li value="3">Append (add) You will now modify the following parameter to settings on the bottom of the '''[global] section''' that will limit access web-server to the share so that only prevent machines in your virtual outside our network and those in from accessing the lab room will be able to access it:private directory.</libr></olbr> hosts allow = 192.168.x. 127.0.0.1<ol><li value="4">Append (add) # Add the following parameter directory statement to your apache configuration file. The default pathname for the apache configuration file is: '''[home] section/etc/httpd/conf/httpd.conf''' so that only your user account can access that share(NOTE:</li></ol> valid users = <yourSenecaID><ol><li value="5">Create a Samba account and password for yourSenecaID by issuing replace the following commandX with your own network octet):<br>'''smbpasswd -a <yourSenecaID>'''</li></ol>
{{Admon/tipimportant |Changing Existing Samba Account PasswordsDo not overwrite existing settings|If you need to change a userThere should already be two Directory statements in that file. One for '''s existing Samba account password, you can issue the following command as root: /var/www''' and one for '''smbpasswd username/var/www/html'''. Add your new Directory statement after them. Do not overwrite them.}}
<olsource><li value="6Directory ">Confirm the user you created has been added using the following command:<br>'''pdbedit -L -v'''</li><li>Test and review your configuration with the command:<br>'''testparm'''</li><li>Use the '''systemctl''' command to start the smb.service and enable the service to run on boot-up<var/li><li>If you are in one of the sections with SELinux set to enforcing, you will need to tell it to allow samba access to home directories: '''setsebool -P samba_enable_home_dirs 1'''<www/li><li>Use the '''ss -nautp''' command to see with port Samba is running on.<html/li><li>Use the information in the previous step to modify the firewall on VM2 machine to allow samba traffic.</li><li>Test to see that you can connect to your Samba server (locally) by issuing the following command:<br>'''smbclient -U <yourSenecaID> -L 127.0.0.1'''</li><li>When prompted, enter your Samba account password.</li><li>The output from that issued command show appear similar to example displayed below:</li></olprivate"> Sharename Type Comment --------- ---- ------- home Disk Your Name AllowOverride None IPC$ IPC IPC Service ("Your Name") Domain=[WORKGROUP] OS=[Windows 6 Require ip 192.1] Server=[Samba 4168.2.3] Server Comment ------ ------- WorkGroup Master --------- ------ <ol><li value="13">To access the Samba client shell on your local Samba share, issue the following command:<br>'''smbclient '\\127.0X.0.1\home' -U <yourSenecaID>'''</li><li>Enter your Samba account password.24</li><li>Issue the help command to note common commands (''dir'', ''cd'', ''ls'', ''put'', ''get''). Note how similar they are to ''sftp'' commands.</li><li>Enter '''exit''' to terminal your local Samba session.</liDirectory></olsource>
Although you can use smbclient This sets up separate rules and access permissions for that subdirectory. Your partner should no longer be able to accessany pages in the private directory (or any sub-directories of it), browse and share files within but your other Linux and Windows servers, it is more practical to setup a Samba server to allow MS Windows Users to internal machines (including your host) should still have access a common file share on a Linux machine, and will be demonstrated in Investigation 2.
'''Record steps, commands, and your observations in INVESTIGATION 1 in your OPS335 lab log-book'''
==INVESTIGATION 2: CONNECTING TO A LINUX SMB SERVER FROM A LINUX CLIENTSETTING UP AN ONLINE DATABASE==
In this investigation you will explore some The next piece of the different ways puzzle is installing, configuring, and running a database server to access a shared directory from a Linux client machine (VM1)support your webmail application that will be installed and setup later in this lab.
'''Perform the following steps on your VM1'''=== Install, Configure and Run MySQL Database Server ===
=== Using smbclient ===*Install the '''samba-client''' MySQL is used to allow storage and '''cifs-utils''' packagesretrieval of structured data.*Use the "smbclient" command in SQL is a terminal window. smbclient '\\vm2\home' -U <learnid>*After entering your password you should get a prompt similar to smb: \>*Enter the ls command to see a list of the files in your home directory - you may receive the following error if you are in a section with SELinux Enforcing. smb: \> ls NT_STATUS_ACCESS_DENIED listing \**If you received that error, SELinux will need to be adjusted language (on the samba serverused by scripting languages such as PHP) for this to work. setsebool -P samba_enable_home_dirs 1*Once you have allow programmers to access to the directory use the get and put commands databases contained within a server (similar to ftpor other servers via a network) to move files.*When you are finished close be used within web-based applications via the connection.*Note that this tool only gave temporary access with a limited set of commandsweb-browser.
=== Using We won'mount -t cifs' ===*The next way is to use spend much time learning the mount commanddetails of MySQL configuration but you need a basic server set up.*Use the mount command on '''vm1''' to mount your home directory mkdir /tmp/vm2You may remember when setting up MySQL from OPS235 -home mount -t cifs //vm2/home /tmp/vm2-home -o username=<learnid> ls /tmp/vm2-home*Create a file in that directory, then switch to '''vm2''' to confirm that it was created.*Use umount to unmount that directory.*Note that this tool would leave is basically the directory mounted until the machine rebooted or it was unmounted. It would also allow other users access to the directory, as it effectively became part of the local filesystem. It could even be added to fstab to be mounted on bootsame concept.
'''The following steps require {{Admon/tip |MySQL / SQL Language Resources|Again, MySQL can be a graphical interface; perform them complex topic: Seneca has an entire course that concentrates on your HOST'''using SQL commands! Here is a link to MySQL / SQL Language resources: [http://www.w3schools.com/sql/ MySQL / SQL Language Resources].}}
=== Using Nautilus to browse Samba shares ===*Install the '''samba-client''' and '''cifs-utils''' packages.*Use Perform the "Places" menu from the desktop and open 'Browse Network'.*From the menu in the side-bar of the files tool, choose 'Connect to Server'. *Enter 'smbfollowing steps://vm2/home' as the location, and enter your samba password in the prompt.**Where vm2 is the name of the server, and home is the name of the directory it is sharing.*After you have checked that you can access your files, unmount the share by right-clicking its icon in the side-bar and clicking 'Unmount'.
=== Using a browser ===*You #Install '''mariadb-server'''.<br /><br /> The MySQL and MariaDB are actually two <u>separate</u> projects run by different groups, yet they are compatible; therefore, you can also use a web browser with support for documentation from one to configure the SMB protocol such as Konquerorother.<br><br>**Note #'''NOTE:''' When installing mariadb, make certain that firefox does you have not have such supportjust the '''client''' but also the '''server software'''. *If Konqueror is not installed then install it with #When you start the command: yum install kdebase*Start KonquerorMySQL service, check the web/system log file browser, and in for instructions regarding how to set the address bar enter root password. Even though we will not configure our MySQL service to be accessible over the followingnetwork, it is accepted as a "best practice" configuring for network access for each MySQL installation. smb#Note that the MySQL service has two root passwords:<ul><li>For the localhost</li><li>For external requests</vm2li></homeul>*Enter your username and password when prompted#Refer to the log file to learn how to run the two commands in order to generate the appropriate passwords.*Double click on <br><br>NOTE: Use a file password you have some text in.**Open it with gedit, make some changesup yourself, and save it.**When promptedbut do <u>not</u> generate a secret password, choose to upload the since you will be storing that password in a plain text filefor later reference.*Close Konqueror.*cat #Start the file on your VM2 to service and ensure that it will start automatically every time the changes were properly uploadedmachine boots.
'''Record steps, commands, and your observations from this INVESTIGATION in your OPS335 lab log-book'''=== Test Connection to MySQL Database Server ===
==INVESTIGATION 3: CONNECTING TO A SAMBA SERVER FROM A WINDOWS CLIENT==While the web server (with php), and MySQL server may be working individually, we need to ensure that they can connect to each other. Since this test will involve storing the database password in a plain-text html file, we want to make sure no one else can access it.
This investigation will configure your VM2 machine to act as a Samba File server to allow Windows OS Users access to '''Perform the Linux Samba server files.following steps:'''
# Modify the Directory statement for your private directory to prevent any machine other than your vm1 from accessing it.# Re-start the web-server and try to access the page from another machine. Make sure that you can '''not''' do so before you continue.# Install the '''php-mysql''' module so that the installation of php your web server is using can execute sql statements. You will have to restart the service after installing it.#Modify the index.php page in your private directory to match the code below. This will test that your web server can connect to the database (replace the <user> and <password> with values appropriate for your machine):<br><source><?php$mysqli ===Accessing Files new mysqli("localhost", "<user>", "<password>");if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;}echo $mysqli->host_info . "\n";?></source>#Once that page shows a successful connection on a Linux Samba Server your VM ('''Localhost via UNIX socket''' via Windows Explorer ===the '''lynx''' application) this step is complete.
With some additional "tweaking" to your Linux Samba You have now established that the web server configuration file, you should be is able to access files on that file from a Windows machine on run code which can interract with the same networkdatabase. You This will be creating a Samba share for your home directory allow dynamic pages to make use of information stored there when providing resources to your regular user accountusers.
'''Perform the following tasks:Record steps, commands, and your observations in INVESTIGATION 2 in your OPS335 lab log-book'''
# Make certain that both your '''VM2''' and '''Windows''' virtual machines are running.# Power up a Windows system in the lab and login.# Add the prerouting and forwarding rules to your host's iptables necessary to redirect samba traffic from outside your network to your VM 2.# Open the Windows Explorer application.# At the top of the application== INVESTIGATION 3: INSTALL, enter the following:<br>'''\\IPADDR_OF_HOST_MACHINE\home'''CONFIGURE &amp; RUN WEBMAIL APPLICATION (Roundcube Mail) ==
{| cellpadding="15" width="40%" align="right" cellpadding="10"
|- valign="top"
 |width="10%" |[[Image:samba-loginRoundcube.png|thumb|right|300px200px|You will be prompted (once only) for the Samba user-name and password for your '''VM2Roundcube''' machine)webmail application Logo<br>GPL,<br> https://commons. wikimedia.org/w/index.php?curid=1772791]] |width="10%" |[[Image:samba3roundcube-map-drivepic.png|thumb|right|300px|You can create a Screencapture of '''mapped network drive (z:)roundcube''' for your Linux Samba server network share)webmail application running in order to send and receive mail messages via a web-browser. ]]  
|}
In the investigation, we will simply install, configure and run the '''roundcube''' webmail application.'''Perform the following steps on vm1:'''<ol><li value=>Perform a search on the roundcube application in order to access the website.</li><li>Either Download the "5zipped tarball"from their website from a direct link or use the wget command to download directly from a download link (This part may take some effort depending on the Sourceforge website).</li><li> You will be prompted Extract the "zipped tarball" and rename the generated directory that contains download source code to enter : '''webmail'''. Also make sure that '''webmail''' is a sub-directory of your VM2 username and password '''DocumentRoot'''.* Use the '''--no-same-owner''' option when extracting the tar achive to ensure that the files do not keep the original owner (one time onlywho will not exist on your system). Refer </li><li>Change the ownership of the '''temp''' and '''logs''' directories so they belong to diagram on rightapache.<br/li><brli>This service needs to be able to write to several directories ('''temp''' and '''NOTE:logs''' It may take approximately 30 seconds ) that SELinux prevents write access to. If you are in a section that has SELinux set to display '''enforcing''', run the file contentsfollowing commands to let it know that apache should be allowed to write to files in those directories.<brsource>semanage fcontext -a -t httpd_log_t '/var/www/html/webmail/temp(/.*)?'semanage fcontext -a -t httpd_log_t '/var/www/html/webmail/logs(/.*)?'restorecon -v -R /var/www/html/webmail<br/source></li><li>Where ::If your successful? If machine does nothave the semage command, try use yum to troubleshoot install the problem first, then ask your lab assistant or instructor for assistancepolicycoreutils-python package.<li>You will also need to tell selinux to allow the webserver to open connections to the MTAs with <source>setsebool -P httpd_can_network_connect 1</source></li><li>Close In the directory now named "webmail", there will be a file named '''INSTALL''' which will walk you through the rest of the Windows Explorer application windowRoundcube installation.<br /li><libr />Click on Some installation tips to consider:::* Be careful about copying &amp; pasting the MySQL setup part: take time and pay attention to detail: do not try to "rush it".::* You will need to install additional Apache modules including: '''STARTphp-xml''' menu, and click on '''Computerphp-mbstring'''.::* Don't forget to set the password in the roundcube configuration.</li><li>Click To make things easier, RoundCube has a well configured installation page available through your local web browser (You will see a note about it in the '''INSTALL''' file).</li>  ::* Go onto your host, open Firefox and on the address bar type "vm1.<yourSenecaID>.ops/webmail/installer", make sure your dns on host can resolve the Map Network Drive buttonweb address. Alternatively, and create a instead of "vm1.<yourSenecaID>.ops" you can input the ip address of your vm1, "192.168.X.2/webmail/installer", change X to your own IP octet. ::* Inside the web browser installer, ensure all required options are "'''mapped network driveok''' (called it drive ", if "'''ZDOM:not ok'''" it means you need to install additional php packages (yum install php-xml php-mbstring) which . Once everything is a Samba share of your VM2 machine for ready (it will not let you continue otherwise) click next go to the next page. ::* On the home directorynext page, insert "vm3.</liyourSenecaID>.ops" under the '''imap settings''' '''default_host''' field and "143" in '''default_port''' field. Insert "vm2.<liyourSenecaID>When finished.ops" under '''smtp settings''' '''smtp_server''' field, click on and "25" in '''smtp_port''' field. ::* Under '''Database setup''' '''Networkdb_dsnw''' , enter "localhost" as your database server, "roundcubemail" for database name. Put "roundcube" as Database user, and the password you set for the roundcube user when you configured that in Windows the previous steps for database password. Everything else can be left as default. ::* Click next to create the configuration file manager , then download it to confirm that your host. By default it will be saved under "~SenecaID/Downloads". Transfer the network share is presentfiles to vm1 using scp and place it inside /var/www/html/webmail/config folder.</li><li>Try ::* Go to create test config page if you are not there already and "Check config file" should be ok. "Check DB config" should also be ok, if not check your mysql settings. ::* Finally test your configuration by sending email using your smtp server through test field provided by webmail installer, you should receive a file test email sent by RoundCube. Test your IMAP settings by simply loging in with your SenecaID and vm3 password on Windows on your Linux Samba machinethe same webpage. Were ::* If everything works properly you able can skip to create a save a step 10. *Remember you can edit the configuration file?manually by editing "/var/www/html/webmail/config/config.inc.php".</li><li>Switch to Note that both of your VM2 machine IMAP and check to SMTP servers are on different machines (i.e. not on vm1). Therefore, you should see if that custom values in the following parameters in the Roundcube configuration file was created in your home directory.</li></ol>:
::* '''$config['smtp_server']'''
::* '''$config['default_host']'''
::* '''$config['default_port']'''
:::'''Record steps, commands, and your observations from this INVESTIGATION in your OPS335 lab log-bookNOTE:'''The last <u>two</u> entries above refer to your IMAP server
</li><li>Now that you have Roundcube installed it is time to test if the roundcube webmail application is working by logging on, then sending and receiving e-mail messages:*Using a webbrowser, navigate to vm1.<yourdomain>.ops/webmail and login.*Use the interface provided to send and receive email.</li><li>If mail sent through roundcube is sending from the wrong domain (i.e. user@vm3.yourdomain.ops instead of user@yourdomain.ops), each user can override it in the settings tab, or you can set:::* '''$config['mail_domain']''' </li></ol> '''Record steps, commands, and your observations in INVESTIGATION 3 in your OPS335 lab log-book''' {{Admon/important |Backup your VMs!|You MUST perform a '''full backup''' of ALL of your VMs whenever you complete your '''OPS335 labs''' or when working on your '''OPS335 assignments'''. You should be using the dump command, and you should use the Bash shell script that you were advised to create in order to backup all of your VMs.}} ==COMPLETING THE LAB==In completing this lab you You now have gained experience using a service complete LAMP stack and could host a variety of web-pages that allows remote could include dynamically generated content and database access to files stored on a Linux server. You also have also learned how to use several a webpage that is relying on a number of different tools services cooperating in order for it to access those files, both from a Linux and Windows client.work properly.
'''Depending on your professor you will either be asked to submit the lab in class, or online. Follow the appropriate set of instructions below.'''
===Online Submission(Peter Callaghan's Classes only)===Follow the instructions for lab 6 on moodleblackboard.
===In Class Submission(Murray Saul's Classes only)===::<span style="color:green;font-size:1.5em;">&#x2713;</span>Download the labcheck6.bash checking bash shell script by issuing the command:<br><br>'''Arrange evidence (command output) for each of these items wget http://matrix.senecac.on.ca/~peter.callaghan/files/OPS335/labcheck6.bash'''<br><br>set execute permission and run the shell script on your screen'''host''' machine. ::*For '''Peter's classes''', then ask your instructor follow his Online Submission instructions in Moodle.::*For '''Murray's classes''', run command (piping to review them and sign off on the lab's completion:''more'''command) and show output to instructor.::<span style="color:green;font-size:1.5em;">&#x2713;</span>Completed Lab6 log-book notes.
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Proof of network share of VM2 machine from Windows VM via Windows Explorer application::<span style="color:green;font-size:1.5em;">&#x2713;</span> Firewall settings on your Windows VM to allow Linux Samba network share::<span style="color:green;fontTo be completed by an instructor who uses in-size:1class submissions.5em;">&#x2713;</span> Display contents of '''/etc/samba/smb.conf''' file on VM2 machine::<span style="color:green;font-size:1.5em;">&#x2713;</span> Firewall exceptions (both machines) to allow Samba traffic::<span style="color:green;font-size:1.5em;">&#x2713;</span> Lab logbook completed
==EXPLORATION QUESTIONS==
 #What does SMB stand for?#What does CIFS the term LAMP stand for?Briefly describe the purpose of each of the following items in LAMP.#What is the purpose of the '''testparm''' commandmajor difference between a static web document and a dynamic document?#What does the text inside square brackets in the '''smb.conf''' file term "server-side programming" mean? (e.g., "[home]").#Explain What is the meaning purpose of the line "create mask = 0765" in the smbcreating and using an index.conf html file?#What does is the '''smbpasswd''' command dopurpose of creating and using an index.php file?
572
edits

Navigation menu