Wim Caudenbergh Ilco Vermeulen Jarrik Nys Wouter Mouton 3 Toegepaste informatica, reeks 6 Eindwerk Wireless België Monitoring

Maat: px
Weergave met pagina beginnen:

Download "Wim Caudenbergh Ilco Vermeulen Jarrik Nys Wouter Mouton 3 Toegepaste informatica, reeks 6 Eindwerk Wireless België Monitoring"

Transcriptie

1 Wim Caudenbergh Ilco Vermeulen Jarrik Nys Wouter Mouton 3 Toegepaste informatica, reeks 6 Eindwerk Wireless België Monitoring i

2 Inhoudsopgave 1 Inleiding 1 2 Het Project 2 3 De server Debian Ubuntu Problemen Wireless Opstelling VPN MikroTik Ubiquity Access Point SNMP Waarom SNMP gebruiken OID Munin Standaard plugins Custom plugins Graph types Eigen plugins Problemen Oplossing Scripts Discovery script Curl Script CCQ script Installatie script Database 22 9 Locatiebepaling ophalen locaties van devices Pagina Ophalen van locaties uit de database Markers op de map plaatsen Resultaat Uiteindelijke pagina ii

3 10 Back-up Presentatie Voorbereidingen Presentatie Slotwoord Bronnen Bijlagen Presentatie in PDF ApiNeighborDiscovery.pl CheckScripts.pl createdb.sql dbscriptje.pm fetch_curl_nanostations.pl installatiescript.sh lijstje.pl LongitudeLatitude.pl MaakScripts.pl MacsPerAPFinale.pl mail_notificatie_wireless_clients.pl MuninFuncties.pm NeighborDiscoveryTest1.pl NeighborDiscoveryTest2.pl NeighborDiscoveryTest3.pl snmp-getbulk.pl snmpneighbors.pl snmpneighbors2.pl snmpwalkloop.pl snmp_CCQ_ pl snmp_Curl_AantalMacsPerMode.pl snmp_Curl_Ccq.pl snmp_Curl_Distance.pl snmp_Curl_SignalStrength.pl snmp_Curl_TxRx.pl snmp_download2vreemdenanostations.pl snmp_MikroTikMetWifi_CCQ.pl snmp_MikroTikMetWifi_CCQ2.pl snmp_MikroTikMetWifi_TxRx.pl snmp_MikroTikMetWifi_WifiStats.pl snmp_MikroTik_Voltage.pl snmp_SignalStrengthPerApPerMac.pl iii

4 14.34VendorDef.pl VendorSchaal.pl werkend.pl zoekinfo.pl iv

5 1 Inleiding Wij Ilco Vermeulen, Jarrik Nys, Wim Caudenberg en Wouter Mouton zijn laatste jaars studenten van de opleiding toegepaste informatica uit de afstudeerrichting Systeem- en Netwerkbeheer van de Katholieke Hogeschool Leuven en hebben ervoor gekozen om ons eindwerk te doen rond Monitoring van Wireless België. De startfase van ons eindwerk is vrij moeilijk verlopen. Dit kwam vooral door een initieel verkeerde keuze van project voor ons eindwerk. We hadden namelijk eerst gekozen voor een project van meneer Geens dat draaide rond het vernieuwen van het virtuele systeem die met Wolk gepaard gaat. Na het krijgen van de initiële uitleg van meneer Geens hadden we het gevoel dat het project niet in lijn lag met de weg die we wilden uitgaan voor ons eindwerk. Na deze korte fase hebben we besloten om verder op zoek te gaan naar een project dat dichter zou aansluiten bij onze interesses en verwachtingen. Zo zijn we uiteindelijk op het project van meneer Maes gestoten, dit is een project ronde de monitoring van Wireless België. 1

6 2 Het Project Het onderwerp van ons project is Monitoring van het Wireless België netwerk geworden. Dit is een initiatief mede mogelijk gemaakt door één van onze lectoren, de heer Maes. Het doel van wireless België is, met behulp van zendmasten, gratis draadloze internetverbinding te voorzien voor iedereen in België. Hierbij focussen ze zich vooral op grootsteden, openbare evenementen als festivals, feestzalen en armere wijken waar het voor vele mensen vaak moeilijker is aan voor hun betaalbaar internet te geraken. Het project heeft een core-team van een 7-tal personen, maar ze zijn in een periode van expansie en het initiatief wint ook steeds aan populariteit. Concreet gesproken is ons gevraagd geweest om software, scripts,... te schrijven voor dit netwerk die bepaalde dingen die interessant zijn om te weten te monitoren. Hierbij gaat het dan om aantal users op het netwerk, throughput van de devices, locatie van de devices, etc. Van deze gegevens kunnen dan ook met behulp van enkele programma s overzichtelijke grafieken gegenereerd worden. 2

7 3 De server Bij aanvang van ons project zijn we begonnen met het opstellen, installeren en configureren van een server. Op deze server zou een monitoring programma moeten draaien. Om een juiste keuze te kunnen maken voor het monitoring programma hebben we ervoor gekosze om meerdere monitoring programma s te testen zoals Cacti en Munin. Na het uitvoeren van deze testen hebben we ervoor gekozen om Munin te gebruiken. Vervolgens hebben we bij elke installatie van de sever met Munin telkens verschillende packages geïnstalleerd om ons eindwerk tot een goed einde te kunnen brengen. De geïnstalleerde packages zijn: ssh; apache2; mysql-server mysql-client; munin munin-node; snmp; snmpd; unzip; make; libcurl4-gnutls-dev. Naast deze packages hebben we ook gebruik gemaakt van verschillende Perl-libraries. Deze libraries waren nodig om onze zelfgemaakte en geïmporteerde scripts succesvol te laten runnen. De geïmporteerde scripts zijn: IO::Socket::PortState; Net::MAC::Vendor; Data::OptList; :Date::Format; MIME::Lite; MIME::Types; Net::SNMP; Params::Util; Sub::Exporter; Sub::Install; WWW::Curl::Easy; WWW::Curl::Form. 3.1 Debian In onze start-setup hebben we gekozen voor een Debian-server, in de stable squeeze versie. We kozen voor Debian omdat we hier al enige ervaring mee hadden en hier hadden we ook al een image van beschikbaar. 3

8 Na eerste testen werd het duidelijk dat de keuze voor Debian niet zo n goed idee was. Zo bleek na vele pogingen om Munin op onze Debian server werkende te krijgen niet zo evident te zijn. Ook zou deze software out-of-the-box normaal gezien moeten werken. 3.2 Ubuntu Vervolgens hebben we op aanraden van meneer Geens ervoor gekozen om te werken met Ubuntu. Hier werkte alle software die normaal out-of-the-box zou moeten werken zonder problemen. We hebben ervoor gekozen om de server zonder GUI te installeren. Dit omdat we hier toch geen nood aan hebben en aangezien we alles op onze eigen laptop kunnen testen, door gebruik van SSH en gewoon te surfen naar onze apache. 3.3 Problemen Omdat we de nieuwste versie van Munin wilden gebruiken en niet de versie die standaard geïnstalleerd wordt als je apt-get install doet op Ubuntu moesten we onze sources.list aanpassen. We hebben op internet gezocht achter een recentere sources.list zodanig dat we de recenste versie van munin konden gebruiken. Dit was op aanraden van meneer Geens omdat deze versie meer mogelijkheden biedt. Een ander probleem hadden we met onze nameserver. We hadden deze fixed ingesteld voor ons project. Maar soms kon het plots gebeuren dat hij zelf ging zoeken achter een nameserver en overschreef met onze ingestelde nameserver. Uiteraard was dit niet onze bedoeling en hebben we dan ook volgend pakket verwijderd om dit op te lossen: resolvconf. Na de deinstallatie van dit pakket werd de nameserver niet meer automatisch gezet dus bleef onze manueel ingestelde nameserver staan. 4

9 4 Wireless Opstelling Om het netwerk van Wireless België beter te begrijpen hebben we een testopstelling gemaakt in het netwerk lokaal. Om deze opstelling te maken kregen we een MikroTik device zonder wireless interface en twee Ubiquity NanoStation M5 s. Om onze testopstelling te verbinden met het Wireless België -netwerk is ons testnetwerk doorgepatched naar de draadloze antenne op het dak van GT. Zo was het mogelijk om aan alle toestallen op het netwerk te kunnen en deze dus te monitorren. Vervolgens kregen we het /28 subnet zodat het mogelijk is om onze networkdevices een IP te geven zodat deze via Wireless België bereikbaar zijn. 4.1 VPN In eerste instantie hebben we gebruik gemaakt van een VPN-opstelling om op ons subnet te verbinden zodat we op al onze network-devices konden geraken. Om deze VPN tot stand te kunnen brengen hebben we gebruik gemaakt van het programma OpenVPN in combinatie met een self-signed certificate. We hebben gekozen voor OpenVPN omdat het Mikrotik device standaard gebruik kan maken van OpenVPN. 4.2 MikroTik In ons netwerk hebben we gebruik gemaakt één MikroTik device, draaiende op RouterOS. Dit is een switch met routing functionaliteit waar we door middel van een webinterface of command line mee kunnen verbinden. Over het gehele Wireless België netwerk zijn er nog een groot aantal van deze devices terug te vinden. Het grootste deel van de MikroTik-bakjes hebben een guest user genaamd api_user met een gekend password. Deze kan gebruikt worden om via SSH of de MikroTik-API remote in te loggen op de apparaten. 4.3 Ubiquity Ook hebben we twee wireless antennes, de Nanostation M5 s, gekregen om in onze opstelling te gebruiken. De ene hiervan staat in station-mode en de andere in acces point-mode. Deze staan in point-to-point verbinding met elkaar, en moeten recht naar elkaar gericht staan. Dit is ook hoe het Wireless België netwerk in elkaar zit. Ook hierop kunnen we weer inloggen en gegevens over de devices aanpassen/verkrijgen. 4.4 Access Point Om eenvoudiger te kunnen inloggen op ons eigen opgestelde testnetwerk hebben we ervoor gekozen om een Wireless Acces Point te configureren. Zo was het niet meer verplicht om op in de schoollokalen gebruik te maken van onze opgestelde VPN-tunnel dien enkel bleek te werken op Linux computers. 5

