Director, also known as web3, is a website management interface for student and activity websites. It was created during the 2016-17 school year, and is currently used by many of the web application development classes.
The application was created to provide a secure, beginner friendly, and highly customizable website hosting platform. To achieve this goal, many features, including a web terminal and online editor, were implemented. The project has been completely student-built, and was the senior research project of Eric Wang (class of 2017).
The contact person for Director is the Director Lead.
Director currently runs on sirius. It currently requires a minimum of 8 GB of RAM due to all of the sites that are running on it.
Director Configuration Files
Access log - access.log, access.log.X, access.log.X.gz
Error log - error.log, error.log.X, error.log.X.gz
Django Server: director.log
Node.js Server: directornode.log
GitHub Deploy Hook: directorgithook.log
Monthly backups of database
Run under a crontab with the postgres user
Other Configuration Files
@director hard nproc 100 - Limit all sites to a maximum of 100 processes.
@director hard as 4000000 - Limit all site processes to a maximum of 4G memory.
NFS share, mounted on ras under /web # This does not exist atm
/etc/exports - NFS Server Configuration
apt-get install -y sshpassapt-get install -y htop tmux screen git atapt-get install -y sqlite3curl -sL [https://deb.nodesource.com/setup_6.x](https://deb.nodesource.com/setup_6.x) | sudo -E bash -apt-get install -y nodejs npmapt-get install -y golang-goapt-get install -y ruby-fullapt-get install -y php7.0-mbstring php7.0-xml php7.0-mysql php7.0-pgsql php7.0-sqlite php7.0-gd php7.0-ldap php7.0-curl php7.0-mcrypt php7.0-zip composerapt-get install -y default-jdk default-jre scalaapt-get install -y python-pip python3-pipapt-get install -y imagemagickapt-get install -y haskell-platformapt-get install -y mysql-clientpip install Flask Django requests numpypip3 install Flask Django requests numpynpm install -g pm2
Director is undergoing a rewrite. For information and learn how to help, join
#director or contact the Director Lead.