80 से अधिक पोर्ट पर सुनने के लिए अपाचे को कॉन्फ़िगर करें


102

मैं सेंटोस सर्वर का उपयोग करता हूं। मैं पोर्ट 8079 पर सुनने के लिए अपाचे को कॉन्फ़िगर करना चाहता हूं। मैंने लिस्टेन 8079 को निर्देश में जोड़ा है httpd.conf
मैंने iptables में पोर्ट 8079 खोला और iptables को फिर से शुरू किया। मैंने iptables सेवा भी बंद कर दी।

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"

अगर मैं उस मशीन तक पहुंचने http://localhost:8079या उससे संपर्क करने की कोशिश करता http://myserver.com:8079हूं, तो मैं उस पृष्ठ तक पहुंच सकता हूं किसी भी अन्य मशीन से BUT मैं 80 के अलावा किसी अन्य पोर्ट पर साइट को एक्सेस करने में सक्षम नहीं हूं। पोर्ट 80 पर, यह काम करता है। पोर्ट 8079 पर यह नहीं है।

मुझे और क्या कॉन्फ़िगर करने की आवश्यकता है?

जवाबों:


138

में /etc/apache2/ports.conf, पोर्ट को इस रूप में बदलें

Listen 8079

फिर /etc/apache2/sites-enabled/000-default.conf पर जाएं

और पहली पंक्ति को इस रूप में बदलें

<VirtualHost *: 8079>

अब पुनः आरंभ करें

sudo service apache2 restart

Apache अब पोर्ट 8079 पर सुनेगी और / var / www / html पर रीडायरेक्ट होगी


1
नहीं, बस "यह वेबपृष्ठ उपलब्ध नहीं है" कष्टप्रद संदेश। बस स्पष्ट करने के लिए, पोर्ट 80 पूरी तरह से काम करता है। VirtualHost और Listen दोनों को बदलना मेरे लिए इसका हल नहीं है। (AWS ubuntu)। BTW कारण है कि मैं इसे एक अलग बंदरगाह सुनने के लिए की जरूरत है क्योंकि मैं भी 80 को सुनने के लिए nginx कॉन्फ़िगर किया गया है।
तोमर

1
त्वरित प्रश्न: क्या आपने सुरक्षा समूहों में इनबाउंड पोर्ट खोल दिया है जैसा कि आप कहते हैं कि आप AWS ubuntu पर हैं?
शंकर ARUL - jupyterdata.com

1
अगर NameVirtualHost *:80ऊपर की रेखा है Listen 80तो उसे भी बदल दें ......
हैदर अली

75

अपने टेक्स्ट एडिटर में httpd.conf फाइल खोलें। इस लाइन का पता लगाएं:

Listen 80

और इसे बदल दें

Listen 8079

बदलने के बाद, इसे सहेजें और अपाचे को पुनरारंभ करें।