10 5 SNMP SNMP staat voor Simple Network Management Protocol, dit is een manier om gegevens op te vragen uit een device. Om SNMP-queries uit te voeren moet er niet ingelogd worden op een device; het is enkel nodig dat SNMP enabled is. Dit heeft als grote voordeel dat de bevraagde toestellen minder CPU kracht verliezen aan niet essentiele taken. 5.1 Waarom SNMP gebruiken In het Wireless België netwerk zijn er verschillende soorten devices als de wireless Nanostations, Mikrotiks,... Al deze apparaten (of toch het grootste deel ervan) hebben SNMP enabled staan. Omdat we niet steeds wilden inloggen op alle devices en de overhead te verminderen gebruiken we dus SNMP. Door de devices te proben met SNMP-query s kunnen we informatie als signaalsterkte en aantal neighbors verkrijgen. Deze gegevens kunnen we dan weer meegeven aan Munin die deze zal omzetten in duidelijke grafieken. Het nadeel van SNMP is dat het niet echt kan gebruikt worden om grote hoeveelheden data te versturen. Ook de beveiliging is niet wat het moet zijn bij SNMP v1 en v2. Dit zijn juist de versies die deze aparaten gebruiken. Maar we gaan er van uit dat de data niet privé is dus hoeven we ons daar geen zorgen over te maken. Bij het gebruik van SNMP v3 is het mogelijk authenticatie en encryptie te gebruiken. Hierbij wordt dan meestal ook het SET commando ingeschakeld waarmee men dan zelf values kan aanpassen. 5.2 OID Om gebruik te maken van de SNMP-functies als SNMPwalk en SNMPget hadden we natuurlijk de OID s of Object Identifiers nodig van onze devices. Van de MikroTik devices was er een overzichtelijke lijst beschikbaar waar alle OID s duidelijk in tree-structuur leesbaar waren. Deze konden we direct gebruiken om informatie van de bakjes te verkrijgen. Van de Nanostations was dit iets minder voor de hand liggend. Hier was nergens een duidelijk OID-list van te vinden. Dit kwam grotendeels neer op trial-and-error wat wel een tijdsrovend proces was. Uiteindelijk hebben we toch enkele OID s kunnen vinden die nuttige informatie opleverden. 6

11 6 Munin We hebben ervoor gekozen om als monitoring tool Munin te gebruiken. Dit maakt aan de hand van scripts grafieken aan. Standaard voert Munin aan de hand van een cronjob elke 5 minuten alle pluginscripts uit. Hierbij moet men wel rekening houden dat de looptijd van alle scripts tesamen niet boven de 5 minuten komt; Dit zou kunnen leiden tot grote problemen op het netwerk. 6.1 Standaard plugins Standaard maakt Munin al enkele grafieken aan. Dit zijn grafieken als disk-utilisation en Apache-processes. Met deze grafieken zijn we echter niet veel voor ons project, dus moesten we onze eigen plugins zien te schrijven. 6.2 Custom plugins Voor onze eigen plugins hebben we ons kunnen baseren op de plugins die standaard in Munin zitten. Zo konden we achterhalen hoe de grafieken juist getekend worden en via de site van Munin konden we ook nog enkele extra opties vinden. Aan Munin moet men steeds enkele values meegeven waarop de grafiek gebaseerd zal zijn. Door gebruik te maken van SNMP (zie boven) konden we gegevens achterhalen die interessanter zouden zijn om op een grafiek weer te geven. 6.3 Graph types Munin kan verschillende soorten grafieken tekenen. Er zijn : Line-graphs; Area-graphs; Stack-graphs; Men moet steeds bekijken welk soort graph voor welke informatie de meest overzichtelijke weergave geeft. Soms is het duidelijker de lijnen cumulatief op elkaar te stapelen, terwijl het in andere situaties weer overzichtelijker is de lijnen door elkaar te laten lopen. 6.4 Eigen plugins Een groot deel van ons eindwerk bestond uit het schrijven van eigen plugin. Het heeft wel even geduurd tegen dat we doorhadden hoe dit in zijn werk ging. Maar eens dat de eerste plugin dan geschreven was en werkte ging het steeds vlotter om de volgende plugins te maken. We hebben verschillende soorten van functies gebruikt voor de plugins. Bij onze eerste plugin gaven we de ip-adressen waarvan we een grafiek wilde gewoon mee in een array. Vervolgens zijn we gaan zien om deze vanuit een.txt file in te lezen. Uiteindelijk is het ons ook gelukt om onze plugins te koppelen met een database. Door tijdsgebrek 7

12 hebben we wel niet al onze plugins kunnen herschrijven zodanig dat ze samen werken met onze database. Maar de laatste nieuwe plugins die we geschreven hebben werken allemaal samen met onze tabellen uit de database. Naar het einde toe zijn we ook meer en meer gebruik gaan maken van fucncties omdat we merkten dat we steeds dezelfde code aan het schrijven waren voor bijvoorbeeld de grafiek te tekenen en dit kan niet de bedoeling zijn. Dus hiervoor zijn functies wel heel handig. We hebben ervoor gekozen om al onze plugins in perl te schrijven. Omdat we al wat ervaring hadden met perl leek dit ons een goede keuze. Achteraf gebleken was dit ook een goede keuze. Perl biedt veel mogelijkheden en we hebben alles kunnen doen wat we wouden. Als laatste plugins hebben we ons bezig gehouden met vendors. Aan het begin van een MAC-adres kan je namelijk zien of het een apple apparaat is of een dell enz. Het leek ons wel interessant om eens te kijken welke apparaten het meeste voorkwamen op het wireless belgium netwerk. We dachten eerst zelf alle codes en bijhorende vendor in een database te steken tot we op het idee kwamen om eens te zien of er geen perl library bestond en jawel ze bestond. We hebben er dan ook voor gekozen om deze library te gebruiken. Hieronder geef ik enkele voorbeelden van de grafieken die we zoal zelf hebben gemaakt. CCQ; Download; Upload; Signal strength; TxRx; Venors; Problemen Met munin zijn we verschillende kleinere problemen tegen gekomen,d ie we meestal wel hebben kunnen oplossen. Soms vergde dit echter wel heel wat opzoekwerk. Maar er is 1 probleem dat we hier willen uitlichten; van dit probleem hebben we namelijk het meeste last gehad. Bij bepaalde snmp queries liep munin vast omdat hij een time out kreeg. Hierdoor kreeg munin zijn werk niet meer gedaan. We hebben dan geprobeerd om munin niet elke 5 minuten te laten lopen maar elk uur. Dit bleek geen oplossing te zijn omdat de munin-run maar 2 minuten nodig had. Het probleem was gewoon dat er sommige IP adressen geen antwoord gaven op de SNMP query omdat snmp daar niet aanstond. 8

13 6.6 Oplossing We hebben een script geschreven dat alle IP adressen afgaat en degene waar hij geen antwoord krijgt op de snmp query, gaat verwijderen. Zodanig dat er alleen maar plugins overblijven die wel antwoorden op snmp querys. Dit heeft als voordeel dat onze munin wel gaat werken zonder problemen. 1 #!/usr/bin/env perl 2 3 use lib ("/etc/scripts"); 4 require dbscriptje; 5 6 dbscriptje::connecttomysql(); 7 9 foreach $r(@range) 10 { 12 foreach $ip(@ips) 13 { 14 print $ip; print "\t"; 15 $out = perl /etc/munin/plugins/snmp_ccq_$ip.pl ; = split("\n",$out); 17 if($splits[6] eq "a.value ") 18 { 19 print "slecht en verwijderd"; 20 print "\n"; 21 $verwijder = rm /etc/munin/plugins/snmp_ccq_$ip.pl ; 22 } 23 else 24 { 25 print "goed"; 26 print "\n"; 27 } 28 } 30 } 9

14 7 Scripts Tijdens het project hebben we verschillende scripts gemaakt, de meeste zijn Perl scripts en maken gebruik van libraries. Deze libraries hebben we al eerder op-gelijst. Daarnaast maken we ook nog gebruik van een bashscript, dat is ons installatiescript. Alle scripts staan bij de bijlagen, zie Discovery script Het wireless Belgium netwerk is zeer uitgebreid en heeft, zoals de naam al zegt, nodes over heel België. We hadden een manier nodig om de IP-adressen (en eventueel bijkomende info) over alle nodes op het netwerk te verzamelen. Nmap leek voor ons eerst de meest voor de hand liggende keuze, omdat we bepaalde subnetten wisten waarin we op zoek moesten gaan naar de devices. Hierbij stootten we echt op een probleem : Het waren namelijk 5 /16-netwerken. Deze allemaal afscannen zou aanzienlijk wat tijd kosten; al zeker omdat we deze scan meermaas per dag moesten uitvoeren om te kijken of er al dan niet nieuwe devices op het netwerk waren bijgekomen. We zijn dan op zoek gegaan naar alternatieven voor Nmap die we eventueel zelf zouden kunnen scripten. Belangrijke factor hiervoor was dat alle nodes op het netwerk intern een neighbour-list bijhouden. We hadden dus een manier nodig om aan deze list te geraken zodat we recursief steeds dezelfde functie zouden kunnen uitvoeren voor alle ip-adressen in de neighbour list. Hiervoor hebben we 3 oplossingen gevonden die ons wel valabel leken, namelijk : Inloggen op elk device via SSH; Gebruik maken van de Perl-API voor MikroTik-devices; Gebruik maken van SNMP-query s; Dit inloggen op de devices was voor ons mogelijk doordat we gebruik maakten van een guest-account user die op alle devices hetzelfde was. We hebben verschillende manieren uitgetest omdat we niet wisten welk uiteindelijk de snelste manier ging zijn en hoe we het netwerk het minst konden belasten. Uiteindelijk was de beste oplossing wel overduidelijk. Allereerst hebben we een script geschreven dat via SSH op alle devices van het netwerk ging inloggen om zo de neighbour-list op te roepen. Dit zag er als volgend uit : 1 2 #!/usr/bin/perl 3 10

