Categorie archieven: Handleidingen

Ipad tips

Zoeken van een tekst in een webpagina

Tik op het veld waar je een adres invuld voor een internet pagina of zoekopdracht. Vul nu het woord in welke je zoekt op de pagina. Nu krijg je te zien hoevaak het woord is gevonden. Het kan zijn dat je hiervoor wel even het toetsenbord weg moet klikken.

 

Laatste bewerking ongedaan maken

Schud de ipad en kies voor ‘herstel’.

 

Overzicht van geopende apps

Druk home knop twee keer snel in of plaats vijf vingers op het scherm en veeg omhoog op het scherm.

 

Apps afsluiten

Ga na het overzicht van geopende apps zoals hierboven is omschreven en veeg de app welke je wilt stoppexn naar boven.

Apps geforceerd afsluiten als deze hangt

Houd de aan en uit knop ingedrukt totdat de schuif zichtbaar word om de ipad uit te zetten. Houd nu de home nop net zo lang ingedrukt totdat hij weer terug komt in zijn homescherm.

 

Selekteren

tik twee keer snel op een woord en sleep de bolletjes aan het begin en einde van het woord over de tekst welke je wil selecteren.

Ubuntu 11.04 draaiend in Virtualbox

Ubuntu 11.04 kan prima draaien onder Microsoft Windows  in een virtuele PC zoals Virtual box. Uiteraard wekt dit langzamer als normaal maar als de speciale gast drivers voor Virtualbox geïnstalleerd worden kom je toch een heel end.
Wat moet je doen:

Installeer Virtualbox.

Installeer Ubuntu in virtualbox

Installeer in ubuntu de gast ondersteuning voor Virtualbox door in het terminal venster het volgende te tikken:

sudo apt-get install virtualbox-ose-guest-utils

Zie hier voor het hele verhaal.

Wat bij mij uitzonderlijk goed werkt is omgekeerd. Dus niet Windows als hoofd OS maar Ubuntu en dan via Virtualbox een lichte versie van Windows 7 installeren. Ook hier moeten dan gastdrivers van Windows 7 voor Virtualbox geïnstalleerd worden.

VirtualBox op textbased Ubuntu 9.04 server / remote gebruik

To install VirtualBox 3.0 on our Ubuntu 9.04 server, we open /etc/apt/sources.list…

sudo vi /etc/apt/sources.list

… and add the following line to it:

[...]
deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

Then we download Sun’s public key:
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add –

update our package database:
sudo aptitude update

Afterwards, we install VirtualBox 3.0 as follows:
sudo aptitude install linux-headers-$(uname -r) build-essential virtualbox-3.0 dkms

(The dkms package ensures that the VirtualBox host kernel modules are properly updated if the Linux kernel version changes.)

Creating group ‘vboxusers’

Users of VirtualBox must be members of that group. Host network interfaces will be assigned to that group. <– Ok

Should the vboxdrv kernel module be compiled now? <– Yes

Now we must add the user that will run VirtualBox (administrator in this example) to the vboxusers group:

sudo adduser administrator vboxusers

Using VirtualBox On The Command Line

Creating A VM

To create a VM on the command line, we can use the VBoxManage command. See

VBoxManage –help

for a list of available switches and (highly recommended!) take a look at http://www.virtualbox.org/manual/UserManual.html#vboxmanage.

I will now create an Ubuntu 9.04 Server VM with 256MB memory and a 10GB hard drive from the Ubuntu 9.04 Server iso image (which I have stored in /home/ubuntu-9.04-server-i386.iso):

VBoxManage createvm -name “Ubuntu 9.04 Server” -register
VBoxManage modifyvm “Ubuntu 9.04 Server” -memory “256MB” -acpi on -boot1 dvd -nic1 nat
VBoxManage createvdi -filename “Ubuntu_9_04_Server.vdi” -size 10000 -register
VBoxManage modifyvm “Ubuntu 9.04 Server” -hda “Ubuntu_9_04_Server.vdi”
VBoxManage registerimage dvd /home/ubuntu-9.04-server-i386.iso
VBoxManage modifyvm “Ubuntu 9.04 Server” -dvd /home/ubuntu-9.04-server-i386.iso

Importing An Existing VM

Let’s assume you have a VM called examplevm that you want to reuse on this host. On the old host, you should have a directory Machines/examplevm in the VirtualBox directory; Machines/examplevm should contain the examplevm.xml file. Copy the examplevm directory (including the examplevm.xml file) to your new Machines directory (if your user name is administrator, this is /home/administrator/.VirtualBox/Machines – the result should be /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).

In addition to that copy the examplevm.vdi file from the old VDI directory to the new one (e.g. /home/administrator/.VirtualBox/VDI/examplevm.vdi).

Afterwards, you must register the imported VM:

VBoxManage registervm Machines/examplevm/examplevm.xml

Starting A VM With VBoxHeadless

Regardless of if you create a new VM or import and old one, you can start it with the command:

VBoxHeadless -startvm “Ubuntu 9.04 Server”

(Replace Ubuntu 9.04 Server with the name of your VM.)

VBoxHeadless will start the VM and a VRDP (VirtualBox Remote Desktop Protocol) server which allows you to see the VM’s output remotely on another machine.

Wil je meer virtuale machines draaien dan start de volgende op met:
VBoxManage modifyvm <vmname> -vrdpport 4777

To learn more about VBoxHeadless, take a look at

VBoxHeadless –help

and at http://www.virtualbox.org/manual/UserManual.html#id2515738.

Starten in windows:

login met remote desktop voor windows op het juiste ip adres

Starten met linux

Tik in de terninal het volgende in:
rdesktop -a 16 <ip adres>
-a 16 betekend 16bit kleurendiepte

Download hier de drivers voor de gast-OS

bron

Automatisch mounten van een smb (windows) share in Ubuntu

Wil je automatische een netwerk share mounten dan kan dit. Het handigste is om in de map /media de te mounten maps te maken. In ons voorbeeld is dit /media/public en /media/films. Maak deze mappen dus aan en maak ze schrijfbaar voor de persoon die er toegang toe heeft.

Voeg de volgende regels toe in fstab:

//192.168.2.1/public /media/hunze/public cifs  noauto,users,exec,username=je-naams,password=geheim  0  0
//192.168.2.1/films /media/hunze/films cifs  noauto,users,exec,username=je-naam,password=geheim  0  0

//192.168.2.1/ is het ipadres van de computer waar de share op staat. Dit mag ook veranderd worden in de netwerknaam van de computer. Public en films zijn de shares.

Start de computer opnieuw op en er zijn twee virtuele harddisks toevoegd in het menu  “Lokaties”

ISO bestanden en Ubuntu

Een iso bestand is simpel te maken met Ubuntu met de opdracht:

dd if=/dev/dvd of=dvd.iso

Belangrijk is dat het DVD station NIET gemount is.

Ook kun je een iso bestand mounten. Dit gaat als volgt:

sudo mkdir /media/iso
sudo mount -t iso9660 filename.iso /media/iso -o loop
ls -la /media/iso

MySQL Backuppen/Restoren

