Selama penelitian dan pengujian yang luas untuk menulis pertanyaan yang layak layak stackexchange saya menemukan solusi: membangun kembali libapr1
paket di dalam tamu.
Saya pikir saya tetap memposting informasi ini karena dapat bermanfaat bagi orang lain.
Masalah
Ketika saya menginstal libapache2-mod-php5
di dalam tamu Wheezy dan mencoba untuk memulai, saya mendapatkan yang berikut:
root@test01:~# /usr/sbin/apache2ctl start
[crit] (22)Invalid argument: alloc_listener: failed to get a socket for (null)
Syntax error on line 9 of /etc/apache2/ports.conf:
Listen setup failed
Action 'start' failed.
The Apache error log may have more information.
root@test01:~# tail /var/log/apache2/error.log
root@test01:~#
root@test01:~# head -n 9 /etc/apache2/ports.conf|tail -n 1
Listen 80
Ini adalah instalasi paket murni yang tidak berubah yang secara default tidak dapat memulai.
Pengujian saya
Menurut dokumentasi resmi, Listen 80 sebenarnya baik-baik saja . Mengubahnya menjadi Listen 127.0.0.1:80
memberi saya:
[crit] (22)Invalid argument: 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 'start' failed.
Jadi mengapa Apache gagal mendapatkan soket? Saya sudah menjalankan deamons lain (mis. Nginx pada instalasi Wheezy lainnya; exim4 mendengarkan pada port 25 pada instalasi yang sama) tanpa masalah.
Lingkungan Hidup
Tuan rumah
Debian Lenny pada 2.6.26-2-vserver-amd64
# vserver-info
Versions:
Kernel: 2.6.26-2-vserver-amd64
VS-API: 0x00020303
util-vserver: 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
vserver(2) syscall#: 236/glibc
crypto api: beecrypt
use library versioning: yes
Paths:
prefix: /usr
sysconf-Directory: /etc
cfg-Directory: /etc/vservers
initrd-Directory: $(sysconfdir)/init.d
pkgstate-Directory: /var/run/vservers
vserver-Rootdir: /var/lib/vservers
Assumed 'SYSINFO' as no other option given; try '--help' for more information.
Tamu
Debian Wheezy, dibuat dengan vserver $VSERVER build -m debootstrap --hostname $VSERVER --netdev eth0 --context $CONTEXT --interface v$CONTEXT=x.y.z.$CONTEXT/zz -- -d wheezy -m http://apt-proxy:9999/debian/
Penelitian sejauh ini
Internet memberi saya hal-hal berikut:
- Masalah pada fedorra diperbaiki dengan memutakhirkan April
- Masalah diperbaiki dengan memutakhirkan paket
- Ketidakcocokan kernel
- Solusi lain membutuhkan peningkatan kernel
Ketakutan terbesar saya, dan ini adalah kesimpulan saya saat ini, adalah bahwa apache di dalam server virtual tergantung pada beberapa fitur kernel yang lebih baru yang tidak disediakan oleh host saya. Bagaimanapun, kernel default Wheezy tentu tidak setua 2.6.26 saya.
Saya ingin menghindari peningkatan kernel host dengan segala cara.
Mengapa?
- Kurang waktu dan pengetahuan (perangkat keras adalah server HP, tidak tahu apa yang harus diperhatikan)
- Wheezy tidak mendukung vserver lagi (di luar kotak; untuk instalasi sendiri lihat 1) ...)
- Sudah menjalankan vservers yang harus tersedia 24/7 (seluruh sistem adalah internal perusahaan dan tidak terpapar ke internet)
- Tidak ada perangkat keras yang sama kedua untuk melakukan pengujian
Saya bersedia menambal Apache
Jika mungkin untuk mencari tahu apa masalahnya, saya ingin membangun paket deb khusus untuk pencarian Wheezy saya.