15 4 use Net::SSH::Perl; 5 6 sub zoekneighbors { 7 my $host = "$_[0]"; 8 my $user = api_user ; 9 my $pass = api_user_pass ; 10 my $cmd = /ip neighbor print ; my $ssh = new Net::SSH::Perl($host); 13 $ssh->login($user, $pass); my ($stdout, $stderr, $exit) = $ssh->cmd($cmd); 16 $output = $stdout; open (MYFILE, >>ipadressen.txt ); 19 for ($output =~ /(\d+\.\d+\.\d+\.\d+)/g) { 20 $currentline = $_; 21 $x= grep /$currentline/,@gebruikteip; 22 if($x == 0){ 23 print MYFILE "$_\n"; 24 push(@gebruikteip, "$_"); 25 } 26 } close (MYFILE); } zoekneighbors( ); Op zich werkte dit wel vrij goed, maar het was behoorlijk traag. Alsook inloggen via SSH op elk device was misschien ook wat te belastend voor het netwerk. Doordat we wilden winnen aan snelheid zijn we gaan kijken naar het gebruik van SNMPquery s. Deze zijn heel lightweight voor het netwerk en zouden veel sneller moeten gaan doordat niet specifiek op de devices ingelogd moet worden. Het script dat we hiervoor geschreven hadden was : 1 2 use warnings; 3 use IO::Socket; 4 my $start_run = time(); $ip = ; 8 9 = null; 10 zoek($ip); sub zoek 11

16 13 { 14 $a = $_[0]; 15 $out = /usr/bin/snmpbulkget -v2c -c public $a >/dev/null ; 16 $mk = /usr/bin/snmpbulkget -v2c -c public $a >/dev/null ; 17 = split(/\n/,$out); 19 foreach $adres(@a){ /, $adres); 21 push(@adressen,$ipad[1]); 22 } = split(/\n/,$mk); 26 foreach $id(@a){ /, $id); 28 push(@b,$ipad[1]); 29 } #$tel = -1; 32 my $tel = 0; 33 foreach $val(@adressen){ $end_run = time(); 37 $run_time = $end_run - $start_run; if($b[$tel] ne ){ 41 if(!exists $gebruikt{$val}){ 42 $gebruikt{$val}=$b[$tel]; 43 $aantal++; 44 print "$aantal \t $val \t $gebruikt{$val}\t \t $run_time\n"; 45 zoek($val); 46 } } 49 $tel++; 50 } 51 } sub schrijf(){ 54 open FILE, ">mikrotik-snmp.txt" or die $!; 55 foreach my $key ( sort keys %gebruikt ) 56 { 57 print FILE $key. "\n"; 58 } 59 close(file); open FILE, ">nano-snmp.txt" or die $!; 62 foreach my $key ( sort keys %antenne) 63 { 12

17 64 print FILE $key. "\n"; 65 } 66 close(file); 67 } schrijf(); my $end_run = time(); 72 my $run_time = $end_run - $start_run; 73 print "Job took $run_time seconds\n"; Dit hebben we nog sneller kunnen maken door Perl-libraries van SNMP te gebruiken maar hebben dit niet verder uitgewerkt. 1 use Net::SNMP; 2 3 ($session,$error) = Net::SNMP->session(Hostname => $ARGV[0], 4 Community => $ARGV[1], 5 Version => snmpv2c ); 6 7 die "session error: $error" unless ($session); 8 9 $result = $session->get_bulk_request(" "); die "request error: ".$session->error unless (defined $result); $session->close; print "Number of interfaces: ".$result->{" "}."\n"; Vanaf het moment dat we het script lieten lopen merkten we al direct een verschil : Het liep veel sneller dan ons SSH-script. Maar we kwamen weer uit op een nieuw probleem; niet alle devices hebben SNMP aanstaan. Dit zorgt er voor dat er een deel van de devices niet gevonden worden. Hierna hadden we nog 1 optie over : Inloggen op de devices via een Perl-script gebruik makende van de MikroTik API. Het voordeel hierbij was dat op het Wireless Belgium netwerk alle Mikrotik Devices bij de installatie zo waren ingesteld dat men met de API kan connecten. Nadat we wat vetrouwd waren geraakt met de API konden we snel een script schrijven dat vrij hard leek op de vorige. Dit is tevens ons definitief discovery script. 1 use dbscriptje; 2 use IO::Socket; 3 use Mtik ; 4 use List::MoreUtils qw(uniq);

18 7 #Er bestaat een universele guest-login over de MikroTik-bakjes; 8 $mtik_host = *********; 9 $mtik_username = **********; 10 $mtik_password = ************; 11 %gebruikt = (); 12 %devs = (); = (); sub zoek{ $mtik_host = $_[0]; #Host meegegeven aan de subroutine; 19 if (Mtik::login($mtik_host,$mtik_username,$mtik_password)){ # Inloggen op MikroTik-device; ("/interface/wireless/getall", "=.proplist=frequency"); 22 my($retval1,@results1) = Mtik::raw_talk(\@wmd); #Command om te kijken of er een frequency wordt geretourneerd (Wifi-kaart of niet); if(@results1[1]){ 26 if(@results1[1] =~ m/frequency/){ #Boolean-value setten afhankelijk van wifi-kaart of niet; 27 $gebruikt{$mtik_host}=1; 28 }else{ 29 $gebruikt{$mtik_host}=0; 30 } 31 } = ("/ip/neighbor/getall", "=.proplist=identity,software- id,platform,interface,board,address"); 34 my($retval,@results) = Mtik::raw_talk(\@cmd); #Command dat informatie over het MikroTik-device terug zal geven; foreach my $result (@results) { #Elke regel uit de ip-neighbor- list overlopen; if($result eq "!re"){ #Wanneer regel gelijk aan!re begint er een nieuwe entry; 39 if(!exists $devs{$currentline}){ 40 $devs{$currentline}= ; 41 { %devicevalues }; 42 } 43 %devicevalues=(); #Array terug leegmaken; 44 }else{ #Regel niet gelijk aan!re; 45 $result =~ m/=(.*?)=/; #Match de waarden tussen 2 = - tekens; 46 my $index = $1; #Steek match in $index; 47 $devicevalues{$index}=${^postmatch}; #POSTMATCH geeft alles na de gevonden match terug; } 50 if($result =~ m/(\d+\.\d+\.\d+\.\d+)/){ #Indien de gevonden 14

19 waarde overeen komt met een IP-adres; 51 $currentline=$1; #Currentline = ipadres; 52 if (!exists $gebruikt{$currentline}){ #Indien men deze device nog niet eerder gebruikt heeft; 53 $gebruikt{$currentline}= ; 54 $socket = IO::Socket::INET->new(Proto=>"tcp", PeerPort=>"8728", PeerAddr=>"$currentline", Timeout=>1); 55 if($socket){ #Kijken of de API-poort voor MikroTik openstaat. 56 $aantal++; 57 print $aantal."\n"; 58 zoek($currentline); #Recursief opnieuw de subroutine aanroepen met het volgende ip- adres. 59 } } 62 } } 65 Mtik::logout; #Uitloggen van het device; 66 } 67 } zoek($mtik_host); 70 schrijfweg(); sub schrijfweg{ 73 dbscriptje::connecttomysql(); #Connectie maken met de DB = uniq(@devices); #Duplicate hashes uit de array van hashmaps halen foreach $device(@list){ #Voor elke hash entry in de map $address = ""; 79 $macaddress = ""; 80 $interface = ""; 81 $identity = ""; 82 $platform = ""; 83 $softwareid = ""; 84 $board = ""; 85 $tempplatform = ""; while ( my ($key, $value) = each(%$device) ) { #Voor elk key- value pair per hash 88 $key =~ s/-//; 89 if($key eq "platform"){ #Indien key = platform 90 if(length($value)==3){ #Wanneer de value bij platform een lengte heeft van 3, is dit een AirOS-device; 91 ${$key}="airos"; 92 $tempplatform = $value; #Tijdelijk AirOS opslaan; 93 }else{ 94 ${$key}=$value; 15

