আমি কীভাবে একটি নির্দিষ্ট সংস্করণ দিয়ে অ্যাপাচি ইনস্টল করতে পারি?


26

উবুন্টু আপডেট হওয়ার কারণে, আমি অ্যাপাচি ২.২ থেকে ২.৪ এ উন্নতি করতে ভুল করেছি the অনেক কিছুই ভুল হয়ে গেছে।

সংস্করণটি কীভাবে নির্দিষ্ট করা যায় তা সম্পর্কে আমার কোনও ধারণা নেই apt-get remove apache2apt-get install apache2সর্বদা 2.4 ইনস্টল করে।

আমি এটা কিভাবে করবো?

উত্তর:


22

আপনাকে নিম্নলিখিতগুলি করতে হবে:

apt-cache showpkg <pachagename>

উপরের কমান্ডটি এই প্যাকেজের জন্য উপলব্ধ সংস্করণগুলির তালিকা প্রদর্শন করবে। তারপরে প্রয়োজনীয় সংস্করণটি নির্বাচন করুন এবং নিম্নলিখিতটি করুন।

apt-get install <packagename>=<complete version name>

উদাহরণ:

apt-cache showpkg apache2
apt-get install apache2=2.2.14-5ubuntu8.7

2
উবুন্টু 16 এ আমার জন্য কেবলমাত্র সংস্করণটি 2.4 হয় This এটি একটি বড় সমস্যা কারণ ২.৪ আমার সমস্যা সম্পূর্ণরূপে ভেঙে ফেলেছে এমন সমস্যাগুলি জেনে গেছে।

2
অ্যাপাচি 2-র সংস্করণ 2.2.14-5ubuntu8.7 পাওয়া যায় নি
ব্রায়ান মেলর

ধন্যবাদ - এটি পিপিএ রুটে যাওয়ার চেষ্টা করার চেয়ে আরও ভাল কাজ করেছে।
এম থমাস

5

কীভাবে কোনও উবুন্টু ডিস্ট্রোতে অ্যাপাচি ২.২ ইনস্টল করা যায় যা এটি সংগ্রহস্থলের মধ্যে নেই।

আবশ্যকতা

এটি করার জন্য আপনার বিল্ড-এসেনশিয়াল প্যাকেজ ইনস্টল থাকা দরকার।

~# sudo apt-get install build-essential

এটি সমর্থন করে এমন ব্রাউজারগুলিতে আপাচে আউটপুট সংকোচনের ক্ষমতা দিতে আপনার zlib ইনস্টল করা দরকার। জলিপ হম্পেজ (zlib-1.2.11.tar.gz লেখার মতো) থেকে বর্তমান প্রকাশটি ডাউনলোড করুন, এটিটি বের করুন, নিষ্কাশন ফোল্ডারে নেভিগেট করুন, বিল্ড করুন এবং ইনস্টল করুন।

wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local
make
sudo make install

অ্যাপাচি ২.২ ইনস্টল করুন

অ্যাপাচি ডাউনলোড পৃষ্ঠা থেকে লিখিত সংস্করণটি ডাউনলোড করুন (লিখিতভাবে httpd-2.2.32.tar.gz), এটিটি বের করুন, নিষ্কাশন ফোল্ডারে নেভিগেট করুন, বিল্ড করুন এবং ইনস্টল করুন।

wget http://www-eu.apache.org/dist/httpd/httpd-2.2.32.tar.gz
tar -xvf httpd-2.2.32.tar.gz
cd httpd-2.2.32/
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
make
sudo make install

অ্যাপাচি শুরু করুন:

sudo /usr/local/apache2/bin/apachectl start

সবকিছু ঠিক আছে কিনা তা পরীক্ষা করে দেখুন

আপনার ব্রাউজারে http: // লোকালহোস্টে নেভিগেট করুন , যেখানে আপনাকে "এটি কাজ করে!" বলে একটি বার্তা দেখতে হবে।

পর্যায়ক্রমে, আপনি টার্মিনাল মাধ্যমে এটি করতে পারেন:

wget -qO- http://localhost | grep "It works!"

টার্মিনাল এ যা এরকম কিছু আউটপুট করা উচিত:

<html><body><h1>It works!</h1></body></html>

অ্যাপাচি 2 এর জন্য "পরিষেবা" তৈরি করুন

sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache22
sudo chmod +x /etc/init.d/apache22

ইঙ্গিত: আপনি এখন সুডো সার্ভিস অ্যাপাচি 22 এর সাথে অ্যাপাচিেক্টল কল করতে পারেন ।

বুট সময়ে অ্যাপাচি শুরু করুন

sudo sed -i '2i #\n### BEGIN INIT INFO\n# Provides:             apache2\n# Required-Start:       $remote_fs\n# Required-Stop:        $remote_fs\n# Default-Start:        2 3 4 5\n# Default-Stop:         0 1 6\n# Description:          apache2\n# Short-Description:    The Apache webserver\n### END INIT INFO' /etc/init.d/apache22
sudo /usr/sbin/update-rc.d apache22 defaults

সুরক্ষা অ্যাপাচি