Een backup van de MySQL database kan in principe gemaakt worden met phpMyAdmin. Mijn ervaring is echter dat dit met de wat grotere databases niet altijd honderdprocent betrouwbaar is!
Om die reden backup/restore ik de MySQL database via de terminal met de volgende opdrachten:

Backuppen: mysqldump -u chris -p testMySQL > testMySQL.sql

Restoren: mysql -u chris -p testMySQL < testMySQL.sql

Na het invoeren van de opdracht wordt er naar je wachtwoord gevraagd van de MySQL database.  Na deze ingevoerd te hebben wordt de database in de file testMySQL gebackupt en bij een restore uitgelezen uit deze file.
Merk wel op dat bij een restore de database wel moet bestaan!

Ubuntu server (64bits) en Ubuntu tips

1.0 Installeren van de Ubuntu 8.10 en/of 9.04 64bitsserver
1.1 Ip adres veranderen
1.2 Gebruikers aanmaken

2.0 Apache verder configureren
2.1 PHPmyAdmin en gebuik MySQL
2.2 Verhuizen MySQL naar een andere computer
3.0 Ftp configureren

4.1 Postfix configuren
4.2 Imap en pop3 configureren
4.3 squirrelmail installeren
4.4 E-mail Aliases aanmaken
4.5 Virtule maildomainen aanmaken
4.6 Spam en virusbestrijding installeren en configuren
4.7 Fetchmail gebruiken

5.0 hostnaam veranderen
5.1 ipadres veranderen
5.2 virtuel maildomain toevoegen

6.0 Cacti (statestieken rechources zoals cpu enz)

7.0 Samba

8.0 Groepen gebruiken

9.0 crontab (op tijdstip iets uitvoeren)

10.0 Sabnzbd+
11.0 Firewall
12.0 Webmin
13.0 SSL Certificaten


– 1.0 – Installeren van de Ubuntu 8.10 server
Boot op van de Ubuntu-server disk
Bij de vraag welke software je wilt installeren kies:

LAMP server (Apache, php, MySQL e.d.)
Mail server
OpenSSH server

Geef passwoord op voor de root voor MySQL
Geef als Postfix configuratie ‘Internetsite’ op
E-mail-naam van dit systeem wordt: hunze-online.nl

De rest wordt nu geinstalleerd en de computer start opnieuw op.
Log in en werk het syteem bij met de opdrachten:

sudo apt-get update
sudo apt-get upgrade

Handige bestandsmanger is mc, deze lijkt op de oude Norton Commander van vroeger.

Installeer nu mc
sudo apt-get install mc

Verander nu het dynamesche ipadres in een static (zie verderop hieronder)

reboot server


1.1 ipadres veranderen
Geef de server bij voorkeur een vast ipadres. Ga hiervoor naar /etc/network/interfaces
en plaats daar:

auto eth0
iface eth0 inet static
address        192.168.177.2
netmask        255.255.255.0
broadcast    192.168.177.255
gateway        192.168.177.1

plaats in de file /etc/resolv.conf de nameserver (meestal je router en anders die van je
provider) met de opdracht:

nameserver 192.168.177.1


1.2 gebruikers aanmaken
We moeten de gebruikers namen aanmaken met hun home map. Nu is bij het aanmaken van een
gebruiker in Ubuntu standaard de home map leesbaar voor de hele wereld. Deze instelling
gaan we gelijk veranderen:

Edit de file /etc/adduser.conf en verander hierin de DIR_MODE van 0755 naar 0751

Nu kunnen er gebruikers aangemaakt worden met:

adduser <usernaam>
passwd <usernaam> <wachtwoord>


2.0 Apache verder configureren
# Apache # https://help.ubuntu.com/8.10/serverguide/C/httpd.html

Standaard staat deze redelijk goed, de eerste configuratie file is apache2.conf.
hier voegen we toe ServerName hunze-online.nl zodat deze als standaard is ingesteld maar ook
kunnen we er voor kiezen dit juist niet te doen en Hunze-online.nl als virtual domain in stellen.
Voordeel is, dat als het ipadres als url gebruikt wordt, je dan op de tekst IT’s Works uitkomt 🙂

Nu komt in de map sites-available de configuratie files voor de virtuale hosten.
gebruik default als sjabloon en copieer deze naar bijvoorbeeld kanarie.nl en
voeg de volgende regels onder ServerAdmin toe:

ServerName kanarie.nl
ServerAlias www.kanarie.nl    # www.kanarie.nl werkt ook
ServerAlias *.kanarie.nl    # hiermee werken alle subdomainen (dus ook www.kanarie.nl).

Denk ook aan de verwijzing van het pad waar de site staat (meestal public_html of www in home dir)
en eventuele logfile namen.

Tenslote Verwijder achter Options het woord Index zodat bij een ontbrekende index.html geen map getoond wordt.

Maak vervolgens een Symlink naar de map sites-anabled om deze te aktiveren.


2.1 PHPmyAdmin en gebuik MySQL
Installeer phpmyadmin met de opdracht apt-get install phpmyadmin

log in op /phpmyadmin als root

maak de gebruikers aan met de optie rechten -> voeg gebruiker toe
Host = localhost
Database=none
en verder geen rechten toekennen
Klik op start en de gebruiker wordt aangemaakt.

Nu gaan we een database aanmaken voor de gebruiker
Klik op tabblad databases
kies voor nieuwe database maken en voer de naam van de database in daar achter type utf8_unicode_ci kiezen.
Klik op home
klik op rechten
kies voor wijzigen rechten gebruiker.
Selecteer achter de optie ‘Voeg privileges toe aan de volgende database: de database die je hebt
aangemaakt voor de gebruiker en geef deze alle rechten.
Nu is de database klaar voor gebruik


2.2 Verhuizen MySQL naar een andere computer
Wil je een MySQL database verhuizen dan gaan we deze eerst exporteren naar een file met de volgende opdracht:

mysqldump -u root -p  <naam database> > < bestand.sql

dus bijv:

mysqldump -u root -p  blog_chris > blog_chris_mysql.sql

Dit bestand kopieren we naar de nieuwe server en importeren deze met de opdracht:

mysql -u gebruikersnaam -p databasenaam < databasenaam.sql


3.0 FTP configureren
Standaard wordt vsftpd geinstalleerd als ftp server. Ik liep tegen een aantal beperkingen aan en kies dus gewoon de oude vertrouwde Proftpd

Sudo apt-get install proftpd

haal het hekje weg in /etc/proftd/proftd.conf voor de regel DefaultRoot.
Nu kunnen ftp gebruikers niet hoger komen dan hun eigen home directory

Mocht je toch Vsftpd willen gebruiken dan is dit ook mogelijk

Edit de configuratie file : /etc/vsftpd.conf

Blokkeer anoniem inloggen door anonymous_enable=YES te veranderen anonymous_enable=NO

Standaard mogen gebruikers geen gebruiken maken van ftp vanwege dat ftp niet echt veilig is.. Als
dit wel de bedoeling is dan haal de # voor #local_enable=YES weg

Standaard kunnen er geen files geupload worden, als dit nodig is haal het # voor #write_enable=YES weg

