আমি বর্তমানে একটি প্রকল্পে কাজ করছি এবং আমি এটি বাড়িতে দুটি ল্যাপটপে পরীক্ষা করতে চাই যেখানে একটি ল্যাপটপ অন্যটির লোকালহোস্টের সাথে সংযুক্ত থাকে। আমি এক্সএএমপিপি ব্যবহার করছি। আমি এটা কিভাবে করবো?
আমি বর্তমানে একটি প্রকল্পে কাজ করছি এবং আমি এটি বাড়িতে দুটি ল্যাপটপে পরীক্ষা করতে চাই যেখানে একটি ল্যাপটপ অন্যটির লোকালহোস্টের সাথে সংযুক্ত থাকে। আমি এক্সএএমপিপি ব্যবহার করছি। আমি এটা কিভাবে করবো?
উত্তর:
এটা অবশ্যই সম্ভব। আমরা আপাচে এখানে একটি সাধারণ কেস নেব।
ধরা যাক আপনি একটি বড় সাইমফনি 2 অনুরাগী এবং আপনি http://symfony.local/
4 টি আলাদা কম্পিউটার (মূলত আপনার ওয়েবসাইটের হোস্টিং, পাশাপাশি একটি ম্যাক, একটি উইন্ডোজ এবং লিনাক্স ডিস্ট্রো সংযুক্ত (বেতার বা না) থেকে আপনার সিমফনি ওয়েবসাইট অ্যাক্সেস করতে চান প্রধান কম্পিউটার।
1 ভার্চুয়াল হোস্ট সেট আপ করুন :
আপনাকে প্রথমে আপনার অ্যাপাচি httpd-vhosts.conf
ফাইলটিতে একটি ভার্চুয়াল হোস্ট সেট আপ করতে হবে। উপর XAMP , আপনি এই ফাইলটি এখানে পেতে পারেন: C:\xampp\apache\conf\extra\httpd-vhosts.conf
। উপর MAMP , আপনি এই ফাইলটি এখানে পেতে পারেন: Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
। এই পদক্ষেপটি আপনার কম্পিউটারে ওয়েব সার্ভারকে symfony.local
অনুরোধ পরিচালনা করার জন্য প্রস্তুত করে । আপনার ভার্চুয়াল হোস্টের নাম পাশাপাশি আপনার ওয়েবসাইটের মূল / মূল ফোল্ডার সরবরাহ করতে হবে। এটি করতে, ফাইলটির শেষে নিম্নলিখিত লাইনটি যুক্ত করুন। DocumentRoot
আপনার মূল ফোল্ডার যেখানেই আছে সেখানে আপনাকে পরিবর্তন করতে হবে। এখানে আমি /Applications/MAMP/htdocs/Symfony/
আমার ওয়েবসাইটের মূল হিসাবে নিয়েছি।
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/Symfony/"
ServerName symfony.local
</VirtualHost>
2 আপনার হোস্ট ফাইল কনফিগার করুন :
ক্লায়েন্ট (সেই ক্ষেত্রে আপনার ব্রাউজার) এর symfony.local
অর্থ বোঝার জন্য আপনার কম্পিউটারে হোস্ট ফাইলটি সম্পাদনা করতে হবে। আপনি যখনই আপনার ব্রাউজারে একটি URL টাইপ করেন, আপনার কম্পিউটারটি এর অর্থ বোঝার চেষ্টা করে! symfony.local
কম্পিউটারের জন্য কিছু বোঝায় না। সুতরাং এটি symfony.local
আইপি ঠিকানায় নামটি সমাধান করার চেষ্টা করবে । এটি প্রথমে আপনার কম্পিউটারে হোস্ট ফাইলটি অনুসন্ধান করে এটি করবে যাতে আপনি ঠিকানা বারে যা টাইপ করেছেন তার সাথে তিনি কোনও আইপি ঠিকানার সাথে মেলে কিনা see যদি এটি না পারে তবে এটি ডিএনএস সার্ভারকে জিজ্ঞাসা করবে । কৌশলটি এখানে আপনার হোস্ট ফাইলে অন্তর্ভুক্ত করা।
/private/etc/hosts
;/etc/hosts
;\Windows\system32\private\etc\hosts
;\Windows\system32\drivers\etc\hosts
;\Windows\system32\drivers\etc\hosts
;Hosts file
##
# Host Database
# localhost is used to configure the loopback interface
##
#...
127.0.0.1 symfony.local
এখন থেকে প্রতিবার আপনি এই কম্পিউটারে symfony.local টাইপ করুন, আপনার কম্পিউটার symfony.local এ সংযোগ করতে লুপব্যাক ইন্টারফেস ব্যবহার করবে। এটি বুঝতে পারে যে আপনি লোকালহোস্টে (127.0.0.1) কাজ করতে চান।
3 symfony.local
অন্য কম্পিউটার থেকে অ্যাক্সেস :
অবশেষে আমরা আপনার মূল প্রশ্নে পৌঁছে যা যা এটি:
অন্য কম্পিউটারের মাধ্যমে এখন আমি কীভাবে আমার ওয়েবসাইট অ্যাক্সেস করতে পারি?
আচ্ছা এটি এখন সহজ! আমাদের কেবল অন্য কম্পিউটারগুলিকে কীভাবে তারা খুঁজে পেতে পারে তা জানাতে হবে symfony.local
! আমরা এটা কিভাবে করব?
3a ওয়েবসাইট হোস্টিং কম্পিউটারের আইপি ঠিকানা পান :
আমাদের প্রথমে কম্পিউটারে আইপি ঠিকানাটি জানা উচিত যা ওয়েবসাইটটি হোস্ট করে (আমরা প্রথম থেকেই কাজ করে যাচ্ছি)। টার্মিনালে, ম্যাক এবং লিনাক্স টাইপে ifconfig |grep inet
, WINDOWS
টাইপ করুন ipconfig
। আসুন অনুমান এই কম্পিউটারে IP ঠিকানা 192.168.1.5 ।
3b আপনি যে ওয়েবসাইট থেকে ওয়েবসাইট অ্যাক্সেস করার চেষ্টা করছেন সেই হোস্ট ফাইলটি সম্পাদনা করুন। :
আবার, ম্যাক-এ , এই ফাইলটি রয়েছে /private/etc/hosts
; উপর লিনাক্স , এ /etc/hosts
; এবং উইন্ডোজে , ইন \Windows\system32\private\etc\hosts
(আপনি উইন্ডো 7 ব্যবহার করছেন তবে এই ফাইলটি রয়েছে \Windows\system32\drivers\etc\hosts
) .. কৌশলটি এখন আমরা যে কম্পিউটারে অ্যাক্সেস / কথা বলার চেষ্টা করছি তার আইপি ঠিকানাটি ব্যবহার করার চেষ্টা করা হচ্ছে:
##
# Host Database
# localhost is used to configure the loopback interface
##
#...
192.168.1.5 symfony.local
4 অবশেষে আপনার ব্রাউজারে ফলাফল উপভোগ করুন
আপনি এখন আপনার ব্রাউজারে গিয়ে http://symfony.local
বিভিন্ন কম্পিউটারে সুন্দরভাবে আপনার ওয়েবসাইট দেখতে টাইপ করতে পারেন! মনে রাখবেন যে ভার্চুয়াল বক্সের মাধ্যমে ইন্টারনেট এক্সপ্লোরারে আপনার ওয়েবসাইটটি পরীক্ষা করার জন্য আপনি যদি কোনও ওএসএক্স ব্যবহারকারী হন (আপনি যদি উইন্ডোজ কম্পিউটার ব্যবহার করতে না চান) তবে আপনি একই কৌশলটি প্রয়োগ করতে পারেন। এটি ওএসএক্সে আপনার উইন্ডোজ / আইই টেস্ট এনভায়রনমেন্ট ক্র্যাফ্টিংয়ে সুন্দরভাবে ব্যাখ্যা করা হয়েছে ।
আপনি কীভাবে মোবাইল ডিভাইস থেকে আপনার লোকালহোস্ট ওয়েবসাইট অ্যাক্সেস করবেন তা ভাবতে পারেন। কিছু ক্ষেত্রে, আপনি আপনার ডিভাইসে হোস্ট ফাইল (আইফোন, আইপ্যাড ...) সংশোধন করতে পারবেন না (জেলব্রেকিং বাদ দেওয়া হয়েছে)।
ঠিক আছে, এর পরে সমাধানটি হ'ল ওয়েবসাইটটি হোস্টিং করা মেশিনে একটি প্রক্সি সার্ভার ইনস্টল করা এবং আপনার আইফোন থেকে সেই প্রক্সিটির সাথে সংযোগ স্থাপন করা। এটি নীচের পোস্টগুলিতে খুব ভালভাবে ব্যাখ্যা করা হয়েছে এবং এটি সেট আপ করার জন্য দীর্ঘ নয়:
একটি ম্যাকের ক্ষেত্রে, আমি সুপারিশ করব: একটি মোবাইল ডিভাইসে স্থানীয় হোস্টনাম ব্যবহার করে একটি ম্যাক ওএস এক্স ওয়েব সাইট পরীক্ষা করা : স্কুইডম্যানকে প্রক্সি হিসাবে ব্যবহার করা । এটি একটি 100% বিনামূল্যে সমাধান। কিছু লোক চার্লসকে প্রক্সি সার্ভার হিসাবেও ব্যবহার করতে পারে তবে এটি 50 $ $
লিনাক্সে, আপনি স্ক্সিডকে প্রক্সি সার্ভার হিসাবে ব্যবহার করে উপরের ম্যাক ওএসের উপায়ে মানিয়ে নিতে পারেন ।
উইন্ডোজে, আপনি এটি ফিডলার ব্যবহার করে করতে পারেন । সমাধানটি নিম্নলিখিত পোস্টে বর্ণিত হয়েছে: ফিডলারের সাথে আইফোন ট্র্যাফিক পর্যবেক্ষণ করা
@Dre। হোস্ট ফাইলটি ম্যানুয়ালি সম্পাদনা না করে অন্য কম্পিউটার থেকে ওয়েবসাইট অ্যাক্সেসের কোনও সম্ভাব্য উপায়? ধরা যাক আমার 100 টি কম্পিউটার ওয়েবসাইটে অ্যাক্সেস করতে চেয়েছিল
এটি একটি আকর্ষণীয় প্রশ্ন এবং এটি ওপি প্রশ্নের সাথে সম্পর্কিত বলে আমাকে সাহায্য করুন।
আপনাকে আপনার নেটওয়ার্কে পরিবর্তন করতে হবে যাতে প্রতিটি ওয়েবসাইট জানতে পারে যে কোথায় আপনার ওয়েবসাইটটি হোস্ট করা হয়েছে। বেশিরভাগ দৈনন্দিন রাউটারগুলি এটি করে না তাই আপনাকে নিজের নেটওয়ার্কে নিজের ডিএনএস সার্ভার চালাতে হবে ।
আসুন ভান করুন আপনার কাছে রাউটার রয়েছে (192.168.1.1)। এই রাউটারটির একটি ডিএইচসিপি সার্ভার রয়েছে এবং এটি নেটওয়ার্কে 100 টি মেশিনে আইপি ঠিকানা বরাদ্দ করে।
এখন, ধরা যাক আপনার কাছে একই নেটওয়ার্কে একই নেটওয়ার্ক রয়েছে, এমন একটি মেশিন রয়েছে 192.168.1.5
যাতে আপনার ওয়েবসাইট রয়েছে। আমরা যে মেশিন কল করব pompei।
$ echo $HOSTNAME
pompei
আগের মতই, যে মেশিন pompeiএ 192.168.1.5
রান একটি HTTP সার্ভার যা আপনার ওয়েবসাইট কাজ করে symfony.local
।
symfony.local
হোস্ট করা আছে এমন প্রতিটি মেশিনের জন্য pompeiআমাদের এখন নেটওয়ার্কে একটি কাস্টম ডিএনএস সার্ভারের প্রয়োজন হবে যা জানে কোথায় symfony.local
হোস্ট করা আছে। নেটওয়ার্কের ডিভাইসগুলি পরে pompeiঅভ্যন্তরীণভাবে পরিবেশন করা ডোমেন নামগুলি সমাধান করতে সক্ষম হবে ।
Step 1: DNS Server
আপনার নেটওয়ার্কে একটি ডিএনএস সার্ভার সেট আপ করুন। আসুন pompeiসুবিধার্থে এটি চালু রাখুন এবং ডিএনএসম্যাসকের মতো কিছু ব্যবহার করুন ।
Dnsmasq উপলব্ধ ডোমেন নাম সিস্টেম (ডিএনএস) ফরওয়ার্ডিং , ... ।
আমরা pompeiডিএনএস অনুরোধগুলি পরিচালনা করতে Hey, pompei, where is symfony.local
এবং সাড়া দিতে DNSmasq চালাতে চাই Hey, sure think, it is on 192.168.1.5 but don't take my word for it
।
Dnsmasq ইনস্টল করুন এগিয়ে যান, dnsmasq কনফিগারেশন ফাইল সাধারণত /etc/dnsmasq.conf
আপনার পরিবেশের উপর নির্ভর করে।
আমি ব্যক্তিগতভাবে no-resolv
গুগল সার্ভার ব্যবহার করি server=8.8.8.8 server=8.8.8.4
।
* দ্রষ্টব্য: * সবসময় DNSmasq পুনরায় চালু করুন যদি কোনও পরিবর্তন হিসাবে অন্যথায় কার্যকর হয় না / / ইত্যাদি / হোস্ট ফাইল পরিবর্তন করে।
Step 2: Firewall
কাজ করার জন্য, pompeiইনকামিং এবং আউটগোয়িং 'ডোমেন' প্যাকেটগুলির অনুমতি দেওয়া দরকার, যা 53 এবং পোর্টে চলেছে Of অবশ্যই! এগুলি ডিএনএস প্যাকেটগুলি এবং যদি pompeiএগুলিকে অনুমতি না দেয় তবে আপনার ডিএনএস সার্ভারের আদৌ পৌঁছানোর কোনও উপায় নেই। এগিয়ে যান এবং যে পোর্ট 53 খুলুন। লিনাক্স উপর, আপনি iptables
এই জন্য ধ্রুপদী ব্যবহার করতে হবে ।
আমি কী নিয়ে এসেছি তা ভাগ করে নেওয়ানো তবে আপনাকে সম্ভবত আপনার ফায়ারওয়ালে ডুব দিয়ে সবকিছু ভালভাবে বুঝতে হবে।
#
# Allow outbound DNS port 53
#
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
Step 3: Router
আপনার রাউটারকে বলুন যে আপনার ডিএনএস সার্ভার 192.168.1.5
এখন চালু আছে। বেশিরভাগ সময়, আপনি কেবল নিজের রাউটারে লগইন করতে পারেন এবং খুব সহজেই এটিকে ম্যানুয়ালি পরিবর্তন করতে পারেন।
অর্থাৎ এটা আপনি একটি মেশিনে এবং জন্য অনুরোধ যখন symfony.local
, এটি আপনার অনুরোধ জানানো হবে DNS সার্ভার যেখানে symfony.local
হোস্ট করা হয়, এবং যত তাড়াতাড়ি এটা DNS সার্ভার থেকে তার উত্তর পেয়েছে, তারপর সঠিক পাঠাব HTTP অনুরোধ করতে pompeiউপর 192.168.1.5
।
আমি আপনাকে এই সাথে খেলতে এবং যাত্রা উপভোগ করতে দিন। এই 2 টি পদক্ষেপই মূল নির্দেশিকা, সুতরাং আপনার প্রথমবারের মতো এটি করার সময় আপনাকে ডিবাগ করতে এবং কয়েক ঘন্টা ব্যয় করতে হবে। ধরা যাক এটি কিছুটা উন্নত নেটওয়ার্কিং, এখানে প্রাথমিক ডিএনএস সার্ভার, মাধ্যমিক ডিএনএস সার্ভার ইত্যাদি রয়েছে । শুভকামনা!
host
ম্যানুয়ালি ফাইলটি সম্পাদনা না করে অন্য কম্পিউটার থেকে ওয়েবসাইট অ্যাক্সেসের যে কোনও সম্ভাব্য উপায় আছে ? ধরা যাক আমার কাছে 100 টি কম্পিউটার অ্যাক্সেস করতে চেয়েছিল
একই ওয়্যারলেস এবং ইন্টারনেট জুড়ে উভয় ল্যাপটপে পরীক্ষার জন্য আপনি http://localhost.run/ বা https://ngrok.com/ এর মতো পরিষেবা ব্যবহার করতে পারেন
প্রদত্ত উভয় মেশিনই একই ওয়ার্কগ্রুপে রয়েছে, cmd.exe
আপনি যে মেশিনে সংযোগ করতে চান তাতে মেশিনটি খুলুন , টাইপ করুন ipconfig
এবং IPv4 Address
লাইনে আইপি নোট করুন ।
তারপরে, আপনি যে মেশিনে সংযোগ স্থাপন করতে চান তা ব্যবহার করুন http:// + the IP of the target machine
।
যা করা উচিৎ.
ম্যাক ওএস এক্সে:
টার্মিনালে, ifconfig | grep 192.
বর্তমান কম্পিউটারে আপনার মেশিনের অভ্যন্তরীণ আইপি পেতে চালান । এটি কিছু হতে পারে192.168.1.140
একটি সার্ভার শুরু করুন। উদাহরণস্বরূপ, node server.js
কিছু বন্দরে একটি সার্ভার শুরু করতে পারে।
আপনার ফোনে, যান 192.168.1.140:3000
বা যে কোনও পোর্ট আপনার সার্ভার চলমান আছে।
আমার সরঞ্জামটিতে আমার প্রশাসনের অনুমতি নেই এবং ইতোমধ্যে নোডেজ ইনস্টল করা হওয়ায় এই সরঞ্জামটি আমাকে অনেকটা রক্ষা করেছিল। কোনও কারণে আমার নেটওয়ার্কে কনফিগারেশনটি ব্রাউজারে কেবলমাত্র আইপি নির্দেশ করে অন্যান্য মেশিনগুলিতে অ্যাক্সেস দেয় না।
# Using a local.dev vhost
$ browser-sync start --proxy
# Using a local.dev vhost with PORT
$ browser-sync start --proxy local.dev:8001
# Using a localhost address
$ browser-sync start --proxy localhost:8001
# Using a localhost address in a sub-dir
$ browser-sync start --proxy localhost:8080/site1
browser-sync start --proxy localhost:3000
আলাদা শেল ব্যবহার করেছি অন্য যে কোনও ডিভাইসে নেটওয়ার্ক টাইপ করা আছে আমি টাইপ করি: ${computerIP}:3000
তবে আমি কিছুই দেখি না। আমার ধারণা আমার আরও কিছু সরবরাহ করা উচিত provide
এটি হতে পারে যে আপনার ফায়ারওয়ালগুলি আপনাকে লোকালহোস্টের ওয়েবসার্ভার অ্যাক্সেস করতে বাধা দিচ্ছে।
আপনার কম্পিউটারগুলির উভয় ইন্টারনেটের সুরক্ষা অ্যান্টিভাইরাস নেটওয়ার্ক সিকিউরিটির আইপি ঠিকানাগুলি প্রয়োজনে নিরাপদ আইপি ঠিকানা হিসাবে রাখুন।
আপনার উইন্ডোজ পিসির আইপি ঠিকানাটি কীভাবে সন্ধান করবেন: স্টার্ট> (রান) টাইপ করুন: সেন্টিমিডি (এন্টার)
(এটি ব্ল্যাক বক্স কমান্ড প্রম্পট খোলে)
আইপকনফাইগ টাইপ করুন (এন্টার)
আসুন বলি যে আপনার অ্যাপাচি বা আইআইএস ওয়েবসভারটি আপনার পিসিতে ইনস্টলড আছে : 192.168.0.3
এবং আপনি আপনার ল্যাপটপের সাহায্যে আপনার ওয়েবসভারটি অ্যাক্সেস করতে চান। (ল্যাপটপের আইপি 192.168.0.5)
আপনার পিসিতে আপনি টাইপ করুন: http: // লোকালহোস্ট / আপনার ফায়ারফক্সের ভিতরে বা ইন্টারনেট এপ্লোরার ব্রাউজারটি আপনার ওয়েবসাররে আপনার ডেটা অ্যাক্সেস করতে।
আপনার ল্যাপটপে আপনি আপনার পিসিতে আপনার ওয়েবসভারটি অ্যাক্সেস করতে http://192.168.0.3/ টাইপ করেন।
এই সমস্ত কাজের জন্য আপনার একটি ওয়েবসারভার সঠিকভাবে ইনস্টল করা প্রয়োজন (যেমন আইআইএস, অ্যাপাচি, এক্সএএমপি, ডাব্লুএইচপি ইত্যাদি)।
যদি এটি কাজ না করে, আপনার ল্যাপটপ থেকে আপনার পিসিকে পিং করার চেষ্টা করুন: আপনার ল্যাপটপে
কমান্ড প্রম্পট খুলুন: শুরু করুন> সেন্টিমিডি (এন্টার)
পিং 192.168.1.3 (এন্টার) পিনিং
যদি ব্যর্থ হয়, তবে ফায়ারওয়ালগুলি আপনার সংযোগ বা আপনার নেটওয়ার্ককে অবরুদ্ধ করছে ক্যাবলিং ত্রুটিযুক্ত। আপনার মডেম বা নেটওয়ার্ক সুইচ এবং আপনার মেশিনগুলি পুনরায় চালু করুন।
প্রোগ্রামগুলি বন্ধ করুন যেমন চ্যাট প্রোগ্রামগুলি যা আপনার বন্দর ব্যবহার করে।
আপনি পৃথক পোর্ট নম্বরও দেখতে পারেন: HTTP: 192.168.0.3: 80 বা HTTP: 192.168.0.3: 81 বা শেষে যেকোন র্যান্ডম সংখ্যা
উপরের পদক্ষেপটি অনুসরণ করে যদি কেউ এখনও অন্য ডিভাইস থেকে লোকালহোস্ট অ্যাক্সেস করতে না পারে তবে এটি একটি পার্শ্ব নোট। এটি অ্যাপাচি পোর্টসকনফের কারণে হতে পারে স্থানীয়ভাবে (127.0.0.1) পরিবেশন করার জন্য কনফিগার করা হয়েছে এবং বাইরে নয়।
নিম্নলিখিতটি পরীক্ষা করুন (উবুন্টু অ্যাপাচি 2 এর জন্য)
$ cat /etc/apache2/ports.conf
যদি নিম্নলিখিতটি সেট করা থাকে,
NameVirtualHost *:80
Listen 127.0.0.1:80
তারপরে এটিকে আবার ডিফল্ট মানটিতে পরিবর্তন করুন
NameVirtualHost *:80
Listen 80
আপনি যদি উইন্ডোতে থাকেন তবে স্থানীয় আইপিভি 4 ঠিকানা পেতে আইপনফিগটি ব্যবহার করুন এবং তারপরে এটি আপনার অ্যাপাচি কনফিগারেশন ফাইলের মধ্যে নির্দিষ্ট করুন: httpd.conf , যেমন:
Listen: 10.20.30.40:80
আপনার অ্যাপাচি সার্ভারটি পুনরায় আরম্ভ করুন এবং এটি অন্য কম্পিউটার থেকে নেটওয়ার্কে পরীক্ষা করুন।