Webmin är ett webbaserat gränssnitt som används för systemadministration i Unix - baserade system . Det låter dig ställa in användarkonton och fildelning . Tack vare sin konstruktion , kan du lägga till nya moduler med lätthet utan att ändra den befintliga koden . Webmin -moduler liknar iPhone-program i form av integration . Även om en modul skall administrera en tjänst eller server kan komplexa systemfunktioner hanteras av mer än en modul . Instruktioner
1
Skapa en ny mapp i Webmin baskatalog och kalla den " foobar . " En Webmin -modul är i grunden en katalog som innehåller CGI program som drivs av Webmin webbserver . Den förvalda sökvägen till basen katalogen " /usr /libexec /Webmin . "
2
Skapa en fil i din nya katalog och döp den till " module.info . " Den här filen innehåller metainformation om din modul . Denna fil måste innehålla minst den " fallande ", " os_support " och " kategori " taggar .
3
Öppna " module.info " filen med en textredigerare och lägga till dessa rader :
desc = Foo Web Serveros_support = * - linuxcategory = servrar
" desc " innehåller en beskrivning av din nya modulen , " os_support " innehåller en lista med operativsystem stöds av modulen och " category " anger menyn kategori under vilken modulen visas .
4
Skapa en ny fil i din modul katalog . Det måste ha samma namn som den mapp , plus ett " - lib.pl " delen . I vårt exempel , kommer den nya filen ska namnges " foobar - lib.pl . " Denna fil måste innehålla funktioner som anropas av din modulens CGI-program och kallar initiering funktioner i Webmin .
5
Open den " foobar - lib.pl " filen med en textredigerare och lägg till denna exempelkod :
= head1 foobar - lib.plforeign_require ( " foobar " , " foobar - lib.pl " ) ; @ platser = foobar :: list_foobar_websites ( ) = cutBEGIN { tryck ( @ INC , " .. " ) ;} , användning WebminCore , init_config ( ) ; = head2 get_foobar_config ( ) = cutsub get_foobar_config { my $ Lref = & read_file_lines ( $ config { " foobar_conf ' } ) ; min @ rv , min $ lnum = 0 ; foreach min $ line ( @ $ Lref ) { my ( $ n , $ v ) = split ( /\\ s + /, $ line , 2 ) , om ( $ n ) { tryck ( @ rv , { ' name' = > $ n , ' value ' = > $ v , ' linje ' = > $ lnum } ) ;} $ lnum + + ; } retur @ rv ; }
" init_config ( ) ; " linje initierar miljön för din nya modulen . Den " get_foobar_config " sub är ett enkelt exempel på en funktion som kan anropas med ett CGI-skript som förvaltar en av dina servrar för att läsa serverns konfigurationsfil .
6
Skapa en ny fil med namnet " ; index.cgi " Denna fil länkar till alla CGI-program din modul tjänar . . Öppna filen med en textredigerare . Här är ett exempel på en " index.cgi " file :
# /usr /bin /perlrequire ' foobar - lib.pl ' ; ui_print_header ( undef , $ text { ' index_title ' } , " " , undef , 1 , 1 ) ; $ conf = get_foobar_config ( ) ; $ dir = hitta ( $ conf , " root " ) , print & text ( ' index_root ' , $ dir ) , "
\\ n "; ui_print_footer ( " /" , $ text { ' index ' } ) ;
" kräva " foobar - lib.pl ' , " linje åt din modulens funktion bibliotek och anropar initiering funktion genererar " ui_print_header " sidans HTML sidhuvud och " ui_print_footer " används för att skapa en länk till Webmin huvudmeny .
7
Skapa en ny mapp i modulen katalog och namn det " lang . " Skapa en ny fil i denna mapp och döp den till " en. " det kommer att innehålla alla meddelanden som används av dina skript i textrader , en per meddelande . Här är ett urval " sv " file : ".
Index_title = Foobar Web Serverindex_root = Rotkatalogen är $ 1