mjenior / cn_proxy Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ranxuejun/cn_proxy
Content Negotiation Proxy for CrossRef DOIs
License: Other
This project forked from ranxuejun/cn_proxy
Content Negotiation Proxy for CrossRef DOIs
License: Other
Content negotiation proxy for CrossRef OpenURL API Server Preparation? =============================================================== Installation for an Ubuntu machine: 1. Install capistrano on your local development machine $ gem install capistrano 2. Bootstrap a deployment machine with packages and gems $ cap bootstrap -S domain=some_domain distro=ubuntu user=ubuntu some_domain must be accessible via SSH and a user with sudo permissions. I usually set up my ~/.ssh/config file with a Host section for some_domain: Host some_domain HostName a_very_long_and_ugly_ec2_external_dns_ip_thingy.com User ubuntu IdentityFile ~/.ssh/karls-amazon-id Host some_domain_deploy HostName a_very_long_and_ugly_ec2_external_dns_ip_thingy.com User deploy IdentityFile ~/.ssh/crossref-deploy-id distro should be one of ubuntu or centos (currently), and it defaults to ubuntu. user should be the name of a user on the target machine that has sudo permissions. By default this is 'ubuntu' since EC2 Ubuntu instances set this user up as one with sudo perms. 3. Set up the deployment directory structure $ cap deploy:setup -S domain=some_domain_deploy Notice that we're running this command with some_domain_deploy, so it runs via the 'deploy' user. Redeployment? ================================================================ Now we're ready to deploy for the first time, or redeploy. This requires three commands: $ cap deploy -S domain=some_domain_deploy $ cap configure -S domain=some_domain_deploy $ cap install -S domain=some_domain $ cap restart_apache -S domain=some_domain The second will ask for some input - configuration details such as service host name and CrossRef query key. Is it working? ================================================================ All deployed? Check it's running with: $ curl -i some_domain/heartbeat Where is the deploy key? ================================================================ A public deploy key is installed on the target deployment machine by the bootstrap script. Ask Karl or Geoff for a copy of its private part, or change the public deploy key in the scripts/bootstrap file. When making requests to the cn_proxy, I get "can't modify frozen object" errors. ================================================================ cn_proxy uses an RDF library that, at time of writing, is incompatible with addressable 2.2.5, one of its dependencies. Downgrade addressable on the deployment machine: $ sudo gem install addressable -v 2.2.4 $ sudo gem uninstall addressable -v 2.2.5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.