20 95 } 96 }else{ 97 ${$key}=$value; 98 } if($tempplatform ne ""){ #Wanneer tempplatform leeg en het dus een AirOS-device is, moet de boardname veranderd worden naar waarde die 101 $board = $tempplatform; #hiervoor bij platform stond 102 } print ${$key}; 105 } $wireless = $gebruikt{$address}; #De $wireless boolean veranderen naar de true/false voorafgaang geset; 108 dbscriptje::insertininterfaces($address,$macaddress, $interface, $identity, $platform, $softwareid, $board, $wireless); 109 print "\n \n"; #Alle waarden wegschrijven naar de DB; 110 } Dit liep al een pak sneller dan ons SSH-script, maar wel trager dan hetgene we hadden geschreven met SNMP. Dit script liep echter wel alle devices af, en gaf uiteindelijk ook geen foutmeldingen. 7.2 Curl Script Hiervoor maken we gebruik van een script die we gerkegen hebben van meneer Maes. Het is mogelijk om via Curl informatie op te vragen uit de Nanostations. 1 2 use strict; 3 use IO::Socket::PortState qw(check_ports); 4 use WWW::Curl::Easy; 5 use WWW::Curl::Form; 6 7 my $ip = shift; 8 my $page = shift; 9 my $username = "usr"; 10 my $password = "Wouter"; &get_airos_page($ip,$page); sub get_airos_page { my $https_port = 443; my $proto = " 19 if(check_port($ip,$https_port)) { 20 $proto = " 21 } 16

21 22 23 my $curl = WWW::Curl::Easy->new; $curl->setopt(curlopt_url, $proto.$ip); 26 # $curl->setopt(curlopt_verbose, 1); 27 $curl->setopt(curlopt_followlocation, 1); 28 $curl->setopt(curlopt_ssl_verifypeer, 0); 29 $curl->setopt(curlopt_ssl_verifyhost, 0); 30 $curl->setopt(curlopt_cookiejar, cookie.txt ); 31 my $dummyresponse_body; 32 my $response_headers; 33 $curl->setopt(curlopt_writedata,\$dummyresponse_body); 34 $curl->setopt(curlopt_writeheader,\$response_headers); my $retcode = $curl->perform; 37 if ($retcode!= 0) { 38 die("airos Error while fetching page: $retcode ".$curl-> strerror($retcode)." ".$curl->errbuf."\n"); 39 } my $form; 43 = ( Expect: ); if ($response_headers =~ /WWW-Authenticate: Basic/s) { 47 # old AirOS firmware with HTTP auth $curl->setopt(curlopt_url, $proto.$ip. /.$page); 50 $curl->setopt(curlopt_httpauth, CURLAUTH_BASIC ) ; 51 $curl->setopt(curlopt_userpwd, $username.":".$password); 52 } else { 53 #newer AirOS firmware with cookie auth $curl->setopt(curlopt_url, $proto.$ip. /login.cgi ); 56 $form = WWW::Curl::Form->new; 57 $form->formadd( uri, /.$page); 58 $form->formadd( username, $username); 59 $form->formadd( password, $password); 60 $curl->setopt(curlopt_httppost, $form); $curl->setopt(curlopt_httpheader, \@hdrs); $curl->setopt(curlopt_cookiefile, cookie.txt ); 65 } my $response_body; 70 my $response_headers2; 71 $curl->setopt(curlopt_writedata,\$response_body); 72 $curl->setopt(curlopt_writeheader,\$response_headers2); 73 $retcode = $curl->perform; 74 17

22 75 if ($retcode!= 0) { 76 die("airos Error while fetching page: $retcode ".$curl-> strerror($retcode)." ".$curl->errbuf."\n"); 77 } print $response_body; 80 } sub check_port() { 83 my $host = $_[0]; 84 my $portc = $_[1]; 85 my $protoc = "tcp"; 86 my %port_hash = ( 87 $protoc => { 88 $portc => {}, 89 } 90 ); 91 my $timeout = 5; 92 my $host_hr = check_ports($host,$timeout,\%port_hash); 93 for my $port (sort {$a <=> $b} keys %{$host_hr->{tcp}}) { 94 my $yesno = $host_hr->{tcp}{$port}{open}? 1 : 0; 95 return $yesno; 96 } 97 } 7.3 CCQ script 1 2 #!/usr/bin/env perl 3 4 open(myfile, "/etc/scripts/bestanden/wirelessipmikrotikmetwifi.txt"); 5 while ($line = <MYFILE>){ 6 push(@ips,$line); 7 } 8 close(myfile); 9 10 $woord="a"; foreach $ip(@ips) 13 { 14 $ip = substr $ip,0,length($ip)-1; 15 splice(@uitkomsten); 16 #Create the graph print "graph_title CCQ Wiresless MikroTik $ip\n"; 19 print "graph_category CCQ Wiresless MikroTiks\n"; 20 print "graph_args --base l 0\n"; 21 print "graph scale no\n"; $out = /usr/bin/snmpwalk -v2c -c public $ip >/dev/null ; 18

