Projekti

Sponzori










Debian tutorial


Instalacija

Na http://www.debian.org/distrib/netinst skinite Small CD (recimo ovaj od 180 (možete i od 40MB nije toliko bitno). Prilikom skidanja potrebno je odabrati arhitekturu, u vašem slučaju to je vjerojatno i386.

Skinuti .iso image snimite na CD i pokrenite stroj sa dotičnog CD-a.

Nakon što se prikaže prozor za instalaciju dovoljno je odabrati "install".

Prilikom instalacije bit će vam postavljeno više jednostavnih pitanja, evo nekih koje se sjećam:

  • Jezik instalacije - odaberite Engleski
  • Zemlja - Croatia
  • Keymap - Croatian
  • Particioniranje diska - particionirajte čitav disk, instalacija će vam sama ponuditi postavke
  • Software selection - obavezno isključite sve (i Standard system, apsolutno sve), naknadno ćemo instalirati sve programe koji su nam potrebni
  • Mirror server - obavezno unesite mirror server, ja obično koristim Germany → ftp2.de.debian.org jer je meni brži od ovog hrvatskog

Morat ćete još unijeti i lozinku za root korisnika te kreirati jedan korisnički račun. Na kraju će vas instalacija zamoliti da uklonite CD i potvrdite resetiranje računala.


Početna konfiguracija

Statička IP adresa

Uredite datoteku
    /etc/network/interfaces
i promjenite:
    auto eth0
    iface eth0 inet dhcp
u nesto tipa:

    auto eth0
      iface eth0 inet static
    address 10.80.0.199
    netmask 255.255.255.0
    gateway 10.80.0.254
i spremite promjene.

Potrebno nam je još upisati adresu DNS servera, a to ćemo napraviti tako da otvorimo datoteku
    /etc/resolv.conf
i u nju upišemo
    nameserver 10.80.0.254


Prema potrebi napravite jos PPTP konekciju, ukoliko vam je ona potreban za rad interneta.


Statičke route


Uređivanjem datoteke
        /etc/network/interfaces
možemo dodavati statičke route koje će se uključivati po podizanju sustava. Route upisujemo ispod naredni za konfiguraciju eth0 interfejsa.

Primjer dodavanja routa:
    post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.80.0.254
    pre-down route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.80.0.254


PPTP konekcija

Spojite komp direktno na internet i skinite paket
    apt-get install pptp-linux
Nakon toga otvorite datoteku
        /etc/ppp/options.pptp
i upišite u nju sljedeće
        lock noauth nobsdcomp nodeflate
Zatim otvorite datoteku
    
/etc/ppp/chap-secrets
i upišite u nju
        
$username PPTP $password *
    PPTP $username $password *
gdje je $username koje koristimo za PPTP konekciju, a $password lozinka.
Zatim otvorite datoteku
        /etc/ppp/peers/$pptp-konekcija
gdje je $pptp-konekcija ime koje želite dodjeliti konekciji i upišite sljedeće
        
pty "pptp $server --nolaunchpppd"
    name $username
    remotename PPTP
    require-mppe-128
    file /etc/ppp/options.pptp
    ipparam $pptp-konekcija

        persist
gdje su $server IP adresa servera na koji se spajamo, $username korisničko ime za konekciju i $pptp-konekcija ime konekcije koje smo prije odabrali.

Konekciju pokrećemo sa naredbom
        pon $pptp-konekcija
a isključujemo naredbom
        poff $pptp-konekcija

Ukoliko nešto ne radi naredbom
        pon $pptp-konekcija debug dump logfd 2 nodetach
dobivamo detaljan ispis koraka spajanja, koji nam može pomoći kod identificiranja problema.

Da bi se PPTP konekcija pokrenula po podizanju sustava, otvorimo
    etc/network/interfaces
i dodamo
    auto ppp0
    iface ppp0 inet ppp
    provider $pptp-konekcija


