Syscp bemutatása

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(Telepiités)
(Használat)
87. sor: 87. sor:
 
== Használat ==
 
== Használat ==
   
Syscpben minden domain egy felhasználó alá tartozik, tehát első körben létre kell hoznunk egy felhasználót, létrehozni a domaint amit az adott felhasználóhoz adunk.
+
'''Felhasználó / domain hozzáadása'''
  +
  +
Syscpben minden domain egy felhasználó alá tartozik, tehát első körben létre kell hoznunk egy felhasználót, majd létrehozni a domaint amit az adott felhasználóhoz adunk. Érdemes a kvótákat minden felhasználó esetében korlátlanra álliitani, majd egyenként a hozzáadott domainek esetében limitálni.
  +
  +
Hasznos opció az '''emaildomain''' opcio a '''mailserver settings''' részben, ha ezt no-ra álliitjuk, akkor értelemszerűen a szerverünk nem fog mailszerverként funkcionálni. Ennek az a gyakorlati haszna, hogyha a levelezés mondjuk egy másik szerveren található, de a domain már nálunk van, és kimenő szervernek a saját szerverünket használjuk, akkor könnyen belefuthatunk abba a problémába, hogy a postfix (az én esetemben) közli, hogy ilyen postafiók nem létezik, holott mi tudjuk, hogy a MX recordban szereplő szerveren létezik a postafiók. Sajnos azonban a postfix valamiért ilyenkor figyelmen kiivül hagyja a DNS recordot, és közvetlenül a saját adatbázisát veszi alapul. Ha erre bárki tud valami magoldást, akkor kérem ossza meg velem.
  +
  +
Ezen kiivül még relatiive sűrűn használt opcio a '''Nameserver settingsben''' a zone file, ahol a névszerver könyvtárától (én esetemben /etc/bind) vett relatiiv elérési úttal meg tudjuk adni a saját magunk által elkésziitett zona file elérési útját.

A lap 2010. január 27., 17:35-kori változata

1 Általános leiirás

A Syscp egy nyiilt forráskódú php-ben megiirt linux/FreeBSD disztribúciót használó szerverek adminisztrálására használható sok nyelvre lefordiitott adminisztrációs felület. A felület fejlesztése 2003 óta tart, egy ideig a honlap ([1]) csak német nyelven volt elérhető, mára azonban szerencsére nagyon sok anyag, leiirás, wiki oldal angolul is megtekinthető. Ebben a leiirásban az 1.4.2.1-es verzióra fogok támaszkodni. A fejlesztők elmondása szerint az 1.4-es verzióba az 1.2-es verzió óta annyi commit került az SVN-be, mint az 1.2-es verzióig összesen...

A rendszer előnyei között kell megemliiteni a rendszeres SVN verziókat, a felmenő verziókkal való kompatibilitást, a teljes mértékig phpben megiirt forrást, wiki / forum támogatást, ticketing systemet, illetve alapszintű számlázási információk kezelését.

Hátrányok között emliiteném a dokumentáció hiányát, én személy szerint azért elvárnám egy ennyi idős projekttől, hogy egy valamire való dokumentáció létezzen, és ne a wikiről, fórumokról, forrásból böngészve kelljen az embernek a megfelelő megoldást megtalálnia.

Támogatott szoftverek

Böngésző: Apache, Apache 2.x, Lighttpd

DNS szerver: Bind9, PowerDNS

Pop3/IMAP szerver: Courier, Dovecot

SMTP szerver: Postfix, Exim4

FTP szerver: ProFTP, PureFTP

Statisztika: Awstats, Webalizer


Támogatott disztribúciók

Debian 4.0 (Etch)

Debian 3.1 (Sarge)

Ubuntu 8.04 (Hardy Heron)

Gentoo Linux

OpenSuSE Linux 10.0

FreeBSD


Ezen kiivül nem túl nagy áldozattal minden valósziinűség szerint a többi disztribúcióra is fel lehet telepiiteni a szoftvert, egyedül talán a cron scripteket kell kicsit az adott disztribúció szájiizére szabni.

A rendszer felépiitése

Fájl:syscp components.jpg

2 Telepiités

A telepiités megkezdése előtt mindenképp szükséges, hogy a webszerver php5-el illetve a mysql szerver fel legyen telepiitve, és működjön is.

A konfiguráció eléggé magától értetődő, első körben a rendszer rákérdez a használni kiivánt nyelvre, mysql adatbázis névre, jelszóra, illetve a mysql root jelszóra, admin felhasználó / jelszóra, illetve egykét szerverbeálliitásra. Ezek után lefuttat egy tesztet, felhiivja a figyelmünket egykét beállitásra, majd irány a bejelentkezés.

Kezelő felület