sudo service apache22 stop
sudo adduser --system apache
sed -i -e 's/User daemon/User apache/g' /usr/local/apache2/conf/httpd.conf
sed -i -e 's/Group daemon/Group nogroup/g' /usr/local/apache2/conf/httpd.conf
sudo service apache22 start

নতুন সেটিংস পরীক্ষা করুন

ps -aux | grep httpd

যদি শেষ কমান্ডের টার্মিনাল আউটপুট "অ্যাপাচি" দিয়ে শুরু করে কিছু লাইন দেখায় তবে সবকিছু ঠিক আছে।

আপনার সাইট (গুলি) কনফিগার করুন

আপনি যদি কেবল একটি সাইটের জন্য নিজের অ্যাপাচি কনফিগার করতে চান তবে কেবল httpd.conf সম্পাদনা করুন

nano /usr/local/apache2/conf/httpd.conf

আপনি যে প্রয়োজনীয় প্যারামিটারগুলি সংশোধন করতে চাইতে পারেন তা হ'ল:

ServerName www.example.com:80
DocumentRoot "/usr/local/apache2/htdocs"

<Directory "/usr/local/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

আপনি যদি একাধিক সাইট কনফিগার করতে চান তবে httpd-vhosts.conf এ দেখুন

nano /usr/local/apache2/conf/httpd.conf

উপরের অংশের অনুরূপ <ভার্চুয়ালহস্ট> এর সাথে মিল রেখে আপনাকে <ডিরেক্টরি> বিভাগ যুক্ত করতে হবে তবে ভিটিহোস্টের নথির মূলের জন্য। উদাহরণ স্বরূপ:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
    <Directory "/usr/local/apache2/docs/dummy-host.example.com">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

এই নির্দেশাবলী অনুসরণ করে, আমি এটিতে চলেছি: dzenan @ ubuntu16-i386: ~ / httpd-2.2.34 $ sudo /usr/sbin/update-rc.d apachectl ডিফল্টগুলি অন্তর্ভুক্ত করুন: স্ক্রিপ্ট অ্যাপাচিটিল: পরিষেবা অপচে 2 ইতিমধ্যে সরবরাহ করা হয়েছে! অন্তর্নিহিত: এখনই বের হচ্ছে! আপডেট-আরসি.ডি: ত্রুটি: স্ক্রিপ্ট শিরোনামটি অস্বীকার করে
Dženan

প্রকৃতপক্ষে, উবুন্টু 16.04 এ ইতিমধ্যে /etc/init.d/apache2মূলত পৃথক সামগ্রী সহ ফাইল রয়েছে।
দিনান

আপত্তিকর ফাইলটি সরিয়ে ফেলা আমাদের সেই পদক্ষেপের উপরে চলে যায় তবে sudo service apachectl stopপরিষেবাটি থামায় না।
দিনান

"সুডো সার্ভিস অ্যাপাচিটেল স্টপ" কেবলমাত্র কার্যকর হবে না, যদি আপনি বুটের সময় এপাচি তৈরির অধীন পদক্ষেপগুলি অনুসরণ না করেন । আমার উত্তরটি পড়ার পরেও আমি এটি পরিবর্তন করার সিদ্ধান্ত নিয়েছি ... প্রথমত, অ্যাপাচিেক্টল একটি "পরিষেবাদি" এর পক্ষে সত্যই খারাপ নাম এবং এটিকে বিভাগটির অংশ তৈরি করা খারাপ ছিল। সুতরাং, পরিবর্তে আপনি এখন সুডো সার্ভিস অ্যাপাচি 22 স্টপ / স্টপ করবেন , অ্যাপাচি 2 এর জন্য "পরিষেবা" তৈরি করার পদক্ষেপ অনুসরণ করে ।
জোহানো ফিয়েরা

আমি এই পদ্ধতির পরিত্যাগ এবং অ্যাপাচি ২.৪ এর সাথে সামঞ্জস্য করতে আমার কনফিগারেশন ফাইল আপডেট করার সিদ্ধান্ত নিয়েছি। মাথাব্যথা কম সেভাবে। তবে বিস্তারিত উত্তরের জন্য ধন্যবাদ!
দিনানান

4

প্যাকেজ পিনিংয়ে উবুন্টু হাওটো দেখুন :

ফাইল সম্পাদনা করুন /etc/apt/preferences

'পছন্দগুলি' ফাইলটি যেখানে আসল পিনিং হয়। একটি প্যাকেজ পিন করতে, এর পিন-অগ্রাধিকারটি উচ্চতর সংখ্যায় সেট করুন। এখানে একটি উদাহরণ:

Package: apache2
Pin: release n=raring
Pin-Priority: 1000

দৌড়ানোর আগে apt-get updateবা apt-get installসাথে পরীক্ষা করুনapt-cache policy apache2

দেখুন man apt_preferencesবিস্তারিত জানার জন্য। আমি পিনিংয়ের raringপ্রকাশটি বেছে নিয়েছি কারণ আপনি এখনও ২.২.x শাখায় আপডেট পাবেন updates ভুলে যাবেন না যে আপনাকে প্যাকেজটি এপিটি raring-র সংগ্রহস্থল ইউআরএল যোগ করে উপলব্ধ করতে হবে ।

