Skip to main content

ছোট একটা পিএইচপি স্ক্রিপ্ট দিয়ে সার্ভারে ওয়ার্ডপ্রেস ইন্সটল করুন কোনরকম ঝামেলা ছাড়া।

নমস্কার সবাইকে স্বাগত জানাচ্ছি আজকের লেখাতে। সিপ্যানেলে ওয়ার্ডপ্রেস ইন্সটল এর জন্য আমরা সাধারণত Softaculous Apps Installer ব্যবহার করে থাকি। কিন্তু সিকিউরিটির দিক দিয়ে ভাবতে গেলে এটা অনেক ঝুকিপূর্ণ। তাই ম্যানুয়ালী WordPress.org থেকে ওয়ার্ডপ্রেসের লেটেষ্ট ভার্সন ডাউনলোড করে ইন্সটল করাটায় শ্রেয়!

কিন্তু ম্যানুয়ালী সার্ভারে ওয়ার্ডপ্রেস ইন্সটল করার ক্ষেত্রে ইন্টারনেট স্পিড অনেক বড় একটা বাঁধা। আপনি প্রথমে ওয়ার্ডপ্রেস রিপোজিটোরি থেকে আপনার পিসিতে ওয়ার্ডপ্রেস ডাউনলোড করবেন। তারপর আবার তা আপনার ওয়েব সার্ভারে আপলোড করবেন। এরপর আবার আনজিপ করে wordpress ফোল্ডার থেকে রুট ডাইরেক্টরিতে মুভ করতে হবে। অনেক ঝামেলা তাইনা?

ওয়ার্ডপ্রেস ইন্সটল - জয়ের বাংলা ব্লগ

আসলেই তাই! কেমন হয় যদি ছোট একটি পিএইচপি স্ক্রিপ্ট রান করিয়ে সব কাজ এক ক্লিকেই সেরে ফেলা যায়?? নিশ্চয় মন্দ হয়না! ঠিক এমনি একটা পিএইচপি স্ক্রিপ্ট লিখেছি আমি। নাম দিয়েছি WordPress Downloader & Installer. চলুন দেখে নিই ছোট এই স্ক্রিপ্ট এর ইউজার ইন্টারফেসটি।

ওয়ার্ডপ্রেস ইন্সটল এর স্ক্রিপ্ট
ইউজার ইন্টারফেস

দেখতেই পাচ্ছেন খুব সিম্পল একটা ইউজার ইন্টারফেস। Run Installer বাটনে ক্লিক করলেই ওয়ার্ডপ্রেস ইন্সটল হওয়া শুরু করবে।

ওয়ার্ডপ্রেস ইন্সটল এর স্ক্রিপ্ট

এটি প্রথমে wordpress.org থেকে ওয়ার্ডপ্রেসের লেটেষ্ট ভার্সনটি সার্ভারে ডাউনলোড করে। কাজেই সিকিউরিটি নিয়ে একদমই টেনশনের কিছু নেই। ডাউনলোডের এই কাজটি করা হয়েছে Curl ব্যবহার করে। কোডে বিস্তারিত দেখতে পারবেন। এরপর জিপ ফাইলটি সার্ভারে আনজিপ করে। আমরা জানি যে ওয়ার্ডপ্রেসের জিপ ফাইলটি আনজিপ করলে wordpress নামে একটি ফোল্ডার তৈরী হয়। স্ক্রিপ্টটি এরপর wordpress ফোল্ডার থেকে সব ফাইল এবং ফোল্ডারগুলো বর্তমান ডাইরেক্টরি মুভ করে। এভাবেই সম্পূর্ণ হয় সার্ভারে ওয়ার্ডপ্রেস ইন্সটল এর প্রক্রিয়া। চলুন এবার দেখে নিই কোডগুলো। 🙂