Moeten ook anonieme gebruikers kunnen opladen dan haal # voor #anon_upload_enable=YES weg

ftp is te starten met: sudo /etc/init.d/vsftpd start


4.1 Postfix configuren
Om mail te kunnen versturen van het lokale netwerk edit

/etc/postfix/main.cfg en voeg toe achter mynetworks het lokale netwerk 192.168.177.0/24

En moet de uitgaande post via de xs4all smtp server lopen, dan plaats achter relayhost = smtp.xs4all.nl

Geef de hostnaam op:
myhostname = mail.Hunze-online.nl

Verder mag er geen opdracht mailbox_command = procmail -a “EXTENSION” aan staan, want
anders komt er geen mail in je mailbox (te testen met lokale mail chris@hunze-online.nl)

Nu gaan we aangeven dat we als mailbox het type Maildir willen gebruiken:

sudo postconf -e ‘home_mailbox = Maildir/’
Opmerking.. Als deze niet toegevoegd wordt dan is de mailbox van het type Mailbox wat mogelijk meer
compatibel is met oudere mailsystemen


4.2 Imap en pop3 configureren
Voor imap en pop is Dovecot geinstalleerd, we moeten hier de mailbox type nog configureren
door in de configuratie file /etc/dovecot/dovecot.conf het # voor:

mail_location = maildir:~/Maildir weg te halen

verder moet ook in /etc/dovecot/dovecot.conf ingesteld worden:

disable_plaintext_auth = no
ssl_disable = no
ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key

Herstart postfix met sudo /etc/init.d/postfix restart
Herstart dovecod met sudo /etc/init.d/dovecot restart

Test mail versturen en ontvangen en pop3 en imap


4.3 squirrelmail installeren
Nu de mail werkt moeten we deze nog toegankelijk maken via webmail en dat doen we
door SquirrelMail te installeren met de opdracht:

sudo apt-get install squirrelmail

Maak symlink van /etc/squirrelmail/apacheconf naar /etc/apache2/sites-enabled/squirrelmail om
er voor te zorgen dat squirrelmail werkt. Wijzig eventueel de alias in de file naar webmail.

Verder zorg dat de imappen die aangemaakt worden hetzelfde is als Thunderbird

Ook wat lastig is dat Squirrelmail ondanks zijn taal instelling op Nederlands gewoon Engels blijft.
Dit kan opgelost worden met:

edit /var/lib/locales/supported.d/local

nl_NL.ISO-8859-1 ISO-8859-1 <– deze regel toevoegen
en_US.UTF-8 UTF-8

dpkg-reconfigure locales

/etc/init.d/apache2 restart

Verder is het mogelijk dat je alleen met https kunt inloggen, je wordt automatische doorgestuurd..

apt-get install squirrelmail-secure-login


4.4 Email Aliases aanmaken
Nu gaan we aliassen aanmaken.
Dit doen we in de file /etc/aliases. Voeg hier de aliases toe <aliases> <echte naam>
Dus bijv:

assen: chris
anacho: chris
root: chris

en geef dan de opdracht sudo newaliases om ze toe te voegen. (postfix hoeft geen restart)


4.5 Virtule maildomainen aanmaken
Als er virtuele domainen zijn dan gaan we die nu aanmaken. Zorg dat er een gebruiker is welke
de mail ontvangt van het virtuele domein dus:

adduser <usernaam>
passwd <usernaam> <wachtwoord>

voeg toe aan /etc/postfix/main.cf

virtual_alias_domains = kanarie.nl
virtual_alias_maps = hash:/etc/postfix/virtual

maak een bestand met de naam virtual aan in de postfix map door:

sudo vi /etc/postfix/virtual

plaats daar in:

jan@kanarie.nl    jan

En maak nu de database aan met de opdracht:

sudo postmap /etc/postfix/virtual

Herstart postfix

Nu werkt de mailserver inclusief de virtuele domainen.

Test de server op open relay’s op http://www.abuse.net/relay.html



4.7 Fetchmail gebruiken

Om post uit andere pop mailboxen te halen kunnen we fetchmail gebruiken. Deze installeren met:

sudo apt-get install fetchmail

Maak een configuratie file aan in de home directory genaamd  .fetchmailrc
Plaats hier in: (de wachtwoorden moeten vervangen worden voor de echte)

poll GMX
proto pop3
auth password
via pop.gmx.net
user “jan@gmx.net”
pass “geheim”
is chris@hunze-online.nl
nokeep
poll XS4ALL
proto pop3
auth password
via pop.xs4all.nl
user “hunze”
pass “geheim”
is chris@hunze-online.nl
nokeep
fetchall

Start fetchmail met de opdracht:

fetchmail -d 600

Nu zal er elke 10 minuten mail opgehaald worden


5.0 hostnaam veranderen
Kijk eerst of alles goed werkt met de volgende commands:

uname -n
hostname -a
hostname -s
hostname -d
hostname -f
hostname

Verander de hostnaam met de opdracht hostname <nieuwe naam>
pas dit ook aan in de files /etc/hosts en /etc/hostname
Check ook met onderstaande opdracht de hostnaam

sysctl kernel.hostname

en eventueel kan je die veranderen met de opdracht

sysctl kernel.hostname=NEW_HOSTNAME


6.0 Cacti (statestieken rechources zoals cpu enz)

Statestieken overzicht van van geheugen gebruik,Diskruimte, Load Average, aantal gebruikers en
het aantal processen.

programma Caci. Deze installeren we met:

sudo apt-get install caci

controleer of RRDtool is geinstalleerd zo niet dan installeer deze ook met

sudo ap-get install rrdtool

Kies ervoor dat hij zelf zijn mysql gegevens aan mag maken.

Ga nu met de browser naar <ipadres>/cacti en volg de installatie instrukties. Kies voor de RRDtool versie
1.2 ondanks dat wij 1.3.1 of hoger hebben geinstalleerd. Een hogere versie kun je niet kiezen in Cacti. Mocht
dit in de toekomtst wel zo zijn kies dan deze hogere versie.

Log in met:
naam:        admin
paswoord:    admin

en verander direct het wachtwoord.


7.0 Samba
Sudo apt-get install samba

sudo mkdir -p /srv/samba/public
sudo chown nobody.nogroup /srv/samba/public
sudo chmod 775 /srv/samba/public

Edit /etc/samba/smb.conf

voeg toe onder globals:

workgroup = jcp
netbios name = hunze
server string = %h File server Hunze

security = user

guest ok = no

Voeg toe de share:

[public]
comment = Toegankelijk voor alle bekende gebruikers
path = /srv/samba/public
browsable = yes
guest ok = no
read only = no
create mask = 0644
force user = nobody
force group = nogroup

We hebben nu een share public waar iedereen met een geldige gebruikersnaam voor Linux en
Samba in mag schrijven. Linux gebruikers die via de shell naar de map gaan mogen echter
alleen lezen. Dit om ervoor te zorgen dat als een account geheckt zou zijn deze hele map
verwijderd kan worden.

met de opdracht testparm test je de file op fouten

Maak de gebruikers aan met de opdracht smbpasswd -a <naam>

