Część: I (Instalacja)
Co będzie potrzebne? FreeBSD 7.2 i LMS v.1.11.8 (tylko z mysql-em)
Notka: How to instalacji/aktualizacji/zabezpieczania FreeBSD nie jest głównym celem tego tutorialu, zatem zakładam że masz gotowy zainstalowany i działający system i masz wybraną wersje co najmniej „Developer” w „Choose Distribution” Ponieważ z tej opcji będziesz miał dostępne wszystkie źródła i porty. Jeśli nie przejdź na stronę Freebsd i przeczytaj Handbooka.
Teraz startujemy z przygotowaniem serwera dla LMS
# Instalujemy apache22 (www serwer)
# Odznaczamy moduły z których nie będziemy korzystać IPv6 Support, Proxy etc.
# Dodajemy do /etc/rc.conf , apache22_enable=”YES”
[root@LMS-Server ~] cd /usr/ports/www/apache22; make install clean
# Instalujemy php5
# Wybieramy „Build Apache Module” i odznaczamy „Enable ipv6 support”
[root@LMS-Server ~] cd /usr/ports/lang/php5; make install clean
# Zmień także w /usr/local/etc/apache22/httpd.conf w <IfModule mime_module> linie
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# Zaktualizuj także <IfModule dir_module> linie na:
DirectoryIndex index.html index.php
# Instalujemy php5-extensions
# Wybierz następujące moduły: bcmath, bz2, curl, fileinfo, ftp, gd, gettext, pcre, pcntl, mbstring, mcrypt, mysql, zip, zlib i odznacz pdo_sqlite i sqlite.
[root@LMS-Server ~] cd /usr/ports/lang/php5-extensions; make install clean
# Skopiuj /usr/local/etc/php.ini-dist do /usr/local/etc/php.ini. Edytuj php.ini i edytuj wszystkie ustawienia jakie chcesz, ale nie zapominajmy o tych ustawieniach które są potrzebne dla LMS.
mbstring.func_overload = 7
register_globals = off
max_execution_time = 60 ; or more
memory_limit = 32M ; or more
UWAGA: W pliku php.ini należy za komentować linie ;default_charset = „iso-8859-1″ ponieważ błędnie będą wyświetlane polskie znaki
# Instalujemy mysql-server
# Dodajemy do /etc/rc.conf, mysql_enable=”YES”
[root@LMS-Server ~] cd /usr/ports/databases/mysql50-server; make install clean
# Instalujemy pear-Mail i wybieramy Pear-Net-SMTP i odznaczamy AUTH_SSL. Będzie instalowane także PEAR:Net_Sockets będzie o tym w dokumentacji.
[root@LMS-Server ~] cd /usr/ports/mail/pear-Mail; make install clean
# Niektóre moduły PEAR również są potrzebne LMS
[root@LMS-Server ~] cd /usr/ports/devel/p5-Getopt-Long; make install clean
[root@LMS-Server ~] cd /usr/ports/devel/p5-Config-IniFiles; make install clean
[root@LMS-Server ~] cd /usr/ports/databases/p5-DBI; make install clean
[root@LMS-Server ~] cd /usr/ports/databases/p5-DBD-mysql; make install clean
Jeśli instalacja wszystkiego powiodła się to wtedy dokładnie sprawdź w pkg_info że masz wszystko według przykładu:
[root@LMS-Server ~] pkg_info | grep p5-DBI
p5-DBI-1.60.7 The perl5 Database Interface. Required for DBD::* modules
[root@LMS-Server ~] pkg_info | grep php5
php5-5.2.10 PHP Scripting Language
[root@LMS-Server ~] pkg_info | grep apache
apache-2.2.11_7 Version 2.2.x of Apache web server with prefork MPM.
[root@LMS-Server ~] pkg_info | grep mysql
mysql-client-5.0.84 Multithreaded SQL database (client)
etc…
Zakładam, że wszystko jest na swoim miejscu i instalacja zakończyła się sukcesem, jeśli nie, wróć wcześniej i dokładnie sprawdź czego nie zainstalowałeś, przeszukaj google sprawdź errory etc… Więc do tej pory przygotowywałeś serwer na LMS-a, ale teraz będziemy instalować samego LMS-a.
# Pobierz najnowsze źródła z www.lms.org.pl/download/1.11/ (ostatnia w tej chwili jest 1.11.8):
[root@LMS-Server ~] fetch http://www.lms.org.pl/download/1.11/lms-1.11.8.tar.gz
# Wypakuj archiwum do /usr/local/www/
[root@LMS-Server ~] mv lms-1.11.8.tar.gz /usr/local/www ; cd /usr/local/www/ ; tar zxf lms-1.11.8.tar.gz
# Stwórz katalog konfiguracyjny i skopiuj przykładowy plik konfiguracyjny do niego.
[root@LMS-Server ~] mkdir /etc/lms
[root@LMS-Server ~] cp /usr/local/www/lms/sample/lms.ini /etc/lms/
# Uruchom serwer mysql i stwórz bazę danych.
[root@LMS-Server ~] /usr/local/etc/rc.d/mysql-server start
[root@LMS-Server ~]$mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 138427
Server version: 5.0.77 FreeBSD port: mysql-server-5.0.77
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> create database lms;
mysql> use lms;
mysql> source /usr/local/www/lms/doc/lms.mysql;
mysql> grant ALL on lms.* to lmsuser@localhost identified by ‘lmspassword’;
mysql> flush privileges;
mysql> quit
Notka: Pamiętaj, aby zastąpić lmsuser i lmspassword swoim własnym loginem i hasłem.
Notka: Pamiętaj, aby ustawić kodowanie znaków w bazie na uft8_polish_ci.
# Zabezpiecz mysql-q ustawiając hasło root-a.
[root@LMS-Server ~] mysqladmin -u root password ‘changeme’
# Edytuj lms.ini i dostosuj przynajmniej parametry [database] i [directories]. Więcej nie musisz modyfikować, ponieważ resztę będzie można zmodyfikować z interfejsu www.
[database]
type = mysql
host = localhost
user = lmsuser
password = lmspassword
database = lms
[directories]
sys_dir = /usr/local/www/lms/
modules_dir = /usr/local/www/lms/modules/
lib_dir = /usr/local/www/lms/lib/
backup_dir = /usr/local/www/lms/backups/
doc_dir = /usr/local/www/lms/documents/
# Edytuj confing apache i dodaj następujące linie (/usr/local/etc/apache22/httpd.conf).
Alias /lms „/usr/local/www/lms”
<Directory „/usr/local/www/lms”>
Options None
AllowOverride None
</Directory>
# Poszukaj tych linii i zmień je na: Deny,Allow -> Allow,Deny and Deny from all -> Allow from all:
<Directory />
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
# Zapisz konfiguracje i uruchom serwer Apache.
[root@LMS-Server ~] /usr/local/etc/rc.d/apache22 start
Uwaga: Konfiguracja Apache pozwala każdemu na dostęp do serwera www, a także do Twojego LMS-a, więc pamiętaj, aby zabezpieczyć instalacje(kilka wskazówek: zmiana domyślnego portu apache od 80 do jakiegoś innego, korzystania z zapory oraz na dostęp tylko tylko kilku adresów, itp.)
Teraz otwórz przeglądarkę (Firefox/IExplorer/Mozilla/Opera)i otwórz stronę LMS http://twoje_ip/lms. Na pierwszej stronie jest tworzenie konta administratora,wypełnij linie login, stanowisko…i nie zapomnij wybrać pełny dostęp. W tym momencie LMS powinien być gotowy funkcjonalny, aby dodawać do niego dane, ale aby działało to poprawnie musimy skonfigurować demona lub użyć skryptów, więc w drugiej część tego how to będzie jak przygotować demona i skrypty do pracy.
Część : II (Konfiguracja)
Do tej pory przygotowywaliśmy serwer i instalowaliśmy LMS, ale na tym etapie w LMS-ie jest tylko prosty interfejs użytkownika, w którym można podawać niektóre dane (nazwiska, telefony, adresy itp.) i nie jest to złe na tym etapie, ale pewne rzeczy LMS może dokonywać automatycznie (DHCP, reguły TC, reguły iptables, static arp, itp).
WSKAZÓWKA
Począwszy od drugiego logowania do interfejsu użytkownika będziemy informowani za każdym razem, że ta wersja jest w trakcie rozwoju. Uwaga! Ta wersja systemu LMS jest w trakcie tworzenia! Pamiętaj, że może pracować niestabilne i na pewno ma jeszcze wiele błędów! Jeśli potrzebujesz stabilności spróbuj wersje 1.10
Jeśli chcesz aby to ostrzeżenie znikło, dodaj do /etc/lms/lms.ini in [phpui] linie:
disable_devel_warning = true
Można też zrobić że zniknie z interfejsu www:
Przejdź do „Konfiguracja” -> Interfejs użytkownika. Pojawi się następujący komunikat: „Nie ma opcji konfiguracji w bazie danych. Kliknij tutaj żeby zainportować z lms.ini.” Po tym widać dużo opcji, które można skonfigurować, ale teraz musimy zrobić, aby znikło ostrzeżenie, kliknij na „Dodaj opcję” w prawym górnym rogu, w miejscu tekstowym „nazwa” wpisz „disable level warning” i w miejscu tekstowym oznaczonym „value” wpisz true i kliknij na submit. Po tej operacji jeżeli się wylogujesz, ostrzegający komunikat nie pokaże się więcej.
Idea LMS-a jest bardzo prosta. Mamy prosty i efektywny interfejs WWW z baza mysql do przechowywania danych, oraz dwa tryby pracy aby uczynić go automatycznym:
1.Za pomocą skryptów, które można znaleźć w „/usr/local/www/lms/bin” uruchamiane za pomocą crona. Pamiętaj! Wszystkie parametry konfiguracji skryptów są dostępne tylko w lms.ini, sprawdź dokumentację.
2. Przez LMSD (LMS daemon).
Oczywiście możemy z nich korzystać zarówno do generowania dhcp.conf ze skryptu $ LMS_HOME / bin / lms-makedhcpconf, w tym samym czasie możemy użyć LMSD do generowania „ethers” w pliku na innym serwerze, który jest routerem dla sieci, jedynym ograniczeniem jest nasza wyobraźnia. W każdym razie na początku drugiej będę części pisał jak skompilować i zainstalować LMSD na FreeBSD, oraz w jaki sposób zainstalować oprogramowanie potrzebne do skryptów i co dokładnie zrobić, gdyż niektóre skrypty nie są opisane w dokumentacji.
Kompilacja i instalacja LMSD.
Z dokumentacji dowiadujemy się, że musimy mieć zainstalowane do pracy LMSD: Interfesj użytkownika LMS, libmysqlclient, kompilator C, libdl, libgadu, flex i bison. Mamy już zainstalowany intefejs LMS i libmysqlclient (gdyż mamy zainstalowany mysql server) z części I, libdl jest w FreeBSD ale tylko dla powodów kompatybilności, ponieważ FreeBSD ma swój własny interfejs programistyczny „dynamic linker”, który nazwany jest „dlopen” i będziemy go używać, „flex” jest już w bazie systemu i w końcu zainstalujemy „bison” i „libgadu”. Ewentualnie / Opcjonalnie zainstalujemy Net-Snmp ponieważ w czasie kompliacji będzie wyrzucał błędy w modułach „ewx-*”
# Instalujemy bison
[root@LMS-Server ~] cd /usr/ports/devel/bison; make install clean
# Instalujemy libgadu
[root@LMS-Server ~] cd /usr/ports/polish/libgadu; make install clean
# Instalujemy net-snmp-v5 (nie określono w dokumentacji ale podczas kompilacji pojawiają się błędy ewx-pt and ewx-stm modułów, nawet jeśli kompilacja demona zakończy się sukcesem.
[root@LMS-Server ~] cd /usr/ports/net-mgmt/net-snmp; make install clean
Jeśli wszystko zainstalowane bez błędów możemy przejść do kompilacji demona, ale najpierw trzeba pobrać łatkę i zastosować ją do źródeł, ponieważ jeśli tego nie zrobimy demon się nie skompiluje.
[root@LMS-Server ~]cd /usr/local/www/
[root@LMS-Server ~]fetch http://mybsd.pl/wp-content/uploads/lmsd-1.11.8-freebsd-7.x.patch
lmsd-1.11.8-freebsd-7.x.patch 100% of 986 B 8292 kBps
[root@LMS-Server ~]patch < lmsd-1.11.8-freebsd-7.x.patch
[root@LMS-Server ~]cd lms/daemon/
[root@LMS-Server ~]./configure –with-mysql –incdir=/usr/local/include –libdir=/usr/local/lib/mysql –enable-debug1
[root@LMS-Server ~]gmake
[root@LMS-Server ~]gmake install
Notka: Argument ./configure are: –with-mysql = Skompilować ze wsparciem mysql; –incdir = szukaj w nagłówkach plików mysql; –libdir = Gdzie ma szukać pliki lib mysql; –enable-debug1 = logowanie zdarzeń.
Jeśli wszystko pójdzie dobrze demon i moduły zostaną zainstalowane w /usr/local/lms/. Teraz musimy się zastanowić, jak go uruchomić na starcie systemu ponieważ, czasami reboot serwera (aktualizacja, awarie, awaria zasilania itp.), a do tego mam już przygotowany skrypt uruchamiania. Pobierz go, przenieś do /usr/etc/rc.d/ i dodaj do /etc/rc.conf:
[root@LMS-Server ~]fetch http://mybsd.pl/wp-content/uploads/lmsd-script
lmsd_enable=”YES”
lmsd_flags=”-H localhost -h localhost -d lmsdb -u lmsuser -p lmspassword”
Teraz… start demona, /usr/local/etc/rc.d/lmsd-script start. Sprawdź czy możesz uruchomić ps ax | grep lmsd.
# Następne także potrzebne są przez skrypty w $LMS_HOME/bin/ ale w dokumentach nie są określone, więc wystarczy je uruchomić lub zajrzeć do źródeł aby znaleźć to czego potrzebują.
[root@LMS-Server ~] cd /usr/ports/net/p5-Net-Server; make install clean
[root@LMS-Server ~] cd /usr/ports/mail/p5-Mail-Sender; make install clean
[root@LMS-Server ~] cd /usr/ports/mail/p5-MIME-Tools; make install clean
[root@LMS-Server ~] cd /usr/ports/www/p5-LWP-UserAgent-Determined; make install clean
Gotowe…
P.S Tekst jest tłumaczeniem, ze strony: http://www.hh.ro/tuts/lms-freebsd.htm moim wkładem jest uruchomienie tego na FreeBSD i przetłumaczenie tekstu na język Polski (w lepszym lub gorszym stopniu).
Proszę o uwagi, komentarze do tłumaczenia i samej konfiguracji, powinienem w jakimś stopniu pomóc.
Pozdrawiam
Brak komentarzy