snabbare Created with Sketch.
cloud Created with Sketch.
Fill 2 Copy 5 Created with Sketch.
cloud Created with Sketch.

Användarmanual

Kul att du kommit igång med Cloudnet Managed Hosting! Här är en guide om hur tjänsten funkar.

Ansluta till servern

För att komma åt filer, göra förändringar, kolla loggar eller starta om tjänster kan du ansluta via SSH eller SFTP. Adressen du ska använda är cNNNN.cloudnet.cloud. Uppgifterna finns i informationsbrevet som du fått i samband med beställningen av tjänsten.

För att hålla en hög nivå av säkerhet och för att vi ska veta vem som har åtkomst till servern använder vi personliga SSH-nycklar. Flera olika personer och företag kan kopplas till samma server.

Du kan även koppla opersonliga deploy-nycklar till servern. De används av Deploy-system som publicerar ny kod, som t.ex. Jenkins, CircleCI, DeployHQ eller liknande.

För att lägga till en ny person, ta bort åtkomst för någon som slutat eller byta vilken webbyrå som får komma åt servern behöver du kontakta Cloudnet.

Konfigurationsförändringar

Tjänsten är förberedd för att ladda upp din webbapplikation och köra direkt. Om du saknar någon tjänst eller konfiguration är det bra om du säger till så det blir installerat och konfigurerat på rätt sätt. Förändringar som görs riskerar annars återställas av konfigurationshanteringssystemet.

Vissa förändringar kan du enkelt göra själv, t.ex. i MySQL, PHP, Nginx, Apache m.fl.

Struktur på servern

/mnt/persist
Här finns all din data och dina inställningar. Endast de filer som ligger här säkerhetskopieras och sparas permanent.

/mnt/persist/www
Här finns root-mapparna för alla webbplatser och applikationer

/mnt/persist/etc
Här finns vissa generella konfigurationsfiler, t.ex crontab.

/mnt/backup
Här finns de senaste säkerhetskopiorna tillgängliga för eventuell återställning.

/mnt/persist/cloudnet/rc.local
Här lägger du kommandon som ska köras när servern startar.

Backuprutiner

Varje server säkerhetskopieras två gånger per dygn, av två separata system.

Endast filer under /mnt/persist säkerhetskopieras.

Innan backupen påbörjas dumpas databasen till disk, i mappen /mnt/persist/mysqldump eller /mnt/persist/postgresdump beroende på vilken databas du använder.

Backuper från det ena backupsystemet är alltid tillgängliga online i ett mountat filsystem så att du själv kan göra återställningar. Sökvägen till backuperna är /mnt/backup

Cronjobb

Om du har egna schemalaggda jobb som du vill köra definierar du dem i /mnt/persist/etc/crontab. Tänk på att filen har en extra kolumn som anger vilken användare som ska köra jobbet. Oftast ska jobben köras som www-data. Undvik att köra jobb som root om du inte är säker på att ingen annan användare kan modifiera skriptet som körs.

Placering av filer

Filerna till din webbplats ligger som standard i /mnt/persist/www/docroot

Har du mer än en webbplats på servern lägger du filer för ytterigare vhostar med strukturen /mnt/persist/www/docrot_NNNN där NNNN är namnet på webbplatsen

Om du har en test/stageversion av vhosten har den tillägget _stage, t.ex /mnt/persist/www/docroot_stage eller /mnt/persist/www/docroot_NNNN_stage

Lägg inga filer utanför /mnt/persist eftersom de då inte säkerhetskopieras.

Servernamn

Varje konto har ett namn i formatet cNNNN.cloudnet.cloud. Som standard är servernamnet konfigurerat att visa default vhost i /mnt/persist/www/docroot.

Servernamnet är också ett wildcard-record i Cloudnets DNS, vilket innebär att du kan använda YYYY.cNNNN.cloudnet.cloud, där YYYY är valfritt namn och oavsett vad du skriver kommer DNS:en returnera serverns IP-adress.

Se konfiguration av Apache och Nginx angående hur nya vhostar konfigureras och pekas mot rätt mapp.

Uppdateringar

