Webmin ist eine Web - basierte Schnittstelle, die für die Systemadministration in Unix -basierten Systemen verwendet wird. Es ermöglicht Ihnen, die Einrichtung von Benutzerkonten und File-Sharing. Aufgrund seiner Bauform , können Sie neue Module mit Leichtigkeit , ohne den bestehenden Code hinzufügen. Webmin Module sind ähnlich zu iPhone-Anwendungen im Hinblick auf Integration . Obwohl ein Modul einen Dienst oder Server verwalten soll , können komplexe Systemfunktionen durch mehr als ein Modul behandelt werden. Anleitung
1
Erstellen eines neuen Ordners in der Webmin Basisverzeichnis und nennen Sie es " foobar . " Eine Webmin -Modul ist im Grunde ein Verzeichnis, das die CGI-Programme durch die Webmin Webserver ausgeführt enthält. Der standardmäßige Pfad zum Basisverzeichnis ist "/usr /libexec /webmin . "
2
Erstellen Sie eine Datei in Ihrem neuen Verzeichnis mit dem Namen " module.info . " Diese Datei enthält die Meta-Informationen des Moduls . Diese Datei muss mindestens die " ab ", " os_support " und " Kategorie" Tags.
3
Öffnen Sie die " module.info "-Datei mit einem Texteditor und fügen Sie diese Zeilen :
desc = Foo Web Serveros_support = * = Server - linuxcategory
" desc" enthält die Beschreibung des neuen Moduls " os_support " enthält eine Liste von Betriebssystemen unterstützt durch das Modul und " Kategorie" gibt das Menü Kategorie, unter der das Modul wird angezeigt.
4
erstellen Sie eine neue Datei in Ihrem Verzeichnis Moduls . Es muss den gleichen Namen wie der Ordner , sowie ein " - lib.pl "-Teil. In unserem Beispiel wird die neue Datei namens " foobar - lib.pl " werden. Diese Datei muss Funktionen Ihres Moduls CGI-Programme enthalten und wird als Initialisierung Funktionen in Webmin nennen .
5
öffnen die " foobar - lib.pl " -Datei mit einem Texteditor und fügen Sie diesen Beispielcode :
= head1 foobar - lib.plforeign_require ( " foobar ", " foobar - lib.pl "); @ sites = foobar :: list_foobar_websites () = cutBEGIN {push ( @ INC, ".." );} ; Verwendung WebminCore ; init_config (); = head2 get_foobar_config () = cutsub get_foobar_config {my $ Lref = & read_file_lines ( $ config {' foobar_conf '} ); my @ rv ; my $ lnum = 0; foreach my $ line ( @ $ Lref ) { my ($ n , $ v) = split ( /\\ s + /, $ line , 2) if ( $ n) {push ( @ rv , { 'name' => $ n , 'value' => $ v , 'line' => $ lnum } );} $ lnum + +; } return @ rv ;}
" init_config ();" Zeile initialisiert die Umgebung Ihres neues Modul. Die " get_foobar_config " sub ist ein einfaches Beispiel für eine Funktion , die von einem CGI -Skript, das einem der Server des Servers config-Datei lesen verwaltet aufgerufen werden können.
6
Erstellen Sie eine neue Datei mit dem Namen " ; index.cgi "Diese Datei Links zu allen CGI-Programme Ihres Moduls dient . . Öffnen Sie die Datei mit einem Texteditor. Hier ist ein Beispiel für eine " index.cgi " file :
# /usr /bin /perlrequire 'foobar - lib.pl '; ui_print_header ( undef , $ text {' index_title ' }, " " , undef , 1 , 1); $ conf = get_foobar_config (); $ dir = find ($ conf, " root " ) , Print & text ( ' index_root ', $ dir) , "
\\ n "; ui_print_footer (" /" , $ text { 'index' });
" require ' foobar - lib.pl '; " Linie greift das Modul die Funktion Bibliothek und ruft die Initialisierung Funktion erzeugt die " ui_print_header " der Seite HTML -Header und den " ui_print_footer " wird verwendet, um einen Link zum Hauptmenü Webmins erstellen.
7
erstellen eines neuen Ordners in das Modul Verzeichnis und den Namen es "lang . " erstellen Sie eine neue Datei in diesem Ordner und nennen Sie es "en . " Es werden alle Meldungen durch Ihre Skripts in Textzeilen verwendet , eine pro Nachricht enthalten . Hier ist ein Beispiel "en " file: ".
Index_title = Foobar Web Serverindex_root = Das Root-Verzeichnis ist $ 1