23 24 if (length($out) > 55) 25 { 27 foreach $item(@splitss) 28 { = split(/: /,$item); 30 push(@uitkomsten,$splits[1]); 31 } 32 foreach $item2(@uitkomsten) 33 { 34 #create the first label ( line in the graph ) 35 print "$woord.type GAUGE\n"; 36 print "$woord.label $ip\n"; 37 print "$woord.draw LINE1\n"; #give the label a value 40 print "$woord.value $item2\n"; 41 $woord.="a"; 42 } 43 } 44 else 45 { = split(/: /,$out); 47 $res 48 #create the first label ( line in the graph ) 49 print "$woord.type GAUGE\n"; 50 print "$woord.label $ip\n"; 51 print "$woord.draw LINE1\n"; #give the label a value 54 print "$woord.value $res\n"; 55 $woord.="a"; 56 } 57 } 7.4 Installatie script Om de installatie van ons project te vereenvoudigen hebben we ervoor gekozen om een installatie script in bash te maken. Eerst passen we de resolv.conf aan, zo hebben we zeker een nameserver. Daarna geven we een host in, dit is nodig om SNMP te laten werken. Vervolgens geven we automatisch een IP-adres en geven we ook de juiste configuratie in voor de interface eth1. Hierna download en installeert het script alle nodige packages en libraries. Daarna halen we alle scripts op en plaatsen die in de juiste mappen. 1 2 #!/bin/sh 3 4 #Host file aanpassen# 5 19

24 6 wget -O /etc/hosts2 -r hosts/hosts 7 cp /etc/hosts2 /etc/hosts 8 /etc/init.d/networking restart 9 10 #Ip adres veranderen# wget -O /etc/network/interfaces2 -r be/eindwerk/interfaces/interfaces 13 cp /etc/network/interfaces2 /etc/network/interfaces 14 /etc/init.d/networking restart #Sources.list aanpassen# wget -O /etc/apt/sourcess.list -r Eindwerk/sources/sources.list 19 cp /etc/apt/sourcess.list /etc/apt/sources.list #Installatie packages# apt-get update apt-get install unzip 26 apt-get install make 27 apt-get install ssh 28 apt-get install apache2 29 apt-get install mysql-server mysql-client 30 apt-get install munin munin-node 31 apt-get install snmp 32 apt-get install snmpd 33 apt-get install libcurl4-gnutls-dev #Installatie munin plugins# mkdir /etc/zips 38 wget -O /etc/zips/plugins.tar -r --cut-dirs=3 khleuven.be/eindwerk/munin-plugins/plugins.tar 39 tar -xvf /etc/zips/plugins.tar -C /etc/munin/plugins 40 chmod 777 /etc/munin/plugins/snmp_* 41 chmod 777 /etc/munin/plugins/vendordef.pl 42 chmod 777 /etc/munin/plugins/vendorschaal.pl 43 chmod 777 /etc/munin/plugins/vendorschaaltest.pl #Installatie scripts /etc/scripts/# mkdir /etc/scripts 48 wget -O /etc/zips/scripts.zip -r --cut-dirs=3 khleuven.be/eindwerk/scripts/scripts.zip 49 unzip /etc/zips/scripts.zip -d /etc/scripts/ #Installatie Perl Library s# perl -MCPAN -e install IO::Socket::PortState 54 perl -MCPAN -e install Net::MAC::Vendor 20

25 55 perl -MCPAN -e install Data::OptList 56 perl -MCPAN -e install :Date::Format 57 perl -MCPAN -e install MIME::Lite 58 perl -MCPAN -e install MIME::Types 59 perl -MCPAN -e install Net::SNMP 60 perl -MCPAN -e install Params::Util 61 perl -MCPAN -e install Sub::Exporter 62 perl -MCPAN -e install Sub::Install 63 perl -MCPAN -e install WWW::Curl::Easy 64 perl -MCPAN -e install WWW::Curl::Form 65 perl -MCPAN -e install IO::Socket::PortState 66 perl -MCPAN -e install DBI 67 perl -MCPAN -e install DBD::mysql #Config snmp aanpassen# rm /etc/snmp/snmpd.conf 72 wget -O /etc/snmp/snmpd.conf -r Eindwerk/snmp-config/snmpd.conf #Config apache2 aanpassen# rm /etc/apache2/sites-enabled/000-default 77 wget -O /etc/apache2/sites-enabled/000-default -r webontwerp.khleuven.be/eindwerk/apache-config/000-default 78 service apache2 restart #Installtie Database server# echo "Gelieve het wachtwoord in te geven dat u daarstraks hebt gekozen bij MYSQL (wirelessbelgium)" 83 mysql -u root -p < /etc/scripts/createdb.sql #Munin-config# wget -O /etc/munin/plugin-conf.d/snmp -r khleuven.be/eindwerk/munin-config/snmp #Munin node herstarten# 90 service munin-node restart 21

26 8 Database We willen de gegevens van de gevonden neighbours cachen; daarvoor hebben we nood aan een database. We maken gebruik van een mysql-database. Om deze database in te vullen hebben we gebruik gemaakt van diverse scripts zoals onder andere een discovery script die we meerdere malen hebben herschreven zoals al reeds besproken is. We hebben 3 verschillende delen in onze database. We hebben een tabel Interfaces waar we alle gegevens van het neighbor discovery script in plaatsen. Hier zetten we zo veel mogelijk informatie in over alle devices en hun interfaces. Deze dient ook als basis voor de andere tabellen. Het tweede deel zijn de tabellen AantalCurrent, ApIp en UniekVerbondenMacAdressen. Deze werden vooral gebruik voor onze grafieken in Munin. Doormiddel van gegevens van de tabel Interfaces en SNMP konden we deze opvullen. Het laatste deel is de tabel Locatie. Deze tabel dient vanzelfsprekend voor de locaties op te slagen van de devices. Deze worden daarna gebruikt om op een map te plaatsen (Zie volgende sectie). Onze database is duidelijk niet volgens de regels uitgenormaliseerd maar dit was ook ons doel niet. Elke extra functie dat toegevoegd wordt zorgt voor een aanpasing van onze tabellen. Bij elke aanpassing moeten deze opnieuw gevuld worden en dit kan redelijk wat kostbare tijd in beslag nemen. Voor het script dat de tabellen aanmaakt, zie

27 23

28 9 Locatiebepaling Het leek ons interessant om de locaties van de devices automatisch op een gepersonaliseerde Google Maps map te plaatsen om zo een overzicht te creëren van al de devices in het netwerk. Spijtig genoeg staan de locaties niet ingesteld op de devices. Daarom is dit eerder een proof of concept. 9.1 ophalen locaties van devices We beginnen met het ophalen van de locaties van de devices. Hieronder staat hoe we dat kunnen verwezenlijken met behulp van SSH. We kunnen het ook met SNMP of eventueel andere manieren doen. Na het ophalen van de gegevens worden ze in onze database gepushed. 1 2 #!/usr/bin/env perl 3 4 use lib ("/etc/scripts"); 5 require dbscriptje; 6 use Time::Stamp; 7 8 dbscriptje::connecttomysql(); = (" "," "); 10 foreach $ip(@ips) 11 { 12 $res = sshpass -p Wolk ssh \ 13 -o UserKnownHostsFile=/dev/null \ 14 -o StrictHostKeyChecking=no \ 15 -l ubnt \ 16 -p 22 $ip \ 17 mca-status egrep -e latitude longitude ; = split("\n",$res); 19 foreach $item(@resultaat) 20 { = split(/=/,$item); 22 push(@resultaat3,$resultaat2[1]); 23 } 24 dbscriptje::insertlocatie($ip,$resultaat3[0],$resultaat3[1]); 25 } 9.2 Pagina We zetten een pagina op met een lege map. zoomlevel en ons default maptype. Deze centeren we op België, kiezen ons 24

29 Hiervoor hebben we ook eerst een API-key moeten aanvragen bij Google zelf. (zie http: // 1 <html> 2 <head> 3 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 4 <style type="text/css"> 5 html { height: 100% } 6 body { height: 100%; margin: 0; padding: 0 } 7 </style> 8 <script type="text/javascript" 9 src=" AIzaSyBVcbjD4Kxvl2slCVrpCDKvgXY8TmFGPPw&sensor=true"> 10 </script> <script type="text/javascript"> 15 function initialize() { 16 var mapoptions = { 17 center: new google.maps.latlng( , ), 18 zoom: 12, 19 maptypeid: google.maps.maptypeid.roadmap 20 }; 21 var map = new google.maps.map(document.getelementbyid(" map_canvas"), 22 mapoptions); } 26 </script> 27 </head> 28 <body onload="initialize()"> 29 <div id="map_canvas" style="width:100%; height:100%"></div> 30 </body> 31 </html> 9.3 Ophalen van locaties uit de database Vervolgens willen we onze waarden uit de database ophalen om deze dan één voor één op de map te plaatsen. We plaatsen deze in een array. 1 <?php 2 3 $dbhandle = mysql_connect( localhost, user, password ) or die ( error connecting to mysql ); 4 $selected = mysql_select_db("wirelessbelgium",$dbhandle) or die(" Could not select examples"); 5 25

30 6 $result = mysql_query("select * FROM wirelessbelgium.locatie"); 7 8 $locaties=array(); 9 10 while ($row = mysql_fetch_array($result)) { 11 array_push($locaties, $row[ LONGITUDE ]); 12 array_push($locaties, $row[ LATITUDE ]); 13 } mysql_close($dbhandle); 16?> 9.4 Markers op de map plaatsen In de javascript block van Google Maps voegen we één voor één de locaties toe aan een marker en voegen deze markers toe aan de map. 1 2 <?php 3 $index = 0; 4 foreach($locaties as $a){ 5 6 if($index % 2==0){ 7 8 $var1 = $a; 9 $var2 = $locaties[$index+1]; 10 print "var location = new google.maps.latlng(". $var2. ",". $var1.");\n"; 11?> var marker = new google.maps.marker({ 14 position: location, 15 map: map 16 }); <?php } 21 $index++; 22 } 23 24?> 26

31 9.5 Resultaat 9.6 Uiteindelijke pagina 1 <?php 2 3 $dbhandle = mysql_connect( localhost, user, password ) or die ( error connecting to mysql ); 4 $selected = mysql_select_db("wirelessbelgium",$dbhandle) or die(" Could not select examples"); 5 6 $result = mysql_query("select * FROM wirelessbelgium.locatie"); 7 8 $locaties=array(); 9 10 while ($row = mysql_fetch_array($result)) { 11 array_push($locaties, $row[ LONGITUDE ]); 12 array_push($locaties, $row[ LATITUDE ]); 13 } mysql_close($dbhandle); 16?> <html> 19 <head> 20 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 21 <style type="text/css"> 22 html { height: 100% } 23 body { height: 100%; margin: 0; padding: 0 } 24 #map_canvas { height: 100% } 25 </style> 26 <script type="text/javascript" 27

32 27 src=" AIzaSyBVcbjD4Kxvl2slCVrpCDKvgXY8TmFGPPw&sensor=true"> 28 </script> <script type="text/javascript"> 32 function initialize() { 33 var mapoptions = { 34 center: new google.maps.latlng( , ), 35 zoom: 12, 36 maptypeid: google.maps.maptypeid.roadmap 37 }; 38 var map = new google.maps.map(document.getelementbyid(" map_canvas"), 39 mapoptions); <?php 42 $index = 0; 43 foreach($locaties as $a){ if($index % 2==0){ $var1 = $a; 48 $var2 = $locaties[$index+1]; 49 print "var location = new google.maps.latlng(". $var2. ",". $var1.");\n"; 50?> var marker = new google.maps.marker({position: location,map: map }); <?php } 57 $index++; 58 } 59 60?> } 63 </script> 64 </head> 65 <body onload="initialize()"> 66 <div id="map_canvas" style="width:100%; height:100%"></div> 67 </body> 68 </html> 28

33 10 Back-up Eenmaal we een werkende configuratie hadden, hebben we ervoor gekozen om dagelijks een back-up te gaan nemen van ons systeem. Om onze back-up te nemen hebben we gebruik gemaakt van rsync in samenwerking met een cronjob. Zo was het mogelijk om bepaalde mappen over te slaan en deze op bepaalde tijdstippen te laten uitvoeren. We hebben zoals eerder vermeld gekozen om deze back-up dagelijks te laten runnen en dat s avonds als wij niet meer op het systeem aan het werken waren. Dit omdat we zo weinig tot geen hinder zouden ondervinden van het nemen van deze back-up. Deze back-up s konden we ook deels gebruiken als een soort van datacenter. Zo konden we steeds live bestanden gaan aanpassen met in het achterhoofd dat we steeds konden terugkeren naar een recent en werkend onderdeel of script. Dit is ons uiteindelijk commando dat we gebruiken in cronjob. 1 rsync -ahaxxv --exclude /mnt / /mnt/ date +%d-%m-%y / Dit commando heeft een kleine transformatie doorgaan. Het zorgde namelijk eerst voor wat problemen. Onze backup bestaat uit het lokaal opslaan van heel het systeem en om te beginnen hadden we onze map naar waar we de backup wegschreven, niet ge-exclude. Dit zorgde voor een loop vanaf hij aan /mnt/backup/ begon. Dit was makkelijk op te lossen door deze map als parameter aan exclude mee te geven. Het volgende probleem was dat al onze backups overschreven werden elke nacht om 3 uur. Als we iets wouden repareren dat we bijvoorbeeld voor het weekend voor het laatst hebben aangepast zou dit niet meer mogelijk zijn (voor dit voorbeeld kunnen we de cronjob natuurlijk ook aanpassen). Hiervoor hebben we ervoor gezorgd dat elke backup in /mnt/ date +%d-%m-%y / wordt geplaatst. Dit maakt telkens een nieuw mapje aan met als naam de datum van de backup (niet aan te raden voor grote voor langdurig gebruik). 29

34 11 Presentatie Eén van de laatste luiken van ons eindwerk was het maken en naar voor brengen van een presentatie rond een specifiek aspect van ons eindwerk. Dit moest dan eerst goedgekeurd worden door één van de toezichthoudende lectoren. We hebben geopteerd om eens een korte introductie te geven omtrent ons eindwerk, zodat iedereen juist wist waar we nu net mee bezig geweest zijn de afgelopen weken. Zo was het ook makkelijker ons thema te situeren binnen het project. Als thema hebben we gekozen voor een korte uitleg te geven rond SNMP, doordat dit toch een zeer vaak gebruikt protocol is en dit nog wel interessant zou kunnen zijn voor de andere leerlingen Voorbereidingen In plaats van een simpele PowerPoint te maken, hebben we gekozen om het eens te proberen met een programma genaamd Prezi. We hadden er hiervoor nog niet mee gewerkt, dus het leek ons wel eens leuk het hiermee te doen. In Prezi kan men vanalle opties toepassen die in PowerPoint niet gaan, zoals alles beginnen draaien en te scalen. Hierbij moesten we wel letten dat we het niet té duizelingwekkend maakten, omdat dit het doel van de Prezi zou doen verwateren. Het hoofddoel blijft nog steeds de informatie beknopt weer te geven, en niet om interessant over te komen Presentatie Zie bijlage

35 12 Slotwoord In deze 4 weken hebben we heel wat bijgeleerd over monitoring en het wireless belgium netwerk. De meeste van onze klasgenoten wisten niet eens dat er zo iets bestond als het wireless belgium netwerk; het was dan ook leuk om deze kennis te kunnen delen met onze klasgenoten. Na deze 4 weken hebben we toch al redelijk veel grafieken opgebouwd die zeker bruikbaar zijn voor het wireless belgium network team. Ook hebben we ervoor gezorgd dat er automatisch scripts gegenereerd worden en zoals hierboven al beschreven dat we samenwerken met een databank. Dit om alles zo overzichteijk mogelijk te kunnen doorgeven aan het wireless belgium network team. We kunnen zeker besluiten dat we tijdens deze 4 weken ontzettend veel hebben bijgeleerd. We hebben goed samen gewerkt met ons team en dit heeft een mooi resultaat opgeleverd. Als laatste zouden we graag nog 2 lectoren willen bedanken. Dit zijn Hans Maes en Pieter Geens. Hans Maes, bedankt voor de vele uitleg en informatie die we van u hebben gekregen rond het wireless belgium network. Pieter Geens, bedankt voor alle hulp die we van u hebben gekregen in deze 4 weken. 31

36 13 Bronnen appendix.html query_walkthrough td-p/ static-key-mini-howto.html html

37 14 Bijlagen 14.1 Presentatie in PDF 33

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

ISW Presents Debian Homeserver Workshop

ISW Presents Debian Homeserver Workshop ISW Presents Debian Homeserver Workshop Lucas Kauffman Vincent Andries Debian Homeserver Voorzitter ISW lucas@isw.student.khleuven.be serveradmin ISW goose@isw.student.khleuven.be Debian Homeserver Installatie

Nadere informatie

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen Installeer Apache2: Deze howto gaat over name based virtual hosting onder Apache 2.x., en is getest onder OpenSUSE 11 maar is in feite ook van toepassing op de andere distributies. Alleen Debian en afgeleide

Nadere informatie

Chapter 4. eenvoudige webserver opzetten

Chapter 4. eenvoudige webserver opzetten Chapter 4. eenvoudige webserver opzetten Table of Contents 4.1. overzicht... 44 4.2. software beheren op Linux... 44 4.3. vi... 45 4.4. html... 45 4.5. apache2... 45 4.6. twee extra websites op de apache

Nadere informatie

Les 4 Installeren Apache2 Php MySQL

Les 4 Installeren Apache2 Php MySQL Les 4 Installeren Apache2 Php MySQL LAMP staat voor Linux, Apache, MySQL, PHP. In deze Les laat ik zien hoe je een een Apache2 webserver op een Ubuntu 12.04 LTS server met PHP5 support (mod_php) en MySQL

Nadere informatie

Denit Backup instellen op een Linux server

Denit Backup instellen op een Linux server Denit Backup instellen op een Linux server Deze handleiding beschrijft de stappen om de back-up software van Ahsay in te stellen. AANMAKEN BACK-UP SET... 2 DE SCHEDULER INSTELLEN... 4 HET FILTER INSTELLEN...

Nadere informatie

IAAS HANDLEIDING - SOPHOS FIREWALL

IAAS HANDLEIDING - SOPHOS FIREWALL IAAS HANDLEIDING - SOPHOS FIREWALL Contents IAAS HANDLEIDING - SOPHOS FIREWALL... 0 HANDLEIDING - SOPHOS FIREWALL... 2 STANDAARD FUNCTIONALITEITEN... 2 DNS... 2 DHCP... 2 BASIS INSTELLINGEN UITVOEREN...

Nadere informatie

Hands-on TS adapter IE advanced

Hands-on TS adapter IE advanced Hands-on TS adapter IE advanced Tijdens deze hands-on opdracht wordt een Teleservice verbinding opgebouwd naar de S700 en KTP700 Basic PN. De basis instelling zoals het toekennen van een IP-adres en het

Nadere informatie

Raspberry Pi Plex server installeren

Raspberry Pi Plex server installeren Raspberry Pi Plex server installeren Tot voor kort kon alleen de Plex client (app) op de Raspberry Pi geïnstalleerd worden, sinds kort is het ook mogelijk de Pi in te zetten als Plex server Wat heb je

Nadere informatie

Zonnepanelen Hoe krijg je de data op je website?

Zonnepanelen Hoe krijg je de data op je website? Zonnepanelen Hoe krijg je de data op je website? Beste website-bezoeker, Omdat ik al heel wat vragen kreeg over het gedeelte zonne-energie op mijn website, heb ik besloten om de werkwijze die ik gevolgd

Nadere informatie

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens

Nadere informatie

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Studenten: Peter Asnong Rik Broens Tom De Keyser Daan Gielen Kris Gregoire Koen Olaerts Toon Wouters Inhoudsopgave

Nadere informatie

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand: Remote administratie Als administrator hebt u verschillende mogelijkheden om een Linux systeem van op afstand te beheren. Populaire toepassingen zijn bijvoorbeeld Webmin en VNC. Het gebruik van deze twee

Nadere informatie

Domein API Handleiding

Domein API Handleiding Domein API Handleiding Versie 1.6 Datum: 16-07-2014 1 Inhouds opgave 2 Inleiding 3 Result codes 4 Api functies 5 Api helpers 2 Inleiding: De API van 123 Hosting Service kan worden gebruikt om te registreren

Nadere informatie

We moeten de accommodaties selecteren die 3 sterren hebben, en in land met ID 10 zitten.

We moeten de accommodaties selecteren die 3 sterren hebben, en in land met ID 10 zitten. MySQL talk Trage website? Het optimaliseren van een bestaande website die een MySQL database heeft is niet altijd even makkelijk. Het probleem kan namelijk op veel verschillende plekken zitten: de database

Nadere informatie

MULTIFUNCTIONELE DIGITALE SYSTEMEN. Instellen en gebruiken van LDAP met Active Directory

MULTIFUNCTIONELE DIGITALE SYSTEMEN. Instellen en gebruiken van LDAP met Active Directory MULTIFUNCTIONELE DIGITALE SYSTEMEN Instellen en gebruiken van LDAP met Active Directory LDAP - Lightweight Directory Access Protocol Algemene lay-out van LDAP Informatie Informatie in een LDAP database

Nadere informatie

Configureren van een VPN L2TP/IPSEC verbinding

Configureren van een VPN L2TP/IPSEC verbinding Configureren van een VPN L2TP/IPSEC verbinding Inhoudsopgave 1. Voorbereiding.... 3 2. Domain Controller Installeren... 4 3. VPN Configuren... 7 4. Port forwarding.... 10 5. Externe Clients verbinding

Nadere informatie

Howto make Exim work with Freesco 0.2.7

Howto make Exim work with Freesco 0.2.7 Howto make Exim work with Freesco 0.2.7 Bij het installeren van Exim liep ik niet echt tegen problemen aan, behalve dan dat de informatie die je nodig hebt om het geheel werkend te krijgen, niet op één

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

vroeger: 15 jaar unix systeem beheer/software development en 5 jaar infrastructuur architect (unix/blades)

vroeger: 15 jaar unix systeem beheer/software development en 5 jaar infrastructuur architect (unix/blades) René Krewinkel vroeger: 15 jaar unix systeem beheer/software development en 5 jaar infrastructuur architect (unix/blades) tegenwoordig: interaction designer web/apps (8 uur/week) docent software development

Nadere informatie

De MySQL C API. Variabelen in C Functies in C Pointers in C

De MySQL C API. Variabelen in C Functies in C Pointers in C LinuxFocus article number 304 http://linuxfocus.org De MySQL C API door Özcan Güngör Over de auteur: Ik gebruik Linux sinds 1997. Vrijheid, flexibiliteit en opensource. Dat

Nadere informatie

Temperatuurbewaking met Linux (Deel 2)

Temperatuurbewaking met Linux (Deel 2) LinuxFocus article number 342 http://linuxfocus.org Temperatuurbewaking met Linux (Deel 2) door Stefan Blechschmidt Over de auteur: Doordat ik opgeleid ben als electriciën, zat ik

Nadere informatie

API geolocation. Ying-Hing Lam Tjebbe Marchand DP31T

API geolocation. Ying-Hing Lam Tjebbe Marchand DP31T API geolocation Ying-Hing Lam Tjebbe Marchand DP31T 1 Inhoudsopgave Achtergrondinformatie blz. 4 Uitleg werking blz. 5 Extra functies blz. 6 Verschillende concepten Ons concept Brondvermelding Feedback

Nadere informatie

VPN Remote Dial In User. DrayTek Smart VPN Client

VPN Remote Dial In User. DrayTek Smart VPN Client VPN Remote Dial In User DrayTek Smart VPN Client Inhoudsopgave VPN Remote Dial In... 3 Verbinding maken met de DrayTek router... 4 DrayTek VPN Remote Dial In configuratie PPTP VPN... 5 VPN verbinding opzetten

Nadere informatie

Solcon Online Backup. Aan de slag handleiding voor Linux

Solcon Online Backup. Aan de slag handleiding voor Linux Version 1 September 2007 Installatie: 1. Download het setup bestand (obm-nix.tar.gz) van de website. 2. Voor de volgende stappen dient u root te zijn. 3. Doorloop de volgende stappen voor het uitpakken

Nadere informatie

Aandachtspunten voor installatie suse in vmware server

Aandachtspunten voor installatie suse in vmware server Aandachtspunten voor installatie suse in vmware server Voorbereiden van vware virtueel machine: 1. Select linux Suse linux 2. Maak disksize 5Gb Denk er als je virtual machine wilt draaien op FAT32 vink

Nadere informatie

Netwerkprinter Dell 1320C installeren op Ubuntu 10.04 LTS - Lucid Lynx

Netwerkprinter Dell 1320C installeren op Ubuntu 10.04 LTS - Lucid Lynx Netwerkprinter Dell 1320C installeren op Ubuntu 10.04 LTS - Lucid Lynx Er is geen Linux driver voor deze printer, maar het werkt ook met de driver van de Fuji Xerox DocuPrint C525A Direct link to Linux

Nadere informatie

9. MYSQL. Daarin zien we het administratie paneel van mysql.

9. MYSQL. Daarin zien we het administratie paneel van mysql. 9. MYSQL We kunnen ook in dit systeem gebruik maken van de gekende ACCESS databanken. Zolang het maar relationale databanjken zijn kunnen we er gebruik van maken. In PHP echter maakt men meestal gebruik

Nadere informatie

Configureren van een VPN L2TP/IPSEC verbinding. In combinatie met:

Configureren van een VPN L2TP/IPSEC verbinding. In combinatie met: Configureren van een VPN L2TP/IPSEC verbinding In combinatie met: Inhoudsopgave 1. Voorbereiding.... 3 2. Domaincontroller installeren en configuren.... 4 3. VPN Server Installeren en Configureren... 7

Nadere informatie

Veel gestelde vragen nieuwe webloginpagina

Veel gestelde vragen nieuwe webloginpagina Veel gestelde vragen nieuwe webloginpagina Op deze pagina treft u een aantal veel gestelde vragen aan over het opstarten van de nieuwe webloginpagina http://weblogin.tudelft.nl: 1. Ik krijg de melding

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

Nadere informatie

Linux Server Installatie

Linux Server Installatie Linux Server Installatie SSH/VSFTPD Debian 5 Lenny SSH Omdat we niet altijd fysieke toegang hebben tot een server willen toch met deze verbinding kunnen maken zonder op locatie te moeten gaan. Een van

Nadere informatie

1 Installatie van de server... 2

1 Installatie van de server... 2 Inhoudstafel 1 Installatie van de server... 2 1.1 Basis installatie Ubuntu server... 2 1.2 Aanpassingen Ubuntu server... 2 1.2.1 Updates installeren... 2 1.2.2 Vast IP-adres instellen naar 192.168.186.3...

Nadere informatie

Technote. EnGenius Senao EOM Mesh Layer 2 configuratie Transparant netwerk

Technote. EnGenius Senao EOM Mesh Layer 2 configuratie Transparant netwerk Technote EnGenius / Senao EOM-8670 Mesh Layer 2 configuratie Transparant netwerk Merk Model Firmware Datum EnGenius Senao EOM-8670 2.1.10 09-04-2009 Pagina 1 van 29 Inhoudsopgave Inhoudsopgave...2 Node

Nadere informatie

VPN Remote Dial In User. DrayTek Smart VPN Client

VPN Remote Dial In User. DrayTek Smart VPN Client VPN Remote Dial In User DrayTek Smart VPN Client VPN Remote Dial In Met een Virtual Private Network (VPN) is het mogelijk om door middel van een beveiligde (geautoriseerd en/of versleuteld) verbinding

Nadere informatie

Raspberry Pi VPN-server. Auteur: Ger Stok

Raspberry Pi VPN-server. Auteur: Ger Stok Raspberry Pi VPN-server Auteur: Ger Stok Installatieschema (1) 1. Wat is je externe IP-adres Wat is mijn ip-adres? Is het een vast IP-adres, prima Is het een dynamisch IP-adres, overweeg een DynDNS-dienst

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Handleiding installatie Enecsys uitlezen op een Synology NAS

Handleiding installatie Enecsys uitlezen op een Synology NAS Handleiding installatie Enecsys uitlezen op een Synology NAS Disclaimer: Dit document is geschreven als handleiding voor de installatie van een Enecsys logger op een Synology NAS. Alhoewel geprobeerd is

Nadere informatie

Linux Gevorderden Basis installatie Linux. Elektronica-ICT. Selina Oudermans 2ICT4. Academiejaar 2015-2016

Linux Gevorderden Basis installatie Linux. Elektronica-ICT. Selina Oudermans 2ICT4. Academiejaar 2015-2016 Linux Gevorderden Basis installatie Linux Elektronica-ICT Selina Oudermans 2ICT4 Academiejaar 2015-2016 Campus Geel, Kleinhoefstraat 4, BE-2440 Geel 65 3 INHOUDSTAFEL INHOUDSTAFEL... 3 INLEIDING... 4 1

Nadere informatie

Micro Computer Service Center. Installatie

Micro Computer Service Center. Installatie Micro Computer Service Center Installatie MCSC BDR versie 2.7 van 01/01/2013 2013 Contents I. Uit te voeren bij MCSC voor vertrek naar de klant... 3 1. Bdr opzetten... 3 2. Bdr aanmaken in McscCom... 3

Nadere informatie

ENH900EXT VLAN WITH 5GHZ

ENH900EXT VLAN WITH 5GHZ ENH900EXT VLAN WITH 5GHZ Technote Versie: 1.1 Auteur: Herwin de Rijke Datum: 10-11-2014 Alcadis Vleugelboot 8 3991 CL Houten www.alcadis.nl 030 65 85 125 Inhoud 1 Inleiding... 2 2... 3 2.1 WIRELESS MESH...

Nadere informatie

PHP & MySQL. Studievaardigheden 2013. Frank Takes (ftakes@liacs.nl) LIACS, Universiteit Leiden

PHP & MySQL. Studievaardigheden 2013. Frank Takes (ftakes@liacs.nl) LIACS, Universiteit Leiden PHP & MySQL Studievaardigheden 2013 Frank Takes (ftakes@liacs.nl) LIACS, Universiteit Leiden Inleiding Voorkennis: geen Stof: dit college, www.w3schools.com en www.php.net Opdracht: maak een uitgebreide*

Nadere informatie

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Linux Quickstart Cygwin

Linux Quickstart Cygwin Linux Quickstart Cygwin Deze Quickstart-installatie is bedoeld voor mensen welke overnieuw moeten beginnen omdat hun laptop is gecrashed, of op een andere manier hun gegevens zijn kwijtgeraakt. Let op:

Nadere informatie

Minecraft server op Linux (Debian)

Minecraft server op Linux (Debian) Minecraft server op Linux (Debian) Inhoudsopgave 1. Server voorbereiden.... 3 2. Minecraft server installeren... 4 3. Server instellingen... 6 4. Port forwarding... 8 2 1. Server voorbereiden. LET OP!

Nadere informatie

ipact Installatiehandleiding CopperJet 816-2P / 1616-2P Router

ipact Installatiehandleiding CopperJet 816-2P / 1616-2P Router ipact Installatiehandleiding CopperJet 816-2P / 1616-2P Router Stap 1: Het instellen van uw computer Instellen netwerkkaart om de modem te kunnen bereiken: Windows 98/ME: Ga naar Start Instellingen Configuratiescherm

Nadere informatie

Secure Application Roles

Secure Application Roles Secure Application Roles Beheer de toegang tot de database 1. Inleiding Het realiseren van geautoriseerde toegang tot een database lijkt eenvoudig. Echter, vaak blijkt dat dezelfde combinatie van gebruikersnaam

Nadere informatie

Analyse probleem remote execution

Analyse probleem remote execution Analyse probleem remote execution Karel Nijs 2005-09-28 1.1 Beschrijving van het project De bedoeling van de GUI is een gemakkelijke uitvoering van verschillende checks van ICs. De GUI moet in Tcl/Tk ontworpen

Nadere informatie

Installatie van WerkMeester

Installatie van WerkMeester Installatie van WerkMeester WerkMeester is een WIN32 database-applicatie op basis van een enkele executable, met een aantal werkbestanden en een MySQL database. De software is niet ontwikkeld voor gebruik

Nadere informatie

Hoe bouw ik een component? Drs. Arjan Burger

Hoe bouw ik een component? Drs. Arjan Burger Hoe bouw ik een component? Drs. Arjan Burger Zelf bouwen in Joomla! Veel standaard componenten aanwezig Zelf bouwen: meer mogelijkheden Maatwerk (redelijke tot grondige) PHP kennis vereist Meeliften op

Nadere informatie

Huiswerk Linux: Installatie phpmyadmin

Huiswerk Linux: Installatie phpmyadmin Huiswerk Linux: Installatie phpmyadmin We hebben eerder de MySQL database server geïnstalleerd. MySQL heeft ook een zogenaamd client-programma, waarmee je een command-line connectie kunt maken met de MySQL

Nadere informatie

Belangrijk: Voordat u een VPN tunnel creëert dient u ervoor te zorgen dat de datum en tijd instellingen van de router juist staan ingesteld.

Belangrijk: Voordat u een VPN tunnel creëert dient u ervoor te zorgen dat de datum en tijd instellingen van de router juist staan ingesteld. OpenVPN OpenVPN De Vigor3900 en Vigor2960 ondersteunen OpenVPN vanaf firmware versie 1.4.0. OpenVPN biedt vele configureerbare parameters. Een netwerkbeheerder kan ervoor kiezen om TCP of UDP te gebruiken

Nadere informatie

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 API API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 Identificatie Alle programma's communiceren met elkaar door gebruik te maken van JSON objecten. Het normale

Nadere informatie

PHP & MySQL. Studievaardigheden 2014. Jan van Rijn (j.n.van.rijn@liacs.leidenuniv.nl) LIACS, Universiteit Leiden

PHP & MySQL. Studievaardigheden 2014. Jan van Rijn (j.n.van.rijn@liacs.leidenuniv.nl) LIACS, Universiteit Leiden PHP & MySQL Studievaardigheden 2014 Jan van Rijn (j.n.van.rijn@liacs.leidenuniv.nl) LIACS, Universiteit Leiden Inleiding Voorkennis: geen Stof: dit college, www.w3schools.com en www.php.net Opdracht: maak

Nadere informatie

Bestand: /home/karel/scripts/nas Pagina 1 van 8

Bestand: /home/karel/scripts/nas Pagina 1 van 8 Bestand: /home/karel/scripts/nas Pagina 1 van 8 1 #!/bin/bash 2 ############################################################################# 3 # Bestand: nas # 4 # Doel: Script voor het aankoppelen van

Nadere informatie

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd. BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Configureren en installeren OPENOB op Raspberry PI

Configureren en installeren OPENOB op Raspberry PI Toepassing van http://jamesharrison.github.com/openob/ Voor een point to point link zijn 2 stuks nodig, transmitter en receiver. Op beide Raspberry's worden dezelfde programma's geinstalleerd. Als extra

Nadere informatie

Gegevens uit een database tonen

Gegevens uit een database tonen Gegevens uit een database tonen In een eerdere handleiding heb ik jullie laten zien hoe je met behulp van MySQL en phpmyadmin een database kunt opzetten. We hebben toen een database aangemaakt en gevuld

Nadere informatie

SQL SERVER 2008. Werking van Database Snapshots

SQL SERVER 2008. Werking van Database Snapshots KATHOLIEKE HOGESCHOOL KEMPEN GEEL SQL SERVER 2008 Werking van Database Snapshots ELINE STEYVERS BRAM DE SMEDT JOEY LEMMENS WOORD VOORAF Werking van Database Shapshots is bedoeld om mensen wegwijs te maken

Nadere informatie

Praktijk opdrachten VMware

Praktijk opdrachten VMware Praktijk opdrachten VMware 1 1. Toegang tot de ICT Academie Cloud omgeving Om toegang te krijgen tot de Cloud omgeving van de ICT Academie, kun je onderstaande procedure volgen: http://wiki.vcloud.ictacademie.net/wp

Nadere informatie

ASRemote WebService. Via deze webservice kunt u:

ASRemote WebService. Via deze webservice kunt u: ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

802.1x instellen op een Trapeze MX

802.1x instellen op een Trapeze MX A : Auke Vleerstraat 6D (vloer 4) I : www.quarantainenet.nl 7521 PG Enschede E : info@quarantainenet.nl T : 053-7503070 B : Rabobank 31.72.86.714 F : 053-7503071 KvK : 08135536 802.1x instellen op een

Nadere informatie

Standard Parts Installatie Solid Edge ST3

Standard Parts Installatie Solid Edge ST3 Hamersveldseweg 65-1b 3833 GL LEUSDEN 033-457 33 22 033-457 33 25 info@caap.nl www.caap.nl Bank (Rabo): 10.54.52.173 KvK Utrecht: 32075127 BTW: 8081.46.543.B.01 Standard Parts Installatie Solid Edge ST3

Nadere informatie

DrICTVoip.dll v 2.1 Informatie en handleiding

DrICTVoip.dll v 2.1 Informatie en handleiding DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software

Nadere informatie

Drupal lokale installatie op Linux Mint 17.1 Cinnamon.

Drupal lokale installatie op Linux Mint 17.1 Cinnamon. Drupal lokale installatie op Linux Mint 17.1 Cinnamon. Door Paul Driedijk Onderstaande uitleg is bedoeld om Drupal uit te proberen op je eigen computer. Wil je Drupal later installeren op een webserver

Nadere informatie

Linux Quickstart Cygwin via HTTP

Linux Quickstart Cygwin via HTTP Linux Quickstart Cygwin via HTTP Deze Quickstart-installatie is bedoeld voor mensen welke overnieuw moeten beginnen omdat hun laptop is gecrashed, of op een andere manier hun gegevens zijn kwijtgeraakt.

Nadere informatie

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren.

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren. SSL VPN SSL VPN SSL VPN is een web based versie van VPN waarbij er geen VPN client software nodig is. Het wordt niet beperkt door netwerkomgevingen en is zeer eenvoudig te configureren. SSL staat voor

Nadere informatie

Quickstart ewon Cosy 131

Quickstart ewon Cosy 131 Quickstart ewon Cosy 131 Inleiding In deze quickstart leggen we stap voor stap uit hoe de ewon Cosy snel geconfigureerd kan worden. Mocht u toch meer gedetailleerde informatie nodig hebben dan verwijzen

Nadere informatie

Hoe stel ik een Alfa router in voor gebruik met een UBNT Bullet als Gateway?

Hoe stel ik een Alfa router in voor gebruik met een UBNT Bullet als Gateway? Hoe stel ik een Alfa router in voor gebruik met een UBNT Bullet als Gateway? De gehele configuratie bestaat in principe uit drie onderdelen: 1. De Alfa Router eenmalig configureren 2. De UBNT Bullet eenmalig

Nadere informatie

MULTIFUNCTIONELE DIGITALE SYSTEMEN

MULTIFUNCTIONELE DIGITALE SYSTEMEN MULTIFUNCTIONELE DIGITALE SYSTEMEN Installatie e-bridge Re-Rite 7 Installatie Re-Rite 7 Set-up starten Start de set-up uit de installatie map De InstallShield Wizard wordt gestart De Visual C++ Runtime

Nadere informatie

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64 Klas Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters JONGENS Number Integer MEISJES Number Integer Lessen Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters DOCCODE Short Text 3 Characters

Nadere informatie

HowTo => OpenBSD => Local Caching DNS + DNSSEC (BIND)

HowTo => OpenBSD => Local Caching DNS + DNSSEC (BIND) => => Local Caching DNS + DNSSEC (BIND) Hardware => Soekris 5501 (10W) Tools => USB naar Serial Adapter voor Console Putty voor Terminal sessie middels USB Serial Adapter Operating System => 4.8 Software

Nadere informatie

Multi user Setup. Firebird database op een windows (server)

Multi user Setup. Firebird database op een windows (server) Multi user Setup Firebird database op een windows (server) Inhoudsopgave osfinancials multi user setup...3 Installeeren van de firebird database...3 Testing van de connectie met FlameRobin...5 Instellen

Nadere informatie

Security Pentest. 18 Januari 2016. Uitgevoerde Test(s): 1. Blackbox Security Pentest 2. Greybox Security Pentest

Security Pentest. 18 Januari 2016. Uitgevoerde Test(s): 1. Blackbox Security Pentest 2. Greybox Security Pentest DEMO PENTEST VOOR EDUCATIEVE DOELEINDE. HET GAAT HIER OM EEN FICTIEF BEDRIJF. 'Inet Veilingen' Security Pentest 18 Januari 2016 Uitgevoerde Test(s): 1. Blackbox Security Pentest 2. Greybox Security Pentest

Nadere informatie

Als je klaar bent druk op: Save/Apply. Daarna ook even herstarten. TELE 2 : Davolink DV-201AMR

Als je klaar bent druk op: Save/Apply. Daarna ook even herstarten. TELE 2 : Davolink DV-201AMR TELE 2 : Davolink DV-201AMR IP standaard: 192.168.1.1 Naam standaard: user Wachtwoord standaard: user Ga naar: Advanced Setup > NAT > Virtual Servers > Add Selecteer: Custom Server Geeft een naam: DVR

Nadere informatie

EM6250 Firmware update V030507

EM6250 Firmware update V030507 EM6250 Firmware update V030507 EM6250 Firmware update 2 NEDERLANDS/ENGLISH Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Release notes:... 5 1.0 (UK) Introduction...

Nadere informatie

Installatiehandleiding 2.x

Installatiehandleiding 2.x Installatiehandleiding 2.x Voorwoord Hierbij de installatiehandleiding voor onze plugin met Magento 2.x. Bij vragen kunt u support aanvragen via een e-mail naar ict@parcelpro.nl of bellen naar 085 273

Nadere informatie

Automail voor fli4l. Korte beschrijving van de Omgeving. Het Probleem. LinuxFocus article number 308 http://linuxfocus.org

Automail voor fli4l. Korte beschrijving van de Omgeving. Het Probleem. LinuxFocus article number 308 http://linuxfocus.org LinuxFocus article number 308 http://linuxfocus.org Automail voor fli4l door Stefan Blechschmidt Over de auteur: Als een getrainde electricien, vond ik mezelf in 1990 voor een CAD

Nadere informatie

Gebruikers handleiding. Lizard Configuration Manager ToolTip. Installatie. Instellen. Initieel instellen

Gebruikers handleiding. Lizard Configuration Manager ToolTip. Installatie. Instellen. Initieel instellen Gebruikers handleiding Lizard Configuration Manager ToolTip Installatie Installeer eerst het volgende: Installeer python 2.5.2; zie de map Breda\Tooltip\lcm\install\python-2.5.2.msi Ga naar dos (run/uitvoeren

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

LES 11: VAN LOKAAL NAAR ONLINE. Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting

LES 11: VAN LOKAAL NAAR ONLINE. Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting LES 11: VAN LOKAAL NAAR ONLINE Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting Tijd: 10 minuten Doel: Aan het einde van de les kun je de lokale

Nadere informatie

Sick Beard installeren en configureren voor gebruik in combinatie met SABnzbd+...

Sick Beard installeren en configureren voor gebruik in combinatie met SABnzbd+... pagina 1 van 6 Sick Beard installeren en configureren voor gebruik in combinatie met SABnzbd+ (Windows) Introductie Sick Beard is een stukje software wat heel wat werk uit handen kan nemen. Het weet welke

Nadere informatie

3Com 4500G instellen voor Qmanage

3Com 4500G instellen voor Qmanage A : Auke Vleerstraat 6D (vloer 4) I : www.quarantainenet.nl 7521 PG Enschede E : info@quarantainenet.nl T : 053-7503070 B : Rabobank 31.72.86.714 F : 053-7503071 KvK : 08135536 3Com 4500G instellen voor

Nadere informatie

Handleiding DirectAdmin

Handleiding DirectAdmin Handleiding DirectAdmin Heeft uw hostingpakket het control panel DirectAdmin dan leest u in deze sectie hoe u uw pakket kunt beheren. Dat doet u via : http://www.uwdomein.nl:2222. 1 Inloggen Voordat u

Nadere informatie

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP.... 8 Joomla installeren op XAMPP... 15 Handige links... 16 2 Disclaimer Bij de samenstelling

Nadere informatie

CLOUD4WI ALCATEL-LUCENT IAP CONFIGURATIE V2

CLOUD4WI ALCATEL-LUCENT IAP CONFIGURATIE V2 CLOUD4WI ALCATEL-LUCENT IAP CONFIGURATIE V2 Technote Versie: 2.0 Auteur: Herwin de Rijke Datum: 2-12-2014 Alcadis Vleugelboot 8 3991 CL Houten www.alcadis.nl 030 65 85 125 Inhoud 1 Inleiding... 2 1.1 1.2

Nadere informatie

1945, eerste DC. Eigen logo

1945, eerste DC. Eigen logo 1945, eerste DC Eigen logo Doelstelling: Binnen uw computer ruimte verzamelt u diverse informatie over bijvoorbeeld stroomverbruik van uw apparatuur. Via welk netwerk kunt u deze data verwerken. Welk

Nadere informatie

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon Intramed OnLine instellen en gebruiken Voor Android tablet of telefoon Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote Desktop

Nadere informatie

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar ProjectHeatmap Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar 1 Inhoudsopgave Inleiding...3 Gheat...4 Info...4 Voordelen...4 Nadelen...4 Google Fusion Tables...5 Info...5 Voordelen...5 Nadelen...5 OLHeatmap...6

Nadere informatie

Secure File Sync - Quick Start Guide

Secure File Sync - Quick Start Guide Secure File Sync - Quick Start Guide Secure File Sync Quick Start Guide 1. Installatie van de applicatie op een computer; 2. Gebruik van de applicatie; 3. Bestanden delen vanuit de applicatie; 4. Gebruik

Nadere informatie

Thinking of development

Thinking of development Thinking of development Netwerken en APIs Arjan Scherpenisse HKU / Miraclethings Thinking of Development, semester II 2012/2013 Agenda voor vandaag Netwerken Protocollen API's Opdracht Thinking of Development,

Nadere informatie

1. Controleren van de aansluiting op de splitter

1. Controleren van de aansluiting op de splitter Configuratie Copperjet 1616-2p (SurfSnel ADSL connected by BBned) 1. Controleren van de aansluiting op de splitter 2. Toegang tot de modem 3. Router installatie bij afname meerdere IP adressen (8, 16 of

Nadere informatie

Die vraag krijg ik regelmatig. De meest voorkomende situaties zijn deze:

Die vraag krijg ik regelmatig. De meest voorkomende situaties zijn deze: Hoe verhuis je een WordPress website? Die vraag krijg ik regelmatig. De meest voorkomende situaties zijn deze: Iemand heeft een WordPress website en stapt over naar een andere webhost (meestal blijft het

Nadere informatie

Handleiding NodeMCU. Handleiding NodeMCU l Pagina 1

Handleiding NodeMCU. Handleiding NodeMCU l Pagina 1 Handleiding NodeMCU - Uploaden ESPEasy firmware - Configureren voor thuisnetwerk - Configureren algemeen - Configureren voor gebruik serial server o Opentherm instellingen o P1 meter instellingen o Arduino

Nadere informatie

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Kies File>New>Blank Page>PHP Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Geef de site een passende naam. Kies ook de juiste map voor de webdocumenten.

Nadere informatie