When we started working on a web project, we were using git for individual parts of the project but we wanted to see the projects as a web page and updating git to wait for results was a bit more difficult than expected. Because of this, we decided to create user directories on the server hosting the project which would render everything through the web server. This made testing much easier, as any scripts could be tested locally.
The user directories were creating using the following script:
user=
pass=
users=
passwords=
count=0
while [ 1 ]
do
# Prompt and get the username
echo -n “Enter username [Blank to Exit]: “
read user
if [ -z $user ]; then
break
fi
# Check for errand username formats
if [[ ! $user =~ ^[a-z] ]]; then
echo “Invalid username”
continue
fi
# Set up the user and directories
useradd $user -d $BASE_DIR/$user
mkdir $WEB_DIR/$user
chown $user:developer $WEB_DIR/$user
ln -s $WEB_DIR/$user $BASE_DIR/$user/html
chown $user:developer $BASE_DIR/$user/html
users[$count]=$user
count=$(($count + 1))
# Check for more users
echo -n “Another User? (y/N): “
read another
if [ -z $another ]; then
break
fi
if [ $another != ‘y’ ] && [ $another != ‘Y’ ] && [ $another != ‘yes’ ] && [ $another != ‘Yes’ ]
then
break
fi
done
for (( i = 0; i < $count; i++ ))
do
echo “Username: ${users[$i]}”
echo “${users[$i]}” >> users.csv
done
The script creates a new user given a user name and creates a home folder for that user. Then a directory is created in the development folder of the web directory with the same name as the user name. The permissions is then corrected so the correct user can edit their code. Once this is done a symlink is placed in the user’s home folder to make it a little easier. To place your code in the web directory you just needed to place your code in your own html folder.
To access an individual’s web work, you could go to cstest.worcester.edu/development/ and get a list of the user directories. You could then view the work by clicking on the correct user.
From the blog CS 401 - Object Oriented Design » cs-wsu by dillonmurphy10 and used with permission of the author. All other rights reserved by the author.