Nadogradnja sustava

Otvorite datoteku
    /etc/apt/sources.lst
i zakomentirajte liniju koja počinje s “deb cdrom: [ [Debian …” upisivanjem znaka # na početku linije.
Eventualno dodajte ove servere ako vam kod instalacije nije radila mreža, pa vam nije dodao vanjske repozitorije

    deb http://ftp.de.debian.org/debian/ lenny main
    deb-src http://ftp.de.debian.org/debian/ lenny main

    deb http://security.debian.org/ lenny/updates main
    deb-src http://security.debian.org/ lenny/updates main

    deb http://volatile.debian.org/debian-volatile lenny/volatile main
    deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Za sljedeći dio morate imati internet ispravno podešen. Izvršite naredbe
    apt-get update
    apt-get upgrade
Potvrdite da želite instalirati pakete koje će vam možda ponuditi. Prva naredba dohvaća najnovije verzije paketa u repozitoriju, a druga naredba upgrade-a sve pakete za koje postoji nova verzija.


SSH

Naredbom
    apt-get install openssh-server ssh
instaliramo SSHd, pa se možemo spojiti na linux komp sa drugog kompa pomoću Putty-a za utipkavanje naredbi, i WinSCP-a za prebacivanje datoteka.

Provjera javne IP adrese


Naredbom
    wget
-qO- http://www.orwi.hr/ip.php | cat
dobivamo ispis javne IP adrese.


LAMP + FTP

MySQL

Izvršimo naredbu
    apt-get install mysql-server mysql-client libmysqlclient15-dev
Nakon skidanja i instaliranja paketa pitat će nas koju lozinku želimo staviti na root account za mysql.

Apache

Izvršimo naredbu
    apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
Nakon instalacije defaultni root za web server je /var/www, pa tamo možemo stavljati stranice za početak.
Naredbom
    a2enmod rewrite
uključimo rewrite modul ako ga trebamo.

PHP

Izvršimo naredbu
    apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Nakon instalacije rebootamo komp, i LAMP bi trebao raditi :)

phpmyadmin

Izvršimo naredbu
    apt-get install phpmyadmin
Kad nam ponudi da odaberemo web servere za koje želimo phpmyadmin automatski konfigurirati, odaberemo Apache2. Nakon toga bi se phpmyadmin trebao instalirati, i možemo mu pristupiti preko adrese
    http://10.80.0.199/phpmyadmin/
gdje je 10.80.0.199 IP adresa linux kompa.

FTP

Naredbom
    apt-get install proftpd
instaliramo proftpd paket. Za način rada odabiremo standalone (a ne inetd).


Aplikacije

Ventrilo

Kod instalacije Ventrila imamo 2 izbora: ili uzeti noviju verziju, koja ima ograničenje od maksimalno 8 korisnika istovremeno na serveru, ili uzet stariju verziju (2.1.2), koja nema ograničenje.
Ukoliko se odlučimo za noviju verziju, odlazimo na
    http://ventrilo.com/download.php
i skinemo verziju za linux. Ako pak odaberemo stariju verziju bez ograničenja, onda moramo potražiti na internetu datoteku
    ventrilo_srv-2.1.2-Linux-i386.tar.gz
Možda postoji razlika u putanjama koje se automatski naprave, mislim da starija verzija koristi
    /opt/ventrilo/ventrilo_srv.ini
a novije
    /opt/ventrilo/ventsrv/ventrilo_src.ini
kao lokaciju konfiguracijske datoteke, pa ćete možda morati promjeniti putanje u ovom tutorialu.

Sljedeći korak je izvršavanje sljedećih naredbi:
    
mkdir /opt/ventrilo
    
adduser --home /opt/ventrilo --disabled-login --disabled-password --no-create-home ventrilo
Sljedeći je korak prebacivanje skinute datoteke na linux server. Skinemo program WinSCP, spojimo se na linux komp, i iskopiramo instalacijsku datoteku na lokaciju /opt/ventrilo.
Nakon toga moramo izvršiti sljedeće naredbe:

    cd /opt/ventrilo
    tar -xvzzf ventrilo_srv-2.1.2-Linux-i386.tar.gz
    rm ventrilo_srv-2.1.2-Linux-i386.tar.gz
    chown ventrilo:ventrilo -R /opt/ventrilo
(umjesto
ventrilo_srv-2.1.2-Linux-i386.tar.gz upisujemo ime datoteke koju smo skinuli ako instaliramo najnoviju verziju)

Sad moramo podesiti postavke servera editiranjem datoteke ventrilo_srv.ini naredbom

    nano /opt/ventrilo/ventsrv/ventrilo_srv.ini
Nakon toga naredbom
    pico /etc/init.d/ventrilo
napravimo datoteku u koji iskopiramo:
    #! /bin/sh
    VENPATH=/opt/ventrilo
    VENBIN=$VENPATH/ventrilo_srv
    test -x $DAEMON || exit 0
    case "$1" in
    start)
    echo "Starting Ventrilo Server"
    su ventrilo -c "$VENBIN -f$VENPATH/ventsrv/ventrilo_srv -d"
    echo -n "Setting priority: "
    renice -5 -u ventrilo
    echo "Done."
    ;;
    stop)
    echo -n "Stopping all Ventrilo Servers"
    killall ventrilo_srv
    echo ". Done."
    ;;
    reload)
    echo "Not implemented."
    ;;
    force-reload|restart)
    sh $0 stop
    sleep 5
    sh $0 start
    ;;
     * )
    echo "Usage: /etc/init.d/ventrilo {start|stop|restart|force-reload|reload}"
    exit 1
    ;;
    esac
    exit 0