Nu gaan we een share aanmaken voor foto’s. Hier kunnen de windows gebruikers Chris en Ina
schrijven en de rest alleen maar lezen.
Op linux nivo kunnen alleen gebruikers lid van de group familie de foto’s lezen. Alle overige
gebruikers hebben geen toegang tot deze map.
Zie uitleg groepen in het volgende hoofdstuk. Dit hoofdstuk moet ook eerst opgevolgd zijn
wil samba correct werken!

Plaats het volfende in:
/etc/samba/smb.conf

[fotos]
comment = Familie foto’s
path = /srv/samba/fotos
guest ok = no
create mask = 0650
directory mask = 0750
force user = chris
force group = familie
write list = chris ina

met de opdracht testparm test je de file op fouten

sudo /etc/init.d/samba restart


8.0 Groepen gebruiken
Om gebruikersrechten te kunnen regelen kunnen we groepen gebruiken.
Bijv. we hebben een samba share public. Deze map geven we de rechten drwxrwxr x en de eigenaar
en groep noemen we nobody nogroup.
Dit betekend dat iedereen met een shel toegang de bestanden wel kunnen lezen maar niet wissen
of veranderen.

Ik wil nu een samba share voor fotos maken die alleen gelezen kan worden door familie.
Hier ben ik een groep nodig die we heel toepasselijk familie noemen. Deze maken we aan met
de opdracht:

sudo groupadd familie

Nu gaan we de gebruikers welken lid zijn van deze groep toevoegen met de opdracht:

sudo usermod -a -G familie chris
sudo usermod -a -G familie ina
enz.

Maak een map aan voor de foto’s

sudo mkdir /srv/samba/fotos

Stel als eigenaar bijv jezelf in en als groep familie

chown chris:familie fotos

Zorg ervoor dat de eigenaar mag schrijven en de groep mag lezen en voor de rest heeft niemand toegang!

sudo chmod 750 fotos

Met de opdracht:

sudo grep familie /etc/group

Controleer je wie er lid is van de group.


ssh

apt-get install ssh


Voor het ontvangen en afleveren van mail zijn we postfix nodig, deze installeren we als volgt:

sudo apt-get install postfix

Bij de vraag wat voor mailserver het moet worden kiezen we voor Internet Site. Krijg je deze vraag niet,
geef dan de opdracht:

sudo dpkg-reconfigure postfix

We configureren de mailserver nu met als mailbox formaat van het type Maildir. Deze komt bij de gebruiker
in de homemap te staan.

sudo postconf -e ‘home_mailbox = Maildir/’

Nu gaan we postfix verder configureren met de volgende opdrachten:

sudo postconf -e ‘smtpd_sasl_type = dovecot’
sudo postconf -e ‘smtpd_sasl_path = private/auth-client’
sudo postconf -e ‘smtpd_sasl_local_domain =’
sudo postconf -e ‘smtpd_sasl_security_options = noanonymous’
sudo postconf -e ‘broken_sasl_auth_clients = yes’
sudo postconf -e ‘smtpd_sasl_auth_enable = yes’
sudo postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
sudo postconf -e ‘inet_interfaces = all’

Nu moet er een aantal certificaten aan gemaakt worden.. met de opdrachten hieronde. (lijn voor lijn uitvoeren)

openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
sudo openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
sudo mv smtpd.key /etc/ssl/private/
sudo mv smtpd.crt /etc/ssl/certs/
sudo mv cakey.pem /etc/ssl/private/
sudo mv cacert.pem /etc/ssl/certs/

Nu geven we de opdrachten:

sudo postconf -e ‘smtpd_tls_auth_only = no’
sudo postconf -e ‘smtp_use_tls = yes’
sudo postconf -e ‘smtpd_use_tls = yes’
sudo postconf -e ‘smtp_tls_note_starttls_offer = yes’
sudo postconf -e ‘smtpd_tls_key_file = /etc/ssl/private/smtpd.key’
sudo postconf -e ‘smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt’
sudo postconf -e ‘smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem’
sudo postconf -e ‘smtpd_tls_loglevel = 1’
sudo postconf -e ‘smtpd_tls_received_header = yes’
sudo postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
sudo postconf -e ’tls_random_source = dev:/dev/urandom’
sudo postconf -e ‘myhostname = mail.hunze-online.nl’

Edit /etc/postfix/main.cfg en voeg toe achter mynetworks het lokale netwerk 192.168.177.0/24

En moet de uitgaande post via xs4all lopen dan plaats achter relayhost = smtp.xs4all.nl


Dovecot installeren voor imap en pop3

Nu moeten we nog aangeven bij de filter programma’s (als we deze geinstalleerd hebben) dat er een nieuw lokaal domain bijgekomen is.

/etc/amavis/conf.d/50-user

Voeg daar het domain toe aan onderstaande regel:

@local_domains_acl = ( “hunze-online.nl”, “kanarie.nl” );

6.6 Spam en virusbestrijding installeren en configuren

We gaan nu aan spam en virus bestrijding doen met help van een pakket met diverse programma’s.

sudo apt-get install amavisd-new spamassassin clamav-daemon
sudo apt-get install dkim-filter python-policyd-spf

extra pakket om Spamassassin te helpen voor betere spam detectie:

sudo apt-get install pyzor razor

We zorgen ervoor dat ook bijlages die ingepakt zijn geschan kunnen worden..

sudo apt-get install arj cabextract cpio lha nomarch pax rar unrar unzip unzoo zip zoo

Bij de testconfiguratie gaf apt-get aan unzoo niet te kunnen vinden. Na deze in de opdracht
regel verwijdert te hebben werd de rest wel geinstalleerd.

ClamAV is standaard goed geconfigureerd maar je kunt dit nakijken in /etc/clamav.
Wel moet er een gebruiker en een group aangemaakt worden zodat de scanner de files mag lezen.

sudo adduser clamav amavis

Nu gaan we spamassassin activeren door in de configuratiefile /etc/default/spamassassin

ENABLED=0 te veranderen in ENABLED=1

Start spamassassin met sudo /etc/init.d/spamassassin start

Activate spam en antivirus detectie in Amavisd-new by editing /etc/amavis/conf.d/15-content_filter_mode:
Deze moet er zo uit zien:
*—————————————————————-*

use strict;

# You can modify this file to re-enable SPAM checking through spamassassin
# and to re-enable antivirus checking.

#
# Default antivirus checking mode
# Uncomment the two lines below to enable it
#

@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

#
# Default SPAM checking mode
# Uncomment the two lines below to enable it
#

@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

1;  # insure a defined return
*—————————————————————-*

Standaard word de mail teruggestuurd maar op zich is dat niet een goed idee omdat veel spamberichten een
fals email adres hebben. Daarom gaan we aangeven dat de mail verwijdert mag worden.

Edit etc/amavis/conf.d/20-debian_defaults en stel ‘$final_spam_destiny = D_DISCARD;’ in!

Als de hostname anders is dan in het domain MX record of je gebruikt virtual hosts dan edit de file:
/etc/amavis/conf.d/50-user

