2010. jún. 30.

Ubuntu kiszolgáló kézikönyve

Egy hasznos irományra bukkantam, mégpedig az Ubuntu kiszolgáló kézikönyve -re. Gondoltam megosztom veletek, kedves olvasók:

Ubuntu LAMP szerver telepítése

A LAMP egy olyan csomag amit a szerverünkön és dinamikus weboldalak futtatásához használhatunk. Neve a Linux, Apache HTTP Server, MySQL, PHP első betűinek összetételéből származik.

1. Telepítsük fel az Apache2 webkiszolgálót
sudo aptitude install apache2


2. Ezt követően telepítsük fel a php5 -öt
sudo aptitude install php5


3. Következő lépésként feltelepítjük szerverünkre a mysql szervert
sudo aptitude install mysql-server

A telepítés során meg kell adni egy root jelszót (ez nem a linux root felhasználója, hanem külön a mysql szerveré!)

4. Ha kész indítsd újra az apache2 -t:
sudo /etc/init.d/apache2 restart


Kész is!
Ha a böngésződbe beírod a szervered IP címét akkor egy It Works feliratnak kell fogadnia a nyitólapon!

Alap esetben a webszerver fájljai a /var/www -ben találhatók a tulajdonosuk pedig a root. Így nem tudunk bele írni Ahhoz, hogy mi legyünk a könyvtár tulajdonosai írjuk be a következő parancsokat:
cd /var/;
sudo chown -R felhasznaloneved www

2010. ápr. 30.

Megjelent az Ubuntu 10.04 LTS szerver!

Megjelent az Ubuntu legújabb kiadása, az Ubuntu 10.04 LTS, fejlesztői kódnevén a Lucid Lynx. Az új Ubuntu 10.04 LTS szerver ingyenesen letölthető az ubuntu.hu oldal letöltési szekciójából. Azok számára pedig, akik az Ubuntu korábbi kiadását használják, a rendszer fel fogja ajánlani a frissítés lehetőségét. A frissítésnél minden adatunk és beállításunk megmarad, egyszerűen a rendszer és az alkalmazások frissülnek az aktuális verzióra.

2009. nov. 27.

Grafikus felület telepítése Ubuntu szerverre

Habár én magam jobb szeretem a szerveren a hagyományos konzolt (terminál), néha jól jöhet egy grafikus felület. Például hogy ne kelljen wget -tel letöltögetni hanem ezt böngészőből egyszerűen megoldjuk. Vagy néha a konfigurációs állományokat is kényelmesebb szép színes grafikus szerkesztőben módosítani.
A következő pár sorban bemutatom, hogyan telepíthetünk Ubuntu szerverünkre grafikus képernyőt.

Először szerezzünk magunknak root jogokat (nem muszáj csak kényelmesebb mert így nem kell minden parancsot a sudo -val kezdeni és a jelszavunkat gépelgetni):
sudo -s

Aztán telepítsük az ubuntu desktop csomagot:
aptitude install ubuntu-desktop
Ez el fog tartani egy darabig, úgyhogy közben nyugodtan kávézhatunk egyet :)

Aztán telepítsük fel a GNOME csomagot:
aptitude install gnome-desktop-environment

Ha kész indítsuk újra Ubuntu szerverünket és máris automatikusan elindul a GNOME grafikus felület.

Amennyiben nem szeretnénk, hogy bootolás után automatikusan elinduljon a Gnome felület akkor ki kell szednünk azt az automatikusan induló programok közül:
service gdm stop
update-rc.d -f gdm remove

Ezután a
startx
paranccsal tudjuk elindítani grafikus felületünket

Ha a későbbiekben mégis szeretnénk, hogy automatikusan induljon a grafikus felület akkor azt a
sudo update-rc.d gdm defaults
parancs kiadásával megtehetjük

2009. okt. 30.

A Perfekt Szerver - Ubuntu 9.10 [ISPConfig 3]

Az ISPConfig3 telepítése és beállítása Ubuntu 9.10 szerveren.

Az ISPConfig 3 egy webhoszting kontroll panel ami lehetővé teszi a következő kiszolgálók web böngészőn keresztüli konfigurálását: Apache web szerver, Postfix levelező szerver, MySQL adatbázis kiszolgáló, MyDNS névszerver, PureFTPd FTP szerver, SpamAssassin, ClamAV antivírus, stb.

