যেভাবে লিনাক্স (Linux), এপাচি (Apache), পিএইচপি (PHP) , মাইএসকিউএল (MySQL) LAMP Stack আপনার CentOS ডিস্ট্রিবিউশন এর সার্ভারে ইন্সটল করবেন

Spread the love

২০১৬ সালের প্রথম আর্টিকেল লিখতে বসলাম । একটা ওয়ার্কশপ নিয়েছিলাম ইন্সপায়ার চিটাগং এ। সেখানে এই বিষয় দেখানো হয়েছে । আজ সবার জন্য লিখছি। এটা আসলে LAMP Stack  এর উপরে করা একটি টিউটোরিয়াল।

LAMP stack হল একটা ওপেন সোর্স সফটওয়্যার গ্রুপ যা একসাথে একটা সার্ভার এ ইন্সটল করা হয় সার্ভারকে ডাইনামিক ওয়েবসাইট এবং ওয়েব অ্যাপ সারভ করার জন্য উপযোগী করার জন্য। এটা আসলে এসেছে – Linux (L)  , Apache (A), MySQL (M) , PHP/PERL/PYTHON (P) এই আদ্যাক্ষর থেকে। আমরা পিএইচপি এর জন্য তৈরি করবো তাই বাকি দুটা কেটে দিলাম।  এছাড়াও বর্তমানে আরো একটা Stack  খুবই জনপ্রিয়। LEMP – Linux, Nginx ( Engine X) , MySQL and PHP. তবে এই আর্টিকেল এ আমরা LAMP stack install করাই দেখবো ইনশা আল্লাহ ।

এই টিউটোরিয়াল এ আমি এমন ভাবে কমান্ড গুলা দেবো যেনো আপনারা যেকোনো লিনাক্স ডিস্ট্রিবিউশন এ LAMP stack install করতে পারেন।

আগেই বলে দিচ্ছি এটা করতে আপনার একটা ভিপিএস বা লিনাক্স অপারেটিং সিস্টেম ডিস্ট্রিবিউশন  দেয়া থাকতে হবে । নরমালি vps কেনার সময়ই এটা অটোমেটিক দেয়া থাকে। আপনার ভিপিএস এ SSH দিয়ে কানেক্ট করুন ।

প্রথম ধাপ – Apache Installation

Apache install করার জন্য টার্মিনাল এ নিচের কমান্ড দিনঃ

sudo yum install httpd

এরপর ইন্সটলেশন হতে থাকবে। ঠিক মত হয়ে গেলে আপনি নিচের কমান্ড দিয়ে সার্ভার স্টার্ট করতে পারবেন

sudo service httpd start

Apache install  দেয়া খুবই সহজ তাইনা! আপনার ইন্সটল করা ঠিক মত হয়েছে কিনা দেখার জন্য ব্রাউজ করুন আপনার আইপি অ্যাড্রেস (Server IP Address). যদি আপনি “It works” মেসেজ ওয়ালা কোন পেজ পান তাহলে ঠিক মত ইন্সটল হয়েছে। আর এই ইমেজের মত একটা কিছু আপনি দেখতে পাবেন। centos-lamp

দ্বিতীয় ধাপ – MySQL Installation

MySQL install করার জন্য টার্মিনাল এ নিচের কমান্ড দিনঃ

sudo yum install mysql-server
sudo service mysqld start

Installation Process এ ২ বার আপনার কাছে পারমিশন চাওয়া হবে। আপনাকে দুবারই yes persmission দিতে হবে।

ডিফল্ট Password থাকে না। একবার সেটাপ হয়ে গেলে আপনি root password set করতে পারবেন নিচের কমান্ড দিয়েঃ

sudo /usr/bin/mysql_secure_installation

যেহেতু এখনো কোন Password দেন নাই তাই কোন Password নাই।

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

ইনিশিয়ালি কারেন্ট Password ব্ল্যাঙ্ক রাখুন জাস্ট enter চাপুন।

এইবার আপনি root Password সেট করতে চান কিনা জিজ্ঞেস করবে । আপনি Y press করুন এবং ইন্সট্রাকশন ফলো করুন।

CentOS কিছু সিরিজ yes or no types question করে এই ইন্সটলেশন প্রসেস automate করে । তাই সেইফ হল yes বলে দেওয়া সব গুলার ক্ষেত্রে ।

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

এরপর  MySQL রিলোড হবে এবং নতুন চেঞ্জ গুলো implement করবে।

তৃতীয় ধাপ – PHP Installation

PHP install করার জন্য টার্মিনাল এ নিচের কমান্ড দিনঃ

sudo yum install php php-mysql

Yes বাটন এ চাপ দিলেই পিএইচপি ইন্সটল হয়ে যাবে!

PHP Module installation: 

PHP এর বিভিন্ন মডিউল ইন্সটল করে নিতে হয়। পিএইচপি এর এইসব লাইব্রেরী আর মডিউল অ্যাড করলে অনেক কাজ সহজ হয়ে যায়। আপনার জন্য যেইসব  libraries available আছে তা জানার জন্য Terminal এ টাইপ করুন:

yum search php-

টার্মিনাল এ অনেক গুলা লাইব্রেরি দেখাবে যার শূরুর দিকের লাইন হবে অনেকটা নিচের মতঃ

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Human Language and Character Encoding Support
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
php-imap.x86_64 : A module for PHP applications that use IMAP

