Installation von ASP.NET Core auf Ubuntu 14.04

Ubuntu 14.04 installieren. Achtung!: Es muss die 64Bit Version sein!

APT-Feed hinzufügen

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893

sudo apt-get update

Installieren des .NET Core SDK

ggf. alte Versionen entfernen (Script herunterladen und ausführen):

https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh

Installation

sudo apt-get install dotnet-dev-1.0.0-preview3-003150

Testen, ob nun alles funktioniert

mkdir hwapp
cd hwapp
dotnet new

dotnet restore
dotnet run

Nun eine ASP.NET Seite anlegen

project.json
{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0"
        }
      },
      "imports": "dnxcore50"
    }
  }
}

Startup.cs

using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;

namespace aspnetcoreapp
{
  public class Startup
  {
    public void Configure(IApplicationBuilder app)
    {
      app.Run(context =>
      {
        return context.Response.WriteAsync("Hello from ASP.NET Core!");
      });
    }
  }
}

Program.cs

using System;
using Microsoft.AspNetCore.Hosting;

namespace aspnetcoreapp
{
  public class Program
  {
    public static void Main(string[] args)
    {
      var host = new WebHostBuilder()
      .UseKestrel()
      .UseStartup<Startup>()
      .Build();
      host.Run();
    }
  }
}

Damit kann der Server Kestrel lokal an den Start gehen mit

dotnet run

Damit der Server aber auch von „ausserhalb“ erreichbar wird, muss ein Reverse-Proxy Webserver die Anfragen umleiten. Ich habe mich der Einfachheit halber für NGINX entschieden.

sudo apt-get install nginx

sudo  nano /etc/nginx/sites-available/example.com

Inhalt der Konfigurations Datei

server {
 listen 5001;
 server_name example.com;

location / {
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_pass http://127.0.0.1:5000;
 }
}

NGINX neu starten

sudo service nginx restart

Erneut die fehlenden Packages nachinstallieren und dann Kestrel starten

dotnet restore
dotnet run

Nun sollte sich die Webseite unter http://<server-ip>:5001 aufrufen lassen

Python Webserver auf Raspberry PI

Mit der Motivation ein paar dynamische Webseite mit Python auf meinen Raspberry PI laufen zu lassen, habe ich mich daran gesetzt, erst einmal die Vorraussetzungen zu schaffen, daß alle funktioniert.

Ziel:

  • System installieren
  • Python installieren
  • Django installieren
  • Webserver installieren und eine einfach Webseite anzeigen

System installieren

Ich einfach die aktuelle Version von Raspian installiert

Python installieren

Die Installation erfolgt auf dem Terminal mit:

sudo apt-get install python python-dev python-pip

Django installieren

sudo pip install Django

Ob die Installation erfolgreiche war, kann man prüfen, indem man die Python-Console öffnet und Folgendes eingibt:

>>> import django
>>> print(django.get_version())
1.6

Webserver installieren und eine einfach Webseite anzeigen

Weiter geht es dann, wie hier beschrieben: https://docs.djangoproject.com/en/1.6/intro/tutorial01/#creating-a-project

focus@will.com

Wer während seiner Arbeit gerne in wenig Musik hört, sollte sich focus@will.com mal ansehen. Hier gibt es passend auf den Arbeitsrythmus abgestimmte Musik. Diese soll die Arbeitsleistung sogar signifikant steigern können.

Mal abgesehen von der versprochenen Leistungssteigerung finde ich die Musik einfach gelungen. Beim Nachdenken hilft sie auf jeden Fall.

Raspberry Pi: Installation von Raspbian „wheezy“

Zur Inbetriebnahme des Pi ist eigentlich nicht viel zu tun.

Was man braucht:

  • Einen Raspberry Pi + MicroUSB Stromkabel + Netzwerkkabel
Raspberry Pi

Raspberry Pi

  • Eine SD-Speicherkarte mit mind. 2GB Speicher

Die passenden Dateien und eine detaillierte Anleitung zur Installation findet man auf der offiziellen Raspberry Seite. Zur Erstellung einer SD-Karte mit Raspbian unter Windows kann man sich den Win32 Disk Imager installieren.

diskimager

Nach der erfolgreichen Installation steckt man die SD-Karte in passenden Slot des Pi, schliesst das Netzwerkkabel an und danach die Micro-USB Stromversorgung. Jetzt leuchten die LEDs des Pi auf und er beginnt mit dem Bootvorgang. In der Regel bootet der Pi mit eingeschaltetem DHCP-Client, so daß er sich seine Netzwerkadresse selbst vom DHCP-Server holt sofern sich ein solcher in eurem Netzwerk befindet.

Wenn ihr über der DHCP Server die IP-Adresse des Pis herausgefunden habt, könnt Ihr euch per SSH (z.B. mit Putty) verbinden. Loginname: pi Password: raspberry

login