1. Követelmények

Először is szükség lesz egy Ubuntu 9.10 Server telepítő CD-re amit az alábbi oldalakról letölthetsz: http://releases.ubuntu.com/karmic/ubuntu-9.10-server-i386.iso (i386) vagy http://releases.ubuntu.com/karmic/ubuntu-9.10-server-amd64.iso (x86_64) és természetesen gyors Internet kapcsolatra.

2. Ebben a leírásban a hosztnév szerver1.pelda.hu az IP címe pedig 192.168.0.100. Az átjáró címe pedig 192.168.0.1.

3. Ubuntu 9.10 Server telepítése

3.1 Helyezd be a telepítő CD-t a meghajtóba és boot-olj be róla
3.2 Válasszunk nyelvet (magyar)
3.3 Válaszd az Ubuntu kiszolgáló telepítése menüpontot
3.4 A billenytűzet kiosztás automatikus felismerésé én Nem -et választok
3.5 Adjuk meg a billenytűzet nyelvét?: Hungary
3.5 Adjuk meg a billenytűzetkiosztás nyelvét: Hungary
3.6 Hálózat konfigurálása
3.6.1 Állítsuk be kézzel az IP címet, az alhálózati maszkot az átjárót és a névszerver címét
3.6.2 Adjuk meg a gép nevét (szerver1)
3.6.3 Adjuk meg a tartományt (pelda.hu)
3.7 A partícionálást rábízhatjuk a telepítőre (irányított LVM az egész lemezen) de a hozzértők kézzel is elvégezhetjük a partícionálást
3.7.1 Válasszuk ki a partícionálandó lemezt
3.7.2 Majd mondjunk igen -t a változások lemezre írása -ra
3.7.3 Megadhatjuk, hogy a lemez mekkora részét akarjuk felpartícionálni. Ha az egészet csak nyomjunk a Tovább -ra
3.7.4 Az Igen -nel írjuk lemezre a változásokat
3.8 Az alaprendszer telepítés után adjuk meg teljes nevünket aztán válasszunk magunknak felhasználónevet majd jelszót. Ha akarjuk akkor titkosíthatjuk saját mappánkat.
3.9 Ha használunk proxy-t a hálózaton akkor adjuk meg a címét egyébként hagyjuk üresen
3.10 Adjuk meg az utomatikus frissítések módját. (Én jobb szeretem kézzel elvégezni úgyhogy a Nincsenek automatikus frissítések -et választom)
3.11 Habár DNS, mail, és LAMP szervert szeretnénk a megjelenő opciók közül csak az OpenSSH server -t jelöljük be. a többit majd manuálisan telepítjük.
3.12 Vegyük ki a telepítő CD-t a meghajtóból és indítsuk újra a gépet

4. Szerezzünk root jogokat
Jelentkezzünk be a saját felhasználónevünkkel és jelszavunkkal amjd gépeljük be a sudo su parancsot. Ezután adjunk a root nevű felhasználónak egy jelszót a sudo passwd root parancs segítségével. Miután megadtuk a root jelszavát már be is tudunk jelentkezni a root felhasználóval

5. Nézzük át hálózat beállításainkat
5.1 Nézzük meg a /etc/network/interfaces tartalmát aminek az alábbinak kell lennie
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
Cseréljük le a Default Shell -t!
dpkg-reconfigure dash
Install dash as /bin/sh? kérdésre válaszoljunk No -val
Ha ezt nem hajtjuk végra az ISPConfig telepítése meghiúsul!

6. Kapcsoljuk ki az AppArmor -t az alábbi három parancs lefuttatásával
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils

7. Szinkronizáljuk a rendszer óráját
aptitude install ntp ntpdate

így a rendszeridő mindig szinkronizálva lesz

8. Telepítsük a Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils csomagokat
Ezt egy szimmpla parancssorral megtehetjük a Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, and binutils installálást:

aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 rkhunter binutils

Válaszoljunk az alábbi kérdésekre:

New password for the MySQL "root" user: <-- aterootjelszavad
Repeat password for the MySQL "root" user: <-- aterootjelszavad
Create directories for web-based administration? <-- No
General type of mail configuration: <-- Internet Site
System mail name: <-- szerver1.pelda.hu
SSL certificate required <-- Ok

