আমি এমন একটি মেশিনে ওএস পুনরায় ইনস্টল করার প্রক্রিয়ায় রয়েছি যা আমাদের ব্যবসায়ের জন্য বেশ কয়েকটি অ্যাপ্লিকেশন হোস্ট করার জন্য ব্যবহৃত হবে। অ্যাপ্লিকেশনগুলি কেবল স্থানীয় হবে; বাহ্যিক ক্লায়েন্টদের অ্যাক্সেস কেবল ভিপিএন এর মাধ্যমে হবে।
পূর্ববর্তী সেটআপটি বেশিরভাগ অ্যাডমিনের জন্য একটি হোস্টিং কন্ট্রোল প্যানেল (প্লেস্ক) ব্যবহার করেছিল এবং আমি পুনরায় ইনস্টল করার জন্য অন্য একই ধরণের সফ্টওয়্যার ব্যবহার করার দিকে তাকিয়ে ছিলাম - তবে আমি বুঝতে পেরেছিলাম যে এটি কীভাবে কাজ করে তা অবশেষে আমার শেখা উচিত। সফ্টওয়্যারটি আমার জন্য যা করত তা আমি বেশিরভাগ ক্ষেত্রেই করতে পারি, তবে আমি এগুলির সমস্ত সহাবস্থান সম্পর্কে অস্পষ্ট on যদি সম্ভব হয় তবে কনফিগারেশন প্রোগ্রামার / প্রোগ্রামারের ভূমি থেকে নিজেকে আরও দূর করার চেষ্টা এটি attempt
আমি যা খুঁজছি তার জন্য আমি কোথাও একটি পুরো পথচলা খুঁজে পাচ্ছি না, তাই আমি ভেবেছিলাম যে আমি এই প্রশ্নটি রেখেছি, এবং লোকেরা যদি আমাকে এই উত্তরগুলি দিয়ে সম্পাদনা করতে পারে এবং আমার অগ্রগতি ডকুমেন্ট করতে পারে / ফাঁদ। আশা করি কোনও দিন এটি কাউকে লাইনে নামাতে সহায়তা করবে।
বিস্তারিত:
- CentOS 5.5 x86_64
- httpd: অ্যাপাচি / 2.2.3
- মাইএসকিউএল: 5.0.77 (আপগ্রেড করার জন্য)
- পিএইচপি: 5.1 (আপগ্রেড করা হবে)
প্রয়োজনীয়তা:
- নিরাপত্তা !!
- নিরাপদ ফাইল স্থানান্তর
- সুরক্ষিত ক্লায়েন্ট অ্যাক্সেস (এসএসএল শংসাপত্র এবং সিএ)
- সুরক্ষিত ডেটা স্টোরেজ
- অন্য স্থানীয় মেশিনে সুরক্ষিত সংযোগ (মাইএসকিউএল)
- ভার্চুয়ালহোস্ট / একাধিক সাবডোমেন
- স্থানীয় ইমেল দুর্দান্ত হবে, তবে সমালোচনা নয়
পদক্ষেপগুলি:
ইনস্টলের মধ্য দিয়ে যাওয়ার সময় আমি সার্ভার উপাদানগুলির বিকল্পটি পরীক্ষা করে ভেবেছিলাম যে আমি অন্য প্লেস্কের মতো প্রশাসক ব্যবহার করব। অনিশ্চিতিতে, আমি আমার নিজের পথে যাওয়ার চেষ্টা করার সিদ্ধান্ত নিয়েছি বিবেচনা করে, এটি সম্ভবত সেরা ধারণা ছিল না।
ব্যবহারকারীগণ, নেটওয়ার্কিং / আইপি ঠিকানা ইত্যাদি সেটআপ করুন ইয়াম আপডেট / আপগ্রেড।
আপগ্রেড করুন: পিএইচপি এবং মাইএসকিউএলকে সর্বশেষতম সংস্করণগুলিতে আপগ্রেড করতে আমাকে সেন্টোসের বাইরে অন্য একটি রেপোতে সন্ধান করতে হয়েছিল। আইইউএস দেখতে দুর্দান্ত দেখাচ্ছে এবং আমি খুশি আমি এটি পেয়েছি!
আমাদের প্যাকেজ ম্যানেজারে আইওএস সংগ্রহস্থল যুক্ত করুন
cd /tmp
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
rpm -Uvh epel-release-1-1.ius.el5.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-4.ius.el5.noarch.rpm
rpm -Uvh ius-release-1-4.ius.el5.noarch.rpm
yum list | grep -w \.ius\. # list all the packages in the IUS repository; use this to find PHP/MySQL version and libraries you want to install
পিএইচপি-র পুরানো সংস্করণ সরান এবং আইওএস থেকে নতুন সংস্করণ ইনস্টল করুন
rpm -qa | grep php # to list all of the installed php packages we want to remove
yum shell # open an interactive yum shell
remove php-common php-mysql php-cli #remove installed PHP components
install php53 php53-mysql php53-cli php53-common #add packages you want
transaction solve #important!! checks for dependencies
transaction run #important!! does the actual installation of packages.
[control+d] #exit yum shell
php -v
PHP 5.3.2 (cli) (built: Apr 6 2010 18:13:45)
আইইউএস সংগ্রহশালা থেকে মাইএসকিউএল আপগ্রেড করুন
/etc/init.d/mysqld stop
rpm -qa | grep mysql # to see installed mysql packages
yum shell
remove mysql mysql-server #remove installed MySQL components
install mysql51 mysql51-server mysql51-devel
transaction solve #important!! checks for dependencies
transaction run #important!! does the actual installation of packages.
[control+d] #exit yum shell
service mysqld start
mysql -v
Server version: 5.1.42-ius Distributed by The IUS Community Project
আইইউস উইকির সৌজন্যে আপগ্রেড নির্দেশাবলী: http://wiki.iuscommune.org/Doc/ClientUsageGuide ।
scp
এবং sftp
অনুমতি ছাড়া অ্যাক্সেস, ssh
লগ-ইনcd /tmp
wget http://dag.wieers.com/rpm/packages/rssh/rssh-2.3.2-1.2.el5.rf.x86_64.rpm
rpm -ivh rssh-2.3.2-1.2.el5.rf.x86_64.rpm
useradd -m -d /home/dev -s /usr/bin/rssh dev
passwd dev
/etc/rssh.conf
আরএসএস ব্যবহারকারীদের SFTP এ অ্যাক্সেস দেওয়ার জন্য সম্পাদনা করুন ।
vi /etc/rssh.conf
মন্তব্য বা যোগ করুন:
allowscp
allowsftp
এটি আমাকে ট্রান্সমিটে এসএফটিপি প্রোটোকলের মাধ্যমে মেশিনের সাথে সংযোগ স্থাপনের অনুমতি দেয় (আমার পছন্দের এফটিপি প্রোগ্রাম; আমি নিশ্চিত যে এটি অন্যান্য এফটিপি অ্যাপ্লিকেশনগুলির সাথে একই)।
rssh নির্দেশাবলী appropriated (রসাস্বাদন সঙ্গে!) থেকে http://www.cyberciti.biz/tips/linux-unix-restrict-shell-access-with-rssh.html ।
ifconfig eth1:1 192.168.1.3 up #start up the virtual interface
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth1 ifcfg-eth1:1 #copy default script and match name to our virtual interface
vi ifcfg-eth1:1 #modify eth1:1 script
# ifcfg-eth1: 1 | এটির মতো দেখতে এটি পরিবর্তন করুন:
DEVICE = eth1: 1
আইপিএডিডিআর = 192.168.1.3
নেটমাস্ক = 255.255.255.0
নেটওয়র্ক = 192.168.1.0
ওববোট = হ্যাঁ
নাম = এথ 1: 1
পুনরাবৃত্তি করে আরও ভার্চুয়াল ইন্টারফেস যুক্ত করুন। কারণ ONBOOT=yes
ifcfg-, eth1 লাইন: 1 টি ফাইল, এই ইন্টারফেস প্রতিপালিত হবে যখন সিস্টেম বুট বা নেটওয়ার্ক শুরু / পুনরায় আরম্ভ।
service network restart
ইন্টারফেস eth0 বন্ধ করা হচ্ছে: [ঠিক আছে]
ইন্টারফেস এথ 1 বন্ধ করা হচ্ছে E1: [ওকে]
লুপব্যাক ইন্টারফেস বন্ধ করা হচ্ছে: [ওকে]
লুপব্যাক
ইন্টারফেস আনছে: [ওকে]
ইন্টারফেস এথ0 আনছে: [ওকে] ইন্টারফেস এথ 1 আনছে: [ওকে]
ping 192.168.1.3
192.168.1.3 থেকে 64 বাইট: আইসিএমপি_সেক = 1 টিটিএল = 64 সময় = 0.105 এমএস
উপরের আরআরএস বিভাগে আমি এসএফটিপি ব্যবহার করতে একটি ব্যবহারকারী যুক্ত করেছি। এই ব্যবহারকারীর হোম ডিরেক্টরিতে, আমি 'https' নামে একটি ফোল্ডার তৈরি করেছি। এই সাইটের ডকুমেন্টগুলি এখানেই বাস করবে, সুতরাং আমাকে একটি ভার্চুয়ালহোস্ট যুক্ত করতে হবে যা এটি দেখিয়ে দেবে। আমি এই সাইটের জন্য উপরের ভার্চুয়াল ইন্টারফেস ব্যবহার করব (যার সাথে এখানে dev.site.local বলা হয়)।
vi /etc/http/conf/httpd.conf
নিম্নলিখিত পোস্টগুলি httpd.conf- এ যুক্ত করুন:
<VirtualHost 192.168.1.3:80>
ServerAdmin dev@site.local
DocumentRoot /home/dev/https
ServerName dev.site.local
ErrorLog /home/dev/logs/error_log
TransferLog /home/dev/logs/access_log
</VirtualHost>
আমি https ডিরেক্টরিতে একটি ডামি সূচক html ফাইল রেখেছি কেবলমাত্র সমস্ত কিছু পরীক্ষা করে দেখার জন্য। আমি এটিতে ব্রাউজ করার চেষ্টা করেছি, এবং অনুমতি ত্রুটি অস্বীকারের সাথে দেখা হয়েছিল। লগগুলি কেবল যা চলছে তার একটি অস্পষ্ট রেফারেন্স দিয়েছে:
[সোমবার 17 14:57:11 2010] [ত্রুটি] [ক্লায়েন্ট 192.168.1.100] (13) অনুমতি অস্বীকার করেছে: /index.html এ অ্যাক্সেস প্রত্যাখ্যান
আমি chmod 777 et চেষ্টা করেছি। আল।, কিন্তু কোনও লাভ হয়নি। দেখা যাচ্ছে, আমার https ডিরেক্টরি এবং এর 'পিতামত ডিরেক্টরিগুলি chmod + x করা দরকার।
chmod +x /home
chmod +x /home/dev
chmod +x /home/dev/https
এটি এই সমস্যার সমাধান করে।
আমি আমাদের স্থানীয় উইন্ডোজ সার্ভার 2003 বাক্সের মাধ্যমে ডিএনএস পরিচালনা করছি। তবে, BIND- র জন্য সেন্টোস ডকুমেন্টেশনটি এখানে পাওয়া যাবে: http://www.centos.org/docs/5/html/Dep دام_Guide-en-US/ch-bind.html
এসএসএলকে কাজ করতে, আমি নিম্নলিখিতটি httpd.conf এ পরিবর্তন করেছি:
NameVirtualHost 192.168.1.3:443 #make sure this line is in httpd.conf
<VirtualHost 192.168.1.3:443> #change port to 443
ServerAdmin dev@site.local
DocumentRoot /home/dev/https
ServerName dev.site.local
ErrorLog /home/dev/logs/error_log
TransferLog /home/dev/logs/access_log
</VirtualHost>
দুর্ভাগ্যক্রমে, এসএসএল সহ কোনও পৃষ্ঠা অ্যাক্সেস করার চেষ্টা করার সময় আমি (ত্রুটি কোড: ssl_error_rx_record_too_long) ত্রুটিগুলি পেতে থাকি। জেমস হান্নাহ নিখুঁতভাবে নীচের দিকে ইঙ্গিত করায় , আমি httpd.conf এ শংসাপত্রগুলির অবস্থানগুলি সেট আপ করিনি, এবং ব্রাউজারকে বাল্ক তৈরির শংসাপত্র হিসাবে পৃষ্ঠাটি ব্রোজারে ফেলে দেওয়া হচ্ছিল।
সুতরাং প্রথমে, আমার একটি সিএ সেট করা এবং শংসাপত্র ফাইলগুলি তৈরি করা দরকার। আমি এখানে প্রক্রিয়াটিতে একটি দুর্দান্ত (যদি পুরানো) ওয়াকথ্রু পেয়েছি: http://www.debian-administration.org/articles/284 ।
এই নিবন্ধটি থেকে আমি যে প্রাসঙ্গিক পদক্ষেপ নিয়েছি তা এখানে:
mkdir /home/CA
cd /home/CA/
mkdir newcerts private
echo '01' > serial
touch index.txt #this and the above command are for the database that will keep track of certs
দির একটি openssl.cnf
ফাইল তৈরি করুন /home/CA/
এবং উপরে লিঙ্কযুক্ত ওয়াকথথ্রু অনুযায়ী এটি সম্পাদনা করুন। (রেফারেন্সের জন্য, আমার সমাপ্ত ওপেনএসএল.সিএনএফ ফাইলটি দেখতে এমন দেখাচ্ছে: http://pastebin.com/raw.php?i=hnZDij4T )
openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 3650 -config ./openssl.cnf #this creates the cacert.pem which gets distributed and imported to the browser(s)
openssl.cnf
ওয়াকথ্রু নির্দেশাবলী অনুসারে আবার পরিবর্তন করা হয়েছে।
#generates certificate request, and key.pem which I renamed dev.key.pem.
openssl req -sha1 -new -nodes -out dev.req.pem -config ./openssl.cnf
openssl.cnf
ওয়াকথ্রু নির্দেশাবলী অনুসারে আবার পরিবর্তন করা হয়েছে।
#create and sign certificate.
openssl ca -out dev.cert.pem -md sha1 -config ./openssl.cnf -infiles dev.req.pem
গুরুত্বপূর্ণ!
ফাইলগুলি সরান এবং এটিকে নতুন স্থানে httpd.conf থেকে রেফারেন্স করুন
cp dev.cert.pem /home/dev/certs/cert.pem
cp dev.key.pem /home/certs/key.pem
শংসাপত্রগুলি প্রতিফলিত করতে এবং এসএসএলইগাইন চালু করতে আমি httpd.conf আপডেট করেছি:
NameVirtualHost 192.168.1.3:443
<VirtualHost 192.168.1.3:443>
ServerAdmin dev@site.local
DocumentRoot /home/dev/https
SSLEngine on
SSLCertificateFile /home/dev/certs/cert.pem
SSLCertificateKeyFile /home/dev/certs/key.pem
ServerName dev.site.local
ErrorLog /home/dev/logs/error_log
TransferLog /home/dev/logs/access_log
</VirtualHost>
সিএ সার্ট.পিএম একটি ওয়েব অ্যাক্সেসযোগ্য স্থানে রাখুন এবং আমার ব্রাউজারে এটি ডাউনলোড / আমদানি করুন। এখন আমি https: //dev.site.local এ কোনও ত্রুটি বা সতর্কতা ছাড়াই দেখতে যেতে পারি ।
এবং আমি এখানে আছি আমি অগ্রগতি হিসাবে এটি সম্পাদনা করতে হবে। কীভাবে এসএসএল ইমেল কনফিগার করতে হয় এবং / অথবা মাইএসকিউএল সার্ভার হবে এমন অন্য বাক্সে সুরক্ষিত সংযোগটি কনফিগার করার বিষয়ে কোনও পরামর্শ প্রশংসাযোগ্য be