Syscp bemutatása

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(Használat)
51. sor: 51. sor:
 
'''Kezelő felület'''
 
'''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 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.
+
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'''
 
'''Könyvtárstruktúra'''
65. sor: 65. sor:
 
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:
 
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:
+
* '''Fastcgi''' [http://wiki.syscp.org/docs/fcgid-handbook] (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)
 
-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)
   
72. sor: 72. sor:
 
-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 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 a suexec egy halom biztonsági ellenőrzést elvégez mielőtt elindiit egy fastCGI process-t [http://httpd.apache.org/docs/2.2/suexec.html].
   
-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
+
-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 [http://libnss-mysql.sourceforge.net/]
   
 
A fastCGI syscp beálliitásokrol pedig itt: [http://wiki.syscp.org/docs/fcgid-handbook]
 
A fastCGI syscp beálliitásokrol pedig itt: [http://wiki.syscp.org/docs/fcgid-handbook]
 
Suexecről bővebben itt lehet olvasni: [http://httpd.apache.org/docs/2.2/suexec.html]
 
   
 
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. [http://www.rsbac.org/]
 
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. [http://www.rsbac.org/]

A lap 2010. január 27., 17:56-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 [2] (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 [3].

-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 [4]

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

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. [6]

  • É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: [7]

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. A felhasználó hozzáadásánál lehetőség van jelszót késziiteni a felhasználónak, amivel ő maga tudja majd a beálliitásait kezelni.

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.

Levelezés, adatbázis, ftp, aldomainek

Az alciimben felsorolt összes feladatot a resources / customers részben lehet kezelni. Itt ha rányomunk a felhasználó nevére, akkor átjutunk egy az egyben arra a felületre amire a felhasználó is bejut a jelszavának megadásával. A felület kezelése triviális, annyi megkötésünk van, hogy a Syscp az sql adatbázisoknak / userneveknek illetve az ftp fiókok usernevének egy előre definiált rendszer szerint (kicsi beleszólásunk a telepiitéskor van) adja a nevét, nincs módunk teljesen egyedi user/adatbázis nevek megadására. Ez első körben a szabadságjogaink erős korlátozásának tűnhet, de több mint fél éves használat után, ez egyáltalán nem jelentett gondot. Pl. az én esetemben joco user esetében joco első adatbázisa jocosql1, második adatbázisa jocosql2 stbstb.

Személyes eszközök