Azt szeretnénk, hogy a MySQL minden interfészen figyeljen ne csak localhost -on, ehhez szerkesszük a /etc/mysql/my.cnf -et és kommentezzük ki a bind-address = 127.0.0.1: sort

Ezután indítsuk újra a MYSQL kiszolgálót: /etc/init.d/mysql restart

Ellenőrizzük le, hogy engedélyezve van-e. Futtasuk le a netstat -tap | grep mysql
Az eredménynek ennek kell lennie:
root@szerver1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 8844/mysqld


Telepítéskor az SSL certificate -ek az IMAP-SSL és POP3-SSL -hez localhost hosztnévvel lettek elkészítve. A jó hosztnévre cseréléshez (szerver1.pelda.hu ebben a leírásban), töröljük a certificate -okat

cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

és módosítsuk az /etc/courier/imapd.cnf valamint a /etc/courier/pop3d.cnf fileokat!
Cseréljük mindkettőben a CN=localhost -ot CN=szerver1.pelda.hu -ra

Készítsuk el újra a certificate -okat:

mkimapdcert
mkpop3dcert

és indítsuk újra a Courier-IMAP-SSL és Courier-POP3-SSL -t:

/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart


9. Telepítsük a Amavisd-new, SpamAssassin, és Clamav csomagokat.
aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

10. Telepítsük az Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, And mcrypt csomagokat
aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp
Telepítéskor az alábbiak szerint válaszoljunk:

Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common? <-- Yes
Password of your database's administrative user: <-- aterootsqljelszavad
MySQL application password for phpmyadmin: <-- [üres]

Az Apache modules suexec, rewrite, ssl, actions, and include engedélyezéshez futtassuk a következő parancsot:
a2enmod suexec rewrite ssl actions include

Tegyük biztonságosabbá a phpMyAdmin -t a /etc/phpmyadmin/htpasswd.setup file törlésével
rm -f /etc/phpmyadmin/htpasswd.setup

...és töröljük vagy kommentezzük ki a következő részt a /etc/phpmyadmin/apache.conf -ban:
# Authorize for setup
#
#
# AuthType Basic
# AuthName "phpMyAdmin Setup"
# AuthUserFile /etc/phpmyadmin/htpasswd.setup
#

# Require valid-user
#

majd indítsuk újra az Apache2 webszervert
/etc/init.d/apache2 restart

11. PureFTPd és Quota telepítése
11.1 futtasd az aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool parancsot
11.2 szerkeszd az /etc/default/pure-ftpd-common -t
Figyelj, hogy a start mode legyen standalone -ra állítva és a VIRTUALCHROOT legyen true:
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

11.3 Indítsuk újra a PureFTPd -t: /etc/init.d/pure-ftpd-mysql restart

11.4 szerkesszük /etc/fstab. -ot Nálam ez így néz ki (Beállítottam a usrquota, grpquota -t a / mount point partícióra):
# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#
proc /proc proc defaults 0 0
# / was on /dev/mapper/dc--e121-root during installation
UUID=ab690543-1782-4106-8ad4-f1d4970e96b3 / ext3 relatime,errors=remount-ro,usrquota,grpquota 0 1
# /boot was on /dev/sda5 during installation
UUID=f93719ce-e8de-45ae-83c0-5f6fbd37c9d0 /boot ext2 relatime 0 2
# swap was on /dev/mapper/dc--e121-swap_1 during installation
UUID=45c15634-eb5b-4dd2-95eb-27108319ebd3 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

11.5 A quota engedélyezéshez futtasd az alábbi parancsokat:

touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /

quotacheck -avugm
quotaon -avug

12. MyDNS telepítés
12.1 Mielőtt installáljuka MyDNS egy-két csomagot rakjunk fel:
aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev

12.2 Így már elkezdhetjük a MyDNS telepítését a következő parancsokkal:

cd /tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz
tar xvfz mydns-1.2.8.27.tar.gz
cd mydns-1.2.8
./configure
make
make install

12.3 Készítsük el the start/stop script -et a MyDNS -hez:

vi /etc/init.d/mydns

A tartalma a következő legyen:

#! /bin/sh
#
# mydns Start the MyDNS server
#
# Author: Philipp Kern .
# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
# and Ian Murdock .
#

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/mydns
NAME=mydns
DESC="DNS server"

SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon --start --quiet \
--exec $DAEMON -- -b
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --stop --oknodo --quiet \
--exec $DAEMON
echo "."
;;
reload|force-reload)
echo -n "Reloading $DESC configuration..."
start-stop-daemon --stop --signal HUP --quiet \
--exec $DAEMON
echo "done."
;;
restart)
echo -n "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo \
--exec $DAEMON
sleep 1
start-stop-daemon --start --quiet \
--exec $DAEMON -- -b
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac

exit 0

Tegyük futtathatóvá a szkriptet:
chmod +x /etc/init.d/mydns
update-rc.d mydns defaults

13. Vlogger és Webalizer telepítése
13. 1 Futtassuk a aptitude install vlogger webalizer parancsot

14. Jailkit telepítés

A Jailkit csak akkor kell ha szeretnéd engedélyezni chroot -ot az SSH usereknek? (figyelem: a Jailkit -et még az ISPConfig telepítés előtt kell feltenni- utána nem működik!):
aptitude install build-essential autoconf automake1.9 libtool flex bison

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
tar xvfz jailkit-2.5.tar.gz
cd jailkit-2.5
./configure
make
make install
cd ..
rm -rf jailkit-2.5*

15. fail2ban installálás
Ez opcionális de ajánlott, mert az ISPConfig monitor meg tudja mutatni a fail2ban log -ot:
aptitude install fail2ban

16. Squirrelmail (Mókusposta) telepítés
aptitude install squirrelmail

hozzuk létre a symlink -et:
ln -s /usr/share/squirrelmail/ /var/www/webmail

és konfiguráljuk a mókuspostánkat: squirrelmail-configure

Mi a SquirrelMail -t a Courier-IMAP/-POP3 -ra akarjuk használni:

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >>
D

Please select your IMAP server:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington's IMAP server

quit = Do not change anything
Command >>
<-- courier imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true

Press any key to continue...
ENTER

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >>
S

Data saved in config.php
Press enter to continue...
ENTER

quirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >>
<-- Q

Ezután elérhető a SquirrelMail a http://szerver1.pelda.hu/webmail or http://192.168.0.100/webmail címen

17. Az ISPConfig3 telepítése
cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.6.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.6.tar.gz
cd ispconfig3_install/install/

Következő lépésben futtassuk a telepítőt

php -q install.php


--------------------------------------------------------------------------------
_____ ___________ _____ __ _
|_ _/ ___| ___ \ / __ \ / _(_)
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| |
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, |
__/ |
|___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian Lenny/Sid or compatible

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with .
Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]:
<-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- atemysqlrootjelszavad

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Generating a 2048 bit RSA private key
..............................................................+++
..............+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
<-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring MyDNS
Configuring Apache
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]:
<-- ENTER

Configuring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Restarting services ...
* Stopping MySQL database server mysqld
...done.
* Starting MySQL database server mysqld
...done.
* Checking for corrupt, not cleanly closed and upgrade needing tables.
* Stopping Postfix Mail Transport Agent postfix
...done.
* Starting Postfix Mail Transport Agent postfix
...done.
* Stopping SASL Authentication Daemon saslauthd
...done.
* Starting SASL Authentication Daemon saslauthd
...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
* Stopping ClamAV daemon clamd
...done.
* Starting ClamAV daemon clamd
...done.
* Stopping Courier authentication services authdaemond
...done.
* Starting Courier authentication services authdaemond
...done.
* Stopping Courier IMAP server...
...done.
* Starting Courier IMAP server...
...done.
* Stopping Courier IMAP-SSL server...
...done.
* Starting Courier IMAP-SSL server...
...done.
* Stopping Courier POP3 server...
...done.
* Starting Courier POP3 server...
...done.
* Stopping Courier POP3-SSL server...
...done.
* Starting Courier POP3-SSL server...
...done.
* Restarting web server apache2
... waiting ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -E -b -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
root@szerver1:/tmp/ispconfig3_install/install#

A telepítő automatikusan beállít mindent, nekünk nem kell semmit kézzel csinálni

Az ISPConfig 3 a http://szerver1.peldahu:8080/ vagy http://192.168.0.100:8080/. címen érhető el. Jelentkezz be az admin felhasználónévvelés az admin jelszóval (első bejelentkezés után feltétlenül cseréld le!)