Voeg daar onderstaande regels toe:

$myhostname = ‘mail.hunze-online.nl’;
@local_domains_acl = ( “hunze-online.nl”, “kanarie.nl” );

Herstart Amavisd-nem met sudo /etc/init.d/amavis restart

Je kunt email adressen en of domainen op een whitelist zetten. Let wel op! de adressen die in de whitelist
staan worden niet geschekt op spam of virussen en passeerd dus de filters!!

DKIM Whitelist

De whitelist configuratiefile is  /etc/amavis/conf.d/40-policy_banks.

There are multiple ways to configure the Whitelist for a domain:
‘example.com’ => ‘WHITELIST’,: will whitelist any address from the “example.com” domain.
‘.example.com’ => ‘WHITELIST’,: will whitelist any address from any subdomains of “example.com” that have a valid signature.
‘.example.com/@example.com’ => ‘WHITELIST’,: will whitelist subdomains of “example.com” that use the signature of example.com the parent domain.
‘./@example.com’ => ‘WHITELIST’,: adds addresses that have a valid signature from “example.com”. This is usually used for discussion groups that sign thier messages.

A domain can also have multiple Whitelist configurations. After, editing the file restart amaisd-new:

sudo /etc/init.d/amavis restart

Nu gaan we postfix vertellen dat hij gebruik moet maken van de filters door de opdracht:

sudo postconf -e ‘content_filter = smtp-amavis:[127.0.0.1]:10024’

Vervolgens edit /etc/postfix/master.cf en plaats aan het eind het volgende:

smtp-amavis     unix    –       –       –       –       2       smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20

127.0.0.1:10025 inet    n       –       –       –       –       smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

Voeg de 2 volgende lijnen direct achter “pickup” transport service
-o content_filter=
-o receive_override_options=no_header_body_checks

Restart nu Postfix om de spam en virusdetectie te activeren..


9.0 crontab (op tijdstip iets uitvoeren)

Geef de opdracht:

crontab -e

En voeg bijv toe:

@monthly /root/scripts/backup-script-kanarie #Backup blog kanarie

Onderstaande info kan ook gebruikt worden om het tijdstip e.d. in te stellen

1 2 3 4 5               Elke vrijdag (5) die op 3 april (4) valt om 1 minuut over 2

30 4 * * *              Elke dag om half 5 ’s nachts

30 4-6 * * *            Elke dag om half 5, half 6 en half 7

30 4-8/2 * * *          Elke dag om half 5, half 7 en half 9

30 4,6,8 * * *          Elke dag om half 5, half 7 en half 9

0 15,20 * */2 1-5       Wordt op werkdagen in de even maanden op elke dag
(van de maand) uitgevoerd om 15:00u en om 20:00u.

*/10 8-16,22 * * *      Het commando wordt elke 10 minuten uitgevoerd
tussen 8:00u en 16:59u en tussen 22:00u en 22:59u.


10.0 Sabnzbd+
sudo apt-get install sabnzbdplus

edit de file: /etc/default/sabnzbdplus

Vul in:

USER=chris

Dan

sudo /etc/init.d/sabnzbdplus start

Edit /home/chris/.sabnzbd/sabnzbd.ini

Verander localhost in je ipadres
veranderpoort in 8081

url in de internetbrowser is http://192.168.177.2:8081/sabnzbd/

/etc/init.d/sabnzbdplus restart


11.0 Firewall
De firewall is redelijk te configureren met utf. Standaard staat deze uit en staat alles open.
Als we de firewall activeren dan is standaard alles geblokkeerd!! Op het moment van aanzetten blijft
een eventuele SSH verbinding vaak intakt maar na uitgelogt te zijn is deze ook afgesloten. Zorg daarom
dat je deze gelijk open zet als je via SSH wilt inloggen!!

Firewall aanzetten doen we met:

sudo ufw enable

Nu hebben een aantal programma’s een profile welke de standaard instellingen bevat. Deze kunnen we gaan
gebruiken

Opvragen van profiles aanwezig:

sudo ufw app list

Een profile kun je laden met de opdracht:

sudo ufw allow ‘Apache Full’

Mocht je deze willen verwijderen dan is de opdracht:

sudo ufw delete allow ‘Apache Full’

Je kunt de status opvragen met de opdracht

sudo ufw status
sudo ufw status verbose

Een poort toevoegen:

sudo ufw allow 22

Een poort verwijderen:

sudo ufw delete allow 22

Alles open zetten voor een ipadres:

sudo ufw allow to 192.168.177.50

Met de volgende regel heeft alle lokale netwerk verkeer toegang tot alle services

ufw allow to 192.168.177.0/24

En deze regel stelt een bepaalde poort open voor een ipadres:

Het is mogelijk toegang van een specifiek ipadress te regelen. Het volgende voorbeeld
geeft toegang van ssh voor 192.168.177.2 ongeacht het ipadress van de host (server)

sudo ufw allow proto tcp from 192.168.177.2 to any port 22

Als je 192.168.177.2 vervangt voor 192.168.177.0/24 dan krijgt dit hele subnet toegang
tot ssh


12.0 Webmin
Webmin is een beheer interface met vele mogelijkheden. De laatste keer dat ik deze weer op mijn Ubuntu server 9.04 wou installeren werkte de methode niet meer zoals hier eerst is omschreven. Methode 2 werkt wel

Deze kun je installeren als volgt:

Methode 1:
Edit  /etc/apt/sources.list en voeg toe de regel

deb http://download.webmin.com/download/repository sarge contrib

Installeer de GPG key

cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

en

apt-get update
apt-get install webmin

Methode 2:
Eerst moeten de volgende pakketten geinstalleerd zijn. Deze zijn nodig voor Webmin

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

Dan download de laatste versie van webmin (ik downloade de Debian versie)

wget http://www.webmin.com/download/deb/webmin-current.deb

Install the Debian package with dpkg, not Aptitude:

sudo dpkg -i webmin_1.500_all.deb

* De download versie kan anders zijn dus pas de install regel aan.

Nu is webmin bereikpaar via: https://[serverIP]:10000.

Inloggen met een account met sudo recht


13.0 SSL Certificaten maken met Webmin
Installeer in webmin  3e partij module van PKI Certificate and Key Management.

Kies in die module voor: Generate Self Signed Certificate and Key (onder systeem)
Maak de certificaat en key aan en gebruik hier het domainnaam in..

Gebruik GEEN wachtwoorden, laat deze leeg!!
Vul de correcte hostnaam in bijv: hunze-online.nl
Vul de andere velden in maar laat city en province maar leeg

Maak de key en certificaat aan.

Voeg de certificaat en key toe in bijv Apache en Dovecot De file met key en certificaat in 1 wordt niet gebruikt!


Tips
Standaard is in Ubuntu de home directory’s leesbaar voor iedereen. Ik verander dit in drw–x–x met chmod 711. Dan kan een webserver nog wel de data lezen.


Programma’s laden bij opstarten of niet kan ingesteld worden met update-rc.d

Voeg een schript welke in /etc/init.d staat om automatische te starten met booten

update-rc.d  <naam script> defaults

