| Zeile 193: | 
Zeile 193: | 
|   |  |   |  | 
|   | === Node.js ===  |   | === Node.js ===  | 
| − | [[JavaScript]] gibt es auch auf dem Server. Node.js basiert auf der Chrome-JavaScript-Engine.  | + | Siehe [[Node.js]]  | 
| − |    |   | 
| − | Siehe 
  |   | 
| − | * [https://www.airpair.com/javascript/node-js-tutorial Tutorial für Node.js]
  |   | 
| − |    |   | 
| − | ==== Installation ====
  |   | 
| − | ===== Node.js auf Debian Stretch =====
  |   | 
| − |    |   | 
| − | Node.js lässt sich am besten vom NodeSource.com repository installieren. Dazu eine Datei <code>/etc/apt/sources.list.d/nodesource.list</code> mit folgendem Inhalt anlegen:
  |   | 
| − |    |   | 
| − |   deb https://deb.nodesource.com/node_8.x stretch main
  |   | 
| − |   deb-src https://deb.nodesource.com/node_8.x stretch main
  |   | 
| − |    |   | 
| − | Den GPG-Key installieren:
  |   | 
| − |   curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
  |   | 
| − |    |   | 
| − | Anschließend das Paket installieren:
  |   | 
| − |   sudo aptitude update && sudo aptitude install nodejs
  |   | 
| − |    |   | 
| − | ===== Node.js auf Ubuntu / Linux Mint =====
  |   | 
| − |    |   | 
| − | Bei Installation Node.js auf einer [[Ubuntu]]-basierten Linux-Distribution ist wohl folgender Befehl zur Erstellung eines Softlinks notwendig:<ref>Siehe http://stackoverflow.com/questions/26320901/cannot-install-nodejs-usr-bin-env-node-no-such-file-or-directory</ref>
  |   | 
| − |    |   | 
| − |   sudo ln -s /usr/bin/nodejs /usr/bin/node
  |   | 
| − |    |   | 
| − | ==== Einzelne Module von Node.js ====
  |   | 
| − |    |   | 
| − | ===== http - eingebauter WebServer =====
  |   | 
| − | ====== Beschränkung auf Anfragen von localhost ======
  |   | 
| − | Um Anfragen von außerhalb des <code>localhost</code> zu blocken, muss man in der <code>listen()</code>-Methode nach dem Port die Adresse des localhost (<code>"127.0.0.1"</code>) angeben.<ref>Vgl. [https://nodejs.org/api/net.html#net_server_listen API-Dokumentation von listen()]</ref> Beispiel:
  |   | 
| − |    |   | 
| − | <pre>
  |   | 
| − | server.listen(port, "127.0.0.1",  (err) => {
  |   | 
| − |   if (err) {
  |   | 
| − |     return console.log('something bad happened', err)
  |   | 
| − |   }
  |   | 
| − |    |   | 
| − |   console.log(`Server is listening on ${port}`)
  |   | 
| − | })
  |   | 
| − | </pre>
  |   | 
| − |    |   | 
| − | ====== HTTP Basic Authentication ======
  |   | 
| − |    |   | 
| − | Siehe 
  |   | 
| − | * https://www.sitepoint.com/http-authentication-in-node-js/
  |   | 
|   |  |   |  | 
|   | === Mini-Web-Server ===  |   | === Mini-Web-Server ===  |