Nach dem ersten Anmelden sollte man noch raspi-config ausführen um ein paar Einstellungen zu treffen:

sudo raspi-config

In meinem Fall ist es auch so, daß mein Router als DHCP Server leider immer wieder andere IP-Adressen zuordnet, was es schwer macht, den Pi dauerhauft auf einer IP-Adresse wiederzufinden. Daher muss ich noch eine feste Adresse zuordnen, die sich ausserhalb des dynamischen DHCP Bereichs befindet, der bei mir von 192.168.1.100-.200 geht.

Dazu öffnet man die Netzwerkeinstellungen und ändert die Einstellungen der Netzwerkschnittstelle eth0:

sudo nano /etc/network/interfaces

Nun folgt die Änderung:

Man sucht:

iface eth0 auto dhcp

und ändert es in (in meinem Beispiel):

iface eth0 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1

Jetzt noch einmal neu starten und fertig.

sudo shutdown -r now

create table „musician“

CREATE TABLE `rock_and_roll_hall_of_fame`.`musician` (
`first_name` VARCHAR(255) NULL,
`last_name` VARCHAR(255) NULL,
`stage_name` VARCHAR(255) NOT NULL,
`sex` BIGINT NOT NULL,
`drugs` BIGINT NOT NULL,
`rock_n_roll` BIGINT NOT NULL,
UNIQUE INDEX `stage_name_UNIQUE` (`stage_name` ASC),
PRIMARY KEY (`sex`, `drugs`, `rock_n_roll`) );

iPhone vergisst WLan Passwort Problem gelöst.

Ich habe seit ein paar Tagen ein iPhone 4s. Nun hat ich es schon auf iOS6 aktualisiert und alles war super. Dann tauchte aber ein Problem auf: Das Handy schien immer wieder das WLan Password zu vergessen, nachdem es vom WLan getrennt wurde und man war genötigt, das Passwort jedes Mal neu einzugeben.

Auch das Internet brachte keine Lösung, außer den Router neu zu starten, oder die Netzwerkeinstellungen zurückzusetzen, was keinen Erfolg gebracht hat.

Nach ein bisschen Probieren habe ich die Lösung gefunden.

1. Am WLan anmelden
2. „Auf Netze hinweisen“ aktivieren
3. WLan abschalten
4. WLan anschalten
5. Das passende WLan im Dialog auswählen
6. „Auf Netze hinweisen“ wieder deaktivieren

Wenn man nun in den Einstellungen beim der entsprechenden WLan-Verbindung auf den kleinen blauen Pfeil klickt und in den Einstellungen ist ein Button „Netz ignorieren“, hat man es geschafft.

Ich hoffe es nützt jemandem.

Viel Erfolg

Kostenlose Kindle Bücher

Hallo,

diese Bücher gibt es aktuell bei amazon.de kostenlos für den Kindle:

Viel Spaß beim Lesen.

Ubuntu als Buildserver einrichten

Nachdem ich in der letzten Anleitung erklärt habe, wie man Ubuntu mit einem TeamCity-Server einrichtet, möchte ich nun die nächsten Schritte erläutern, die es erlauben ein GIT Repository auf dem Server zu pflegen, welches dann vom Buildserver zugegriffen werden kann.

Dazu installiert man zuerst einmal GIT und Samba auf dem virtuellen Ubuntu

sudo apt-get install git

sudo apt-get install samba

Nach der Installation richtet man einen Benutzer ein durch:

sudo smbpasswd -a <benutzer>

Jetzt nur noch ein Verzeichnis freigeben.

sudo mkdir /opt/Git_Repositories

sudo chown <benutzer>:<benutzer> /opt/Git_Repositories

sudo chmod 777 /opt/Git_Repositories

sudo vi /etc/samba/smb.conf

Hier muss man nun unten einen Abschnitt hinzufügen:

Nun den Samba Server noch einmal starten und schon kann man dieses Verzeichnis nutzen, um dort ein GIT-Repository anzulegen.

In den nächsten Tagen erkläre ich dann, wie man den TeamCity Server so einrichtet, daß er seine Basisaufgaben erfüllt und den entsprechenden Branch des Repositories auschecked und das enthaltene Projekt kompiliert.

TeamCity installieren unter Ubuntu 11.10 mit Virtualbox auf einem iMac mit Mac OS X Lion

Ich habe mir vor ein paar Tagen vorgenommen, für meine Entwicklung einmal testweise TeamCity zu installieren, damit ich beim Entwickeln dessen Funktionen nutzen kann. Da ich inzwischen auf einem iMac daheim bin und meine C# Entwicklung mit einer virtuellen Maschine mache, auf der ein Windows 7 läuft, wollte ich den Server für TeamCity auch gerne virtuell abbilden. Dabei habe ich mich natürlich für eine Linux-Maschine entschieden, da diese nicht so viel Platz braucht, wie ein weiteres Windows. Meine Wahl viel dabei auf Ubuntu, weil ich dieses Betriebssystem sehr schätze. Es läuft Stabil und ist einfach zu bedienen.