Als een script/service niet meer automatische opgestart moet worden bij het booten
van de server dan wis het script uit de map /etc/init-d en tik in:

update-rc.d <naam script in /etc/init.d> remove

Met de parameter -n gebeurt er niets maar laat hij alleen zien wat hij zou doen..


Monitor in de slaapstand laten gaan met de opdracht setterm -powersave on


Shoutcast werkt niet op de 64 bit server. Dit kan verholpen worden door 32 bit libs te installeren..

apt-get install ia32-libs

PHP

Op deze pagina zal ik mijn ervaringen met php plaatsen. Deze site is voor een deel in php geschreven zoals bijv. het menu hiernaast wordt in deze pagina via php ingelinkt zodat er maar 1 menu voor alle pagina hoeft te zijn. Belangrijk is dat de webserver waar de pagina op gehost wordt php ondersteund. Veel providers doen dit niet of beperkt dus zal niet iedereen php kunnen gebruiken.

Wat is php?
PHP (officieel “PHP: Hypertext Preprocessor”) is een OpenSource script taal wat wil zeggen dat het vrij te gebruiken is. Met PHP kan er bijv. gegevens uit een database gelezen worden en in een HTML pagina getoond worden. Ook kunnen er gevens ingevoerd worden in dezelfde database. Dit is 1 van de toepassingen van PHP maar zo zijn er meer toepassingen te bedenken. Het voordeel van PHP tegenover andere script talen zaols Perl, C of andere talen is dat het  opgenomen kan worden in een gewone HTML pagina. Bij veel andere script talen moet de hele pagina in die taal geschreven worden. Zo is deze pagina die u nu leest gemaakt met NVU, een vrij te gebruiken HTML editor met goede ondersteuning van stijl pagina’s (CSS).

Een voorbeeld:

Onderstaande HTML script bevat een stukje PHP script:

<html>
<head>
<title>Voorbeeld</title>
</head>
<body>

<?php echo “Hallo! Ik ben een PHP script!”; ?>

</body>
</html>

Als we de HTML script bekijken zien we dat de PHP script begint met <?php en deze eindigt met ?>.

De PHP opdracht echo “Hallo! Ik ben een PHP script!”; is de opdracht in PHP.
Echo is dus de opdracht om een tekst naar het scherm te zenden. De tekst welke we op het scherm willen tonen komt dan tussen  de ” ” tekens te staan en we sluiten de opdracht af met het ; teken.

Dit was onze eerste PHP opdracht. Zo kent PHP vele opdrachten welke gebruikt kunnen worden.

De opdrachten:

include “filenaam.php”;

Met de opdracht include kunnen we andere PHP scripts meelinken. Handig als we steeds een stukje van dezelfde PHP code moeten gebruiken in verschillende pagina’s of scripts.
Zo wordt het menu hier linksboven op de juiste plek ingelinkt met de opdracht;

include “menu.php” ;

Variabelen gebruiken
php ondersteund ook variabelen. Een variabel kan zowel een string (tekst dus) bevatten of een getal.

$naam = “Willem”;

$naam is de variable welke nu de waarde ‘Willem’ heeft gekregen. De naam van de variabele mogen we zelf bedenken mits deze niet begint met een cijfer en geen spaties bevat.
We kunnen een variabele ook op het scherm afdrukken door de opdracht:

<?php
$naam = “Willem”;
echo $naam;
?>

Willen we er een tekst voor plaatsen dan doen we dit als volgt:

<?php
$naam = “Willem”;
echo “Mijn naam is: ” . $naam;
?>

Commentaar
php scripts kun je van commentaar voorzien. Handig, want je zult merken dat een script al gauw onoverzichtelijk wordt en zeker een paar week later als je wat aan de script wilt veranderen het vaak niet meer duidelijk is hoe het script in elkaar zat. Dat wordt dan eerst weer puzzelen hoe het ook al weer zat wat veel tijd kost en de nodige frustratie. Kortom maak gebruik van deze mogelijkheid! De tijd dat het toevoegen van commentaar kost haal je dubbel en dwars weer in als je later wat aan de script wilt veranderen.

Commentaar toevoegen mag als volgt:

// commentaar op 1 regel

Echo “hoi”; // commentaar achter de opdracht

/*
Commentaar op
meerdere regels
*/

Tekst vervangen in een string
Stel we hebben een variabele die heet $data waar de string ‘Hallo 12345, hoe gaat het er mee’ in staat en ‘12345’ willen vervangen met de naam ‘Piet’. Dat kan met de volgende opdracht:

<?php
// voorbeeld van vervangen van een tekst in een string variable
$data = “Hallo 12345, hoe gaat het er mee”;
Echo “Dit is de orginele string: ” . $data . “<br>”;

// Nu gaan we de string ‘12345’ vervangen voor ‘Piet’;
$data = str_replace(“12345”, “Piet”, $data);

Echo “Dit is de gewijzigde string: ” . $data;
?>

Misschien is het je opgevallen. In dit stukje script worden de dingen die we geleerd hebben gecombineerd.
We hebben comentaar toegevoegd. Een variable aangemaakt en een waarde toegekend. Vervolgens zetten we deze op het scherm en dan zien we wat nieuws. De tekst ‘<br>’ is toegevoegd. Dit is een html opdracht om naar een nieuwe regel te gaan. Anders zouden we alles op 1 regel zien.
Vervolgens zien we dat in variable $data de string ‘12345’ gewijzigd word in ‘Piet’. Tenslotte wordt de variable $data weer op het scherm geplaatst zodat we kunnen zien dat er echt wat is veranderd.

Bestanden schrijven en aanmaken
Als je in een bestand wilt schrijven of een nieuw bestand wilt aanmaken dan is het belangrijk dat je schrijf rechten hebt in de map waar het bestand staat of moet komen.
Hiermee bedoel ik niet dat je als eigenaar moet kunnen schrijven maar dat anderen ook mogen schrijven want php schrijft onder de naam apache.

<?php

# eerst gaan we de naam van het bestand bekend maken met behulp van een variable.
$bestandsnaam = ’test.txt’;

# nu gaan we de file openen. Als deze niet bestaat wordt deze aangemaakt
$handle = fopen ($bestandsnaam, ‘a’);

# nu gaan we er een tekst in schrijven
fwrite($handle, “dit is een test\n”);

# en we sluiten de file weer
fclose($handle);

Om een file te open zijn we verschilende modes. In ons voorbeeld hebben we mode ‘a’ gebruikt. Hieronder een overzicht van verschillende modes.

r – openen voor alleen lezen; plaats de bestands pointer aan het begin van het bestand

r+ – openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand.

w – openen voor alleen schrijven; plaats de bestands pointer aan het begin van het bestand en maak het bestand 0 bytes lang. Als het bestand niet bestaat, probeer het aan te maken.

w+ – openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand en maak het bestand 0 bytes lang. Als het bestand niet bestaat, probeer het aan te maken.

a – openen voor alleen schrijven; plaats de bestands pointer aan het einde van het bestand. Als het bestand niet bestaat, probeer het aan te maken.

