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 is undergoing a rewrite.
Python
Django
PostgreSQL
nss-pgsql
NFS
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 uses openldap1 to retrieve user IDs and virtual machines run on deneb.
Director uses postgres1 and mysql1 for databases.
Director Path
/usr/local/www/director/
Director Configuration Files
/etc/nginx/nginx.conf
Sites: /etc/nginx/director.d/*
/etc/supervisor/supervisord.conf
Sites: /etc/supervisor/director.d/*
/etc/php/7.0/fpm/php-fpm.conf
Sites: /etc/php/7.0/fpm/pool.d/*
Log/Backup Files
/var/log/nginx/
Access log - access.log, access.log.X, access.log.X.gz
Error log - error.log, error.log.X, error.log.X.gz
/var/log/supervisor/
Django Server: director.log
Node.js Server: directornode.log
GitHub Deploy Hook: directorgithook.log
/usr/local/db_backups
Format backupYYYYMMDD.sql.xz
Monthly backups of database
Run under a crontab with the postgres user
Other Configuration Files
/etc/security/limits.conf
@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.
/web
NFS share, mounted on ras under /web # This does not exist atm
Kerberos Authentication
/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
OpenCV
MediaWiki Parsoid
​Certbot​
​Director​
​Help Guide​
​About/Credits​
​Director on GitHub​
Director is undergoing a rewrite. For information and learn how to help, join #director
or contact the Director Lead.