Monitoimisen Linux-palvelimen asennus

Esimerkeissä on käytetty Debian 5.0 (Lenny) -käyttöjärjestelmää, ellei erikseen mainittu.

ClearOS: No-IP DUC (Dynamic DNS Update Client)
Ubuntu: Motion webcam
Nämä voivat toimia myös Debianissa sen suuremmitta muutoksitta, kirjoitus on vain tehty mainitulla alustalla.

Asennetaan Debian vain "Standard system" -valinta asetettuna, eli siis ilman graafista käyttöliittymää. Voi sen toki asentaa, jos haluaa.

IP-asetukset

IP-asetukset ovat tiedostossa /etc/network/intefaces . Alla esimerkkisisältö staattisesta IP-osoitteesta:

auto eth0
iface eth0 inet static
	address 10.0.0.14
	netmask 255.255.255.0
	network 10.0.0.0
	broadcast 10.0.0.255
	gateway 10.0.0.1
	dns-nameservers 10.0.0.10
	dns-search toimialue.local

Käyttäjien hallinta

Käyttäjän lisääminen:

adduser käyttäjänimi

Salasanan vaihtaminen:

passwd käyttäjänimi

SSH

apt-get install ssh

Tietoturvasyistä root-käyttäjällä ei pitäisi päästä kirjautumaan, koska silloin tunkeutujan tarvitsee arvata salasanan lisäksi käyttäjänimi.

Muokataan SSH:n asetustiedostoa /etc/ssh/sshd_config siten, että muutetaan PermitRootLogin no:ksi

Apache

Samalla komennolla voitaisiin asentaa myös MySQL, mutta asennetaan esimerkin vuoksi vain PHP

apt-get install apache2 php5

Jotta käyttäjä saisi omat sivunsa näkyviin helposti, laitetaan yksi modi päälle symbolisilla linkeillä:

ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/userdir.conf
ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load

Apachen uudelleenkäynnistyksen jälkeen käyttäjien kotikansioissa olevat public_html-kansiot näkyvät osoitteessa http://palvelin/~käyttäjänimi

DHCP

apt-get install dhcp3-server

Muokataan asetustiedostoa /etc/dhcp3/dhcpd.conf. Muutetaan alun domain- ja nimipalvelinosoiteasetukset oikeiksi, uncommentataan autoritäärisyys sekä uncommentataan ja muokataan perusasetuksia:
lisätään OPTION SUBNET-MASK (joka on arvoltaan sama kuin netmask) ja OPTION BROADCAST-ADDRESS (255 nollan tilalla lopussa) ja uudelleenkäynnistetään /etc/init.d/dhcp3-server restart

Esimerkkiasetustiedosto perusasetusten kohdalta:

subnet 10.0.0.0 netmask 255.0.0.0 {
	range 10.0.0.100 10.0.0.200;
	option subnet-mask 255.0.0.0;
	option broadcast-address 10.0.0.255;
	option routers 10.0.0.1;
}

BIND

apt-get install bind9

Uuden zonen lisääminen:

Zonetiedot lisätään /etc/bind/named.conf.local -asetustiedostoon. Esimerkkiä löytyy named.conf-tiedostosta.

Esimerkkizone:

zone "esimerkki.fi" {
	type master;
	file "/etc/bind/db.esimerkki.fi";
};

Kopioidaan db.empty -tiedosto zonen pohjaksi komennolla:

cp /etc/bind/db.empty /etc/bind/db.esimerkki.fi

Muokataan db.esimerkki.fi-tiedostoa ja lisätään tiedot osoitteista:

SOA:a seuraava kohta on koneen nimi esim. ns1.esimerkki.fi ja sitä seuraava kohta on ylläpidon sähköpostiosoite
@-merkillä aloitetaan nimipalvelimet (kuten esimerkissä), localhost korvataan esim. ns1.esimerkki.fi
@-merkki korvataan nimellä, NS A:lla tai CNAME:lla ja localhost osoitteella
Ensin määritellään nimipalvelimet @-merkillä ja sen jälkeen domainin juuri myös @-merkillä

Tiedoston voi testata komennolla:

named-checkzone esimerkki.fi db.esimerkki.fi

Laitetaan kone käyttämään tätä nimipalvelinta muokkaamalla /etc/resolv.conf -tiedostoa. Uudelleenkäynnistetään sen jälkeen BIND komennolla /etc/init.d/bind9 restart

Slave-zonen lisääminen toiselta DNS-palvelimelta (Bind/Windows DNS)

Lisätään /etc/bind/named.conf.local -asetustiedostoon seuraavaa:

zone "esimerkki.fi" {
	type slave;
	file "/etc/bind/db.esimerkki.fislave";
	masters { 10.0.0.10; };
};

Tehdään myös kyseinen tiedosto ja annetaan BINDille oikeus kirjoittaa tiedostoihin:

chmod 775 /etc/bind

PROFTPD

apt-get install proftpd

Käyttäjät pääsevät nyt kaikkien muidenkin käyttäjien kotikansioihin, mutta se voidaan estää helposti
uncommentoimalla DefaultRoot -kohta /etc/proftpd/proftpd.conf -asetustiedostosta ja uudelleenkäynnistämällä PROFTPD komennolla /etc/init.d/proftpd restart