A telepiités során nekünk a Server fül, Configuration és Settings pontjára lesz szükségünk. A Settings pontban miután végigzongoráztunk minden beállitást, a Configuration pontban kiválasztva a használt disztribúciót és szolgáltatást a felület felajánlja milyen shell parancsokat kell kiadnunk, és hogyan kell módosiitanunk a szolgáltatások konfigurációs filejait hogy együttműködjön a rendszerrel.

Könyvtárstruktúra

Érdemes megemliiteni a Syscp könyvtárstruktúráját: A honlapok /var/www/customers/web/felhasználónév/domainnév/ struktúrában találhatóak. A domainnéven és a felhasználónéven kiivül a könyvtárfa összes többi részét specifikálni lehet a server / settings részben, érdemes ezeket jól kitalálni még az elején. A felhasználókhoz tartozó levelek a mail, a logok a log, a tmp fileok értelemszerűen a tmp könyvtárakba kerülnek, minden felhasználó esetében külön alkönyvtárban.


Megjegyzések

Mivel mindenkinek megvan a saját maga preferenciája, ezért nem megyek abba bele, hogy tanácsokat osztogassak milyen levelező szervert, illetve milyen webszervert használjunk. Én személy szerint az apache2-fastcgi,php5, postfix, courier/dovecot, bind9, pureFTPd megoldást használom. Két hasznos dologra azonban fel szeretném hiivni a figyelmet:

  • Fastcgi (leginkább apache alatt, lighttpd alatt igyis úgyis fastCGIhez nyúl az ember): Mindenképpen érdemes a Settings / Security optionsban a mod_fcgid/suexec/libnss_mysql beálliitásokat használni. Miért jó ez nekünk azon kiivül, hogy a kezdeti beállitás kicsit több ideig tart? Azért mert:

-minden felhasználót egy saját uid alatti fastCGI php process szolgál ki (a felhasználók egymás filejait nem tudják módosiitani)

-mert jobban skálázhatóak a fastcgi processek, adott esetben akár más szerveren is lehet őket futtatni

-mert minden domain egyedi php.ini filet tud használni, nem kell egy központi php.ini-re hagyatkozni, majd utána php_admin_value-kal szórakozni

-mert a suexec egy halom biztonsági ellenőrzést elvégez mielőtt elindiit egy fastCGI process-t.

-mert libnss_mysql-el a mysqlben tárolt usernevek a rendszer 'részei' lesznek, shell alól pont ugyanúgy fognak látszani mint a tradicionális passwd fileban tárolt felhasználók

A fastCGI syscp beálliitásokrol pedig itt: [2]

Suexecről bővebben itt lehet olvasni: [3]

Mindezeken felül, igazi perverzeknek, ez a beállitás nagyban megkönnyiiti (a különböző usernevek miatt) a fastCGI processek RSBAC-ban való elszigetelését. [4]

  • És egy kis kényelmi funkció: a Settings / System settings részben, a Port for realtime SysCP-be beleiirva a megfelelő portot, el tudjuk érni, hogy minden változtatáskor, a mentés gombra nyomva azok egyből működésbe lépjenek, ne kelljen megvárni az 5 perces időközöket amiig a crontab lefut. Ehhez fel kell telepiitenünk egy xinetd-t a standard inetd helyett. Ezek után a control panel nyit egy tcp kapcsolatot a megadott portra (amin az xinetd-nk figyel), mire az végrehajtja a konfigurációs fileban megadott php filet.

Erről bővebb leiirást itt lehet találni: [5]

3 Használat

Felhasználó / domain hozzáadása

Syscpben minden domain egy felhasználó alá tartozik, tehát első körben létre kell hoznunk egy felhasználót, majd létrehozni a domaint amit az adott felhasználóhoz adunk. Érdemes a kvótákat minden felhasználó esetében korlátlanra álliitani, majd egyenként a hozzáadott domainek esetében limitálni.

Hasznos opció az emaildomain opcio a mailserver settings részben, ha ezt no-ra álliitjuk, akkor értelemszerűen a szerverünk nem fog mailszerverként funkcionálni. Ennek az a gyakorlati haszna, hogyha a levelezés mondjuk egy másik szerveren található, de a domain már nálunk van, és kimenő szervernek a saját szerverünket használjuk, akkor könnyen belefuthatunk abba a problémába, hogy a postfix (az én esetemben) közli, hogy ilyen postafiók nem létezik, holott mi tudjuk, hogy a MX recordban szereplő szerveren létezik a postafiók. Sajnos azonban a postfix valamiért ilyenkor figyelmen kiivül hagyja a DNS recordot, és közvetlenül a saját adatbázisát veszi alapul. Ha erre bárki tud valami magoldást, akkor kérem ossza meg velem.

Ezen kiivül még relatiive sűrűn használt opcio a Nameserver settingsben a zone file, ahol a névszerver könyvtárától (én esetemben /etc/bind) vett relatiiv elérési úttal meg tudjuk adni a saját magunk által elkésziitett zona file elérési útját.

Személyes eszközök