আপডেট :

হিসাবে raringEOL হয়, হয় আপনি ব্যবহার করতে পারে এখনও সমর্থিত preciseবা সংরক্ষণাগার raringথেকে প্যাকেজ http://old-releases.ubuntu.com

এটি হিসাবে ব্যবহার করা /etc/apt/sources.list.d/raring.listআপনাকে পুরানো প্যাকেজগুলি ইনস্টল করতে দেয়:

deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse

হাই। এটি ঠিক যা চাই তা মনে হচ্ছে। আপনি কি দয়া করে রেরিংয়ের সংগ্রহস্থল URL গুলি যুক্ত করার জন্য আদেশগুলি যুক্ত করতে পারেন? আমি সঠিক খুঁজে পেতে পারে না।
রবিশ ভগদেব

আমি আমার উত্তর আপডেট করেছি।
ফুয়েরো

ভাল ধরা, আমি এপিটি মিররলিস্টটি সংশোধন করেছি raring। অবশ্যই আপনি যদি preciseসংস্করণটি ব্যবহার করতে চান তবে অবশ্যই /etc/apt/preferencesসেই অনুযায়ী পরিবর্তন করতে হবে।
ফুয়িরো

অনেক ধন্যবাদ. যাইহোক, কীটগুলির ক্যান হিসাবে পরিণত হওয়া ... নির্দিষ্ট পদক্ষেপগুলি সম্পাদন করার পরে (এবং ইনস্টল-ফ অপশন এবং ক্লিন চেষ্টা করেও) নীচের প্যাকেজগুলিতে আনমেনেট নির্ভরতা রয়েছে তার জন্য ভিএম রুট অনুসরণ করতে হবে। অ্যাপাচি 2: নির্ভর করে: অ্যাপাচি 2-এমপিএম-কর্মী (= 2.2.22-1ubuntu1.7) তবে এটি ইনস্টল হচ্ছে না বা অ্যাপাচি 2-এমপিএম-প্রেফের্ক (= 2.2.22-1ubuntu1.7) যাচ্ছে না তবে এটি হবে না ইনস্টল করা বা .... ইত্যাদি ইত্যাদি
রবিশ ভগদেব

2

অ্যাপাচি 2.2 ইনস্টল করতে নিম্নলিখিত প্রক্রিয়াটি ব্যবহার করুন:

পরে ডিস্ট্রোতে (উদাঃ 16.04), আমি অ্যাপাচি সাইট থেকে 2.2.31 ডাউনলোড করেছি।

আমি নিম্নলিখিত কনফিগারেশন ব্যবহার করে এটি নির্মিত:

./configure --enable-so --enable-ssl --with-included-apr --enable-mods-shared=all --enable-load-all-modules --enable-rewrite --enable-proxy --enable-proxy_connect --enable-proxy_http --enable-proxy_ajp --enable-authn_alias --with-npm=prefork --enable-proxy_balancer --enable-proxy_ftp --enable-cache --enable-suexec --enable-disk_cache  > conf.txt

তারপরে অবশ্যই httpd.conf এবং ssl.conf ফাইলগুলিতে টুইট করা।

এর পরে আমি কেবল। / Htpd -k শুরুটি চালাই

এবং এটি কাজ করে!

নোট করুন যে আমি অ্যাপাচি -2-এর মাধ্যমে অ্যাপাচি 2.4 যোগ করেছি তবে এটি কখনই সরিয়ে নেই। এর অর্থ হ'ল সিস্টেম শুরু হওয়ার পরে, আমাকে অ্যাপাচি 2 প্রক্রিয়াটি মেরে ফেলতে হবে। এবং তারপরে আমি অ্যাপাচি ২.২ শুরু করতে সক্ষম হয়েছি। অ্যাপাচিেক্টল ব্যবহার করতে আমাকে অ্যাপাচি ২.৪ ইনস্টল করতে হয়েছিল তবে পরে তা বাতিল করে দিয়েছি কারণ আমি ব্যবহার করি /


অ্যাপাচি ২.২-এর জন্য অ্যাপাচিেক্টল ব্যবহার সংক্রান্ত আমার উত্তরটি একবার দেখুন, আপনাকে প্রথমে 2.4 সংস্করণটি সরিয়ে ফেলতে হতে পারে (/usr/sbin/update-rc.d -f অ্যাপাচিেক্টল অপসারণ)।
জোহানো ফেয়েরা

1

আপনি উবুন্টু 13.04 থেকে 13.10 এ আপগ্রেড করেছেন? উবুন্টু প্যাকেজ সংগ্রহস্থলের বাইরে না গিয়ে অ্যাপাচি ২.২ ফিরে পাওয়ার কোনও উপায় নেই। আপনার অ্যাপাচি কনফিগারেশনটি ঠিক করা আরও ভাল যাতে এটি 2.4 এর সাথে কাজ করে।


1
সত্যই নয়, আমার উত্তর দেখুন
Coen Damen

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