প্রতিটি সেটআপ আলাদা। আমার জন্য আমার একটি সার্ভারে প্রচুর ব্যবহারকারী রয়েছে যা প্রত্যেকটি ওয়েবসাইটকে হোস্ট করে, আপনার জন্য সম্ভবত আপনার সিস্টেমে কেবলমাত্র একজন ব্যবহারকারী তৈরি করার প্রয়োজন হবে না। তবে আপনি যদি এই সার্ভারে একাধিক ওয়েবসাইট পরিচালনা করেন তবে এই সেটআপটি আপনাকে একটি স্ট্যান্ডার্ড এলএএমপি সেটআপের চেয়ে সহজভাবে একটি ফ্যাশনে প্রতিটি ডোমেন পরিচালনা, কনফিগার করতে এবং ডিবাগ করতে সহায়তা করবে। এটি যাতে ঘটে যায় তার জন্য ক্রমে অনুমতি ত্রুটিগুলি পেতে আমি অ্যাপাচি দ্বারা বেশ কয়েকটি ডিভাইস ব্যবহার করি।
প্রথমত, এটি আমি নথির কাঠামোটি ব্যবহার করি:
/home/[USER]/domains/[DOMAIN]/html
/home/[USER]/domains/[DOMAIN]/logs
প্রতিটি ব্যবহারকারী ফোল্ডারের একটি ডোমেন (যা আমি যোগ করা সঙ্গে তাদের নিজস্ব অ্যাকাউন্ট রয়েছে সে ক্ষেত্রে /etc/skel
তাই এটি প্রত্যেক সময় নির্মিত হয়। প্রতিটি ডোমেইন এতে নিজস্ব ফোল্ডার এর রয়েছে domains
একটি সঙ্গে ফোল্ডারের html
ফোল্ডারে (আমি এই জন্য আমার কারণ রয়েছে, প্রাথমিকভাবে তাই ডোমেইনের ওয়েব ফাইল বাহিরে থাকতে পারে সর্বজনীন রাজ্যের)) আপনি উপযুক্ত হিসাবে এই কাঠামোটি সংশোধন করতে দ্বিধা বোধ করবেন না, কেবলমাত্র এই পোস্ট জুড়ে এই পরিবর্তনগুলি বহন করতে ভুলবেন না।
দ্বিতীয়ত, আমি প্রচুর পিএইচপি সাইট হোস্ট করি তাই আমি আমার কনফিগারেশনে suPHP ব্যবহার করি। ডিফল্টরূপে স্ট্যান্ডার্ড সংরক্ষণাগার প্যাকেজটিতে সঠিক সংকলন পতাকা সক্ষম করা নেই যার ফলে suPHP এর কম সুরক্ষিত সংস্করণ দেখা যায়। আমি আমার নিজস্ব suPHP প্যাকেজ তৈরি করেছি যা আমি আমার সার্ভারগুলিতে ব্যবহার করি, নীচে ইনস্টলেশন সংক্রান্ত নির্দেশাবলী। suPHP আপনাকে কোন ব্যবহারকারী পিএইচপি স্ক্রিপ্টগুলি নির্বাহ করতে হবে তা নির্ধারণ করতে দেয় (প্রতিটি বিষয়গুলির জন্য: প্রতিটি সাইটের জন্য কাস্টম php.ini ইত্যাদি) among আমি অ্যাপাচি-র জন্য সুেক্সেক্সকে সক্ষম করে রেখেছি - আরও www-ডেটা ব্যবহারকারীর (যে ব্যবহারকারীকে আমি ঘৃণা করি) তার কোনও মালিকানা থাকার প্রয়োজনীয়তা অপসারণ করছি।
প্রথমে আপনার সার্ভারে অ্যাপাচি এবং অন্যান্য সমস্ত পরিষেবা ইনস্টল রয়েছে তা নিশ্চিত করুন। তারা কমপক্ষে কাজ করছে কিনা তা নিশ্চিত করুন। এর পরে আমি সুপ-প্রচলিত এবং প্রয়োজনীয় লিবাপাছে ২-মোড-সুপ্প মডিউল ইনস্টল করার পরামর্শ দিচ্ছি (আরও তথ্য: পিপিএ কী কী এবং আমি কীভাবে সেগুলি ব্যবহার করব? )। তারপরে, ইনস্টল হওয়ার পরে, suPHP এবং suexec ব্যবহার করে সক্রিয় করুনa2enmod
sudo a2enmod suphp
sudo a2enmod suexec
sudo a2dismod php5
sudo /etc/init.d/apache restart
এর পরে কনফিগারেশন ফাইল আসবে। আমি বিভিন্ন সরঞ্জাম তৈরি করেছি যা প্রতিবার নতুন সাইট যুক্ত করার পরে কনফিগারেশন ফাইলগুলি স্বয়ংক্রিয়ভাবে উত্পন্ন করে; তবে, আমি যে বেসিক টেম্পলেটটি ব্যবহার করি তা এখানে:
<VirtualHost *:80>
ServerAdmin [EMAIL]
ServerName [DOMAIN]
ServerAlias www.[DOMAIN] [DOMAIN]
DocumentRoot /home/[USER]/domains/[DOMAIN]/html
<Directory /home/[USER]/domains/[DOMAIN]>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
</Directory>
ErrorLog /home/[USER]/domains/[DOMAIN]/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/[USER]/domains/[DOMAIN]/logs/access.log combined
SuexecUserGroup [USER] [USER]
suPHP_UserGroup [USER] [USER]
suPHP_ConfigPath /home/[USER]/etc
</VirtualHost>
এটি সেই ডোমেনটির জন্য লগইন সেট করে, ডকুমেন্ট রুট এবং ডোমেনটি পরিচালনা করার জন্য অন্যান্য সমস্ত মৌলিক প্রয়োজনীয়তা। আমি এই ফাইলগুলিকে /etc/apache2/sites-available/
সাধারণত নামযুক্ত রাখি [USER]-[DOMAIN]
এবং এগুলি এর a2ensite
মতো সক্ষম / অক্ষম করি :
sudo a2ensite [USER]-[DOMAIN]
sudo a2dissite [USER]-[DOMAIN]
কনফিগারেশন ফাইলগুলিতে প্রতিটি সংশোধন করার পরে অ্যাপাচি পুনরায় লোড করা প্রয়োজন
sudo /etc/init.d/apache reload
যদিও এটি আমার মতে, নমনীয়তার পরিমাণটি অর্জনে সেটআপ করা অনেকটা মনে হতে পারে, সেটআপের চেয়ে অনেক বেশি। যদিও আপনার কেবলমাত্র একটি একক ব্যবহারকারী ওয়েবসভার প্রয়োজন, ভবিষ্যতে আপনি যদি কখনও কোনও একক ব্যবহারকারী ওয়েবসার্ভার ব্যতীত অন্য কিছু চান, তবে আপনাকে আরও ক্রিয়া সম্পাদন করতে হবে (বা কেবল সমস্ত একসাথে সুরক্ষা বাদ দিন) এটি করার জন্য।