A cikk jórésze a http://howtoforge.com/perfect-server-ubuntu-9.10-ispconfig-3 oldalon található leírás magyar fordítása!


Amennyiben gondod akadt a telepítéssel vagy valami hibát találsz a leírásban kérlek jelezd!

2009. okt. 7.

Samba telepítése és beállítása Ubuntu szerveren

Az előzőekben feltelepítettük Ubuntu szerverünket de kiszolgálói szerepkört még nem kapott. Így szép és jó a rendszerünk de sok mindenre igazából még nem tudjuk használni. Először legyen Ubuntu szerverünk fileserver!

Ehhez a legelterjebb rendszert a SAMBA -t fogjuk használni. Hogy mi az a SAMBA arról itt olvashatsz egy részletes leírást.


1. Tegyük be az Ubuntu server telepítő lemezt

2. Lépjünk be a saját felhasználónév - jelszó párosunkkal

3. Csatlakoztassuk fel a kötetünket! Ehhez adjuk ki a konzolon a
mount /dev/cdrom
parancsot

4. Ellenőrizzük le, hogy a telepítési forrásaink között szerepel-e a cdrom. Ha nem akkor adjuk meg!

4.1 Készítsünk biztonsági másolatot a /etc/apt/sources.list állományról a konzolon kiadott
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bkp

paranccsal

4.2 Szerkesszük a /etc/apt/sources.list állományt a
sudo vi /etc/apt/sources.list

paranccsal

4.3 Keressük meg a #deb: cdrom [Ubuntu-Server kezdetű sort és töröljük ki a sor elejéről a #-ot. Ha megvagyunk nyomjuk meg az [Esc] -et aztán a :x -szel mentsünk és lépjünk ki a VI alkalmazásból.

4.4 frissítsünk a
sudo apt-get update
-tel

5. Telepítsük fel a SAMBA és a SAMBA-DOC -ot! Adjuk ki a konzolon a
sudo apt-get install samba samba-doc

parancsot. A megjelenő kérdésre nyugodtan ajuk meg a Y -t



6. Ha lefutott a telepítő akkor nézzünk néhány alapbeállítást

6.1 Készítsünk biztonsági másolatot a /etc/samba/smb.conf állományról a konzolon kiadott
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp
paranccsal

6.2 majd kezdjük el szerkeszteni a /etc/samba/smb.conf- ot
sudo vi /etc/samba/smb.conf
Nyugodtan jelöljünk ki mindent és töröljük (A VI használatához ITT találsz segítséget!)

Gépeljük be az alábbi sorokat:

[global]
workgroup = TARTOMANY
netbios name = GEPNEV
guest ok = yes
read only = no
security = share
guest account = nobody

[megosztas1]
comment = Vendeg megosztas
path = /tmp
browseable = Yes
read only = Yes
guest ok = Yes

6.3 Mentsük el az smb.conf -ot majd indítsuk újra a SAMBA -t a sudo /etc/init.d/samba restart -tal

6.4 Ha jól dolgoztunk akkor a Windows -os kliens gépünkön a hálózat tallózásakor láthatjuk a Tartomany munkacsoportban a Gepnev -vel megadott Samba szerverünket és gépre kattinva egy megosztást megosztas1 névvel. A megosztas1 -re kattintva pedig a szerveren megosztott /tmp tartalmát




Nézzük át mit is állítottunk be az smb.conf -ban!
a [global] -ban
workgroup = Tartományunk (munkacsoportunk) neve
netbios name = szerver gépneve
guest ok = vendég hozzáférés engedélyezése (Yes / No)
read only = csak olvasható -ság beállítása (Yes / No)
security = biztonsági szint (user / share / domain / ADS / server) Erről részletesebb dokumentációt ITT találsz
guest account = vendég felhasználó

a [megosztas1] -ben
comment = Megjegyzés a megosztáshoz
path = a megosztott könyvtár / állomány elérési útja a szerveren
browseable = tallózható (Yes / No)
read only =csak olvasható (Yes / No)
guest ok =Vendég is hozzáférhet (Yes / No)



Gyakorlásképpen csináljunk egy új, publikus megosztást ahol a megosztott mappába bárki írhat!