Die notwendige Software findet man also hier:

1. VirtualBox
2. TeamCity

Nach der Installation von VirtualBox auf dem Mac, beginnt die Installation des Ubuntus. Dazu wählt man im Dialog von VirtualBox den Button „New“

Im Schluss klickt man sich durch den Startdialog des Assistenten.

Danach wählt man einen Namen für die virtuelle Maschine und das Betriebssystem (in meinem Fall die 64 bit Variante)

Da ich in meiner Maschine 12GB Speicher zur Verfügung habe, bin ich großzügig und spendiere dem Server 1GB davon.

Nun steht das erstellen einer virtuellen Festplatte an. Ich entscheide mich dabei für eine Festplatte mit 8GB Speicherplatz, welcher in eine VDI-Datei liegen wird und sich dynamisch erweitert.

    

Danach wird mir noch eine Zusammenfassung angezeigt, die ich Quittiere und fertig ist die virtuelle Maschine.

 

Nun müssen noch ein paar Einstellungen bei der Maschine getroffen werden. Dazu wählt man die Maschine aus und drückt oben auf den Button „Ändern“.

Beim Reiter „Audio“ schalte ich das Audiosystem aus, da es sich um einen Server handelt, der keine Audiodateien abspielen soll.

Der Rest bleibt erst einmal unverändert.

Nun starte ich die Maschine, indem ich sie auswähle und „Starten“ wählen. Der Startassistent erscheint und hilft mit bei der Installation des Betriebssystems.

Als Installationsmedium wähle das zuvor heruntergeladene ISO des Ubuntu Servers aus.

Bei der Zusammenfassung wähle ich „Starten“ und die Installation beginnt. Ich wähle „Deutsch“ als Sprache aus und starte die Serverinstallation.

    

Jetzt folgt man zuerst einmal der der Aufforderung zur Eingabe der Buchstaben, was dann in diesem Dialog endet.

Nach einem kurzen Ladevorgang und der automatischen Netzwerkkonfiguration wird man gebeten, den Servernamen festzulegen. Dann folgt die Wahl der Zeitzone.

 

Bei der Partitionierung entscheide ich mich für die Vorgabe. Durch das Einrichten von LVM habe ich nachher die Möglichkeit eine weitere Partition hinzuzufügen und sie mit der Hauptplatte zusammenzuschliessen um mehr Platz zu haben, sollte diese notwendig sein.

   

Nun folgt die Installation des Grundsystems. Das ist ein guter Zeitpunkt, um sich ein Bier aus dem Kühlschrank zu holen oder eine Cola … oder Wasser …

Jetzt noch fix den Benutzer einrichten und den Benutzerordner unverschlüsselt lassen, da es sowieso nur ein Entwicklungsserver für interne Zwecke sein wird.

   

Beim Prüfen auf Updates wird das System leider keine Netzwerkverbindung herstellen können. Diese müssen wir später einrichten, weil sie leider nicht mehr „Out-Of-The-Box“ funktioniert. Falls es doch funktioniert, dann ist es um so besser. Ändern müssen wir die Netzwerkeinstellungen nach trotzdem.

 

Weitere Softwarepakete werden nicht installiert.

Zum Abschluss muss noch der Bootloader installiert werden. Und schon ist das Serversystem fertig zum Starten.

 

Nachdem die Maschine neu gestartet hat, ist das Linux fertig installiert und kann eingerichtet werden.

Nach der Anmeldung am Server mit den erstellten Zugangsdaten geht es erstmal weiter mit der Netzwerkinstallation. Standardmäßig bekommt der Rechner eine IP-Adresse im 10.x.x.x Netzwerk. Um ihn von Aussen erreichbar zu machen, muss man die Netzwerkkonfiguration ändern und ihm eine feste IP-Adresse zuweisen.

Zum Konfigurieren der Netzwerkschnittstelle klingt man im VirtualBox Ubuntu Fenster unten auf das Symbol mit den beiden kleinen Bildschirmen und wählt „Netzwerkadapter…“

Hier wählt man nun die Netzwerkbrücke aus. Dadurch wird der virtuelle Rechner im Netzwerk wie eine eigene Maschine verwendet. In meinem Fall läuft das Netzwerk über die WLAN-Schnittstelle meiner iMacs.

Nach der Bestätigung mit „OK“ kann mit der Festlegung der festen IP-Adresse begonnen werden. Dazu verwendet man den Befehl:

 

sudo vi /etc/network/interfaces

 

Hier ändert man die Netzwerkverbindung nun auf die gewünschte Einstellung. (Wer mehr zur Konfiguration wissen möchte findet hier mehr.)

Jetzt das Netzwerk neu starten.

sudo /etc/init.d/networking restart

Ein Ping z.B. aus google.de oder web.de sollte nun Ergebnisse bringen.

Continue reading