Nakon toga izvršimo naredbe
    chmod +x /etc/init.d/ventrilo
    update-rc.d ventrilo defaults
i naredbom
    /etc/init.d/ventrilo start
pokrenemo server po prvi put.


Diskovi

Provjera zauzeća

Naredbom
df -h

Dodavanje gotove NTFS particije

Nakon spajanja diska u komp, provjerite da li ga sustav prepoznaje. Otvorite /dev i potrazite koje sve "hdx" uredjaje imate. Ako i disk sa linuxom i novi disk spajate ATA suceljem, trebali bi postojati hda, hda1, hda2, hda3 (za linux), hdb i hdb1 (za novi disk) uredjaji. Također, naredbom
    fdisk -l
možemo provjeriti dali je sve prepoznato kako treba.

U linuxu disk dodajemo u sustav tako da ga "montiramo" u neki od postojećih foldera. Naredbom
    mount -t ntfs /dev/hdb1 /mnt/novidisk
montiramo prvu particiju drugog ATA diska u folder /mnt/novidisk. Nakon toga particija bi trebala biti dostupna za koristenje na lokaciji /mnt/novidisk/.

Problem sa korištenjem "običnog" ntfs datotečnog sustava kod montiranja je to da on montira particiju u read-only modu. Da bi imali i write pristup particiji, moramo koristiti ntfs-3g paket.
UPOZORENJE: postoji mogučnost gubitaka podataka sa diska koji montiramo pomoću ntfs-3g drivera zbog nesavršenosti samog drivera. Nikako nemojte koristiti ntfs-3g za montiranje particija sa podacima koje si nemožete priuštiti da izgubite!
Naredbom
    apt-get install ntfs-3g
instaliramo ntfs-3g paket. Nakon instalacije naredbom
    mount -t ntfs-3g /dev/hdb1 /mnt/novidisk
montiramo particiju, i trebali bi imati i write pristup. Folder /mnt/novidisk mora postojati prije montiranja.

Da bi se particija montirala automatski po pokretanju sustava moramo u datoteku
    /etc/fstab
