Categories
Motorcycle

বাইকের কিছু রেগুলার মেইনটেন্যান্স টিপস

১) মাসে একবার ক্লাচ কেবলে এবং অ্যাক্সিলারেটর কেবলে লুব দিন, ম্যানল বা WD-40 ব্যবহার করতে পারেন। ইঞ্জিন অয়েল দিবেন না, তাহলে স্টিকি হয়ে যাবে কয়েকদিন পরেই, আরও বেশি জ্যাম হয়ে গেছে বলে মনে হবে।

২) টায়ার পরিবর্তন করলে সামনে পিছনে একই প্যাটার্নের টায়ার ব্যবহার করুন, এতে কন্ট্রোলিং ক্ষমতা, ব্রেকিং এবং কর্নারিং এর সময়ে বাইকের পারফরম্যান্স অনেক ভালো পাবেন।

৩) নন-ওরিং চেইন হলে সপ্তাহে একবার লুব দিন, কিংবা প্রতি ৪০০-৫০০ কিলো রাইড করলেই লুব দিন। লুব দেয়ার আগে কেরোসিন দিয়ে চেইন পরিষ্কার করে নিবেন। ওরিং চেইন হলে আরেকটু বেশি চালাতে পারবেন প্রতিবার ক্লিন করার আগে। রেগুলার চেইন চেক করবেন যেন ড্রাই না থাকে। আর চেইনে ইঞ্জিন অয়েল না দিয়ে ডেডিকেটেড চেইন লুব (যেমন মটুল চেইন লুব) কিংবা ১৪০ গ্রেডের গিয়ার অয়েল দিবেন। ম্যানল বা WD-40 খুব দ্রুত ড্রাই হয়ে যায়। আর ভুলেও ওরিং চেইনে ডিজেল বা অকটেন দিবেন না, তাহলে ওরিং চেইনের লিঙ্কগুলোর মাঝে যে রাবার রিং থাকে সেগুলো নষ্ট হয়ে যাবে। সপ্তাহে একবার চেইন লুজ কিনা সেটা চেক করে নেবেন।

৪) রেগুলার চাকার এয়ার প্রেশার চেক করুন। সামনে ২৫-৩০ পিছনে ৩০-৩৫ পিএসআই এর মাঝেই রাখবেন।

৫) প্রতি ১০০০ কিলো পর পর এয়ারফিল্টার ক্লিন করে নেবেন

৬) রেগুলার ইঞ্জিন অয়েল লেভেল চেক করবেন, কমে গেলে টপ আপ করে দেবেন

৭) মাঝে মাঝে ব্রেক প্যাড চেক করবেন। যদি দেখেন প্যাড অনেক পাতলা হয়ে গেছে, ২ মিলিমিটারেরও কম, তাহলে পরিবর্তন করে ফেলাটা বুদ্ধিমানের কাজ হবে।

৮) মাঝে মাঝে টায়ার এর দুই সাইড চেক করে দেখবেন কোন টিউমার দেখা যায় কিনা, দেখা গেলে সাথে সাথেই টায়ার পরিবর্তন করা দরকার।

৯) দিনের শুরুতে মোটরসাইকেল স্টার্ট দিয়ে সাথে সাথে চলা শুরু করবেন না বা থ্রটল ঘুরাবেন না। মিনিমাম এক মিনিট অপেক্ষা করুন, এই সময়ের মাঝে ইঞ্জিন অয়েল ইঞ্জিনের সব জায়গায় পৌঁছে যাবে। এই সামান্য অভ্যাসটুকু আপনার বাইকের ইঞ্জিনের স্থায়িত্ব বাড়িয়ে দেবে বহুগুন।

১০) ১০০০০ কিমি পরপর, কিংবা ইঞ্জিনের সাউন্ডে ক্লিক ক্লিক আওয়াজ পেলে ইঞ্জিনের ভালভ ক্লিয়ারেন্স অ্যাডজাস্ট করে নেবেন ( অনেকে যেটাকে ট্যাপেট অ্যাডজাস্টমেন্ট বলে)

Categories
Uncategorized

শুরু করাটাই সবচেয়ে কঠিন, কিন্তু একটু কষ্ট করে শুরু করে ফেললে এগিয়ে যাওয়াটা তুলনামূলকভাবে সহজ

