Home > Dicas > Criando um ISO de auto-instalação do cPanel

Criando um ISO de auto-instalação do cPanel

March 4th, 2010

Adaptado do Artigo Original – http://goo.gl/CdvH

Uma grande necessidade dos administradores de ambientes virtualizados ou datacenters é customizar a imagem de instalação do CentOS para instalar automaticamente o cPanel. Matt Dees da Staff da cpanel colaborou com a comunidade postando um passo-a-passo, a ISO abaixo também realizará algumas pré-configurações de instalação e instalará pacotes atualizados, além de obviamente instalar o cPanel. Acho que essa informação é útil para quem deseja criar uma imagem de instalação do CentOS, seja para o cPanel ou para qualquer outra instalação. Para criar a imagem de instalação nós iremos modificar a ISO do CentOS DVD, adicionando um arquivo kickstart, retirando os pacotes desnecessários, e atualizando os pacotes restantes.

Você precisará de algumas coisas para criar esta imagem:

  1. Um servidor rodando cPanel e o sistema operacional desejado, recomendamos usar uma instalação nova.
  2. Os pacotes yum-utils e o createrepo instalados pelo Yum.

Criando a lista de pacotes

Você necessita obter a lista de pacotes em um servidor cPanel, essa lista será utilizada em vários momentos do processo para o instalador saber o que ele deve instalar, ou para o yumdownloader saber o que precisará baixar. Infelizmente não existe uma maneira fácil de ser obter esta lista, além disso, o cPanel oferece alguns pacotes que não estão disponíveis no Yum. Você nunca deve instala-los manualmente, você precisa filtrar e remover estes pacotes. Isso deve ser feito usando o comando Shell abaixo:

rpm -qa | egrep -v “(nsd|bandmin|proftpd|pure-ftpd|frontpage|gpg-pubkey|MySQL|exim|courier|dovecot)” | perl -lane ‘$F[0] =~ s/\-[0-9].+$//; print $F[0];’ | sort | uniq > ~/rpmlist

Este comando gerará um arquivo contendo o nome dos pacotes do sistema excluindo o nome dos pacotes instalados pelo cPanel e um par de outros pacotes.

Copiando o ISO

Copiar a ISO do instalador é uma tarefa relativamente simples. Você precisa simplesmente baixa-ló para o sistema em questão, monta-ló e copia-ló para seu diretório Home, tenha certeza de copiar os arquivos iniciados com “.” também:

Exemplo:

wget http://url/to/some/iso
mkdir /mnt/iso
mount -o loop some_iso /mnt/iso
cp -pr /mnt/ISO ~
cp -pr /mnt/ISO/.discinfo ~/ISO/
cp -pr /mnt/ISO/.treeinfo ~/ISO/

Criando e alimentando o repositório

Criar seu repositório é um passo muito importante do progresso. Usar os pacotes fornecidos com o DVD vai gerar uma instalação desatualizada, apesar de isso poder ser positivo para algum tipo de utilização, mais provavelmente você vai preferir que o processo de instalação use pacotes atualizados, isso pode resultar em uma instalação ainda mais rápida.

O primeiro passo é limpar o repositório atual:

chdir ~/iso/CentOS/
rm -f *

Após limpo você precisará repovoar com pacotes atualizados, para fazer isso vamos utilizar o utilitário yumdownloader disponível com o yum-utils .

cd ~/iso/CentOS/
yumdownloader –resolve `cat ~/rpmlist | tr ‘\n’ ‘ ‘`

Isso vai baixar as últimas versões dos pacotes em questão do Yum e coloca-los no diretório atual, lembre-se de que este processo pode demorar dependendo da conexão à internet e da velocidade do mirror em questão.

Uma vez que este passo esta completo, você tem de preencher o repositório de arquivos com as informações corretas, para isso use o utilitário createrepo:

cd ~/ISO/
createrepo -g repodata/comps.xml .

Inserindo o arquivo Kickstart

Você precisa criar e inserir o arquivo kickstart no local correto. Um exemplo deste arquivo pode ser obtido em http://layer1.cpanel.net/cpanel-ks.cfg. Este arquivo pode ser utilizado para definir os padrões da instalação, tornando-a totalmente automatizada, além de pré-configurar o cPanel. No futuro falaremos sobre o que pode ser inserido neste arquivo para deploy de servidores cPanel (documentação original:  http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-options.html), mais neste momento a única coisa que precisa ser de seu conhecimento é que a listagem do conteúdo do diretório /root/rpmlist deve ser copiado entre %packages e %post dentro de cpanel-ks.cfg. Uma vez que tenha feito isso deve coloca-ló também no diretório Home.

cd ~/ISO/
wget
http://layer1.cpanel.net/cpanel-ks.cfg

Configurando o instalador para usar o arquivo Kickstart

O bootloader deve ser configurado para usar o arquivo kickstart, você deve fazer isso editando ~/ISO/isolinux/isolinux.cfg.

Este arquivo deve ter algo similar a:

label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text

Em ambos, ks=cpanel-ks.cfg deve ser adicionado ao final das linhas de append. Isso ira dizer ao instalador para carregar automaticamente o arquivo kickstart.

Criando o ISO.

Uma vez que tudo foi feito o utilitário “mkisofs” pode ser utilizado para criar o ISO:

mkisofs -o $output_file -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T .

Após isso você já pode queimar o ISO em um disco e iniciar a configuração/instalação de seu servidor =]

Dicas

  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.