Author Archive

Statusoppdatering nedetid 4 Juli.

mandag, juli 4th, 2011

Som de fleste av dere muligens har fått med dere har Host1 hatt nedetid på sine tjenester fra ca 03:00 4 Juli og utover dagen. De aller fleste servere kom opp før 12. Men våre webhotell-servere kom opp litt senere.

Det som har skjedd er at ett av våre systemer ble kompromittert i natt, grunnet dette valgte vi å ta ned alle våre tjenester for å sikre våre kunder. Dette førte beklageligvis til noe nedetid, vi beklager dette på det sterkeste.

Vi har nå gjort vårt beste for å sikre oss mot at dette skal kunne skje i fremtiden, vi anbefaler dog at alle våre kunder bytter passord på sine webhotell-kontoer/servere for sikkerhets skyld.

Kontakt support@host1.no hvis du har spørsmål rundt dagens hendelser.

Nattens oppgraderinger fullført!

onsdag, juni 29th, 2011

Nattens varslede oppgraderinger er nå fullført, lenge før tiden. Vi varslet oppgraderinger fra 22:00 29 Juni til 06:00 30 Juni. Vi er nå (23:20 29 Juni) ferdige med oppgraderinger.

Oppgraderingene gikk smertefritt og medførte kun kort nedetid for noen av våre kunder, de aller fleste vil ikke ha merket noe til denne oppgraderingen.

Kontakt support@host1.no hvis du har spørsmål rundt dette.

Host1 lanserer VPN BETA!

tirsdag, april 12th, 2011

Host1 har i dag lansert VPN BETA!
Vi jobber for tiden med vår VPN-løsning som vil støtte både OpenVPN og PPTP. Mens vi jobber med dette har vi bestemt oss for å lansere VPN BETA.

VPN BETA er en fullt fungerende VPN-løsning, men støtter kun OpenVPN inntil videre. Prisen vil ligge på 99,-/mnd frem til vi går ut av BETA-stadiet. Alle kunder som bestiller VPN mens det fremdeles er i beta vil selvsagt beholde prisen fra beta-stadiet når dette er over.

I første omgang har vi 2 servere som står i Oslo. Vi planlegger å utvide med servere i Sverige og USA så snart som mulig.

Du kan finne dokumentasjon på vår Wiki og bestille VPN her!

Ta kontakt med support eller kom innom vår IRC-Kanal hvis du har behov for mer informasjon.

Copyleft Software AS blir medeier i Host1

mandag, april 11th, 2011

Copyleft Software AS har nå blitt medeier i Host1.

Våre kunder vil ikke merke endringer i tjenester/support som følge av dette. Vi kommer til å beholde samme infrastruktur og ledelse som vi har hatt de siste to årene. Samtidig vil fusjonen bety at vi får tilgang på langt mer ressurser/personale enn vi allerede har. Noe som vil bety bedre service og mer tid til videreutvikling av eksisterende tjenester samtidig som vi kommer til å lansere nye tjenester i tiden fremover.

Dette betyr også at Host1 kan levere det aller meste av IT-relaterte tjenester, enten direkte fra Host1 eller gjennom partnere som Copyleft. Det være utvikling, drift, design, «Enterprise»-nivå på tjenester og mye mer. Ta kontakt med Salg for et tilbud ved behov.

Nytt design på Host1.no

torsdag, mars 10th, 2011

Host1.no har nå pusset opp websidene litt med nytt design og ny logo.

I tiden fremover vil det nok bli en del endringer på siden grunnet fortløpende opprydning/omorganisering av websiden, pluss oppussing av designet.

Håper dere liker det.

-Host1.no

Host1 tilbyr nå Live Chat på sine nettsider

mandag, februar 21st, 2011

Som mange av dere vet har vi hatt kanalen #host1 på EFnet siden Host1 startet. Vi har nå tatt skrittet videre og tilbyr nå en webchat-løsning på http://host1.no/irc.php for de av dere som ikke har en irc-klient. Denne vil muligens inneholde reklame i noen timer til leverandøren av webchaten (Mibbit) har fått oppdatert systemet sitt.

Kom gjerne innom og si hei. Brukerne med en stjerne etter navnet er ansatte i Host1.

Host1 tilbyr nå FreeBSD på VPS!

tirsdag, november 30th, 2010

Vi kan nå tilby FreeBSD på våre VPS’er. Vi har alt lagt til FreeBSD 8.1 som et alternativ i bestillingsskjemaet.

Såvidt vi vet er vi en av veldig få leverandører i Norge som tilbyr FreeBSD på sine VPS’er, og vi håper selvsagt på god respons på dette.

Bestill din VPS med FreeBSD her.

How to install Puppet and Puppet Dashboard

fredag, november 12th, 2010

I’ve been using a lot of time on puppet lately. I had to setup a Puppetmaster with Puppet Dashboard, all running on passenger. I didn’t find any good howtos on the subject, so i’ll write one myself. Here is a step by step guide for how to setup a puppetmaster-server with puppet dashboard on a Ubuntu Server. I’m using the latest version of puppet from gems (2.6.2) instead of the one that ships with ubuntu (0.25.4). I’m also using mysql for the databases.