একটা বই লেখার সবচেয়ে কঠিন কাজ হল “টেবিল অফ কনটেন্টস” লেখা। কিন্তু এটা ছাড়া বই শুরু করা যায় না। অনেকসময় এই টেবিল অফ কনটেন্টস লিখতেই চলে যায় কয়েক সপ্তাহ। এই টিওসি লিখতে গিয়েই অনেকে হাল ছেড়ে দেয়। কিন্তু একটু কষ্ট করে এটা লেখা হয়ে গেলে পুরো বইটা লেখাই অনেক সহজ হয়ে যায়। তখন আর বই লেখার মত কঠিন একটা কাজ কে আর কঠিন মনে হয় না তেমন

শুরু করাটাই সবচেয়ে কঠিন, কিন্তু একটু কষ্ট করে শুরু করে ফেললে এগিয়ে যাওয়াটা তুলনামূলকভাবে সহজ 🙂

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

Categories
Uncategorized

নোডজেএস এবং JWT (জেসন ওয়েব টোকেন) দিয়ে একটা সিকিউরড এপিআই প্রজেক্ট তৈরী করা

অনেকেই মনে করে এপিআই প্রজেক্ট মানেই অনেক অনেক কঠিন কিছু। তারউপরে নোডজেএস হলে তো কথাই নাই। সাথে জেসন ওয়েব টোকেন? থাক আর করা লাগবে না! অথচ এগুলো সবই কিন্তু খুবই সহজ। চলেন “লার্ন উইথ হাসিন হায়দার” থেকে আমরা নোডজেএস দিয়ে একটা ছোট্ট এপিআই প্রজেক্ট তৈরী করে সেটা জেসন ওয়েব টোকেন বা JWT দিয়ে সিকিউর করে ফেলি 🙂

কেমন লেগেছে জানাবেন কিন্তু 🙂
https://learnwith.hasinhayder.com/

Categories
Uncategorized

Copper

I purchased my Canon 550D in 2011, and then I purchased a great set of lenses. Eventually, I owned a 5D Mark II and a 6D. But then it suffered a long pause. I wish I was a full-time photographer but not for making a living through it. Photography was more like showing everyone else how I see the world and objects around me. It’s pretty fun.

Here is a set of portraits I captured yesterday, in a birthday party thrown by one of my biker brothers. The party was full of bikers and it was a great get together.

Categories
General

What should be your first programming language?

If you are new to programming or want to step into learning programming, I am sure that you are in a dilemma of choosing your first programming language. Well, stop thinking and start with Python.
How to start for now?
Read this article first. Try to understand what he is saying, don’t skip any part. You will get a rough picture of the rudimentary elements in a programing language (and Python)
Here you can learn Python interactively. There is a Run button, you can modify any code and run to see the output. Very useful for quickly writing and checking your own code, and to learn the different elements Python offers
And keep it as a bedside book. Read it, you will start loving Python soon.
When you are feeling confident, read articles in the following link – read them and practice thoroughly. Remember practice makes a man perfect.
I am suggesting you learn Python because it is a readable, easy to write and fun-filled programming language and taught to new programmers as their first language worldwide. But that doesn’t mean that Python is less powerful. Actually, it is the opposite, it’s really powerful and people use it to write great applications everywhere.
Some people will tell you that you should start with C. Don’t listen to them, at least for now.
And remember that there are two major versions of Python, 2 and 3, and both are being developed and wildly used. But for now, let’s just start with Python 3 🙂
Categories
General

উত্তরা বিআরটিএ থেকে মোটরসাইকেলের রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপের ডেট বাড়ানো, ডিজিটাল নাম্বার প্লেট তোলা, ফিংগার প্রিন্ট দেয়া এবং স্মার্ট কার্ড তোলার ডিটেইলস

উত্তরা বিআরটিএ থেকে মোটরসাইকেলের রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপের ডেট বাড়ানো, ডিজিটাল নাম্বার প্লেট তোলা, ফিংগার প্রিন্ট দেয়া এবং স্মার্ট কার্ড তোলার ডিটেইলস

১. রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপের ডেট বাড়াতে হলে: স্লিপ নিয়ে সোজা চলে যান ১০৩ নম্বর রুমে, সেখানে কম্পিউটার নিয়ে বসে থাকা লোকটিকে কাগজপত্র দিন এবং বলুন যে আপনি স্লিপের ডেট বাড়াতে চান। তিনি আপনার কাগজের ডিটেইলস দেখে ডেট বাড়িয়ে একটা সীল মেরে দেবে। এর মাঝে যদি আপনার ডিজিটাল নাম্বার প্লেট রেডি হয়ে যায়, তাহলে আর ডেট বাড়াবে না।

যা যা নিয়ে যাওয়া লাগবে: রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এবং এনআইডির ফটোকপি। সাথে অরিজিনাল রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এবং এনআইডি রাখা লাগবে। অরিজিনাল কাগজ সাথে না রাখলে আপনাকে ফিরে যেতে হবে

কতক্ষন লাগে: পাঁচ ছয় জনের লাইন থাকে, দশ/বিশ মিনিটের বেশি লাগে না

২. ডিজিটাল নাম্বার প্লেট (ডিএনপি) লাগাতে হলে: আপনার কাছে এসএমএস আসলে, বা বেশ অনেকদিন হয়ে গেলে, বা ১০৩ নম্বর রুম থেকে কোন তথ্য পেলে (যে আপনার ডিএনপি রেডী) বাইক নিয়ে সোজা চলে যান উত্তরা বিআরটিএর সামনে। ওখানে মোটরসাইকেলের পার্কিংয়ের সাইনবোর্ড আছে, সেখানে পার্ক করে রাখুন। কিছুক্ষন পর পর বিআরটিএর ইন্সপেক্টর এসে চেক করে পার্ক করে রাখা বাইকগুলো। আপনার বাইকের কাছে আসলে রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপের ফটোকপি ওনাকে দিন। এবার আর কোন কাজ নেই বসে থাকা ছাড়া। আধা ঘন্টা থেকে পঁয়তাল্লিশ মিনিট অপেক্ষা করুন। একসময় একজন লোক পার্কিং এর জায়গায় অনেকগুলো নাম্বার প্লেট নিয়ে আসবে এবং নাম্বার ধরে ধরে জোরে ডাক দিবে। আপনার নাম্বার ধরে ডাকলে আপনি আপনার ডিজিটাল নাম্বার প্লেট এবং স্ক্রু (২ টা) তার কাছ থেকে নিয়ে নিন। তাকে দিয়ে লাগানোর কোন দরকার নাই, অপেক্ষা করুন। চলে যাবেন না এখনই

একটু পর আবার সেই ইন্সপেক্টর আসবে ছবি তোলার জন্য। আপনার বাইকের কাছে এসে আপনার নাম্বার প্লেট স্ক্যান করে আপনাকে বাইকের পাশে দাঁড়াতে বলবে, এবং বাইক সহ আপনার ছবি তুলবে। ব্যাস, কাজ শেষ। আপনি নাম্বার প্লেট এদেরকে দিয়েও লাগাতে পারেন, নিজে পরিচিত গ্যারেজে গিয়েও লাগাতে পারেন। আমি সাজেস্ট করব গ্যারেজে নিয়ে যেতে। সেখানে ১৫০ টাকা দিয়ে একটা নাম্বার প্লেট হোল্ডার (স্টিলের শক্ত প্লেট, যাতে কারো সাথে বাড়ি খেলেও নাম্বার প্লেট খুলে না পড়ে যায়) কিনে আপনার বাইকের সাথে ডিজিটাল নাম্বার প্লেট গ্যারেজের লোক দিয়েই লাগিয়ে নিন।

যা যা নিয়ে যাওয়া লাগবে: রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এর ফটোকপি। সাথে অরিজিনাল রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ রাখা লাগবে। অরিজিনাল কাগজ সাথে না রাখলে আপনাকে ফিরে যেতে হবে। মাঝে মাঝে ডিএনপির পেমেন্ট এর রশিদও দেখতে চায়, সুতরাং সাথে রাখা ভালো