Hozzuk létre a szerveren a /home/public mappát a sudo mkdir /home/public parancssorral.
Állítsunk be 777 (azaz Írás, Olvasás, Futtatás mindenkinek) jogot a mappára a sudo chmod 777 /home/public paranccsal

Az smb.conf -ot egészítsük ki az alábbi sorokkal

[Public]
comment = Ide barki irhat
path = /home/public
browseable = Yes
writeable = Yes
guest ok =Yes

Mentsük el az állományt és nézzük meg a kliens gépről a szerverünk megosztásait. Ha mindent jól csináltunk akkor látnunk kellene a Public megosztást és írni is tudunk a mappába. Hozzunk létre benne egy új szöveges dokumentumot!




Eddig a SAMBA segítségével csináltunk egyszerű megosztásokat amiket a hálózatunkból mindenki elérhet és a mappára vagy fájlra adott jogokkal tudja a megosztásokat használni. A következő részben rábírjuk Samba szerverünket a felhasználói azonosításra és az ún. HOME könyvtárak kezelésére.

7. Felhasználói azonosítás és Home könyvtár elérés beállítása
7.1 Módosítsuk az smb.conf [global] részét az alábbiakkal:
security = user
encrypt passwords = yes

töröljük ki a guest ok = yes és a read only = No sorokat!

Tehát a security -t share -ról user -re módosítjuk, beállítjuk hogy a jelszavakat titkosítsa és megtiltjuk a vendég elérést valamint. Ha a kliens gépről tallózunk már nem látjuk direktben a megosztásokat mivel kér egy felhasználó nevet és jelszót a szerver.

7.2 Ahhoz, hogy azonosítani tudjon minket a SAMBA létre kell hoznunk a SAMBA felhasználóinkat a Linuxos felhasználókból. Ehhez használjuk az alábbi parancsot
sudo smbpasswd -a felhasznalonev

Adjuk meg a felhasználónak a SAMBA jelszavát, majd ismétejük meg. Ha az added user felhasznalonev -et látjuk akkor minden rendben van. Így a kliens gépről már csak a megadott felhasználónév / jelszó párossal lehet elérni a megosztásokat.
7.3 A Home könyvtárak kezeléséhez és eléréséhez egészítsük ki az smb.conf -ot

[homes]
comment = Sajat mappa
path = /home/%U
browseable = yes
writable = yes

Így a megosztások között tallózva a home megosztás alatt a beléptetett felhasználó a saját mappájának tartalmát fogja látni.

8. Ha a szerverünk egész nap (vagy legalább munkaidőben folyamatosan) úgyis be van kapcsolva ellentétben a kliens gépekkel érdemes megadnunk, hogy a SAMBA legyen a hálózatunkon a főtallózó tehát a helyi master. Ehhez el kell érnünk hogy a "gépek közötti szavazást" a fő tallózó kérdésben mindig megnyerje. Mind mindig most is az smb.conf -ot szerkesztjük és kiegészítjük a [global] szekciót az alábbi sorokkal

os level = 66
local master = yes

Tehát az os levelt jó magasra állítjuk (a Windows NT-s gépeké 33 viszont az újabb XP, Vista stb. operációs rendszerek miatt annál mindenképp nagyobb kell, hogy legyen. Jelenleg a 66 elegendő) és beállítjuk local master -nek a SAMBA -t.

Ha a hálózatunk nagyobb kiterjedésű és a munkacsoport vagy tartomány több alhálózatban is szerepel akkor nem elegendő a helyi főtallózói szerep, hanem a tartomány főtallózást is a szervernek kell adnunk. Ehhez az smb.conf [global] -ját ismét két sorral bővítjük

domain master = yes
preffered master = yes
azaz a Samba lesz a domain master és a preferált master is.

9. A Samba mint elsődleges tartományvezérlő (Primary Domain Controller )

A Windows NT sorozat megjelenésével a Windows kliensek képesek lettek a tartományba lépésre ahol a felhasználó hitelesítési információit nem a helyi gép végzi el, hanem egy tartományvezérlő(PDC azaz Primary Domain Controller).
Régebben csak a Windows szerver változatai voltak erre képesek (mivel ez a szolgáltatás már nem a NetBIOS protokollon alapult). A Samba fejlesztői viszont megoldották, hogy a Samba szerver is képes legyen PDC -ként viselkedni.