Puppetmaster:

First of all install rubygems and libmysql:

apt-get install rubygems1.8 libopenssl-ruby1.8 mysql-server libmysql-ruby

Create the database:

mysql> create database puppet;
mysql> grant all privileges on puppet.* to puppet@localhost identified by ‘password’;

Install puppet:

gem install rubygems-update
/var/lib/gems/1.8/bin/update_rubygems
gem install puppet activerecord

Deploy /etc/puppet/puppet.conf with the following content (adapt for your needs, see the comments):

[main]
# Basic config:
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/etc/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
pluginsync=false
templatedir=$confdir/templates

#Puppetmaster-config:
[master]
storeconfigs = true
# MySQL-configuration:
dbadapter = mysql
dbuser = puppet
dbpassword = password
dbserver = localhost
dbsocket = /var/run/mysqld/mysqld.sock
# SSL-config:
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
# Reports to puppet-dashboard for each run:
reports = http, store
reporturl = http://localhost:3000/reports

# Puppet client config enables reporting from the client
# This HAS to be enabled on ALL clients you want reports from
[agent]
report = true

You should also deploy init-scripts for puppet (not puppetmaster, it will run through apache) if needed, and logrotate if needed, here is my /etc/logrotate.d/puppet:

/var/log/puppet/*log {
missingok
create 0644 puppet puppet
compress
rotate 4

postrotate
[ -e /etc/init.d/puppetmaster ] && /etc/init.d/puppetmaster restart >/dev/null 2>&1 || true
[ -e /etc/init.d/puppet ] && /etc/init.d/puppet reload > /dev/null 2>&1 || true
endscript
}

Start puppetmasterd with «–mkusers» the first time to create the puppet-group and user:

puppetmasterd –mkusers

Puppet Dashboard

Now it’s time to install Puppet Dashboard. We’ll install this using Puppetlabs’ apt-repo. This will install Puppet Dashboard to /usr/share/puppet-dashboard.

Add puppetlabs’ apt-repo by adding the following lines to your /etc/apt/sources.list:

deb http://apt.puppetlabs.com/ubuntu lucid main
deb-src http://apt.puppetlabs.com/ubuntu lucid main

Fetch puppetlabs’ GPG-key and import it into apt:

gpg –recv-key 4BD6EC30
gpg -a –export 4BD6EC30 | sudo apt-key add –

Run apt-get update and install puppet-dashboard:

apt-get update
apt-get install puppet-dashboard

Create the database:

mysql -p
mysql > create database dashboard;
mysql > GRANT ALL PRIVILEGES ON dashboard.* to ‘dashboard’@’localhost’ IDENTIFIED BY ‘password’;

Edit /etc/puppet-dashboard/database.yml with the proper settings, i will assume that you want to use the production enviroment for the rest of this howto:

production:
database: dashboard
username: dashboard
password: password
encoding: utf8
adapter: mysql

Initialize the database:

rake RAILS_ENV=production db:migrate

Passenger

Now we’ve finished the basic setup of the Puppetmaster and Puppet Dashboard. Now it’s time to install passenger and make everything run through apache.

First of all, install passenger (it will also install dependencies such as apache):

apt-get install libapache2-mod-passenger

Enable SSL:

a2enmod ssl

Change the ownership of /etc/puppet/rack/config.ru to puppet:puppet:

chown puppet:puppet /etc/puppet/rack/config.ru

Copy /usr/share/puppet-dashboard/vendor/rails/railties/dispatches/config.ru to /usr/share/puppet-dashboard/config.ru and set the proper ownership:

cp /usr/share/puppet-dashboard/vendor/rails/railties/dispatches/config.ru /usr/share/puppet-dashboard/config.ru
chown www-data:www-data /usr/share/puppet-dashboard/config.ru

Deploy /etc/apache2/sites-enabled/puppetmaster with the following content (remember to edit hostname, tune as you see fit):

# You probably want to tune these settings
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
# PassengerMaxRequests 1000
PassengerStatThrottleRate 120
RackAutoDetect Off
RailsAutoDetect Off

Listen 8140


SSLEngine on
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

SSLCertificateFile /etc/puppet/ssl/certs/puppet.domain.tld.pem
SSLCertificateKeyFile /etc/puppet/ssl/private_keys/puppet.domain.tld.pem
SSLCertificateChainFile /etc/puppet/ssl/ca/ca_crt.pem
SSLCACertificateFile /etc/puppet/ssl/ca/ca_crt.pem
# If Apache complains about invalid signatures on the CRL, you can try disabl$
# CRL checking by commenting the next line, but this is not recommended.
SSLCARevocationFile /etc/puppet/ssl/ca/ca_crl.pem
SSLVerifyClient optional
SSLVerifyDepth 1
SSLOptions +StdEnvVars

DocumentRoot /etc/puppet/rack/public/
RackBaseURI /

Options None
AllowOverride None
Order allow,deny
allow from all

Then deploy /etc/apache2/sites-enabled/puppet-dashboard with the following content:

# Dashboard configuration
Listen 3000


DocumentRoot /usr/share/puppet-dashboard/public/

# Use the production-enviroment:
SetEnv RAILS_ENV production
RackBaseURI /

Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all

ServerSignature On
# Logs
ErrorLog /var/log/apache2/dashboard.domain.tld_error.log
LogLevel warn
CustomLog /var/log/apache2/dashboard.domain.tld_access.log combined

Then you just restart apache2, make sure it starts at boot and you should be good to go.

Puppet Dashboard should then be accessible via http://puppet.domain.tld:3000 while puppet should run properly on port 8140 (Test with a client).

UFW

I’ll also add a quick set of commands for securing the server, i’m using Ubuntu’s uncomplicated firewall, edit the rules to fit your IP-series, these rules will close down all ports on the server except port 22, 3000 and 8140 which will be open for specific ip-ranges:

ufw default deny
ufw allow from 192.168.0.0/24 to any port 22
ufw allow from 192.168.0.0/24 to any port 8140
ufw allow from 192.168.0.0/24 to any port 3000
ufw enable

This concludes this howto, i hope you will find it useful.

-Eivind

Juju-framework

fredag, november 5th, 2010

En av våre kunder har nettopp releaset et lite minimalistisk PHP-rammeverk som kan være verdt å ta en titt på.

Dette kan hentes på github: https://github.com/bond/juju-framework

Eksempler på bruk:

Bond Consulting

Hvordan sette opp IPv6 på din VPS

lørdag, oktober 30th, 2010

Da vi nå tilbyr IPv6 på våre VPS’er er det på plass med en Howto for hvordan du setter opp IPv6 på din VPS.

Deler av denne artikkelen er basert på Introduction to IPv6 addressing skrevet av Eirik hos Blix Solutions, vår nettleverandør.

Introduksjon til IPv6

IPv6 bruker 128bits-adresser som blir oversatt til hexadesimal. aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh hvor aaa,bbb osv kan ha verdier fra 0000 til ffff.

En IPv6-adresse ser slik ut: 2001:1ad8:ab::1/128

Man kan forenkle adressene ved å bruke «::» for å la ledende 0-tall bli utelatt, men kun en gang. 2001:1ad8:ab::1/128 er egentlig 2001:1ad8:00ab:0000:0000:0000:0000:0001/128.
Som med IPv4 kan man også skrive IPv6-adresser med prefikslengde:
2001:1ad8:ab::/128 – 1 adresser
2001:1ad8:ab::/127 – 2 adresser
2001:1ad8:ab::/126 – 4 adresser
2001:1ad8:ab::/125 – 8 adresser
2001:1ad8:ab::/124 – 16 adresser
..
2001:1ad8:ab::/120 – 256 adresser
..
2001:1ad8:ab::/115 – 8192 adresser
..
2001:1ad8:ab::/64 – ca 1.84*10^19 adresser (18,446,744,073,709,551,616 adresser) Host1 sine kunder vil få tildelt hvert sitt /64-nett.
..
2001:1ad8:ab::/48 – ca 1.21*10^24 adresser
De gyldige verdiene 0000-ffff i dette /48-nettet er 2001:1ad8:00ab:xyzw::, hver av disse består av 65536 /64-nett, som igjen består av 65536 /80-nett osv.

Dagens policy er å gi et /48-nett til en tjenesteleverandør (Host1) og et /56 eller /64-nett til kunden. Host deler da ut /64-nett til sine kunder ved forespørsel.

Hvordan sette opp en IPv6-ip på din VPS

Sette ip i kommandolinje (midlertidig, vil forsvinne ved reboot):


ip -f inet6 addr add 2a02:20c8:1140:XXXX::1/64 dev eth0
ip -f inet6 route add 2a02:20c8:1140::1 dev eth0
ip -f inet6 route add 2001::/3 via 2a02:20c8:1140::1 dev eth0

XXXX skal erstattes med IP-serien du har fått tildelt av support.

Sette ip ved å endre /etc/network/interfaces (permanent, vil også fungere etter reboot):< Her er det viktig at man IKKE fjernet de eksisterende instillingene, følgende instillinger skal settes inn ETTER de eksisterende nettverksinstillingene. Som i forrige metode skal XXXX byttes ut med ip-serien du har fått tildelt.


iface eth0 inet6 static
address 2a02:20c8:1140:XXXX::1
netmask 64
#Add the gateway
up ip -f inet6 route add 2a02:20c8:1140::1 dev eth0
up ip -f inet6 route add 2000::/3 via 2a02:20c8:1140::1
#Security, do not accept autoconfiguration.
up sysctl net.ipv6.conf.all.accept_ra_defrtr=0
up sysctl net.ipv6.conf.default.accept_ra=0
#Trenger du flere ip-adresser?:
up ip -f inet6 addr add 2a02:20c8:1140:XXXX::2/64 dev eth0

Etter dette så skal IPv6 fungere på din VPS, du kan teste det ved å pinge ipv6.host1.no:

ping6 ipv6.host1.no