CIFS

Mountataan Windows-jaot helposti. Tilapäisesti se voidaan tehdä komennoilla:

mkdir /mnt/jako
mount -t cifs //10.0.0.10/kansio /mnt/jako -o username=käyttäjänimi,password=salasana

Jaon osoitteessa ei saa olla enempää kansioita kuin "Kansio"

Jaon voi tehdä pysyvästi luomalla ensin kansion komennolla mkdir /mnt/jako ja sen jälkeen muokkaamalla /etc/fstab -tiedostoa. Lisätään loppuun rivi:

//10.0.0.10/kansio /mnt/jako cifs username=käyttäjänimi,password=salasana 0 0

CUPS-tulostinjako

CUPS:in asennuksen yhteydessä asennetaan myös tekstipohjainen Lynx-nettiselain konfigurointia varten. Sitä ei ole pakko asentaa, mikäli koneella on joku muu selain

apt-get install cups lynx

Otetaan yhteys palvelimeen komennolla

lynx localhost:631

Laitetaan Administrator > Basic Server Settings > "Share published printers..." -asetus päälle. Sen jälkeen lisätään tulostin Printers > Add printer jne.

Windowsissa tämä tulostin lisätään tulostimen asennusvelhon kautta ja tulostimen osoitteeksi laitetaan: http://10.0.0.14:631/printers/tulostimennimi

MySQL

apt-get install mysql-server phpmyadmin

Selaimella 10.0.0.14/phpmyadmin

Gnomen automaattikäynnistys pois päältä

Gnomessa: Avataan System > Administration > Services ja otetaan ruksi pois "Graphical login managerista (gdm)".

Komentorivillä:

apt-get install rcconf
rcconf

Otetaan tähti pois "gdm":ästä ja painetaan OK

Graafisen käyttöliittymän voi käynnistää manuaalisesti komennolla:

startx

Simppeli palomuuri + DHCP (Firestarter + dhcp3-server)

Koneeseen tarvitaan kaksi verkkokorttia internet-yhteyden jakoa varten. Säädetään ensin verkkokorttiasetukset kuntoon /etc/networking/interfaces -tiedostossa.

apt-get install firestarter dhcp3-server

Käynnistetään graafinen tila ja avataan Applications > Internet > Firestarter.

Asennusvelhon ensimmäisessä kohdassa kysytään verkkokorttia, josta internet tulee. Toisessa kohdassa kysytään jakoasetuksia, josta laitetaan päälle myös yhteyden jako ja DHCP-asetukset.

Squid-proxy

apt-get install squid

Muokataan /etc/squid/squid.conf-asetustiedostoa (IP-osoite on sisäverkon sovittimen):

http_port 192.168.1.1:3128 transparent
Sivujen estäminen:

Muokataan /etc/squid/squid.conf-asetustiedostoa ja lisätään muiden ACL:ien joukkoon:

acl estot dstdomain "/etc/squid/estot"

sekä http_access:ien joukkoon:

http_access deny estot

/etc/squid/estot -tiedostoon laitetaan estetyt osoitteet rivinvaihdolla erotettuna

Motion (webcam)

Asetetaan Motion-ohjelma tallentamaan kuvaa webcamista tiedostoon, joka lähetetään FTP-palvelimelle

apt-get install motion wput
nano /etc/motion/motion.conf

Asetustiedostossa asetetaan tiedostonimi kuva.jpg:ksi ja FTP-asetukset. Kannattaa myös säätää mm. kuvan koko.

jpeg_filename kuva
on_picture_save wput ftp://kayttajanimi:salasana@esimerkki.fi %f

Jos muutat kuvien tallennuskansiota target_dir -asetusta vaihtamalla, kansion oikeudet tulee säätää oikeaksi seuraavalla komennolla:

chown 777 kansio

No-IP DUC (ClearOS)

No-IP DUC kertoo ja ylläpitää palvelimen ulkoverkon IP-osoitetta No-IP:n DNS-palvelimella (dynaaminen DNS). Paketin asennus tarvitsee muutamia kehitystyökaluja:

yum groupinstall "Development Tools"

Selataan johonkin tilapäiskansioon, esimerkiksi käyttäjätilin kotikansioon ja ladataan päivitysohjelman asennustiedostot.

cd /home/kayttajanimi
mkdir no-ip
cd no-ip
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar zvxf noip-duc-linux.tar.gz
cd noip-2.1.9-1

Ohjelman versionumero on saattanut muuttua viimeisessä kohdassa kirjoituksen jälkeen. Asennetaan ohjelma seuraavilla komennoilla:

make
make install

Ensimmäisenä asennusohjelma kysyy verkkosovitinta - valitse sen verkkosovittimen numero, joka on kytkettynä internettiin (sen näkee helposti mm. Dashboardilta). Sen jälkeen syötä No-IP:n käyttäjänimesi, salasanasi ja valitse isäntä, jonka osoitetta haluat päivittää. Viimeiseksi ohjelma kysyy, haluatko tehdä jotain onnistuneen päivityksen päätteeksi. Vastaa "n" jos et...

Ohjelman voi käynnistää komennolla:

/usr/local/bin/noip2


Päivitetty 26.12.2010 / 24.04.2010