The project team is ready to create the directory structure for the Web site. Yo
ID: 3771716 • Letter: T
Question
The project team is ready to create the directory structure for the Web site. You are tasked with creating the directories and implementing the security mechanism. For this assignment, you need to create the following directory structure and permissions: Ensure that you are starting in your individual Home directory: +- apache/ | |- bin/ | |- conf/ | |- lib/ | +- www/ | | - html/ | | - cgi-bin/ | | - ftp/ The following file permission should be enabled for the directories: The owner can read, write and execute All. The group can read and execute All Directories. Everyone else can only read and execute the files in Apache only (and no permissions in www). Change the www/ftp directory to allow the User and group to read, write, and execute, but everyone else to only write to the directory. In addition, create the following empty files and set the following file permissions: apache/bin/httpd - 755 www/html/index.html - 644 www/cgi-bin/process.pl - 711 Finally, create a file called apache/conf/httpd.conf, and add the following lines to the file: # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # Do not add a slash at the end of the directory path. # ServerRoot "/usr" # # DocumentRoot: The directory out of which you will serve your documents. # DocumentRoot "/Library/WebServer/Documents" Save the file and exit the editor. Set the file permission for this file to be: 664. Show the command used to show content of the file and the content of the file. Using the grep command, write comment to find the line containing the word(s) ServerRoot and DocumentRoot in the httpd.conf file. Write a sed command that will change the ServerRoot value from /usr to the absolute directory patch for your apache directory. Write a sed command that will change the Document value from /Library/WebServer/Documents to the absolute directory patch for your www directory. Write an awk command that will print only the comment field and the login id of all users in the /etc/passwd file in this format: - . Your submission should include the following, as well as a description about each step (what you did and why you are performing each command): All commands to create the above structure Changing to your Home directory Creating the directories Creating the empty files Changing all file permissions Show the directory list of the new structure, including a list of permissions A grep, sed, and awk command
Explanation / Answer
Task 4:
# creating required directories.
mkdir apache
mkdir apache/bin
mkdir apache/conf
mkdir apache/lib
mkdir www
mkdir www/html
mkdir www/cgi-bin
mkdir www/ftp
# Permission enabled for the directories.
chmod -R 755 apache
chmod -R 750 www
chmod -R 771 www/ftp
touch apache/bin/httpd
chmod 755 apache/bin/httpd
touch www/html/index.html
chmod 644 www/html/index.html
chmod 711 www/cgi-bin/process.pl
cat > apache/conf/httpd.conf <<-EOF
#
# This is the main Apache HTTP server configuration file. #It contains the configuration directives that give the #server its instructions.
# Do not add a slash at the end of the directory path.
#
ServerRoot "/usr"
#
# DocumentRoot: The directory out of which you will serve # your documents.
#
#DocumentRoot "/Library/WebServer/Documents"
EOF
chmod 664 apache/conf/httpd.conf
cat apache/conf/httpd.conf
grep -e"ServerRoot" -e"DocumentRoot" apache/conf/httpd.conf
cd www
sed "s_/Library/WebServer/Documents_`pwd`_g"apache/conf/httpd.conf
awk -F":" '{print $1 - $2}' /etc/passwd
Task 5:
#!/bin/bash
INSTALL_DIRECTORY=`pwd`;
function chkmkdir(){
dir=$1
if [ ! -d $dir ]; then
mkdir $dir
fi
}
function chkmkfile(){
file=$1
if [ ! -f $file ]; then
touch $file
fi
}
cd ~
pwd
ls -l
chkmkdir apache
chkmkdir apache/bin
chkmkdir apache/conf
chkmkdir apache/lib
chkmkdir www
chkmkdir www/html
chkmkdir www/cgi-bin
chkmkdir www/ftp
chmod -R 755 apache
chmod -R 750 www
chmod -R 771 www/ftp
chkmkfile apache/bin/httpd
chmod 755 apache/bin/httpd
chkmkfile www/html/index.html
chmod 644 www/html/index.html
chmod 711 www/cgi-bin/process.pl
if [! -f apache/conf/httpd.conf]; then
cat > apache/conf/httpd.conf <<-EOF
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# Do not add a slash at the end of the directory path.
#
ServerRoot $INSTALL_DIRECTORY
#
# DocumentRoot: The directory out of which you will serve # your documents.
#
DocumentRoot "$INSTALL_DIRECTORY/Library/WebServer/Documents"
EOF
fi
# to see the list of files and directories in the current folder
find .
echo The webserver is installed in $INSTALL_DIRECTORY folder.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.