dodati
    /dev/hdb1 /mnt/novidisk ntfs-3g defaults 0 0


Stvaranje nove particije

Naredbom
    fdisk -l
provjeravamo dali je disk prepoznat i da li je cijela veličina diska uredno prepoznata.
Nakon toga naredbom
    cfdisk /dev/hdb
pokrećemo program kojim možemo napraviti novu particiju. Odaberemo New, zatim Primary, pa upišemo veličinu particije i na kraju odaberemo Write, da se promjene spreme na disk. Nakon toga restartamo komp.
Sada pomoći naredbe
    fdisk -l
možemo provjeriti da li je particija uspješno napravljena, odnosno dali postoji /dev/hdb1.

Ukoliko želimo kao datotečni sustav nove particije koristiti ext3 naredbom
    mkfs.ext3 /dev/hdb1
formatiramo particiju u ext3 datotečni sustav. Sada nam još samo preostaje da particiju montiramo naredbom
    mount -t ext3 /dev/hdb1 /mnt/novidisk
i možemo je početi koristiti. Folder /mnt/novidisk mora postojati prije montiranja.

Ako pak želimo kao datotečni sustav koristiti NTFS moramo naredbom
    apt-get install ntfsprogs
instalirati paket koji u sebi ima alat za formatiranje particije u NTFS datotečni sustav. Nakon instalacije paketa naredbom
    mkntfs /dev/hdb1
formatiramo particiju, i naredbom
    mount -t ntfs-3g /dev/hdb1 /mnt/novidisk
odnosno
    mount -t ntfs /dev/hdb1 /mnt/novidisk
(ukoliko nismo instalirali paket ntfs-3g i ne treba nam write pristup) montiramo particiju u folder /mnt/novidisk.
Folder /mnt/novidisk mora postojati prije montiranja.

Da bi se particija montirala automatski po pokretanju sustava moramo u datoteku
    /etc/fstab
dodati
    /dev/hdb1 /mnt/novidisk ntfs-3g defaults 0 0
odnosno
    /dev/hdb1 /mnt/novidisk ext3 defaults 0 0

Backup

Za početak kreirajmo folder backup u rootu diska naredbom
    mkdir /backup
Nakon toga trebamo skriptu koja će raditi backup, ovisno o tome što sve želimo backupirati.
Ovdje je primjer skripte koja backupira kompletan sadržaj foldera za smještaj stranica Web servera, foldera sa konfiguracijom DNS servera i 2 mysql baze:
    tar cvf /backup/webroot2.tar /webroot
    rm /backup/webroot.tar
    mv /backup/webroot2.tar /backup/webroot.tar
    tar cvf /backup/bind2.tar /etc/bind
    rm /backup/bind.tar
    mv /backup/bind2.tar /backup/bind.tar
    /usr/bin/mysqldump -u root --password=lozinka --databases naziv_baze_1 naziv_baze_2  > /backup/baza2.sql
    rm /backup/baza.sql
    mv /backup/baza2.sql /backup/baza.sql
Sadržaj skripte upišimo u datoteku backup_skripta, koju kreiramo naredbom
    pico /backup/backup_skripta
Nakon prepisivanja gornjeg niza naredbi spremimo promjene.

Ukoliko ne želimo brisati logove od prijašnjeg dana kao što radi gornja skripta, možemo ubaciti
    `date +%Y%m%d`
(radi se o čudnim navodnicima koje dobimo pomoću AltGr + 7)
negdje u nazivu filea, što će ubaciti datum u obliku GGGGMMDD u naziv filea, te tako neće prebrisati file od prijašnjeg dana.
Naravno, u tom slučaju nam naredbe koje počinju sa rm i mv ne trebaju.

Sljedeća stvar koju trebamo napraviti je promjena permissiona nad tim fileom, tako da se file može izvršavati. To radimo naredbom
    chmod +x /backup/backup_skripta