কখন গেলে ভালো হয়: প্রসেস শুরু হয় নয়টা, সাড়ে নয়টা থেকে। অনেকে হুদাই সকাল সকাল কিংবা সাতটা আটটার দিকে দাঁড়িয়ে থাকে। কোন দরকার নাই। সাড়ে এগারোটার মাঝে যেকোন সময় যান। এর পরে গেলে নামাজ এবং লাঞ্চ ব্রেকে পড়ে যাবেন, অহেতুক এক/দেড় ঘন্টা বেশী সময় লাগবে।

৩. ডিজিটাল স্মার্ট কার্ডের জন্য ফিংগারপ্রিন্ট দিতে হলে: আগে ডিজিটাল নাম্বার প্লেট লাগাতে হবে, বা অ্যাটলিস্ট ডিজিটাল নাম্বার প্লেটের এসএমএস আসা লাগবে। এই দুটোর কোন একটা হয়ে গেলে রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এবং এনআইডির ফটোকপি নিয়ে সোজা চলে যান ১০৩ নম্বর রুমে। সেখানে কম্পিউটারে বসে থাকা একজন লোক আপনার স্লিপ দেখে সেখানে রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এর ফটোকপির উপরে আপনার সিরিয়াল নম্বর লিখে দিবে, যেমন ২২ বা ২৩ বা এরকম কিছু। এবার সেটা এবং অরিজিনাল রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ নিয়ে ১০২ নম্বর রুমের সামনে লাইনে দাঁড়িয়ে যান। ওখানে দুইটা লাইন একসাথে, একটা স্মার্ট কার্ড বিতরনের লাইন, আরেকটা ফিংগার প্রিন্টের লাইন। সুতরাং বুদ্ধি করে দাঁড়ান। আপনার সিরিয়াল আসলে কম্পিউটার নিয়ে বসা লোকটার সামনে বসে পড়ুন এবং তাকে রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এর সিরিয়াল লেখা ফটোকপি, এনআইডির ফটোকপি এবং রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এর অরিজিনাল কপি দিন। উনি আপনার ফিংগার প্রিন্ট নিবে এবং সাইন করতে বলবে। সাইন টা মনে রাখবেন, পরবর্তীতে বাইক সেল করতে হলে (মালিকানা ট্রান্সফার করতে হলে) এই সাইন মিলতে হবে, নাহলে অনেক ভেজাল। সাইন করা হয়ে গেলে এই লোক আপনার ফটোকপিগুলো রেখে দিবে এবং অরিজিনাল রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এর উপরে ডেট বাড়িয়ে একটা সীল মেরে দিবে। ব্যাস, আপনার কাজ শেষ, এখন যেতে পারেন 🙂

কতক্ষন লাগে: পাঁচ ছয় জনের লাইন থাকে, আধা ঘন্টার বেশি লাগে না

৪. ডিজিটাল স্মার্ট কার্ড তুলতে হলে: যখন আপনি ডিজিটাল স্মার্ট কার্ড রেডী হয়ে গেছে টাইপের এসএমএস পাবেন, তখন রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ এর অরিজিনাল কপি এবং একটা ফটোকপি নিয়ে চলে যান সেই আগের ১০৩ নম্বর রুমে কম্পিউটার নিয়ে বসে থাকা লোকটার সামনে। তাকে অরিজিনাল রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ টা দিন, উনি আপনার স্মার্ট কার্ডের বক্সের নাম্বার লিখে একটা সাইন/সীল মেরে দিবে। এবার সেই কপি নিয়ে নিয়ে ১০২ নম্বর রুমের বামপাশে গ্রীলের সামনে লাইনে দাঁড়ান। আপনার সিরিয়াল আসলে ভেতরের লোকটাকে আপনার অরিজিনাল রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ টা দিন। সেই লোক বক্স থেকে আপনার স্মার্ট কার্ড বের করে ১০২ নম্বর রুমে বসে থাকা আরেকজন লোকের কাছে দিবে। ঐ যে মনে আছে, যেই লোকটা আপনার ফিংগারপ্রিন্ট নিয়েছিল, সেই লোকের কাছে। এবার সেই লোকের সামনে লাইনে দাঁড়ান। সেই লোক কিছুক্ষন পরে আপনার বাইকের নম্বর ধরে জোরে ডাক দিবে। তখন সেই লোকের কাছে যান, সেই লোকটা আপনার স্মার্ট কার্ডের বারকোড স্ক্যান করে আপনাকে ডিজিটাল স্মার্ট কার্ড টা দিয়ে দিবে এবং আপনার অরিজিনাল রেজিস্ট্রেশন অ্যাকনলেজমেন্ট স্লিপ টা রেখে দিবে। কংগ্র‍্যাচুলেশনস, বাইক নিয়ে আপনার যাবতীয় আজাব আপাতত শেষ