I tjänsten ingår uppdateringar av operativsystemet och applikationer som webbserver, databas m.m. Det ingår inte uppdateringar eller säkerhetsfixar för webbplatsens CMS eller ramverk t.ex. Magento, Drupal eller WordPress.

Samarbete med webbyrå och utvecklare

Det är viktigt att det är någon som förvaltar själva applikationen/webbplatsen och ser till att den är uppdaterad och inte innehåller några säkerhetshål. Cloudnet samarbetar gärna direkt med utvecklare eller din webbyrå.

Övervakning

Din server övervakas automatiskt och om något fel uppstår kontaktas Cloudnets jour för att lösa problemet.
Om du vill ha utökad övervakning av din webbplats kan du skapa en http-endpoint som returnerar OK så länge allting fungerar och meddela Cloudnet url:en. Om den returnerar något annat kontaktas Cloudnets jour och försöker lösa eventuella problem.

Läs mer om tillgängliga tjänster

WordPress

Om du beställt WordPress-stöd är tjänsten förberedd för att ladda upp en WordPress-installation med databas. Cloudnet rekommenderar att du versionshanterar koden i git och använder Bedrock-struktur på filerna.

WP-cli finns färdiginstallerat och körs med
sudo -u www-data wp

WordPress körs med Nginx, PHP-fpm och MySQL.

Vhost-konfigurationen i Nginx ska inkludera en fil som heter /mnt/persist/nginx/wordpress.conf där alla WordPress-relaterade inställningar görs.

Konfigurationen är förberedd för cachning i Nginx, men funktionen behöver aktiveras manuellt. Tänk på att WordPress måste hantera tömning av Nginx-cachen vid förändringar av innehåll, t.ex genom pluginen nginx-helper. Cachningen aktiveras genom att lägga till följande i vhosten i Nginx:
set $cache_disabled 0

Kontakta Cloudnet om du planerar köra en multi/nätverks-installation av WordPress eftersom konfigurationen behöver justeras beroende på hur webbplatsen fungerar.

PHP

Cloudnet kör den versionen av PHP som ingår i Ubuntu LTS.

Om du har PHP aktiverat på din server har du även senaste versionen av composer.

Justeringar av PHP-konfigurationen görs i /mnt/persist/etc/php7.ini. För PHP-cli slår ändringar igenom direkt.

Omstart av PHP för att aktivera konfigurationsförändringar

PHP-fpm:
service php7.0-fpm restart

Apache med mod_php:
service apache2 restart

Tänk på att starta om PHP vid varje deploy för att tömma op-code-cachen så du får bästa prestandan.

MySQL

Ansluta till MySQL

Om du är inloggad med ssh på servern kan du köra MySQLs cli-kommandon utan att ange något lösenord.