a+ – openen voor lezen en schrijven; plaats het bestands pointer aan het einde van de file. Als het bestand niet bestaat, probeer het aan te maken.

Opmerking:  Op systemen die verschil maken tussen binair (‘b’) en tekst (’t’) mode vertaling (zoals Windows), kan je achter de mode of de letter ‘b’ of de letter ’t’ neerzetten om de vertalings mode respectievelijk op binair of op tekst te zetten.

De standaard vertalings mode hangt af van de SAPI die je gebruikt, dus we moedigen je aan om altijd de vertalings mode aan te geven. Meestal zal dat de ‘b’ zijn, als je je script compatible over verschillende besturingssystemen wilt houden.

Wordt vervolgt:

Bron: http://www.php.net

CSS

“CSS? Nooit van gehoord”
Veel mensen weten niet wat het is en wat je ermee kan doen. Nog steeds zijn er veel designers die hun pagina’s met HTML opmaken omdat ze niets van CSS weten of denken dat het voorbehouden is aan W3C goeroe’s. Ten eerste is het helemaal niet moeilijk en ten tweede kan je zelf ook zo’n goeroe worden 🙂 In deze tutoriel leer je waarom je CSS moet gebruiken en hoe je het gebruikt.

Inleiding
Een eenvoudige website bestaat uit minimaal één component: HTML. Hiermee bouw je structuur, een soort frame, om de informatie van een pagina heen: <h1> voor de koptekst, <p> voor paragrafen enzovoort. Helaas ziet dit er nogal onaantrekkelijk uit voor een website; het is puur zwart en wit. Natuurlijk wil je dat jouw website er kleurig bij staat en dat kan niet beter dan met, je raadt het al, CSS. Met CSS kan je alle elementen op een pagina een opmaak geven, positioneren, hover (als je met de muis erop staat, bij Javascript “mouseover”) effecten meegeven enzovoort. De naam staat voor Cascading Style Sheets (Trapsgewijze stijl bladen). Deze trapsgewijze werking is een zeer krachtig element van CSS waar ik later nog op terugkom.

Een stukje geschiedenis
De meeste beginners – zelfs mensen met webdesign als beroep – op het gebied van HTML maken hun pagina’s op met HTML code. In het begin van het web was er nog geen CSS of een goede CSS ondersteuning door browsers, dus het was geen logische keus om het te gaan gebruiken. Op deze manier is het opmaken met HTML ingeburgerd. Omdat dit erg inefficiënt is, leg ik het alternatief CSS uit;

* Waar je in HTML beperkt bent tot stijlen die niet op elk element van toepassing zijn, bestaan deze ketens in CSS niet. Het is dus veel uitgebreider.

* HTML opmaakcodes verstuur je bij elke pagina. Het CSS bestand kan je één keer versturen en dan staat deze in de cache van de browser. Dit scheelt dataverkeer.

* HTML opmaakcodes worden door het W3C steeds meer als deprecated (afgekeurd) bestempeld. In de toekomst kan de ondersteuning door browsers hiervoor steeds minder worden en het is slecht gebruik van HTML.

* En dan het, voor webdesigners, duidelijkste voordeel van CSS: Als je op elke HTML pagina naar hetzelfde CSS bestand linkt, hoef je alleen dat ene bestand aan te passen om de hele site een ander uiterlijk te geven.

De opbouw van CSS
Heel leuk en aardig dat je nu weet wat CSS is, maar als je er niet mee kan werken heeft het nog weinig nut. Opzich is CSS heel eenvoudig. Het werkt volgens een paar strakke regels en kent geen uitzonderingen. In het volgende voorbeeld staat een kort stukje CSS:

span
{
background-color:lime;
font-style:italic;
}

De bovenstaande code geeft het volgende: voorbeeldtekst
Als eerste wordt gedefinieerd om welk element het gaat. In dit geval gaat het om een <span>. Tussen de accolades na een elementnaam staan de opmaakcodes voor dat element:

* background-color geeft de achtergrondkleur aan

* color definiëert de tekstkleur

* font-style kan een aantal waardes hebben en vertelt welke stijl de tekst heeft. In dit geval is het italic.

Als je meerdere elementen wilt stijlen zet je alles netjes achter elkaar:

div
{
font-style:italic;
}
a
{
text-decoration:underline;
}
p
{
margin-top:5px;
}

Spaties en returns maken niets uit in CSS, daarom is de volgende code hetzelfde als de vorige:

div {
font-style:italic;
}
a
{
text-decoration: underline;}
p{margin-top:5px;}

Zoals ik al had gezegd, is de trapsgewijze werking van CSS en krachtige en handige functie. Bestudeer de volgende code eens:

div p a
{
text-decoration:underline;
}

Zoals je ziet staan er op de plek waar het element gedefinieerd moet worden drie elementen. In dit geval worden alle <a>-elementen in <p>-elementen in <div>-elementen geselecteerd. Dus alleen links die in een paragraaf staan die in een <div> staan worden beïnvloedt door deze stijl. Op deze manier kan je makkelijk een bepaalde selectie uit de HTML elementen uit je pagina maken.

ID’s en classes
Er zijn nog twee manieren om specifieke elementen te selecteren behalve trapsgewijze selectie. Met een ID kan je één enkel element selecteren.Voorbeeld:

div#footer
{
background-color:pink;
}

In dit stukje code wordt alleen de <div> met het ID “footer” aangeroepen voor de styles. In HTML geef je een element een ID mee met het attribuut “id”. Voorbeeld:

<div id=”footer”><div>

Je definieert een ID met “#id-naam”. Er hoeft niet persé een elementnaam voor het hekje, zoals in het voorbeeld gebruikt is.
Opmerking: Elk unieke ID mag je op een pagina maar aan één element toekennen.
Met classes kan je een groep elementen selecteren van elk type en in elk parent element. Het volgend voorbeeld hoort bij de daaropvolgende HTML code:

span.underline
{
text-decoration:underline;
}
<div>
<p>
<span>Hallo wereld</span>
</p>
<span>Nog een fijne dag</span>
</div>

De class definitie in de CSS code .underlined geeft aan dat alle elementen mettab” doen of als de tekstcursor in een invoerveld staat

* lang Deze selecteert elementen die geschreven zijn in een andere taal. In dat element moet het lang-attribuut opgenomen zijn om de taal ervan op te geven

* first-child Deze selecteert het eerste child element in een ander element

* left

* right

* first

Op left, right en first wordt hier verder niet ingegaan
Ik leg kort het gebruik van lang en first-child even uit:

a:lang(nl)
{
text-decoration:underline;
}
<a lang=”nl” href=”#”></a>

De CSS code wordt alleen toegepast op elementen met lang=”nl” in de tag.

a:first-child
{
text-decoration:underline;
}

Hierbij worden alleen <a>’s die het eerste child-element in een ander element zijn aangesproken.

Tip: Met :focus kan je invoervelden een licht afwijkende achtergrondkleur geven, waardoor gebruikers eenvoudig kunnen zien in welk veld de cursor staat. Dit maakt de pagina weer wat gebruiksvriendelijker.
Met pseudo-elementen kan je ook leuke truukjes uithalen. Hier zijn er vier en dat zijn:

* first-letter Deze selecteert de eerste letter van het betreffende element

* first-line Deze selecteert de eerste regel van een element

* before Hiermee kan je dingen voor de content van het element plaatsen (tekst, afbeeldingen)

* afterHetzelde als voor :before, maar dan plaatst hij dingen na de content

Pseudo-elementen worden hetzelfde gedefinieerd als pseudo-classes. first-letter en first-line werken net zoals ID’s en classes, maar before en after werken iets anders:

p:before
{
content: “deze tekst staat ervoor”;
}

De waarde van content kan open-quote, close-quote, no-open-quote, no-close-quote, url(afbeelding) of een string tussen quotes zijn.
Opmerking: Internet Explorer ondersteunt het gebruik van :before en :after helaas niet.

Stylesheets maken

Nu je weet hoe je HTML code moet opmaken, is het ook wel handig te weten hoe je ervoor zorgt dat je styles aan je HTML gelinkt worden. Dit kan op drie manieren gedaan worden, waarvan eentje aan te raden is;

* Via een extern bestand. Je plaatst de CSS code in een apart bestand met de extensie

*.css en voegt hem in de <head> in. Dit is dan een external style sheet.

* Tussen <style> tags in de <head>. Dit is een internal style sheet

* De losse stukjes code in de HTML tags als inhoud van het “style” attribuut plaatsen. Dit zijn dan inline style sheets

De eerste oplossing is het beste, aangezien je hier maar één CSS bestand hebt, waardoor de layout van een pagina erg makkelijk aan te passen is. Als je besluit de opmaak over de hele site – ook al is met maar een klein detail – aan te passen, dan hoef je deze wijziging slechts in dit ene bestand toe te passen. Je hoeft de CSS code maar één keer hoeft te verzenden omdat hij daarna in de cache van de gebruiker staat. De HTML code wordt dan zo:

(…)
<head>
<link rel=”stylesheet” type=”text/css” href=”style.css”>
</head>
(…)

De tweede methode kan handig zijn bij het ontwikkelen van een pagina. Zo heb je CSS en HTML bij elkaar. Het verschilt weinig van de vorige methode, behalve dat de code in het HTML bestand staat i.p.v. in een CSS bestand. Voorbeeld:

(…)
<head>
<style type=”text/css”>
a
{
text-decoration:underline;
}
<style>
</head>
<body>
<a href=”#”>hyperlink</a>
</body>
(…)

Bij de laatste optie is elke HTML tag voorzien van zijn eigen CSS code:
<a style=”text-decoration:underline;” href=”#”>

Dit is erg omslachtig en het “bevuilt” de HTML code alleen maar. Zoekmachines komen er moeilijker door en voor jou is het ook niet makkelijk om alles te doorzoeken.

CSS blokopdrachten
Een pagina kun je zien als een blok waar je iets in kwijt kunt. In zo’n blok kun je ook weer blokken plaatsen. De plaats van een blok bepaal je met onderstaande opdrachten.

position: absolute; exact op die plek ongeacht wat er voor is geweest
position: fixed; blijft ook bij het schrollen op dezelfde plek

margin: auto; Blok centreren op het scherm
margin: 0px; Blok met 0 punten van links, rechts, beneden en boven
margin-left: 0px; Blok 0 pixels van links
margin-right: 0px; Blog 0 pixels van rechts
margin-top: 0px; Blok 0 punten van boven
margin-bottom: 0px; Blok 0 punten van beneden
width: 100px; Blok is 100 pixels breed
height: 21px; Blok is 21 pixels hoog

padding: 20px; Blok waar rondom binnen de rand een afstand is van 20px tot de rand.
Verder kan er ook net als bij margin ook padding-left, padding-right, padding-top en padding-bottum gebruikt worden.

float:left; tekst valt rechts om het blok heen
float: right; tekst valt links om het blok heen
We zijn nu aangekomen bij het einde van deze tutorial. Je kent nu de werking van CSS en waarom je het zou moeten gebruiken. Nu kan je aan de slag gaan met tutorials waarin je leert met welke CSS-eigenschappen je HTML-elementen kan opmaken..

Audacity

Audacity is een gratis programma waarmee je geluiden mee kan opnemen, afspelen, importeren en exporteren. MP3, WAV, AIFF, Ogg Vorbis en nog veel meer audio-formaten worden door het programma ondersteund.

Geluiden kunnen heel eenvoudig bewerkt worden met behulp van de knip, kopieër en plak functies. De muziek verschijnt als een golfvorm op het scherm en hier kun je op in- en uitzoomen. Je kunt onbeperkt sporen toevoegen en verwijderen. Hierbij heb je een ongelimiteerde herstelfunctie tot je beschikking zodat je altijd terug kan als je een fout maakt.

Audacity stelt je ook in de gelegenheid om tracks te mixen en om effecten toe te voegen aan je opnames. Ingebouwde effecten zijn onder andere echo, tempowijziging, compressie en ruisverwijdering. VST en LADSPA plug-in effecten worden ondersteund.

Het programma is via een meegeleverde taalmodule in de Nederlandse taal in te stellen. Er zijn versies voor Windows, LMac en Linux/Unix.

Als het programma geinstalleerd is vraagt deze bij de eerste keer opstarten welke taal je gebruiken wilt. Na dit opgegeven te hebben staat het programma standaard ingesteld op mono. Zelf zijn de meeste opnames die ik maak in stereo en heb het programma standaard in gesteld op stereo.
Audacity instellen op stereo doen we als volgt. Klik op bewerken -> voorkeuren -> Audio I/O en dan stellen we de optie kanalen in op 2 (stereo).
Br> Nu kunnen we het programma gebruiken. Laten we eens een mp3 of wav bestand inladen. Dit kan door te klikken op Bestand -> Openen en dan te bladeren naar een mp3 bestand die we openen. Het bestand wordt nu geimporteerd, dit houd in dat het bestand nu bewerkt kan worden in Audacity.

Opmerking:
audacity-standaardmodeEerst checken we even of de I knop linksboven is ingedrukt. Zo niet dan klikken we hier even op zodat we Audacity in de selectie mode hebben staan welke we nodig zijn om onderstaande te kunnen doen.

audacity-selectieEen aantal bewerkingen zijn heel vanzelfsprekend. Zo werkt het knippen en plakken net als in bijv. Word. Klik met de linkermuisknop aan het begin van het deel dat je wil kopiëren of knippen en houd de knop ingedrukt. Sleep nu de muis tot aan het einde van het stukje wat je wil kopiëren of plakken en laat de muisknop los. Het stuk wat je nu geselecteerd hebt is donkerder van kleur geworden.
Klik nu met de linkermuisknop op de plek waar het geselecteerde stukje terecht moet komen en klik dan Bewerken -> kopiëren. Nu heb je het geselecteerde gedeelte gekopieerd.
Zo kun je bijvoorbeeld ook stukjes stiltes verwijderen of inkorten:

Selecteren
Bewerken
Uitknippen

Probeer het eens, je zult merken dat je er steeds meer handigheid in krijgt.

Wordt vevolgd