9.1 A megoldáshoz az smb.conf -ban a [global] szakaszt kell ismételten kiegészíteni pár egyszerű sorral:

domain logons = yes
wins support = yes

és létre kell hoznunk egy netlogon megosztást is:

[netlogon]
path = /home/netlogon
public = no
writeable = no
browseable = no

A fenti beállítások alapján nem tudják majd írni a felhasználók és sem is látják tallózás közben, tehát csak az képes hozzáférni aki tud a létezéséről. Eután indítsuk újra a SAMBA -t:
sudo /etc/init.d/samba restart

9.2 Ahhoz, hogy a tartományba a klienseink be tudjanak lépni az Ubuntu szerveren el kell végezni az alábbi műveleteket:

Vegyük fel a kliens gépet először a Linux majd a Samba felhasználók közé (shell-re és saját könyvtárra nincs szükség)
sudo useradd -s /bin/false -d /dev/null kliensgepneve$

sudo smbpasswd -a -m kliensgepneve$

(a kliensgepneve = a windowsos gépünknek adott név, amit a start menü -> beállítások -> vezérlőpult -> rendszer -ben a számítógépnév fül alatt a Módosítás gombra kattintva tudunk megnézni)
Adjunk a szerveren a root -nak egy SAMBA jelszót
sudo smbpasswd -a root

9.3 Most pedig állítsuk be a kliensünket, hogy a munkacsoport helyett a tartomány tagja legyen:
start menü ->beállítások -> vezérlőpult -> rendszer -ben a számítógépnév fül alatt a Módosítás gombra kattintsunk és a Tagság résznél jelöljük be a Tartomány -t és írjuk be a tartományunk nevét

Ezután adjuk meg a root -ot mint felhasználó az előzőekben beállított jelszavával


Ha mindent jól csináltunk akkor kapunk egy szép kis üdvözlő üzenetet és "természetesen" újra kell indítani a gépünket.



A fenti lépéseknél én eddig 2 hibába futottam bele:

1. Nem találja a TARTOMANY domain kiszolgálóját a kliens. Mivel az smb.conf -ban engedélyeztük a wins supportot érdemes a kliensünknél is bállítani a WINS címét

start menü -> beállítások ->vezérlőpult -> hálózati kapcsolatok -> helyi kapcsolat -> Tulajdonságok -> TCP/IP protokoll -> tulajdonságok -> speciális -> WINS fül -> Hozzáadás -nál írjuk be a szerverünk IP címét

2. Beléptetésnél azt írja, hogy nem létesíthetünk több kapcsolatot ugyanazon felhasználóval. Ehhez mielőtt a munkacsoportról tartomány -ra állítjuk a klienst jelentkezzünk ki (start menü -> leállítás -> kijelentkezés) majd lépjünk be újra helyi (rendszergazdai jogokkal rendelkező) fiókunkba
Újraindítás után a Bejelentkezés ablakban immáron be tudunk lépni a Samba -s felhasználónév / jelszó párosunkkal a tartományba


9.4 Mivel a Samba konfigurációban nem állítottuk bejelntkezési profilokat ezért egy kis hibaüzenetet kapunk de ettől még be tudunk jelentkezni és a megosztott mappákat (beleértve a home könyvtárunkat is) elérjük csak kilépéskor nem mentődnek el a profilunk beállításai. Természetesen ha már a szerveren vagyunk azonosítva és ott van a home könyvtár akkor tároljuk is ott a profilunkat valamint dokumentumainkat, hogy bármelyik tartományi gépről bejelentkezve a későbbiekben elérjük azokat.

Az smb.conf -ban adjuk meg hogy hol érik el a profilt, csináljunk egy profiles és egy users megosztást is:
[global]
....
logon path = \\%L\profiles\.profile
logon drive = H:
logon home = \\%L\%U

[profiles]
comment = Halozati profilok
path = %H
read only = No
create mask = 0600
directory mask = 0700
hide unreadable = Yes
store dos attributes = Yes

[users]
comment = Felhasznalok
path = /home
read only = No
inherit acls = Yes
veto files = /aquota.user/groups/shares/

valamint módosítsuk kicsit a homes megosztásunkat is:
[homes]
comment = Sajat mappa
valid users = %S, %D%w%S
read only = no
inherit acls = Yes
browseable = No