Sada imamo skriptu koja nam radi backup. Nakon izvršavanja skripta će kompresirati foldere u .tar arhive, i sadržaj mysql tablica dumpati u .sql file.

Još trebamo napraviti scheduler koji će skriptu pokretati u točno određeno vrijeme. Naredbom
    crontab -e
otvaramo konfiguracijski file za trenutnog usera. U taj fajl dodamo sljedeću naredbu
    0 3 * * * /backup/backup_skripta
koja će pokretati backup skriptu svaki dan u 03:00h u noći.
Dobra ideja bila bi još podesiti da se backupirani sadržaj šalje mailom na adminovu e-mail adresu u slučaju problema sa diskom na koji spremamo backup.

Dropbox

Mogučnost jednostavnog backupa donosi nam program Dropbox.
Instaliramo ga naredbom
    cd ~ && wget -O - http://www.dropbox.com/download?plat=lnx.x86 | tar xzf -
    ~/.dropbox-dist/dropboxd
Nakon toga program će nam ispisati link koji kopiramo i na drugom računalu otvorimo u browseru, te kreiramo account. Nakon što smo to učinili, program će nam ispisati poruku o uspješnom pridruživanju accountu, te ga zatvorimo sa CTRL+C.
Sljedeći korak je postavljanje pozadinskog servisa, koji će držati Dropbox stalno pokrenutim.
Nakon toga naredbom
    pico /etc/init.d/dropbox
napravimo datoteku u koji iskopiramo:
### BEGIN INIT INFO
# Provides: dropbox
# Required-Start: $local_fs $remote_fs $network $syslog $named

# Required-Stop: $local_fs $remote_fs $network $syslog $named

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# X-Interactive: false

# Short-Description: dropbox service

### END INIT INFO 
#!/bin/sh
#dropbox service
DROPBOX_USERS="root"

DAEMON=.dropbox-dist/dropbox

start() {
   echo "Starting dropbox..."
   for dbuser in $DROPBOX_USERS; do
       HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
       if [ -x $HOMEDIR/$DAEMON ]; then
           HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
       fi
   done
}

stop() {
   echo "Stopping dropbox..."
   for dbuser in $DROPBOX_USERS; do
       HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
       if [ -x $HOMEDIR/$DAEMON ]; then
           start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
       fi
   done
}

status() {
   for dbuser in $DROPBOX_USERS; do
       dbpid=`pgrep -u $dbuser dropbox`
       if [ -z $dbpid ] ; then
           echo "dropboxd for USER $dbuser: not running."
       else
           echo "dropboxd for USER $dbuser: running (pid $dbpid)"
       fi
   done
}

case "$1" in

   start)
       start
       ;;
   stop)
       stop
       ;;
   restart|reload|force-reload)
       stop
       start
       ;;
   status)
       status
       ;;
   *)
       echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
       exit 1

esac

exit 0
Nakon toga izvršimo naredbe
    chmod +x /etc/init.d/dropbox     update-rc.d dropbox defaults
i naredbom
    /etc/init.d/dropbox start
pokrenemo server po prvi put.
Program po defaultu sinkronizira folder /root/Dropbox/, pa preusmjerite backup skripte na ovu lokaciju, kako bi ih spremali na Dropboxove poslužitelje.


GUI

Naredbom
    apt-get install x-window-system kde kdm
instaliramo grafičko sučelje.

Izvori

gog's wiki - http://gogs.info/wiki/hr/debian
pptpclient - http://pptpclient.sourceforge.net/howto-debian.phtml
Installing a second hard drive - http://linux.justinhartman.com/Installing_a_second_hard_drive
tuXfiles fstab - http://www.tuxfiles.org/linuxhelp/fstab.html
debianhelp mount - http://www.debianhelp.co.uk/mount.htm


Tekst u plavom ćete vrlo vjerojatno morati prilagoditi svojoj konfiguraciji računala, opreme i mreže.
Tekst u crvenom nije još dovršen.