3
हाँ, लेकिन मैंने पहली पंक्ति में उल्लेख किया है कि मैंने पहले ही यह कोशिश कर ली है "मैंने http: //conf में लिस्टेन 8079 निर्देशन को जोड़ा:" (
vivek.m

ओह सॉरी। मैंने इसे नहीं देखा। क्या आप httpd.conf को किसी भी स्थान पर पोस्ट कर सकते हैं? और क्या आप 3rd पार्टी सॉफ्टवेयर Wamp, Xampp, Appserv का उपयोग कर रहे हैं?
टाइम्परिम

आप httpd.conf यहाँ प्राप्त कर सकते हैं fileuploading.net/860467 WAMP, Xampp, Appserv जैसे कुछ भी नहीं। मैंने जो कुछ किया है वह स्रोत से अपाचे, टॉमकैट और जेके कनेक्टर को संकलित करने और उन्हें एक साथ काम करने के लिए मेरी पूरी कोशिश है।
विवेक।

मुझे समस्या नहीं मिली :( सब कुछ सामान्य रूप से लगता है। मैंने अपने स्थानीय सर्वर में सुनो 8076 लाइन जोड़ने की कोशिश की, लेकिन इसके सामान्य रूप से काम किया। क्या आप संभव हो तो फिर से सेटअप अपाचे की कोशिश कर सकते हैं?
ismailperim

2
इस तरह के सवालों का जवाब देते समय हर कोई भूल जाता है कि फ़ाइल स्थान का उल्लेख करना है। फ़ाइल
/etc/apache2/ports.conf

23

यह एक फ़ायरवॉल मुद्दा था। एक हार्डवेयर फ़ायरवॉल था जो लगभग सभी बंदरगाहों तक पहुँच को रोक रहा था। (सॉफ्टवेयर फ़ायरवॉल को बंद करना / SELinux bla bla का कोई प्रभाव नहीं था)

फिर मैंने खुले बंदरगाहों को स्कैन किया और जो बंदरगाह खुला था उसका उपयोग किया।

यदि आप एक ही समस्या का सामना कर रहे हैं, तो निम्न कमांड चलाएँ

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000

यह आपके सिस्टम पर सभी खुले बंदरगाहों के लिए स्कैन करेगा। जो भी पोर्ट खुला है उसे बाहर से एक्सेस किया जा सकता है।

Ref ।: Http://www.go2linux.org/which_service_or_program_is_listening_on_port


netstat -anp | grep apache2 (आप इसे सुन रहे पोर्ट और पीआईडी ​​देख सकते हैं यदि यह चल रहा है।
Ubuntu

मेरे क्लाउड सेवा प्रदाता में शीर्ष पर एक फ़ायरवॉल था जो पोर्ट को अवरुद्ध कर रहा था। फ़ायरवॉल को लक्ष्य सर्वर के अलावा अन्य जगह पर रखें।
यमद

15

यदि आपको अपाचे सुनो पोर्ट की आवश्यकता 80 के अलावा, तो आपको ubuntu के तहत अगली फ़ाइल को जोड़ना चाहिए

"/Etc/apache2/ports.conf"

सुनो बंदरगाहों की सूची

Listen 80
Listen 81
Listen 82

आपको अपनी वर्चुअल होस्ट्स कॉन्फिडेंस फाइल पर जाना है और अगले को परिभाषित करना है

<VirtualHost *:80>
  #...v host 1
</VirtualHost>


<VirtualHost *:81>
  #...host 2
</VirtualHost>


<VirtualHost *:82>
  #...host 3
</VirtualHost>

7

यह सेंटो पर मेरे लिए काम कर रहा है

पहला: फ़ाइल /etc/httpd/conf/httpd.conf में

जोड़ना

Listen 8079 

उपरांत

Listen 80

यह आपके सर्वर तक पोर्ट 8079 को सुनने के लिए है

दूसरा: पूर्व के लिए अपने वर्चुअल होस्ट पर जाएं। /etc/httpd/conf.d/vhost.conf

और इस कोड को नीचे जोड़ें

<VirtualHost *:8079>
   DocumentRoot /var/www/html/api_folder
   ServerName example.com
   ServerAlias www.example.com
   ServerAdmin root@example.com
   ErrorLog logs/www.example.com-error_log
   CustomLog logs/www.example.com-access_log common
</VirtualHost>

इसका मतलब है जब आप अपने www.example.com:8079रीडायरेक्ट पर जाते हैं

/ Var / www / html / api_folder

लेकिन आपको सेवा को पुनरारंभ करने के लिए पहले की आवश्यकता है

sudo service httpd restart


2

यदि आप विंडोज पर अपाचे का उपयोग कर रहे हैं :

  1. Apache सेवा का नाम Win+ R+ services.msc+ के साथ जांचें Enter(यदि यह ApacheX.Y नहीं है, तो इसमें आपके द्वारा अपाचे के साथ उपयोग किए जा रहे सॉफ़्टवेयर का नाम होना चाहिए, जैसे: "wampapache64");
  2. प्रशासक के रूप में कमांड प्रॉम्प्ट शुरू करें ( Win+ R+ cmd+ Enterका उपयोग करना पर्याप्त नहीं है);
  3. अपाचे की निर्देशिका में परिवर्तन, उदाहरण के लिए cd c:\wamp\bin\apache\apache2.4.9\bin:;
  4. जांचें कि क्या कॉन्फ़िगरेशन फ़ाइल ठीक है: httpd.exe -n "YourServiceName" -t(चरण 1 पर पाया गया सेवा नाम बदलें);
  5. सुनिश्चित करें कि सेवा बंद है: httpd.exe -k stop -n "YourServiceName"
  6. इसे इसके साथ शुरू करें: httpd.exe -k start -n "YourServiceName"
  7. यदि यह ठीक शुरू होता है, तो समस्या अब नहीं है, लेकिन यदि आप प्राप्त करते हैं:

    AH00072: make_sock: IP को संबोधित करने के लिए बाध्य नहीं किया जा सकता: PORT_NUMBER

    AH00451: कोई सुन सॉकेट उपलब्ध नहीं है, बंद हो रहा है

    यदि पोर्ट नंबर वह नहीं है जिसका आप उपयोग करना चाहते थे, तो Apache config फ़ाइल C:\wamp\bin\apache\apache2.4.9\conf\httpd.confखोलें (जैसे कोड संपादक या वर्डपैड के साथ खोलें, लेकिन नोटपैड नहीं - यह नई लाइनों को ठीक से नहीं पढ़ता है) और उस पंक्ति पर संख्या को प्रतिस्थापित करता है जो शुरू होती है साथ Listenबंदरगाह आप चाहते हैं की संख्या है, यह और दोहराने कदम 6. बचाने यदि यह एक आप उपयोग करना चाहता था है के साथ है, तो जारी रखें:

  8. उस पोर्ट का उपयोग करने की प्रक्रिया की PID की जाँच करें Win+ R+ resmon+ के साथ Enter, नेटवर्क टैब पर और फिर पोर्ट्स उपटैब पर क्लिक करें;
  9. इसे मार डालो: taskkill /pid NUMBER /f( /fबलपूर्वक);
  10. पुनः जांच resmonकी पुष्टि करने के लिए कि बंदरगाह अब नि: शुल्क है और बार-बार चरण 6।

यह सुनिश्चित करता है कि अपाचे की सेवा ठीक से शुरू की गई थी, वर्चुअल होस्ट्स कॉन्फिगरेशन फाइल पर सारुल के रूप में उल्लिखित (जैसे :)C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf आवश्यक है यदि आप अपनी फाइलों को पथ में सेट कर रहे हैं और पोर्ट को भी बदल रहे हैं। यदि आप इसे फिर से बदलते हैं, तो सेवा को फिर से शुरू करना याद रखें httpd.exe -k restart -n "YourServiceName":।


1

FC22 सर्वर के लिए

सीडी / आदि / httpd / conf संपादित करें httpd.conf [दर्ज करें]

बदलाव: 80 सुनो: जो कुछ भी सुनो

फ़ाइल सहेजें

systemctl httpd.service को पुनः आरंभ करें [दर्ज करें] यदि आवश्यक हो, तो अपने राउटर / फ़ायरवॉल में जो भी हो, खोलें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.