Om du vill ha ett GUI ska du använda något av följande program:
Mac
Sequel Pro (https://www.sequelpro.com)

Alla plattformar
MySQL WorkBench (https://dev.mysql.com/downloads/workbench/)

MySQL-tjänsten går inte att komma åt från Internet av säkerhetsskäl, men du kan ansluta via SSH-tunnel med följande uppgifter:

MySQL-server: 127.0.0.1
Användare: root
Lösenord: (finns i informationsbrevet om tjänsten)
SSH-server: cXXXX.cloudnet.cloud (finns i informationsbrevet om tjänsten)
SSH-användare: root

root-lösenordet hittar du i informationsbrevet du fick i samband med beställningen av tjänsten.

Skapa en ny databas och användare

Ny databas
mysql -e "CREATE DATABASE gurk;"

Ny användare med fulla rättigheter i databasen gurk:
mysql -e "GRANT ALL ON gurk.* TO gurkuser@localhost IDENTIFIED BY 'GurkPassword';

Inställningar i webbapplikationen

Server: localhost
Port: 3306
Användare och lösenord: Skapa en egen användare för din applikation och kör inte som root.

Databasdumpar

MySQL-dumpar från senaste backupen finns i mappen /mnt/persist/mysqldumps. Äldre dumpar finns i backuperna som ligger i /mnt/backup.

Konfiguration

Du kan göra konfigurationsförändringar i /mnt/persist/etc/mysql.cnf. För att ändringarna ska aktiveras måste du starta om MySQL-tjänsten med följande kommando:
service mysql restart

Django

Cloudnet kör Django med VirtualEnv, UWSGI och Nginx.

Filer

/mnt/persist/www/django
Den här katalogen innehåller din kompletta miljö för Django. Det finns olika underkataloger där t.ex. statiska filer och annat finns.

/mnt/persist/www/django/current
I katalogen django kan du lägga dina egna Djangoprojekt som underkataloger. Det projekt som är aktivt har en symlänk som heter current pekad till sig. För att t.ex. byta projekt kan du skriva det här kommandot:
cd /mnt/persist/www/django
rm current
ln -s applicationX_release_1 current

Uwsgi måste startas om i det här fallet.
service uwsgi restart
Vårt django-paket kommer nu med uwsgi. Kolla i /mnt/persist/uwsgi/conf.d/django.ini för konfiguration och glöm inte att uppdatera ‘wsgi-file’ (i django.ini) när du laddat upp ditt projekt!

Miljön som är uppsatt använder VirtualEnv. Du kan själv t.ex. se vilka Pythonpaket som är installerad:
yolk -l
pip freeze

Använd alltid easy_install eller pip för att installera nya Pythonmoduler.
Om du vill skapa ett nytt Djangoprojekt kan du skriva så här:
easy_install django
cd /mnt/persist/www/django
django-admin.py startproject mitt_projekt

Vill du installera south:
pip install south

Celery

Om ditt projekt använder Celery för att exekvera bakgrundsjobb så kan du starta det med:
service celeryd restart
service celerybeat restart

Om Celery för Django inte är installerat, så gör det med pip:
pip install django-celery

Varnish

Konfiguration

/mnt/persist/etc/varnish.vcl
Konfigurationsfil för Varnish. Tänk om att tjänsten måste startas om för att förändringar ska bli aktiva.

Omstart

Starta om tjänsten och tömma hela cachen:
service varnish restart

Drupal

Cloudnet kör Drupal med Apache, mod_php och MySQL.

Tjänsten är förberedd för att ladda upp en Drupal-installation med databas. Cloudnet rekommenderar att du versionshanterar koden i git.

Drush finns färdiginstallerat på servern och körs med
sudo -u www-data drush

Composer finns installerad.

Apache

Sökväg till webbplatser

Alla vhostar/webbmappar ligger under /mnt/persist/www.

Default vhost är /mnt/persist/www/docroot.

Konfiguration

Konfiguration av vhostar och Apache görs i mappen /mnt/persist/apache2/conf.d. Det här är inställningen för vilket hostnamn som ska kopplas till vilken mapp på servern.

Det är en bra vana att testa konfigurationen accepteras av Apache när du gjort förändringar. Testa med
apache2ctl configtest

Om ändringarna fungerar läser du om konfigurationen med
service apache2 reload

Memcached

Konfiguration

Din applikation som använder memcached ska ansluta till localhost port 11211.

Kommandon

För att se om memcached fungerar kan man enkelt ansluta och läsa ur statistik:
telnet localhost 11211
stats

STAT cmdget 3032
STAT cmdset 1835

De olika variablerna cmdget och cmdset ökas för varje gång en nyckel skriv eller läses.
Det går även att manuellt sätta och läsa värden. Nedan sätts nyckeln testing till värdet TeSt:
set testing 0 900 4
TeSt
STORED
get testing
VALUE testing 0 4
TeSt
END

MongoDB

Databasdumpar

/mnt/persist/mongodump
Den här katalogen innehåller dumpar en dump av varje databas.

Administration via kommandoraden

Du kan ansluta till mongodb med kommandot mongo. För att visa vilka databaser som finns så kan du skriva:
mongo
MongoDB shell version: 2.4.4
connecting to: test
show dbs

Nginx

Konfiguration

/mnt/persist/nginx/conf.d/*
Filerna i den här katalogen läses in av Nginx. Här kan du lägga extra inställningar och nya vhostar som Nginx ska använda sig av.
I grundutförandet så finns här tre filer, catch-all.conf, docroot.conf och docroot_stage.conf. Dessa respektive filer styr webbtrafiken till olika platser på servern.

Sökvägar till webbplatser

Alla webbplatser ska ligga under /mnt/persist/www

/mnt/persist/www/docroot
Rootkatalog för webbsida. Här finns alla html-filer. Du når filerna här genom att surfa till cXXXX.cloudnet.cloud

/mnt/persist/www/docroot_stage
Om du har en test-version av sidan där du testar hur allt ser ut innan publicering så ligger filerna här. Du kommer som standard åt innehållet genom att surfa in på stage.cXXXX.cloudnet.cloud.

Variabler för databas

Om din server även har MySQL så sätts några miljövaribler i Nginx som webbapplikationen kan läsa. Det gör att du inte behöver ha separata konfigfiler för utveckling, stage och produktion. Som standard sätts dessa variabler:

ENVIRONMENT är antingen ”production” eller ”stage” beroende på vilken vhost som anropas.
DATABASE_NAME sätts till databasnamnet som applikationen ska använda.
DATABASE_HOST sätts till var applikationen ska ansluta.
DATABASE_USERNAME det användarnamn som applikationen ska använda.
DATABASE_PASSWORD lösenord som applikationen ska använda.

Läs in dessa variabler direkt i applikationen så har du all information du behöver för att ansluta till databasen.

Node.js

Node.js körs med Nginx på port 80/443 som levereras statiska filer, och kör proxy på alla requester som ska till Node.js.

Node.js-processen startas av pm2.

Konfiguration

Konfiguration av pm2 ligger i /mnt/persist/nodejs/*.yml

För att läsa om en förändrad konfigurationsfil:
pm2 reload nodejs.yml --update-env

pm2

För att lista aktiva processer
pm2 list

Loggfiler

Loggfiler för pm2 hamnar i /usr/local/pm2/logs

npm

Pakethanteraren för Node.js är installerat men måste köras i rätt katalog. Man måste stå i Node.js-rooten. För att lista alla installerade paket:
cd /mnt/persist/nodejs
npm list

Deploy

För att deploya din kod kan du med fördel använda git. Läs mer under deploya ny kod direkt med Git.

PostgreSQL

Databasdumpar

Senaste databasdumpen ligger i /mnt/persist/postgresqldumps

Administration via kommandoraden

Logga in som root med SSH på din server. Något lösenord behövs då inte för PostgreSQL.
sudo -u postgres psql [databas]

När du är inne i psql så kan du lista alla databaser med kommandot \list eller lista tabeller i en vald databas med \dt.

Skapa en ny användare:
createuser ny-användare -P -s
Enter password for new role:
Enter it again:

Skapa en ny databas:
createdb -U ny-användare -E utf8 -O ny-användare ny-databas -T template0

Redis

Använd följande inställningar i din applikation om du kör Redis:
Server: localhost
Port: 6379

Test av Redis

Du kan använda redis-cli för att direkt ansluta till Redis och skriva nycklar och variabler.

redis-cli
redis 127.0.0.1:6379> set test 10
OK
redis 127.0.0.1:6379> get test
"10"
redis 127.0.0.1:6379>

Solr

Cloudnet kör Solr med Tomcat.

Anslutning

Solr lyssnar på port 8080, men är inte åtkomlig från internet.

Konfigurera följande URL i din applikation:
http://localhost:8080/solr

Filer och konfiguration
/mnt/persist/solr
Under den här katalogen finns Solr och konfiguration.

/mnt/persist/solr/default
Solr går att köra med en kärna eller flera kärnor (cores). En flerkärnig installation har en underkatalog för varje kärna där egna xml-filer finns.

Vill du bara ha en kärna, single core, så ligger konfiguration i mappen default. Vidare så finns katalogen conf där själva schemafilen och andra inställningar finns. Här hittar du solrconfig.xml och schema.xml.

OBS! Vanligtvis behöver du lägga in konfigurationsfiler i den här mappen som följer med din Solr-modul.

Starta om Solr för att aktivera konfigurationsförändringar med kommandot:
service tomcat7 restart

Ansluta till Solrs administrations-gui

För att nå administrationsgränssnittet sätter du upp en tillfällig SSH-tunnel enligt följande, där cXXXX är namnet på din server:
ssh -L 8080:localhost:8080 root@cXXXX.cloudnet.cloud
Ange sedan adressen http://localhost:8080/solr i din webbläsare.