LMS 1.0

Strona domowa

<< Poprzednia

Następna >>

Zawartość

Przedmowa

Rozdział 1 - Na początek
Czym jest LMS
Co LMS może a czego nie
Co wchodzi w skład LMS
Instalacja
Konfiguracja
Pierwsze logowanie
Prawa dostępu
Rozdział 2 - LMS UI (User Interface)
Konfiguracja
Rozdział 3 - LMS-MGC
Rozdział 4 - Skrypty
Instalacja
lms-notify
lms-cutoff
lms-eachmonth

Rozdział 1. Na początek

Czym jest LMS

"LMS" jest skrótem od "LAN Management System". Jest to zestaw aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi), opartych o bazę danych MySQL (docelowo, do wyboru, MySQL lub PostgreSQL). Główne założenia to uzyskanie jakości usług oraz obsługi użytkowników na poziomie providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS to:

  • baza danych użytkowników (imię, nazwisko, adres, numer telefonu, uwagi);

  • baza danych komputerów (adres IP, adres MAC);

  • prowadzenie prostego rachunku operacji finansowych oraz stanu funduszów sieci;

  • różne taryfy abonamentowe;

  • wysyłanie pocztą elektroniczną upomnień do użytkowników;

  • automatyczne naliczanie opłat miesięcznych;

  • generowanie praktycznie jakiegkolwiek konfiga na podstawie danych o komputerach w bazie (przykładowe configi obejmują rc.masq na iptables, dhcpd.conf, oidentd_masq.conf, /etc/ethers, dns prosty i odwrotny);

Całość została wymyślona w ramach administracji ASK NetX i tam jest nieustannie rozwijana i poddawana testom ;)

Co LMS może a czego nie

LMS Nie zastąpi Ci umiejętności jakie powinien mieć administrator. Jeśli nie potrafisz wykonać tak prostych czynność jak instalacja czy konfiguracja, prawdopodobnie nie będziesz umiał dostroić LMS do swojego systemu. Tak więc bez znajomości systemów U*IX się nie obejdzie.

Co wchodzi w skład LMS

LMS składa się z kilku modułów, podstawowym modułem jest LMS-UI (User Interface). Jest on w całości napisany w PHP i do pracy wymaga bazy danych (właściwie to każdy moduł wymaga bazy danych). To właśnie w LMS-UI wykonujemy wszystkie czynności, reszta modułów ma tylko za zadanie zautomatyzować pracę LMS.

LMS to także zestaw skryptów w języku PERL, i to właśnie te skrypty wymagają abyś posiadał interpreter tego języka. Jeśli będziesz chciał używać tych skryptów, musisz mieć PERLa. Skrypty pozwalają m.in. na comiesięczne naliczanie opłat abonamentowych bądź wysyłanie upomnień. Jest jeszcze LMS-MGC, który też jest skryptem ale na tyle uniwersalnym że potrafi wygenerować praktycznie dowolny plik konfiguracyjny, i zrestartować usługę.

Instalacja

Wymagania

Serwer WWW

Ponieważ LMS-UI jest napisane w PHP, niezbędny jest serwer WWW z interpreterem tego języka. Preferowanym serwerem jest Apache www.apache.org

Interpreter PHP

Interpreter powinien być w wersji 4.2.x lub nowszej, chociaż działa też poprawnie na 4.1.x (ale ponieważ devepolerzy pracują na 4.2.3, nie można zagwarantować poprawnej pracy na starszych wersjach). PHP można sciągnąć ze strony www.php.net

Serwer baz danych

Preferowany to MySQL. 3.23.53 i nowszy, starszy może też działać, jeśli nie to daj nam o tym znać ;-)

LMS-UI oraz LMS-MGC powinien także działać z postgresql, jednak ta konfiguracja jest narazie w fazie testów.

Biblioteki: Smarty i ADOdb

