Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/odsod/kodalitewebb
Koda lite webb!!
https://github.com/odsod/kodalitewebb
Last synced: about 2 months ago
JSON representation
Koda lite webb!!
- Host: GitHub
- URL: https://github.com/odsod/kodalitewebb
- Owner: odsod
- Created: 2015-02-11T16:56:24.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-02-14T10:53:53.000Z (almost 10 years ago)
- Last Synced: 2024-10-14T06:27:35.880Z (3 months ago)
- Language: JavaScript
- Size: 176 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Koda lite webb!!
Börja här:
* [GitHub's Student Developer Pack](https://education.github.com/pack)
## Skaffa en server
* [DigitalOcean](https://www.digitalocean)
Glöm inte att använda din rabattkod från GitHub!
För att logga in på din server behöver du en
[SSH](http://en.wikipedia.org/w/index.php?title=Secure_Shell)-nyckel.Aldrig använt SSH innan?
* DigitalOcean har en bra
[tutorial för Windows-användare](https://www.digitalocean.com/community/tutorials/how-to-create-ssh-keys-with-putty-to-connect-to-a-vps).
* GitHub har en bra
[tutorial för Mac- och Linuxanvändare](https://help.github.com/articles/generating-ssh-keys/#platform-linux).Börja med att ladda upp din publika SSH-nyckel på DigitalOcean:
* [Add SSH Key](https://cloud.digitalocean.com/ssh_keys#new_ssh_key_form)
Sedan skapar du din VPS:
* [Create droplet](https://cloud.digitalocean.com/droplets/new)
| Konfigurering | Förklaring |
|------------------|------------|
| Droplet hostname | *Namnet på din server. I detta exempel döper vi servern till `vps`.* |
| Select size | *Den billigaste räcker alldeles utmärkt.* |
| Select region | *Amsterdam eller London ger dig bättre latens över SSH än New York* |
| Select image | *Ubuntu 14.04 x64 är en [LTS-version](https://wiki.ubuntu.com/LTS) som passar utmärkt för servrar* |
| Add SSH keys | *Välj SSH-nyckeln du laddat upp sedan tidigare.* |Du borde nu se din sprillans nya VPS i listan över dina servrar, notera
dess IP, för nu ska vi skaffa oss ett domännamn som pekar till den IP-adressen.## Skaffa ett domännamn
* Använd [GitHub's Student Developer Pack](https://education.github.com/pack)
för att få ett gratis `.me`-domännamn i ett år.När du registrerat dig och fixat ditt domännamn, behöver du göra följande:
* Klicka på ditt användarnamn längst upp till vänster i menyn.
* *Manage domains*
* Klicka på ditt domännamn i listan.
* Klicka på *URL-forwarding* i den vänstra menyn.
* Fyll i den översta raden med följande:
`@ [] [A (Address)] n/a [1800]`
* *Save Changes*Grattis, du har nu en egen server, med ett eget domännamn!
## Fixa iordning din server
Nu kan vi SSH:a till vår nya server och börja mecka med den!
Om du kör OSX eller Linux:
~~~
ssh -A [email protected]The authenticity of host '188.166.12.226 (188.166.12.226)' can't be established.
ECDSA key fingerprint is 07:be:14:76:bd:75:1c:82:03:b1:d1:de:68:dc:1b:2b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '188.166.12.226' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-43-generic x86_64)* Documentation: https://help.ubuntu.com/
System information as of Sat Feb 14 04:03:47 EST 2015
System load: 0.0 Memory usage: 9% Processes: 51
Usage of /: 10.8% of 19.56GB Swap usage: 0% Users logged in: 0Graph this data and manage this system at:
https://landscape.canonical.com/root@vps:~#
~~~Om du kör Windows, hänvisa tillbaka till DigitalOceans
[tutorial för Windows-användare](https://www.digitalocean.com/community/tutorials/how-to-create-ssh-keys-with-putty-to-connect-to-a-vps).### Skapa en användare
Man ska helst inte rota runt på en server som `root`-användaren.
Skapa istället en användare för dig själv. I detta exempel döper vi
användaren till `user`.~~~
root@vps:~# adduser userAdding user `user' ...
Adding new group `user' (1001) ...
Adding new user `user' (1001) with group `user' ...
Creating home directory `/home/user' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
~~~Du behöver också tillåta din SSH-nyckel för din nyskapade användare.
Ett smidigt sätt att göra detta är att kopiera `.ssh`-mappen från
`root`-användaren till din nya användare.~~~
root@vps:~# cp -r /root/.ssh /home/user/.ssh
~~~Du behöver också överföra ägarskapet av `/home/user/.ssh`-mappen till
din nya användare, just nu ägs den av `root`-användaren.~~~
root@vps:~# chown -R user:user /home/user/.ssh
~~~Din nya användare kommer behöva `sudo`-rättigheter för att installera
saker. Såhär fixar du det:~~~
root@vps:~# visudo
~~~Du editerar nu filen `/etc/sudoers` med texteditorn `nano`. Använd
piltangerterna för att navigera ned till raden som ser ut såhär:~~~
# User privilege specification
root ALL=(ALL:ALL) ALL
~~~Och gör så att den ser ut såhär:
~~~
# User privilege specification
root ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) ALL
~~~För att spara: `Ctrl+X`, sedan `y`, sedan `Enter`.
Nu har din nya användare sudo-rättigheter!
Dags att SSHa in som din nya användare, så logga ut `root`-användaren:
~~~
root@vps:~# exit
~~~och SSHa in som din nya användare:
~~~
$ ssh -A [email protected]Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-43-generic x86_64)
* Documentation: https://help.ubuntu.com/
System load: 0.0 Processes: 67
Usage of /: 11.2% of 19.56GB Users logged in: 0
Memory usage: 11% IP address for eth0: 188.166.12.226
Swap usage: 0%Graph this data and manage this system at:
https://landscape.canonical.com/0 packages can be updated.
0 updates are security updates.The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.user@vps:~$
~~~Wohoo, dags skrida till verket!
## Exempelkod från livekodningen
Koden från livekodningen finns tillgänglig i detta GitHub-repo.
Om du aldrig använt git eller och GitHub innan kan
[denna tutorial](https://guides.github.com/activities/hello-world/#repository).
vara till hjälp.Först vill vi installera `git` på servern.
Börja med att hämta hem den senaste listan över vilka paket som går att installera:
~~~
user@vps:~$ sudo apt-get update
[sudo] password for user:
Ign http://security.ubuntu.com trusty-security InRelease
Get:1 http://security.ubuntu.com trusty-security Release.gpg [933 B]
Get:2 http://security.ubuntu.com trusty-security Release [62.0 kB]
...
~~~Installera sedan `git`.
~~~
user@vps:~$ sudo apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
Do you want to continue? [Y/n]
~~~Klona sedan detta repo:
~~~
user@vps:~$ git clone https://github.com/odsod/kodalitewebb
~~~~~~
user@vps:~$ cd kodalitewebb/
user@vps:~/kodalitewebb$ ls
client.js index.html README.md server.js style.css
~~~### Installera och konfigurera Nginx
Dags att installera [Nginx](http://nginx.org), vår webbserver.
~~~
user@vps:~/kodalitewebb$ sudo apt-get install nginx
Reading package lists... Done
...
After this operation, 9,055 kB of additional disk space will be used.
Do you want to continue? [Y/n]
~~~Nu vill vi konfigurera Nginx så att den servar våra filer.
För att editera `/etc/nginx/sites-enabled/default` kan vi använda
texteditorn `nano`, samma editor som vi använde för att lägga till oss i
`/etc/sudoers`.~~~
user@vps:~/kodalitewebb$ sudo nano /etc/nginx/sites-enabled/defaultGNU nano 2.2.6 File: /etc/nginx/sites-enabled/default
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts to this file
...
~~~Använd piltangenterna för att navigera till raderna som ser ut såhär:
~~~
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;root /usr/share/nginx/html;
~~~och ändra så att de ser ut såhär:
~~~
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;root /home/user/kodalitewebb;
~~~Nu kommer Nginx att serva filer från mappen `/home/user/kodalitewebb`.
Vi också vidarebefodra alla URLer som börjar med `/api` till vår
Node.js-server, som lyssnar på port `8080`.Gå till raderna som ser ut såhär:
~~~
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
~~~och ändå så att de ser ut såhär:
~~~
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}location /api {
proxy_pass http://localhost:8080;
}
~~~Spara genom att knappa in `Ctrl-x`, sedan `y`, sedan `Enter`.
Den nya Nginx-konfigen tar kraft så snart vi startar om Nginx:
~~~
user@vps:~/kodalitewebb$ sudo service nginx restart* Restarting nginx nginx
...done.
~~~Om du surfar in på din sajt nu, så bör du se vår `index.html`-sida, men
chatten fungerar inte, eftersom vi måste starta vår chattserver först.### Installera och konfigurera Node.js
Börja med att installera [Node.js](http://nodejs.org) och
[npm](https://www.npmjs.org).~~~
user@vps:~/kodalitewebb$ sudo apt-get install nodejs npm
~~~Vår chattserver använder sig av [Express](http://expressjs.com), ett
mycket användbart bibliotek när man kodar servrar.Eftersom vår server behöver parsa JSON-objekt behöver vi också
installera modulen `body-parser`.~~~
user@vps:~/kodalitewebb$ npm install express body-parser
~~~Starta servern, håll tummarna, och refresha din sajt!
~~~
user@vps:~/kodalitewebb$ nodejs server.js
~~~