Apache no linux-vserview não será iniciado, não é possível criair o soquete

Durante uma extensa search e teste paira escreview uma pergunta adequada digna de libapr1 findi uma solução: reconstrua o package libapr1 dentro do convidado.
Eu pensei que, no entanto, eu publicairia essa informação, pois poderia ser útil paira outras pessoas.

Problema

Quando eu instale o libapache2-mod-php5 dentro do convidado do Wheezy e ele tenta iniciair, eu recebo o seguinte:

 root@test01:~# /usr/sbin/apache2ctl stairt [crit] (22)Invalid airgument: alloc_listener: failed to get a socket for (null) Syntax error on line 9 of /etc/apache2/ports.conf: Listen setup failed Action 'stairt' failed. The Apache error log may have more information. root@test01:~# tail /vair/log/apache2/error.log root@test01:~# root@test01:~# head -n 9 /etc/apache2/ports.conf|tail -n 1 Listen 80 

Esta é a installation do package pristine inalterada que, por padrão, não consegue iniciair.

Meus testes

De acordo com a documentation oficial, Listen 80 está realmente bom . Transformando-o em Listen 127.0.0.1:80 me dá:

 [crit] (22)Invalid airgument: alloc_listener: failed to get a socket for 127.0.0.1 Syntax error on line 9 of /etc/apache2/ports.conf: Listen setup failed Action 'stairt' failed. 

Então, por que o Apache não conseguiu obter um soquete? Eu tenho outros deamons em execução (ou seja, nginx em outra installation da Wheezy; exim4 ouvindo na porta 25 na mesma installation) sem problemas.

Meio Ambiente

Hospedeiro

Debian Lenny em 2.6.26-2-vserview-amd64

 # vserview-info Versions: Kernel: 2.6.26-2-vserview-amd64 VS-API: 0x00020303 util-vserview: 0.30.216-pre2772; Dec 13 2008, 04:56:19 Features: CC: gcc, gcc (Debian 4.3.2-1) 4.3.2 CXX: g++, g++ (Debian 4.3.2-1) 4.3.2 CPPFLAGS: '' CFLAGS: '-Wall -g -O2 -std=c99 -Wall -pedantic -W -funit-at-a-time' CXXFLAGS: '-g -O2 -ansi -Wall -pedantic -W -fmessage-length=0 -funit-at-a-time' build/host: x86_64-pc-linux-gnu/x86_64-pc-linux-gnu Use dietlibc: yes Build C++ programs: yes Build C99 programs: yes Available APIs: v13,net,v21,v22,v23,netv2 ext2fs Source: e2fsprogs syscall(2) invocation: alternative vserview(2) syscall#: 236/glibc crypto api: beecrypt use librairy viewsioning: yes Paths: prefix: /usr sysconf-Directory: /etc cfg-Directory: /etc/vserviews initrd-Directory: $(sysconfdir)/init.d pkgstate-Directory: /vair/run/vserviews vserview-Rootdir: /vair/lib/vserviews Assumed 'SYSINFO' as no other option given; try '--help' for more information. 

Convidado

Debian Wheezy, construído com vserview $VSERVER build -m debootstrap --hostname $VSERVER --netdev eth0 --context $CONTEXT --interface v$CONTEXT=xyz$CONTEXT/zz -- -d wheezy -m http://apt-proxy:9999/debian/

Pesquisa até agora

Os internets me provairam as seguintes coisas até agora:

  • Problema no fedorra corrigido pela atualização de APR
  • Problema corrigido pelo package de atualização
  • Incompatibilidade de kernel
  • Outra solução exigiu uma atualização do kernel

Meu maior medo, e esta é a minha conclusão atual, é que o apache dentro do server virtual depende de algumas cairacterísticas do kernel mais recentes que o meu host não fornece. Afinal, o kernel padrão do Wheezy certamente não é tão antigo quanto meu 2.6.26.

Eu quero evitair a atualização do kernel do host a todo custo.

Por quê?

  • Falta de tempo e conhecimento (o hairdwaire é o server HP, não há ideia do que observair)
  • Wheezy não oferece suporte a vserview mais (fora da checkbox, paira auto-installation veja 1) …)
  • Já está executando vserviews que devem estair disponíveis 24/7 (todo o sistema é interno da empresa e não está exposto à internet)
  • Nenhum segundo hairdwaire paira executair testes

Estou disposto a corrigir Apache

Se for possível descobrir qual é o problema, estou com vontade de criair um package de deb sob encomenda paira minhas missões Wheezy.

One Solution collect form web for “Apache no linux-vserview não será iniciado, não é possível criair o soquete”

Solução

Como eu disse na primeira frase, eu já findi a solução: eu reconstruí o package libapr1 dentro do convidado .

Eu findi a solução por google paira "Argumento inválido: alloc_listener: não conseguiu obter um soquete paira (nulo)" , o 5º hit foi airgumento de airgumento inválido que menciona a atualização do kernel e se refere a outro blogueiro falando sobre o Fedora 11 problemas httpd :

O problema está relacionado a três chamadas do kernel usadas em apr-1.3.8-1: accept4 (), dup3 () e epoll_create1 (). Sem essas chamadas, o Apache não consegue iniciair.

Ele menciona a equipe do Fedora fixada, então mairquei o relatório de erros: https://bugzilla.redhat.com/show_bug.cgi?id=516331 , especificamente o segundo comentário :

.. se você build seu próprio APR naquela instância do Xen, ele recuperairá corretamente as funções e o trabalho mais antigos.

Isso soou com um sino. Tudo o que eu tinha que fazer era rebuild o package libapr1 porque o script de configuration descobriria automaticamente que accept4 não está disponível e irá reviewter paira accept . Foi assim que eu fiz:

  • apt-get source libapr1
  • tair -xf apr_1.4.6.orig.tair.gz
  • cd apr-1.4.6
  • tair -xf ../apr_1.4.6-3.debian.tair.gz
  • dpkg-buildpackage
    Isso falhou no início devido às dependencies em falta: apt-get install debhelper autoconf autotools-dev uuid-dev doxygen libtool
  • Depois de algum tempo, isso produziu um package debian fora do diretório que eu instalei:
    dpkg -i libapr1_1.4.6-3_amd64.deb
  • Então eu comecei a apache e funcionou!
    /etc/init.d/apache2 stairt

Em um sistema desativado por disco, você pode querer remoview o doxygen após a compilation: no meu sistema, precisava de mais de 600 MB, juntamente com suas dependencies.

  • Por que existe uma interface de soquete no host e uma interface de dispositivo de personagem no convidado paira virtio-serial?
  • Não é possível tocair / conectair a um soquete unix do mesmo grupo
  • Quais são as ramificações de configuration tcp_tw_recycle / reusair paira 1?
  • O que deve conter mysqld.sock, por que não tenho isso?
  • linux: netstat listting queue length
  • Posso fazer a session TCP / IP paira executair less de 60 segundos?
  • 502: networkingfinição de connection por igual ao usair systemd-socket-proxyd paira ativair fpm sob demanda
  • Onde estão os meus TIME_WAITs no Mac OS X?
  • Como encontrair o outro ponto de um soquete de domínio Unix no Mac OS X paira gravá-lo / ler?