কতক্ষন লাগে: দশ বারোজনের জনের লাইন থাকে, আধা ঘন্টার বেশি লাগে না

নোট: উত্তরা বিআরটিএ তে লাঞ্চ এবং নামাজের ব্রেক একটা থেকে দুটা, সুতরাং এই সময়টা অ্যাভয়েড করবেন।

এই আর্টিকেলটা ভালো লাগলে জানাবেন। শেয়ার করবেন যাতে অন্যরাও পুরো সিস্টেমটা জানতে পারে এবং অহেতুক ভোগান্তি/সময়-নষ্ট/ঘোরাঘুরি/টাকা-পয়সা-নষ্টের শিকার না হয় 🙂

ইংরেজী কিওয়ার্ড: Registration Acknowledgement Slip, Date Extend, Digital Number Plate, DNP, Uttara BRTA, Uttara, BRTA, Smart Card, SmartCard, Fingerprint, Driving License, Dhaka, Bangladesh
Categories
mac osx

How to stop the kernel_task from fucking the CPU in your mac

*Special Note: Before you read and practice anything mentioned in this article, make sure that you understand the risk. Don’t fucking come back to blame me if anything goes wrong

So, from reading the title you probably understand by now that I am seriously pissed off by this fucking (and super annoying) problem which is not being taken care of by Apple. People are literally crying and ultimately pays real money to either get a new machine, get depressed, or simply just stop using their beloved Mac.

This process called kernel_task is eating up CPU and leaving no breathing space for your other apps. As a result, you get a slow and sluggish Mac which is hindering your productivity and you spend think why you became the victim of this fucking curse. Well, this is how I got rid of this problem on my old MacBook Pro, which I had purchased in 2009 and still using for my everyday works.

First of all, I spent a lot of time reading through the posts of the victims in Apple support forums, stack overflow and articles usually served to you by Google. The first hope I got was mentioned in an article written by Viktor Petersson (light was shed by Rhys Oxenham). He has written two separate articles to fix this problem; well, partially in Yosemite and in El Capitan. I said “partial” because his findings had solved my problem for some time, and then it came back. So here’s the link to his damn useful articles

  1. Disabling kernel extension in Yosemite
  2. Disabling kernel extension in El Capitan

Well, as I said, Viktor’s process had solved the issue for a few months. And then it started again. This fucking kernel_task was eating 70%-100% of the CPU. So I was digging into the other solutions provided by helpful people in different places. Then I found a solution suggested by David Schlachter. In his article, David showed us a way to stop this kernel_task from being a monster, just by disabling the ACPI_SMC_PlatformPlugin.kext and X86PlatformPlugin.kext. Both of these kexts are part of IOPlatformPluginFamily.kext. So removing this IOPlatformPluginFamily.kext stopped the kernel_task from eating the CPU once and for all.

Here is the link to David Schlachter’s article on fixing kernel_task high CPU problem.

As David and others have said after following the instructions found in David’s article, the fan keeps running at full speed but I think, like others, I can live with that for now.

My mac is back to its normal life again and I am happy for that. By the way, I want to say again “Fuck you, Apple” for not taking care of this “Super Annoying” issue even after so many people are suffering for a long time!

Good night.

Categories
centos PHP

Upgrading PHP to PHP7.0 in a CentOS server with Vesta CP

Latest VestaCP comes with PHP5.6 by default. In this article, we will see how to upgrade PHP to it’s latest version, i.e PHP7.0

First, we need to add the correct REMI repository and enable remi update, remi release and remi-php70 repository. Here’s how

[code lang=shell]
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm

yum –enablerepo=remi update remi-release
yum –enablerepo=remi-php70
[/code]