LMS-UI do pracy wymaga jeszcze bibliotek Smarty (http://smarty.php.net) w wersji 2.5.0 lub wyższej oraz ADOdb (http://php.weblogs.com/ADOdb) w wersji 2.90 lub wyższej.

Perl

O ile dla LMS-UI wystarczy to co powyżej, to żeby mieć działający LMS-MGC, lub resztę skryptów potrzebujemy także perla i moduły do niego czyli:

  • perl właściwy i jego podstawowe moduły (POSIX, GetOpt::Long);

  • Net::SMTP;

  • Config::IniFiles;

  • DBI;

  • DBD-mysql (Jeśli masz zamiar używać mysql'a);

  • DBD-pg (Jeśli masz zamiar używać postgres'a);

Sciągamy LMS

LMS możemy sciągnąć ze strony domowej projektu (lms.rulez.pl) wydając komendę:

lexx@troll:~$ wget http://lms.rulez.pl/download/lms-1.0.2.tar.gz

Instnieje też możliwość ściągnięcia wersji z bibliotekami przez co odpadnie nam konieczność ich puźniejszej instalacji. Taką wersję możemy ściągnąć wydając komendę:

lexx@troll:~$ wget http://lms.rulez.pl/download/lms-1.0.2+libs.tar.gz

Umieszczamy LMS na dysku

Jeśli ściągneliśmy archwiwum to je teraz rozpakowujemy, a następnie przenosimy pliki z lms-ui do katalogu osiągalnego z poziomu przeglądarki www (np. /var/www/lms). Pliki z konfiguracją umieszczamy w katalogu /etc/lms).

Biblioteki

Jeśli jesteśmy w katalogu z LMSem, to musimy ściągnąc biblioteki. Najpierw ściągamy Smarty:

lexx@troll:~$ cd /var/www/lms
lexx@troll:~$ cd lib	
lexx@troll:~$ wget http://smarty.php.net/distributions/Smarty-2.5.0.tar.gz
lexx@troll:~$ tar -xzf Smarty-2.5.0.tar.gz
lexx@troll:~$ mv Smarty-2.5.0/libs Smarty

Teraz ADOdb:

lexx@troll:~$ wget http://phplens.com/lens/dl/adodb320.tgz
lexx@troll:~$ tar -xzf adodb320.tgz

Konfiguracja

Po ściągnięciu i zainstalowaniu LMS należy jeszcze ustawić dwie rzeczy. Bazę danych, oraz podstawową konfigurację w lms.ini

MySQL

lexx@troll:~$ mysql -u [Użytkownik z pełnym dostępem do bazy] -p
Enter password: [Hasło]
mysql> create database lms;
mysql> grant usage on lms.* to lms@localhost;
mysql> grant select,insert,update,delete,create on lms.* to lms@localhost identified by '[Tajne Hasło]';
mysql> flush privileges;
mysql> use lms;
mysql> source doc/lms.mysql;

lms.ini

Sekcja [database] - ustawienia bazy danych

  • type

    Typ bazy danych. Aktualnie w 100% supportowany jest 'mysql', ale jak narazie nie widać większych problemów z 'postgres'. Domyślnie: mysql

    Przykład:

    type = mysql

  • host

    Host gdzie zainstalowana jest baza danych. Najczęściej, localhost, ale można tutaj wstawić cokolwiek (ip, domena, ścieżka do gniazda w formacie 'localhost:/path/to/socket'). Domyślnie: localhost

    Przykład:

    host = localhost

  • user

    Użytkownik do bazy danych. W wielu wypadkach (jeżeli postępowałeś zgodnie ze wskazówkami w dokumentacji) będzie to 'lms'. Jeżeli chcesz używać konta uprzywilejowanego, prawdopodobnie wpiszesz 'root' (MySQL na większości *nixów), 'mysql' (na PLD) bądź 'postgres' (PostgreSQL). Domyślnie: root

    Przykład:

    user = lms

  • password

    Hasło do bazy danych. Domyślnie puste.

    Przykład:

    password = password

  • database

    Nazwa bazy danych, domyślnie lms.

    Przykład:

    database = lms

Sekcja [directories] - ustawienia katalogów

  • sys_dir

    Katalog systemowy. Jest to miejsce gdzie jest cała zawartość UI LMS'a, czyli index.php, grafiki, templejty i reszta. Domyślnie, index.php stara się sam odnaleźć w filesystemie używając getcwd(), ale lepiej by było gdyby mu powiedzieć gdzie jest:

    Przykład:

    sys_dir = /var/www/htdocs/lms/

  • modules_dir

    Katalog z "modułami" LMS'a. Czyli zawartość katalogu modules. Domyślnie jest to podkatalog modules w sys_dir.

    Przykład:

    modules_dir = /usr/share/lms/modules/

  • lib_dir

    Katalog z "bibliotekami" LMS'a. Czyli zawartość katalogu lib. Domyślnie to podkatalog lib w sys_dir.

    Przykład:

    lib_dir = /usr/share/lms/lib/

  • backup_dir

    Katalog z kopiami zapasowymi bazy danych - miejsce gdzie LMS zapisuje zrzuty z bazy. Domyślnie jest to podkatalog 'backups'.

    Przykład:

    backup_dir = /var/backup/lms/

    Uwaga!:

    Jeśli katalog z kopiami zapasowymi będzie osiągalny z poziomu WWW, to każdy bez autoryzacji będzie miał do nich dostęp.

  • smarty_dir

    Katalog z biblioteką Smarty - domyślnie podkatalog Smarty w lib_dir.

    Przykład:

    smarty_dir = /usr/lib/php/Smarty

  • smarty_compile_dir

    Katalog kompilacji Smartyego. Miejsce gdzie Smarty kompiluje szablony. Domyślnie to templates_c w katalogu sysdir.

    Przykład:

    smarty_compile_dir = /var/smarty/compile/lms

  • smarty_templates_dir

    Katalog z szablonami którymi Smartiego. Domyślnie to podkatalog templates z sys_dir'a.

    Przykład:

    smarty_templates_dir = /usr/share/lms/templates

  • adodb_dir

    Katalog z ADOdb - czyli tym co posredniczy pomiędzy bazą a UI. Domyślnie podkatalog adodb w lib_dir.

    Przykład:

    adodb_dir = /usr/lib/php/adodb

Pierwsze logowanie

Po raz pierwszy do systemu można się zalogować używając konta 'admin' oraz pustego hasła. Po zalogowaniu hasło powinno być natychmiast zmienione.

Prawa dostępu

LMS ma możliwość zdefiniowania do 256 reguł dostępu do systemu. Każda z nich może zabraniać, bądź pozwalać na dostęp do konkretnych modułów. Każdemu administratorowi można przydzielić dowolną kombinację reguł dostępu.

Domyślnie zdefiniowanych jest osiem reguł dostępu. Siedem z nich zezwala na dostęp do modułów oraz jedna zabrania.

Moduły do których administrator ma zawsze dostęp to: welcome, copyrights, logout, chpasswd (przy czym chpasswd umożliwia tylko zmianę własnego hasła), dostep do reszty jest zdefiniowany regułami. Jeśli nie ustawimy administratorowi żadnej reguły dostępu, to LMS domyślnie przydzieli mu regułkę 0 czyli pełen dostęp.

<< Poprzednia

© 2001-2003 LMS Developers

Następna >>

LMS 1.0