স্ক্রিপ্টের কোড

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title>Wordpress Downloader & Installer Script By S.k.joy</title>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
</head>
<body style="background: #ca4040;">
	<header>
		<div class="container">
			<div class="col-md-12">
				<div class="text-center">
					<h2 style="margin-bottom: 20px 0; color: #fff; line-height: 36px;">Wordpress Downloader & Installer</h2>
					<h4 style="line-height: 29px; font-weight: normal; color: #f5f5f5;">A tiny php application by S.k.joy</h4>
				</div>
			</div>
		</div>
	</header>
	<section style="margin-top: 20px;">
		<div class="container">
			<div class="row">
				<div class="col-md-6 col-md-offset-3">
					<div class="panel panel-default">
						<div class="panel-heading">Download & Install WordPress</div>
						<div class="panel-body">
							<div class="messages"></div>
							<?php
								/*
								* WordPress downloader and installer script
								* Author: S.k.joy
								* Author URI: http://skjoy.info
								* Date: 17 Aug 2018
								*/
								if(isset($_POST['installer'])){
									echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-primary">Downloading wordpress.Please Wait...</div>';
									
									// Copy wordpress from wordpress.org to current directory
									$url  = "https://wordpress.org/latest.zip";
									$file = "wordpress.zip";
									$dirName = "wordpress";</pre>
$ch = curl_init($url);

// Let's copy from secure url

curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($ch);

curl_close($ch);

if(file_put_contents($file, $data)){
echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-primary">Wordpress downloaded successfully.</div>';

//unzip file
$ext = dirname(__FILE__).'/';
$zip = new ZipArchive;
$res = $zip->open(dirname(__FILE__).'/'.$file);
if($res === TRUE){
$zip->extractTo("$ext/");
$zip->close();
echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-primary">Extract Done!</div>';
if(unlink( $file )){
echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-primary">Downloaded zip file is deleted...</div>';
}

// Now move all files and folders in current directory

$dir = $dirName;
$dirNew = ".";

if (is_dir($dir)) {

echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-primary">Copying files.Please wait...</div>';

if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo '<br>'.$file;
//exclude unwanted
if ($file=="install-wp.php")continue;
if ($file==".") continue;
if ($file=="..")continue;
if ($file=="cgi-bin")continue;

if (rename($dir.'/'.$file,$dirNew.'/'.$file)) {
echo " Files Copied Successfully";
echo ": $dirNew/$file";
}
else {
echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-danger">File not copy</div>';
}
}

echo '<div style="padding: 10px; margin: 10px 0;" class="bg-primary">Files copied successfully!</div>';

closedir($dh);
}
}

// Delete the empty directory
rmdir($dir);
echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-primary">Old directory is deleted!</div>';
}
else {
echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-danger">Ops! Could not extract the file...</div>';
}
}
else{
echo '<div style="padding: 10px; margin-bottom: 10px;" class="bg-danger">Failed to download wordpress!</div>';
}
}
?>
<?php if(!isset($_POST['installer'])): ?>
<form id="wpForm" action="" method="post">
<div class="form-group">
<button class="btn btn-primary" id="fire" type="submit" name="installer">Run Installer</button>
</div>
</form>
<?php endif; ?>
</div>
</div>
</div>
</div>
</div>
</section>
<footer>
<div class="text-center">
<p style="color: #fff">&copy; <?php echo date('Y'); ?> all rights reserved by <a style="color: #06d2ca;" href="http://skjoy.info">S.k.joy</a></p>
</div>
</footer>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button#fire").click(function(){
$("div.messages").html('<div style="padding: 10px; margin-bottom: 10px;" class="bg-primary">Downloading wordpress.Please Wait...</div>');
});
})
</script>
</body>
</html>

উপর থেকে কোডগুলো কপি করে ব্যবহার করতে পারেন। কিংবা চাইলে এখান থেকে পিএইচপি ফাইল টা ডাউনলোড করেও ব্যবহার করতে পারেন। যে ডাইরেক্টরিতে আপনি ওয়ার্ডপ্রেস ইন্সটল করতে চান সেই ডাইরেক্টরিতে পিএইচপি ফাইলটা আপলোড করুন। এরপর রান করুন এবং Run Installer বাটনে ক্লিক করুন। তাহলে নিচের মত দেখতে পারবেন।

ওয়ার্ডপ্রেস ইন্সটল - S.k.joy
ইউজার ইন্টারফেস

এবার কিছুক্ষণ অপেক্ষা করুন। সময়টা নির্ভর করবে আপনার সার্ভার স্পিডের উপর। তবে কয়েক সেকেন্ডের মধ্যে হয়ে যাবার কথা। সফলভাবে সার্ভারে ওয়ার্ডপ্রেস ইন্সটল হয়ে গেলে নিচের মত মেসেজ দেখতে পারবেন।

ওয়ার্ডপ্রেস ইন্সটল - S.k.joy
ইউজার ইন্টারফেস

তো এবার ডেটাবেজ তৈরী এবং কানেকশনের কাজটুকু সেরে ফেলতে হবে আপনাকে। তাহলেই ওয়ার্ডপ্রেস রেডি হয়ে যাবে ব্যবহারের জন্য। আশাকরি এই কাজটুকু করবার পূর্ব অভিজ্ঞতা আছে আপনাদের। 🙂

ওয়ার্ডপ্রেস ইন্সটল এর স্ক্রিপ্ট ডাউনলোড

স্ক্রিপ্ট টা ডাউনলোড করতে নিচের লিংকে ক্লিক করুন। গুগল ড্রাইভ থেকে ডাউনলোড করতে আশাকরি কোন অসুবিধা হবেনা।

ডাউনলোড করুন

আশাকরি ছোট এই পিএইচপি স্ক্রিপ্ট টা আপনাদের কাজ আসবে। কাজে আসলে বন্ধুদের সাথে অবশ্যই শেয়ার করবেন। কথা হবে পরবর্তীতে আর্টিকেলে। সেই অব্দি ভাল থাকুন, সুস্থ্য থাকুন।

S.k.joy

খুব সাধারণ একজন আমি, গ্রামের ছেলে। হয়ত আপনার ভাবনার কিংবা কল্পনার থেকেও সাধারণ। ভাল লাগে প্রোগ্রামিং, ডিজাইন আর ইলেকট্রনিক্স। আর এসব নিয়েই দিন কেটে যায়। একা থাকলেও একাকীত্ব আমাকে ছুতে পারেনা। কাজের ব্যাপার একটু বেশী স্বাধীন মানুষ আমি। মুক্ত বাতাসের আমার অভাব নেই।