Ezek után ha belépünk a tartományba akkor a H: meghajtó a szerveren lévő home könyvtárunkra mutat és elmentődnek a profil beállításaink is. Ahhoz, hogy a Dokumentumok alapértelmezésben a szerveren kerüljenek tárolásra a Windowsban a Dokumentum mappa alapértelmezett helyét meg kell változtatnunk. Ehhez kattintsunk jobb egérrel a Dokumentumok mappára majd a Tulajdonságok -ra. Ezután az Áthelyezés... -re és válasszunk ki egy mappát a szerveren lévő saját (home) könyvtárunkban!


Amennyiben gondod akadt a telepítéssel, beállítással vagy valami hibát találsz a leírásban kérlek jelezd!

Ubuntu szerver telepítés

1. Letöltöd a legújabb Ubuntu szerver disztribúciót a http://ubuntu.hu/letoltes/server oldalon található címek egyikéről.
2. A letöltött image file-t kiírod DVD-re.
3. A telepíteni kívánt gépbe beteszed a DVD-t és bebootolsz róla.
4. A telepítés első lépéseként megadod a telepítés nyelvét. Én a Magyar -t választottam

5. Válasszuk az Ubuntu kiszolgáló telepítése -t és nyomjunk [ENTER ]-t

6.  A billentyűzetkiosztás felderítésére nyugodtan mondjunk Nem -et


7. Válasszuk ki a billentyűzet nyelvi kiosztását (Hungary)


8. A következő lépésben kiválaszthatjuk, hogy pontosan milyen billentyűzetünk van. (Én csak szimplán a Hungary -t választom)


9. Ha a helyi hálózatunkban nincs DHCP kiszolgáló akkor az alábbi üzenetet kapjuk (lépjünk tovább)

10. A megjelenő képernyőn válasszuk ki a Hálózat kézi konfigurálása -t

11. Adjunk meg egy IP címet! Jelen esetben ez a 192.168.1.1
 
12. Adjuk meg az alhálózati maszkot (netmask)! Most ne változtassuk meg a gép által kiszámolt értéket, maradjon a 255.255.255.0


13. Ha van és ismerjük a hálózati átjáró (gateway) címét  akkor adjuk meg, egyébként töröljük ki.
 
14. Most kell megadni a névkiszolgálók (DNS) címeit szóközzel elválasztva. Ha ismerjük adjuk meg, ha nem akkor hagyjuk üresen.


15 Adjunk egy nevet a gépnek (a későbbiek során ez lesz a gép NETBIOS neve). Jelen esetben egyszerűen GEPNEV -nek fogom hívni.



16. Adjuk meg a tartományunk (munkacsoportunk) nevét. Én  tartomany -t adtam meg.

17. Most következik a partícionálás. Feltételezvén, hogy egy új (üres) gépre telepítünk, nyugodtan bizzuk az egészet a telepítőre, tehát válasszuk az Irányított - Az egész lemez felhasználása -t


18.  Válasszuk ki a merevlemezünket ahová majd a rendszert telepítjük.

19. Megmutatja, hogy miylen partíciókat fog létrehozni és megkérdezi, hogy lemezre írja-e a változásokat. Mondjunk Igen -t

20. Adjuk meg teljes nevünket

21. Válasszunk magunknak egy felhasználónevet és adjuk meg

22. Adjunk meg egy jelszót! (Lehetőleg legalább 8 karakter hosszúságú legyen és minél öszetettebb azaz kis- és nagybetűket is és számokat is tartalmazzon!) Majd ismételjük meg!


23. Ha akarjuk akkor titkosíthatjuk a saját felhasználói mappánk tartalmát.


24. Ha van és ismerjük proxy szerverünk címét akkor adjuk meg, egyébként hagyjuk üresen

25. Válasszuk ki, hogy miként szeretnénk kezelni a rendszer biztonsági frissítéseit!

26. Megadhatjuk mely kiszolgálói komponenseket szeretnénk telepíteni. Mivel ez a fejezet csak az alaprendszer telepítéséről szól ezért egyelőre ne válasszuk ki egyiket sem.

27. Utolsó lépésként vegyük ki a meghajtóból a lemezt és a Tovább -bal indítsuk újra a rendszert.


Készen is vagyunk!

Amennyiben gondod akadt a telepítéssel vagy valami hibát találsz a leírásban kérlek jelezd!