Webmin é uma interface baseada na Web que é usado para administração do sistema em sistemas baseados em Unix. Ele permite que você configure contas de usuários e compartilhamento de arquivos. Devido ao seu design , você pode adicionar novos módulos com facilidade , sem alterar o código existente. Módulos do Webmin são semelhantes aos aplicativos do iPhone em termos de integração. Apesar de um módulo deve administrar um serviço ou servidor , as funções de sistema complexo pode ser tratada por mais de um módulo . Instruções
1
Crie uma nova pasta no diretório base Webmin com o nome " foobar ". Um módulo Webmin é basicamente um diretório que contém os programas CGI são executados pelo servidor web do Webmin . O caminho padrão para o diretório base é "/usr /libexec /webmin . "
2
Crie um arquivo em seu novo diretório com o nome " module.info . " Este arquivo contém as informações meta do seu módulo. Este arquivo deve conter pelo menos o " desc ", " os_support " e " categoria" tags.
3
Abra o arquivo " module.info " com um editor de texto e adicione estas linhas :
desc = Foo web Serveros_support = * = - linuxcategory servidores
" desc " contém a descrição de seu novo módulo, " os_support " contém uma lista de sistemas operacionais suportado pelo módulo e " categoria " especifica a categoria do menu em que o módulo é exibido.
4
Crie um novo arquivo no diretório do seu módulo. Ele deve ter o mesmo nome que a pasta , além de uma parte " - lib.pl " . No nosso exemplo, o novo arquivo será nomeado " foobar - lib.pl . " Este arquivo deve conter funções chamadas por programas CGI do seu módulo e vai chamar funções de inicialização no Webmin .
5
Aberto o arquivo " foobar - lib.pl " com um editor de texto e adicione este código de exemplo :
= head1 foobar - lib.plforeign_require ( " foobar ", " foobar - lib.pl "); @ locais = foobar :: list_foobar_websites () = { cutBEGIN push ( @ INC, ".." );} ; usar WebminCore ; init_config (); = head2 get_foobar_config ( ) = cutsub get_foobar_config { meu $ Lref = & read_file_lines ( $ config {' foobar_conf '} ); minha @ rv ; my $ lnum = 0; foreach my $ line ( @ $ Lref ) {my = split ( /\\ s + /, $ linha , 2) ( $ n, $ v) if ( $ n ) { push ( @ rv , {' nome ' => $ n, 'value' => $ v, ' linha ' => $ lnum }); } $ lnum + +; } return @ rv ;}
o " init_config (); " linha inicializa o ambiente de seu novo módulo. O sub " get_foobar_config " é um exemplo simples de uma função que pode ser chamado por um script CGI que gerencia um dos seus servidores para ler o arquivo de configuração do servidor.
6
Crie um novo arquivo com o nome " ; index.cgi "Este arquivo links para todos os programas CGI seu módulo serve. . Abra o arquivo com um editor de texto . Aqui está um exemplo de um arquivo " index.cgi " :
# /usr /bin /perlrequire ' foobar - lib.pl '; ui_print_header ( undef , $ text {' index_title '} " " undef , 1, 1 ); $ conf = get_foobar_config (); $ dir = find ( $ conf, " root " ); impressão e texto (' index_root ', $ dir ) , "
\\ n "; ui_print_footer (" /" , $ text { 'index' });
o " require ' foobar - lib.pl '; line " acessa biblioteca de funções do módulo e chama o função de inicialização , o " ui_print_header " gera header HTML da página e " ui_print_footer " é usado para criar um link para o menu principal do Webmin .
7
Crie uma nova pasta no diretório e nome do módulo ele " lang ". Crie um novo arquivo nesta pasta com o nome " en ". ele irá conter todas as mensagens usadas por seus scripts em linhas de texto , um por mensagem. Aqui está um exemplo "en " file: "
index_title = Foobar Web Serverindex_root = O diretório raiz é de $ 1
.