কোন মডিউল কি কাজ করে এবং কিভাবে কি করে তার ডিটেইলস খুব সহজেই জানা যায় নিচের কমান্ড লিখেঃ

yum info name_of_the_module

এবার পছন্দের বা দরকারি মডিউল ইন্সটল দিতে নিচের কমান্ড দিনঃ

sudo yum install name_of_the_module

টিপ্সঃ একের অধিক মডিউল/ লাইব্রেরী space দিয়ে দিয়ে লিখলে একসাথে ইন্সটল হয়ে যাবে।

এইতো আপনি আপনার LAMP stack server রেডি করে ফেললেন। খুবই সহজ তাইনা? তবে যখনই সার্ভার রিস্টার্ট হয় এইসব সার্ভিস প্রসেস অফ হয়ে যায় অটোমেটিক শুরু করার জন্য আমাদের কমান্ড দিতে হয়। নরমালি পিএইচপি আপাচি এর সাথেই শুরু হয় তাই এর কমান্ড লাগে না। বাকি গুলার জন্য নিচের  কমান্ড দিন।

sudo chkconfig httpd on
sudo chkconfig mysqld on

ফাইনাল ধাপ – আপনার সার্ভার আউটপুট দেখুন

LAMP stack ঠিক মত কাজ করছে কিনা বোঝার জন্য খুব সহজেই আমরা নিচের কাজ করে দেখতে পারি । এটা পিএইচপি এর ইনফো চেক করা। এর জন্য যা করতে হবে একটা পিএইচপি ফাইল create করা লাগবে।

ফাইল ক্রিয়েট আর কোড লিখতে নিচের কমান্ড দিনঃ

sudo nano /var/www/html/info.php

নিচের কোড যোগ করুন:

<?php
phpinfo();
?>

সেভ করতে  ctrl + x দিন , y  দিয়ে save করুন.

Apache restart করে পরিবর্তন দেখা যাবে এই জন্য নিচের কমান্ড দিনঃ

sudo service httpd restart

এবার আপনার server Ip addpress দিয়ে নিচের মত করে লিখুন।

http://serverip/info.php

আপনি একটা পিএইচপি ইনফো ফাইল দেখবেন।

 

এইতো খুবই সহজেই আপনি একটা LAMP stack করে ফেললেন। এতে আরো ফিচার যোগ করা লাগবে লাইক – virtual host (to host more than one site), firewall ( to control the uses and visitors), phpMyAdmin ( to visually manage MySQL DB) প্রভৃতি । কোন সমস্যা হলে কমেন্ট করুন। আমি উত্তর দিবার যথাসাধ্য চেস্টা করবো । আর আপনার কিছু অ্যাড করার থাক্লেও কমেন্ট করে জানান। ধন্যবাদ। 🙂

 

**এই লেখাটি পূর্বে আমার বাংলা ব্লগে মার্চ ৭ ২০১৬ সালে প্রকাশিত । বর্তমানে এই ব্লগটা আমার বাংলাভাষী ভিজিটরদের জন্য ডেডিকেটেড! English Content এর জন্য WPBoffins or MRMizan follow করুন। 


Spread the love

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Articles

বাংলাদেশ রেলওয়ের অনলাইন টিকেট বুকিং এর বিভিন্ন টিকেট ক্লাস

Spread the love

Spread the loveআজ বাংলাদেশ রেলওয়ের টিকেট কিনলাম অনলাইনে। একটা প্রোগ্রাম এটেন্ড করতে যাব প্লাস কিছু গেস্ট আসবে এই কারনে। তো অনলাইনে টিকেট কিনতে যাবার পর ঘটলো বিপত্তি। কারন আমি নরমালি ৩ টা সিট নিয়ে ধারনা রাখি। শোভন চেয়ার সুলভ আর স্নিগ্ধা তো যখন টিকেট কিনতে


Spread the love

Yoda Style Conditionals ( Yoda Condition) Explained (Bengali/বাংলায়)

Spread the love

Spread the loveআমরা যারা প্রোগ্রামিং কিংবা ডেভেলপমেন্ট করি তাদের অনেকসময় সবকিছু ঠিকঠাকমত কন্ডিশন লেখার পরও দেখা যায় প্রোগ্রাম ভুল বিহেভ করে। এর পিছনে কিন্তু বিশাল একটা কিছুর হাত আছে। আমরা যখন কোন অপারেশন চালাই সেটা যদি ঠিকমত ঘটে তাহলে তাকে প্রোগ্রামিং এর ভাষায় ট্রু কেইস


Spread the love

দুই তিন মাসেই হয়ে যান লাখপতি, অনলাইন ক্যারিয়ারের মাধ্যমে! কতখানি সম্ভব?

Spread the love

Spread the loveএকটা কমন ট্রেন্ড লক্ষ্য করছি যে, সবাই শেষ ভরসা হিসেবে চেষ্টা করছেন অনলাইনে কিছু একটা উপার্জন করতে অথবা ফ্রিল্যান্স করতে। ব্যাপারটা কেমন একটা হাস্যকর বিষয় হয়ে যায় অর্থাৎ আপনি সর্বশেষ সব কিছুতে যখন ফেইল করছেন তখনই আসলে অনলাইনকে ক্যারিয়ার হিসেবে বেঁছে নিতে আসছেন।


Spread the love