Dieses Projekt wurde in einer früheren Phase des Yale Digital Humanities Labors entwickelt. Das Labor ist jetzt ein Teil der Computermethoden und Datenabteilung der Yale Library und enthält dieses Projekt nicht mehr in seinen Arbeitsumfang. Daher wird es keine weiteren Aktualisierungen erhalten. Die aktuelle Version dieser Website, die hier nicht reflektiert wird, gehört Professor Elihu Rubin.
Mapping in New Haven Architekturgeschichte.
Das New Haven Building Archive (NHBA) ist ein digitales Archiv der Gebäude in New Haven. In diesem Repository befindet sich der Quellcode und die Führung des Standorts für den Bau des Standorts vor Ort oder in EC2 -Instanzen.

Diese Anwendung erfordert node.js (Version 6 oder höher) und MongoDB.
Datenmigrationen innerhalb dieser Anwendung erfordern Pymongo ( pip install pymongo ).
Um diese Anwendung auf Ihrem Computer auszuführen, öffnen Sie ein Terminal und führen Sie aus:
# obtain application source and enter repository
git clone https://github.com/duhaime/nhba
cd nhba
# load database
wget https://s3-us-west-2.amazonaws.com/lab-apps/nhba/archives/nhba-11-12-08.archive -O nhba.archive
mongo nhba --eval "db.dropDatabase()"
mongorestore --db nhba --archive=nhba.archive
# obtain images
wget https://s3-us-west-2.amazonaws.com/lab-apps/nhba/archives/build.tar.gz -O build.tar.gz
tar -zxf build.tar.gz
# install nvm, e.g. with brew
brew install nvm
# install node compatible with this library
nvm install v10.24.1
nvm use v10.24.1
# install dependencies
npm install --no-optional
# start production server
npm run production
Die Anwendung wird dann unter localhost:8080 verfügbar sein.
Sie können optional ein weiteres Terminalfenster, die CD, in das NHBA -Verzeichnis öffnen und npm run start ausführen, um einen Entwicklungsserver auf 8081 zu starten. Dieser Entwicklungsserver hängt vom Produktionsserver ab, verfügt jedoch über das Nachladen von Hot -Modul für schnellere Entwicklungsgeschwindigkeit.
Um diese App auf einer Amazon -Linux -Instanz auf EC2 bereitzustellen, muss man:
# Install Node.js on Amazon Linux
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 6.10.0
node -v
# Install MongoDB on Amazon Linux
sudo touch /etc/yum.repos.d/mongodb-org-3.4.repo
sudo vim /etc/yum.repos.d/mongodb-org-3.4.repo
# paste the following:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
sudo yum install -y mongodb-org
sudo service mongod start
sudo chkconfig mongod on
Lassen Sie uns den Benutzern verschlüsseln, um kostenlose SSL -Zertifikate für gebundene Domänenadressen zu erhalten. Um den Let's Encrypt -Client auszuführen und Zertifikate zu erhalten, müssen Sie eine elastische IP für Ihre EC2 -Instanz erstellen, einen Domänennamen (z. B. cats.com) erhalten und Ihre EC2 -Instanz an die Domäne binden. Für Benutzer, die Namecheap verwenden, bietet dieser Beitrag eine gründliche Anleitung.
Sobald dies erledigt ist, kann man den Let's Encrypt -Client mit den folgenden Befehlen herunterladen und ausführen:
# get Let's Encrypt client
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
# pass domain to -d; must be a bound domain, not a raw IP
sudo ./certbot-auto --debug -v --server https://acme-v01.api.letsencrypt.org/directory certonly -d YOURDOMAIN.EXT
Hier bezieht sich Ihre Domain.ext auf die Domäne, an die Ihre Instanz gebunden ist. Wählen Sie bei der Aufforderung die zweite Option (temporärer Server) aus, um Ihre Zertifikate zu verarbeiten.
Aktualisieren Sie dann nhba/config.js -Datei, um den Speicherort Ihrer Zertifikate widerzuspiegeln. Der Standardort ist /etc/letsencrypt/live/YOURDOMAIN.EXT/fullchain.pem
Um Ihre Anwendung auf HTTPS auszuführen, aktualisieren Sie einfach nhba/config.js :
config.api = {
protocol: 'https',
host: 'YOURDOMAIN.EXT',
port: 443,
prefix: 'api'
}
Fügen Sie ~/.bash_profile die folgenden Variablen hinzu:
export NHBA_EMAIL='YOURGMAILACCOUNT' # e.g. catparty
export NHBA_EMAIL_PASSWORD='YOURGMAILPASSWORD' # e.g. meow
export NHBA_SECRET='NHBA_SECRET' # equivalent to `rake secret`
export NHBA_SALT_WORK_FACTOR=10 # encryption difficulty
export NHBA_ENVIRONMENT='production' # switch to production
export NHBA_ADMIN_EMAILS='[email protected] [email protected]' # space separated emails
export NHBA_SUPERADMIN_EMAILS='[email protected]' # space separated emails
Dann source ~/.bash_profile
Erstellen Sie ein Verzeichnis, in dem Benutzer -Uploads aufbewahrt werden können: MKDIR Build/Assets/Uploads/Dateien
Nur Superadmin -Benutzer können andere Administratorbenutzer ernennen. Superadmin -Benutzer müssen auf der Befehlszeilenebene ernannt werden:
# enter nhba db
mongo nhba
# find a user by their email address and make them a superadmin
db.users.update({'email': '[email protected]'}, {$set: {'superadmin': true}})
npm run compress
sudo node server.js
Möglicherweise möchten Sie einen Wrapper wie Forever.js verwenden, um Ihren Server am Laufen zu halten ...