Now stop apache2 and remove the existing php package that comes with VestaCP

[code lang=shell]
service httpd stop
yum -y remove php
[/code]

Now install PHP 7.0

[code lang=shell]
yum install php70-php
yum install php70-php-pear php70-php-bcmath php70-php-pecl-jsond-devel php70-php-mysqlnd php70-php-gd php70-php-common php70-php-fpm php70-php-intl php70-php-cli php70-php php70-php-xml php70-php-opcache php70-php-pecl-apcu php70-php-pecl-jsond php70-php-pdo php70-php-gmp php70-php-process php70-php-pecl-imagick php70-php-devel php70-php-mbstring
[/code]

After this step, all you need to do is stop the old php-fpm service and start the new one

[code lang=shell]
service php-fpm stop
service php70-php-fpm start
[/code]

At some point, you may also want to create a global alias ‘php’ to run php70 cli, like this

[code lang=shell]
ln -s /usr/bin/php70 /usr/bin/php
[/code]

And you’re done 🙂

Categories
Uncategorized

How to disable IPv6 for Exim4 that comes with Vesta Panel

I had a server which has both IPv4 and IPv6 and they were working perfectly fine. I had installed Vesta CP which is an amazing control panel application and it was working just great. But there was only one problem with Exim4. It was not sending emails properly to Gmail. Mails sent to gmail were bounced. I checked the log and the message was

message does not meet IPv6 sending guidelines regarding PTR records

Ok, that is pretty straight forward. The server’s IPv6 didn’t have a reverse DNS or PTR. To fix this problem I had to set it up. But then I was thinking how to tell Exim not touse IPv6 but IPv4. The problem begins

Exim in this server came with Vesta Panel, and in most forums people suggested to add a new entry as disable_ipv6=true in the /etc/exim4/update-exim4.conf.con file. I’ve added that and restarted exmi4, but there were no changes. Netstat shows that exim is still listening on port 25 against the IPv6 address.

[code lang=shell]
netstat -tulpn | grep :25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 7013/exim4
tcp 0 0 0.0.0.0:2525 0.0.0.0:* LISTEN 7013/exim4
tcp6 0 0 :::25 :::* LISTEN 7013/exim4
tcp6 0 0 :::2525 :::* LISTEN 7013/exim4
[/code]

Some people in different forum suggested that dc_local_interfaces should be set to 127.0.0.1 but it still didn’t make any change in exim.

Finally, finally, I noticed that there is a configuration template file /etc/exim4/exim4.conf.template. Curiously, I’ve added disable_ipv6=true directive over there, restarted exim and voila! It started working 🙂

[code lang=shell]
netstat -tulpn | grep :25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 8110/exim4
tcp 0 0 0.0.0.0:2525 0.0.0.0:* LISTEN 8110/exim4
[/code]

I hope you will find this article useful, and save some time when you run into similar problem with exim and vesta panel.

Categories
PHP wordpress

How to prevent someone or some role from accessing the WordPress admin panel

It might be required sometime to prevent a user or all users with a specific role from accessing the WordPress admin panel. It’s not tough. Let’s think that we want that all users with author role will not be able to access the admin panel. All you have to do is just add the following code in your functions.php and you’re done

add_action( "init", "prevent_from_admin_panel" );
function prevent_from_admin_panel() {
  if ( ! current_user_can( "manage_categories" ) ) {
    if ( is_admin() && !defined( 'DOING_AJAX' ) ) {
      $pageurl = get_author_posts_url( get_current_user_id() );
      wp_redirect( $pageurl );
    }
  }
}

The code checks if the currently logged in user has the necessary capability manage_categories. This particular capability is only available to the users with Editor or higher roles, like an Administrator. So, if the current user doesn’t have it, he must be someone with an Author role. Now we will just get the url of his posts page and redirect him over there.

this particular code is_admin() && !defined( 'DOING_AJAX' ) makes sure that for ajax calls, we will not perform this redirection.

If you want to block a particular user from accessing the admin panel, then just get his id by using get_current_user_id() function. And then redirect him to homepage if it matches with the user id that you want to prevent.

That’s it. I hope you’ve enjoyed this article.