লিনাক্স-ভেসারভের অ্যাপাচি শুরু হবে না, সকেট তৈরি করতে পারে না


8

স্ট্যাকেক্সচেঞ্জের উপযুক্ত প্রশ্নটি লেখার জন্য ব্যাপক গবেষণা এবং পরীক্ষার সময় আমি একটি সমাধান পেয়েছি: libapr1অতিথির অভ্যন্তরে প্যাকেজটি পুনর্নির্মাণ করুন ।
আমি ভেবেছিলাম আমি তবুও এই তথ্যটি পোস্ট করব কারণ এটি অন্যদের পক্ষে কার্যকর হতে পারে।

সমস্যা

আমি যখন libapache2-mod-php5হুইজি অতিথির ভিতরে ইনস্টল করি এবং এটি শুরু করার চেষ্টা করে, আমি নিম্নলিখিতটি পাই:

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

এটি অপরিবর্তিত মূল প্যাকেজ ইনস্টলেশন যা ডিফল্টরূপে শুরু করতে পরিচালনা করে না।

আমার পরীক্ষা

অফিসিয়াল ডকুমেন্টেশন অনুসারে, শোনো 80 আসলে ঠিক আছে । এটিকে রূপান্তর করা Listen 127.0.0.1:80আমাকে দেয়:

[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.

তাহলে আপাচি কেন সকেট পেতে ব্যর্থ হবে? আমি সমস্যা ছাড়াই অন্যান্য ডিমনগুলি চালিয়েছি (অন্য হুইজি ইনস্টলেশনে যেমন এনগিনেক্স; একই ইনস্টলেশনের পোর্ট 25 এ এক্সিম 4 শোনা) without

পরিবেশ

নিমন্ত্রণকর্তা

2.6.26-2-ভেসার-এএমডি 64 তে ডেবিয়ান লেনি

# 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.

অতিথি

দিয়ে তৈরি দেবিয়ান হুইজি 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/

এখনও পর্যন্ত গবেষণা

ইন্টারনেটগুলি এখনও পর্যন্ত নিম্নলিখিত জিনিসগুলি দিয়ে আমাকে উস্কে দিয়েছে:

আমার সবচেয়ে বড় ভয়, এবং এটি আমার বর্তমান উপসংহার, ভার্চুয়াল সার্ভারের ভিতরে থাকা অ্যাপাচি কিছু নতুন কার্নেল বৈশিষ্ট্য যা আমার হোস্ট সরবরাহ করে না তার উপর নির্ভর করে। সর্বোপরি হুইজি ডিফল্ট কার্নেলটি অবশ্যই আমার ২.6.২6 এর মতো পুরানো নয়।

আমি যেকোন মূল্যে হোস্টের কার্নেলকে আপগ্রেড করা এড়াতে চাই।

কেন?

  • সময় এবং জ্ঞানের অভাব (হার্ডওয়্যার এইচপি সার্ভার, কী কী নজর রাখবেন তা ধারণা নেই)
  • হুইজি আর ভিজারভার সমর্থন করে না (বাক্সের বাইরে; স্ব-ইনস্টলেশনের জন্য দেখুন 1) ...)
  • ইতিমধ্যে চলমান ভেসারগুলি যা 24/7 উপলব্ধ হওয়া প্রয়োজন (পুরো সিস্টেমটি অভ্যন্তরীণ এবং ইন্টারনেটের সংস্পর্শে নেই)
  • পরীক্ষা চালানোর জন্য দ্বিতীয় কোনও একই হার্ডওয়্যার নেই

আমি আপাচে প্যাচ করতে ইচ্ছুক

সমস্যাটি কী তা অনুধাবন করা সম্ভব হলে আমি আমার হুইজি অনুসন্ধানের জন্য একটি কাস্টম দেব প্যাকেজ তৈরি করতে চাইছি।

উত্তর:


16

সমাধান

আমি প্রথম বাক্যে যেমন বলেছিলাম, ইতিমধ্যে সমাধানটি আমিlibapr1 খুঁজে পেয়েছি: আমি অতিথির ভিতরে প্যাকেজটি পুনরায় তৈরি করেছি

আমি "অবৈধ আর্গুমেন্ট: বরাদ্দ_বাদক: (নাল)" এর জন্য সকেট পেতে ব্যর্থ হয়েছি, এর জন্য গুগল করে সমাধানটি পেয়েছি , 5 তম হিটটি ছিল অবৈধ আর্গুমেন্ট ক্রেপ যা কার্নেলের আপগ্রেডের কথা উল্লেখ করেছে এবং অন্য ব্লগারকে ফেডোরা 11 httpd সমস্যার কথা বলে উল্লেখ করেছে :

ইস্যুটি তিনটি কার্নেল কল সম্পর্কিত যা এপ্রিল -১.৩.৮-১: গ্রহণ 4 (), ডুপ 3 () এবং এপল_ক্রিয়েট 1 () তে ব্যবহৃত হয়। এই কলগুলি ছাড়াই, অ্যাপাচি শুরু করতে অক্ষম।

তিনি ফেডোরা টিম স্থির করে উল্লেখ করেছেন তাই আমি বাগ রিপোর্টটি পরীক্ষা করে দেখেছি: https://bugzilla.redhat.com/show_bug.cgi?id=516331 , বিশেষভাবে দ্বিতীয় মন্তব্য :

.. যদি আপনি সেই জেন উদাহরণে নিজের নিজস্ব এপিআর তৈরি করেন তবে এটি পুরানো ফাংশনগুলি সঠিকভাবে গ্রহণ করবে এবং কাজ করবে ..

এটি একটি ঘণ্টা বেজেছিল। আমাকে যা করতে হয়েছিল তা হ'ল libapr1প্যাকেজটি পুনর্নির্মাণ করতে হবে কারণ কনফিগার স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে খুঁজে বের করবে accept4যা উপলভ্য নয় এবং এতে ফিরে যাবে accept। এটি আমি এটি করেছিলাম:

  • apt-get source libapr1
  • tar -xf apr_1.4.6.orig.tar.gz
  • cd apr-1.4.6
  • tar -xf ../apr_1.4.6-3.debian.tar.gz
  • dpkg-buildpackage
    নিখোঁজ নির্ভরতাগুলির কারণে এটি প্রথমে ব্যর্থ হয়েছিল: apt-get install debhelper autoconf autotools-dev uuid-dev doxygen libtool
  • কিছু সময় পরে এটি যে ডিরেক্টরিটি ইনস্টল করেছি তার বাইরে একটি ডেবিয়ান প্যাকেজ তৈরি করেছে:
    dpkg -i libapr1_1.4.6-3_amd64.deb
  • তারপরে আমি সবে মাত্র আপাচি শুরু করে দিয়েছিলাম!
    /etc/init.d/apache2 start

ডিস্ক-অনাহারে থাকা সিস্টেমে আপনি সংকলনের পরে ডক্সিজেন অপসারণ করতে চাইতে পারেন: আমার সিস্টেমে এটির নির্ভরতা সহ 600MB এরও বেশি প্রয়োজন।


+1 ধন্যবাদ, খুব সহায়ক এবং এটি আমার সমস্যাটিও ঠিকভাবে সার্ভারফ্রন্ট / প্রশ্ন / 506238/… এ ঠিক করেছে আপনার নিজের উত্তরটি স্বীকৃত হিসাবে চিহ্নিত করা উচিত।
aseq

এমন কোনও প্যাকেজ নেই
ফ্ল্যাশ থান্ডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.