خبرونه - سایټ لیدنه
Practical Web Based Deep Learning and Security by Example Third Edition Charlotte Harper July 3, 2024 Updated/Converted June 3, 2025 Foreword: Security considerations in building software for the web are an important part of any web developer's plan and execution while engineering a prototype that is dependable, stable, and useful for practical purposes. The DOM (Document Object Markup), with it's implementation of HTML, JavaScript, and CSS as well as backend software implementing Python, C/C++, Java and bash, give web developers the freedom and power to create a wide variety of projects that express creativity, provide ease of use and functionality, portray humility and character, and provide ease of use as well as convenience and important services that are all attractive to the average Joe, the end user looking to kill time or get something done on the internet, usually on a touchscreen smartphone device. Most people wouldn't even know where to start when they want to build a website from scratch, they would tend to start on another person's website and build something limited in functionality, dependability, ease of use and especially creativity when they could have had all the latest powerful tools at their disposal in order to build something useful without wasting time pressing buttons, and especially wasting money paying for expensive subscriptions to software few people wanted to use anyway given it's limitations in ease of use and flexibility. If you have a few minutes to read through this book and learn what I want to teach you, or even speak with me personally about your goals and get some guidance in the right direction, and are motivated to learn to code and write your own software, take this book home and set aside some time to learn to build the next influential, powerful, streamlined and important web application, a website that is all on you and does exactly what you want and meets the needs of your audience. About me: I am a software developer with a wide range of experience in C/C++, Java, Python, HTML, CSS and JavaScript. I build websites people want to use, want to visit, and even get addicted to using just to learn, recreate and kill time, and most importantly, I sell software. If you had an idea as to exactly how you wanted a website to look and function, you were willing to support me so I can meet my own needs while I meet yours, and you are willing to cover the costs of running a website yourself, I would build you the next YouTube, TikTok, Twitter, Google, or even a high-tech security app only you can access. Instead of trying to sell you my time, I'm trying to buy yours: I want to talk you into building an app (website) yourself with the information that already exists, and teach you what you need to be an independent software developer, entrepreneur, leading a successful career in whatever field you desire. And let me be clear, the education I give you will be informal. You could go to school and learn all of this with a formal education, or even read this book in school, complete your assignments, and take away a great deal from your education, but I won't formally put you in the hot seat and ask you to complete assignments. I'm not your professor, you can think of me like a friend who wants to guide you toward a career driven by your own personal success. And I'm not selling you success either, you will need to buy it with your time. Learning to code has a steep learning curve and was never easy, or even supposed to be. You need to work as hard as you possibly can and continue to try and fail and try again even when you are frustrated in order to learn and build apps yourself. That's in the nature of code itself. Code is run by a compiler that is designed to give the programmer error messages, and these will teach you how to code, even if you are simply copying the error into your search engine and reading other people's examples. And I must say, you don't need to be extremely rich, smart, successful, or even detail oriented or organized to build an app. The computer takes care of that organization for you. You just need to persevere through the trial and error, maintain focus and work hard at what you do, and you will have a very successful career in the entirety of what you do. Who I am: I realize that the last section was more about learning and your take a ways from this book. Who am I exactly? That's a complicated question. I am unclear on that myself, as I suffer from medical conditions that can make it difficult for me to even code or write this book at times, while presenting challenges with socialization and identity issues that make my life more difficult when it comes to introducing myself. In short, if you are reading this book, you brought it home because you flipped through it and thought it was useful, or even if you just read this far in, to you I am a like minded individual who wants to see you succeed in everything that you do. I am an engineer myself, a software developer, and a student, and I am writing this book for other students who want to make their lives easier by having a handbook of the software they need making their lives easier by giving examples to copy that fit together like a big puzzle into a working, useful, large, functional, cohesive, and engaging app that can drive success no matter the line of business. Largely, this is what I do: I build apps to help myself and other people succeed. I am an author as well, though this is my first publication that I intend to complete in order to put my portfolio together into a useful document, and I am an artist as well. I'll admit this to you, I'm sort of a strange person. I'm not perfect, I've had run ins with the law even leading me to leave colleges and universities and leave states in order to try to make a name for myself with more success. I am a woman by birth, I wear makeup, take photos of myself, wear dresses and other womens clothing, and I stay conscious of myself as a female by nature. I've had issues with other people in the past that lead to struggles with writing and building webapps, and I apologize that I haven't been able to get this book in your hands sooner: You needed this. You will want to read and write code that looks like mine and works like mine and does the same thing but even better, because if you can afford to buy this book instead of mashing your keyboard like I do just to create a book yourself asking money for it, you have the resources you need to be successful in your life. I had all sorts of issues with family growing up, health conditions, doctors, the media, and the law, and my code deeply reflects the struggle that is feminism and female nature in a divided and frustrated world. However, this book is something I deeply care about, my baby, my portfolio, and my livelihood, so I appreciate your consideration when you take the text home and carefully pore over it in order to learn from me. Please keep in mind I am not perfect, this book will have errors, revisions, and new editions, and you will need to think with your logical brain as best you can in order to have a successful experience with my writing. Also, understand that I mean well for you even when you face challenges when writing. Think about it like this: When you can just rent a computer system to do anything you can possibly imagine in the digital space, store all the information you encounter, analyze and organize it, and come to understand it, you will inevitably encounter difficulties with the information you are ingesting and even publishing. I tell you this because I encounter the same difficulties. Use this book at your own risk, work with your community and communities available to you to build software within a safe setting, and don't take things to personally when you fail or even succeed in the wrong way: That's how I got this far, and why I can bring you this text and help you succeed without diverging off on a path of madness that leaves me ruined, torn and frayed while I encounter the ordinary problems everyone does on a global scale thanks to the paralellistic global scale of the network on which we will work, the internet. You might not be very familiar with who I am with just a few words, but I encourage you to read on, you will get to know me as you continue to read and understand me while building your own projects to complete your work. There will be no homework with this book, as long as your professors or teachers don't assign you any, but I highly encourage you to build a portfolio of projects yourself as you read along, as well as a capstone project showcasing how you can apply what you have learned. My capstone project is the basis for most of what you will read in this book, as it incorporates code from my previous projects, code I have created and learned to write methodically by hand, and a wide range of ideas and tips that have helped me succeed to the point where I can spin up a simple app that is fully featured and looks and behaves like a popular app you might see your friend or family using, on the internet, advertised to you, or in the news. What this book is: This book is a tutorial by example. You can find code here, instructions for how to learn to code, information on debugging code and fixing errors, troubleshooting steps, instructions on how to back up and save your code, re-deploy if anyone breaks your code, secure your code, deploy your code, build interactive websites that are entertaining, engaging, and addictive, and you will get a sense of who I am, why this is important, and how to portray yourself, your app and company image, as well as the software you build in the absolute best light to be the most attractive as possible to your end users, your website's visitors. In this book, I will demonstrate a number of examples of software design with a focus on the web as a platform as well as security. We will initiate the learning experience ...
ପ୍ରାକ୍ଟିକାଲ୍ ୱେବ୍ ଭିତ୍ତିକ ଗଭୀର ଶିକ୍ଷଣ ଏବଂ ନିରାପତ୍ତା ଦ୍ୱାରା ସୁରକ୍ଷା |

ପ୍ରାକ୍ଟିକାଲ୍ ୱେବ୍ ଭିତ୍ତିକ ଗଭୀର ଶିକ୍ଷଣ ଏବଂ ନିରାପତ୍ତା ଦ୍ୱାରା ସୁରକ୍ଷା | ତୃତୀୟ ସଂସ୍କରଣ ଚାର୍ଲୋଟ୍ ହାରପର୍ | ଜୁଲାଇ 3, 2024 ଜୁନ୍ 3, 2025 କୁ ଅଦ୍ୟତନ / ରୂପାନ୍ତରିତ |

ଅଗ୍ରଗାମୀ:

ୱେବ୍ ପାଇଁ ବିଲଡିଂ ସଫ୍ଟୱେର୍ ରେ ଥିବା ସୁରକ୍ଷା ଗ୍ରହଣଯୋଗ୍ୟ କିଙ୍ଗୋପର ଯୋଜନାର ଯୋଜନାର ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଅଂଶ ଏବଂ ଇଞ୍ଜିନାଇଜ୍ ଯାହା ନିର୍ଭରଶୀଳ, ସ୍ଥିର, ବ୍ୟବହାରିକ ଉଦ୍ଦେଶ୍ୟରେ ଉପଯୋଗୀ | DOM (ଡକ୍ୟୁମେଣ୍ଟ୍ ବସ୍ତୁ କ tect ଣସି ଡକ୍ୟୁମେଣ୍ଟ ମାର୍କଅପ୍, ଜାଭାସ୍କ୍ରିପ୍ଟ ଏବଂ CSS ର କାର୍ଯ୍ୟକାରିତା ପାଇଥନ, C / C + CHARST ଏବଂ ବ୍ୟବହାରକୁ ସୁବିଧା ଏବଂ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ସେବା ପ୍ରଦାନ କରିଥାଏ | ଜୋ, ଶେଷ ଉପଭୋକ୍ତାଙ୍କୁ ମାରିବାକୁ ଚାହିଁଲେ କିମ୍ବା ଇଣ୍ଟରନେଟରେ କିଛି କରି, ସାଧାରଣତ a ଏକ ଟଚ୍ ସ୍କ୍ରିନ୍ ସ୍ମାର୍ଟଫୋନ୍ ଡିଭାଇସରେ କିଛି ପ୍ରାପ୍ତ କରନ୍ତୁ | ଅଧିକାଂଶ ଲୋକ କେଉଁଠାରେ ଆରମ୍ଭ କରିବେ, ଯେତେବେଳେ ସେମାନେ ଆରମ୍ଭରୁ ଏକ ୱେବସାଇଟ୍ ନିର୍ମାଣ କରିବାକୁ ଚାହାଁନ୍ତି, ସେମାନେ ଅନ୍ୟର ୱେବସାଇଟରେ ଆରମ୍ଭ ହୋଇଥା'ନ୍ତି ଏବଂ କାର୍ଯ୍ୟକଳାପରେ ବହୁଗୁଣିତ ବ୍ୟକ୍ତି ଭାବରେ ଆରମ୍ଭ କରିବେ ଏବଂ ଯେକ way ଣସି ପ୍ରକାରେ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଥିବା ବେଳେ ଏହାର ସମସ୍ତ ଅତ୍ୟାଧୁନିକ ସବସ୍କ୍ରିପସନ୍ ପାଇଁ ଜଡିତ | ଏବଂ ନମନୀୟତା | ଯଦି ଏହି ପୁସ୍ତକ ମାଧ୍ୟମରେ ପ to ିବାକୁ ଏବଂ ମୁଁ ତୁମକୁ ଶିଖାଇବାକୁ ଚାହୁଁଥିବା କିଛି ମିନିଟ୍ ଅଛି, କିମ୍ବା ତୁମର ସଫ୍ଟୱେର୍ ବିଷୟରେ ଶିଖ ଏବଂ ତୁମର ଦର୍ଶକଙ୍କ ଆବଶ୍ୟକତାକୁ ଦେଖେ ଜାଣିବାକୁ ପ୍ରେରିତ, ଏହା କି |

ମୋ ବିଷୟରେ: ମୁଁ C / C ++, ଜାଭା, jsml, CSS ଏବଂ ଜାଭାସ୍କ୍ରିପ୍ଟରେ ବିଭିନ୍ନ ପ୍ରକାରର ଅଭିଜ୍ଞତା ସହିତ ଏକ ସଫ୍ଟୱେର୍ ଡେଭଲପର୍ | ୱେବସାଇଟ୍ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଥିବା ୱେବସାଇଟ୍ ସେମାନେ ବ୍ୟବହାର କରିବାକୁ ଚାହାଁନ୍ତି, ପରିଦର୍ଶନ ଏବଂ ମରିବା ପାଇଁ ବ୍ୟବହାର କରିବାକୁ ଏବଂ ସମୟସାରା ବ୍ୟବହାର କରିବାକୁ ଏବଂ ସମୟସୀମା ବ୍ୟବହାର କରି ମଧ୍ୟ ଗ୍ରହଣ କରନ୍ତି, ଏବଂ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଭାବରେ, ମୁଁ ସଫ୍ଟୱେର୍ ବିକ୍ରି କରେ | ଯଦି ତୁମେ କିପରି ଏକ ୱେବସାଇଟ୍ ଦେଖିବ, ତୁମେ କିପରି ଏକ ୱେବସାଇଟ୍ ଚାହୁଁଛ, ତୁମେ ମୋତେ କିପରି ଭେଟିବାକୁ ପ୍ରସ୍ତୁତ | ମୋର ସମୟ ବିକ୍ରୟ କରିବାକୁ ଚେଷ୍ଟା କରିବା ପରିବର୍ତ୍ତେ, ମୁଁ ତୁମକୁ ପୂର୍ବରୁ ଥିବା ସୂଚନା ସହିତ ଚେଷ୍ଟା କରିବାକୁ ଚେଷ୍ଟା କରୁଛି: ମୁଁ ତୁମକୁ ଏକ ଏକ ଆପ୍ (ୱେବସାଇଟ୍) ଭାବରେ ନିଜେ କଥା ହେବାକୁ ଚାହେଁ, ଏବଂ ତୁମେ ଯାହା ଫିଲ୍ଡରେ ଏକ ସଫଳ ବୃକ୍ଷର ନେତୃତ୍ୱ ନେଉଛ, ଉଦ୍ୟୋଗୀ ହେବା ପାଇଁ ତୁମେ ଯାହା ଆବଶ୍ୟକ ତାହା ଶିଖ | ମୁଁ ତୁମକୁ ସ୍ପଷ୍ଟ ହେବାକୁ ଦେବି, ମୁଁ ତୁମକୁ ଦେଉଥିବା ଶିକ୍ଷା ହେବ | ଆପଣ ବିଦ୍ୟାଳୟକୁ ଯାଇ ଏକ ଆନୁଷ୍ଠାନିକ ଶିକ୍ଷା ସହିତ ଯାଇପାରିବେ, କିମ୍ବା ଆପଣଙ୍କ କାର୍ଯ୍ୟରୁ ଏହି ପୁସ୍ତକକୁ ପ read ିପାରିବେ ନାହିଁ, କିନ୍ତୁ ମୁଁ ଆପଣଙ୍କୁ ଆନୁଷ୍ଠାନିକ ଭାବରେ ହଟ୍ ସିଟରେ ରଖିବି ନାହିଁ | ମୁଁ ତୁମର ପ୍ରଫେସର ନୁହେଁ, ତୁମେ ମୋତେ ଜଣେ ବନ୍ଧୁ ପରି ଭାବି ପାରିବ ଯିଏ ତୁମର ବ୍ୟକ୍ତିଗତ ସଫଳତା ଦ୍ୱାରା ତୁମକୁ କ୍ୟାରିୟର ଆଡକୁ ଗାଇଡ୍ କରିବାକୁ ଚାହୁଁଛି | ଏବଂ ମୁଁ ତୁମକୁ ସଫଳତା ବିକ୍ରୟ କରୁନାହିଁ, ତୁମକୁ ତୁମର ସମୟ ସହିତ କିଣିବାକୁ ପଡିବ | କୋଡ୍ ଶିଖିବା ଏକ ଖାଲ ଶିକ୍ଷଣ ବକ୍ର ଅଛି ଏବଂ କେବେ ସହଜ ନୁହେଁ, କିମ୍ବା ହେବା ଅନୁଚିତ | ତୁମେ ଯେତେ ସମ୍ଭବ ପରିଶ୍ରମ କରିବା ଏବଂ ବିଫଳ ହେବା ଏବଂ ବିଫଳ ହେବା ଏବଂ ପୁନର୍ବାର ଚେଷ୍ଟା କରିବା ଏବଂ ପୁନର୍ବାର ଚେଷ୍ଟା କର ଏବଂ ପୁନର୍ବାର ଚେଷ୍ଟା କର ଏବଂ ପୁନର୍ବାର ଚେଷ୍ଟା କର | ତାହା ମଧ୍ୟ ସଂକେତର ପ୍ରକୃତି ରେ ଅଛି | କୋଡ୍ ଏକ କମ୍ପାଇଲର୍ ଦ୍ୱାରା ପରିଚାଳିତ | ଏବଂ ମୁଁ ନିଶ୍ଚୟ କହିବି, ଆପଣଙ୍କୁ ଏକ ଆପ୍ ହେବା, ସ୍ମାର୍ଟ, ସଫଳ, କିମ୍ବା ଏପରିକି ସବିଶେଷ ବିବରଣୀ କିମ୍ବା ସଂଗଠିତ ହେବା ଆବଶ୍ୟକ ନାହିଁ | ଆପଣଙ୍କ ପାଇଁ ସେହି ସଂସ୍ଥାର ଯତ୍ନ ନିଅନ୍ତି | ଆପଣଙ୍କୁ କେବଳ ପରୀକ୍ଷା ଏବଂ ତ୍ରୁଟି ମାଧ୍ୟମରେ ସ୍ଥିର କରିବାକୁ ପଡିବ, ଧ୍ୟାନ ରଖନ୍ତୁ ଏବଂ ତୁମେ ଯାହା କରିବାର କଠିନ ପରିଶ୍ରମ କର, ଏବଂ ତୁମେ ଯାହା କରିବାର ସମ୍ପୂର୍ଣ୍ଣ ଭାବରେ ତୁମର ଅତି ସଫଳ କ୍ୟାରିଅର୍ ପାଇବ |

ମୁଁ କିଏ: ମୁଁ ଅନୁଭବ କଲି ଯେ ଶେଷ ବିଭାଗ ଶିଖିବା ବିଷୟରେ ଅଧିକ ଥିଲା ଏବଂ ତୁମର ପୁସ୍ତକରୁ ଏକ ଉପାୟ ନିଅ | ମୁଁ ପ୍ରକୃତରେ କିଏ? ତାହା ଏକ ଜଟିଳ ପ୍ରଶ୍ନ | ମୁଁ ନିଜ ଅବସ୍ଥାରେ ପୀଡିତ, ଯେପରି ମୁଁ ଡାକ୍ତରୀ ପରିସ୍ଥିତିରେ ପୀଡିତ, ଯାହା ମୋ ପୁସ୍ତକକୁ ମଧ୍ୟ କୋଡ୍ କରିବାବେଳେ ଏହି ପୁସ୍ତକକୁ ମଧ୍ୟ ଏହି ପୁସ୍ତକକୁ ମଧ୍ୟ ସମୟରେ ମଧ୍ୟ କରିପାରେ କିମ୍ବା ଗ୍ରହଣ କରିବାବେଳେ, ଯେତେବେଳେ ମୋ ଜୀବନକୁ ପରିଚିତ କରାଇବ ଯାହା ମୋ ଜୀବନକୁ ଆରମ୍ଭ କରେ | ସଂକ୍ଷେପରେ, ଯଦି ଆପଣ ଏହି ପୁସ୍ତକ ପ reading ୁଛନ୍ତି, ତେବେ ତୁମେ ଏହାକୁ ଘରକୁ ଆଣିଥିଲ କାରଣ ତୁମେ ଏହା ମାଧ୍ୟମରେ ଫୋପାଡି ଦେଇ ଭାବୁଛ, ତୁମେ ଯେପରି ମୁଁ କରୁଥିବା ସମସ୍ତ କାର୍ଯ୍ୟରେ ସଫଳ ହେବାକୁ ଚାହେଁ | ମୁଁ ନିଜେ ଏକ ଇଞ୍ଜିନିୟର, ଏକ ସଫ୍ଟୱେର୍ ଡେଭଲପର୍ ଏବଂ ଜଣେ ଛାତ୍ର, ଏବଂ ମୁଁ ଅନ୍ୟ ଛାତ୍ରମାନଙ୍କ ପାଇଁ ଏହି ପୁସ୍ତକ ଲେଖୁଛି ଯାହା ବ୍ୟବସାୟର ଧାଡ଼ିରେ ସଫଳତା ଚଳାଇପାରେ | ମୁଖ୍ୟତ ,, ମୁଁ ଏହା କରେ: ମୁଁ ନିଜକୁ ସାହାଯ୍ୟ କରିବାକୁ ଆପ୍ସ ନିର୍ମାଣ କରେ ଏବଂ ଅନ୍ୟ ଲୋକମାନେ ସଫଳ ହୁଅନ୍ତି | ମୁଁ ଜଣେ ଲେଖକ ମଧ୍ୟ, ଯଦିଓ ଏହା ମୋର ପ୍ରଥମ ପ୍ରକାଶନ ଯେ ମୁଁ ମୋର ପୋର୍ଟଫୋଲିଓକୁ ଏକତ୍ର ରଖିବା ପାଇଁ ସମ୍ପୂର୍ଣ୍ଣ ହେବାକୁ ଇଚ୍ଛା କରେ, ଏବଂ ମୁଁ ମଧ୍ୟ ଜଣେ କଳାକାର | ମୁଁ ଏହା ତୁମକୁ ସ୍ୱୀକାର କରିବି, ମୁଁ ଜଣେ ଅଦ୍ଭୁତ ବ୍ୟକ୍ତିଙ୍କର ସର୍ଟ କରେ | ମୁଁ ସିଦ୍ଧ ନୁହେଁ, ମୁଁ ଆଦେଶ ଏବଂ ବିଶ୍ୱବିଦ୍ୟାଳୟଗୁଡ଼ିକୁ କଲଜେ ଏବଂ ବିଶ୍ୱବିଦ୍ୟାଳୟ ଛାଡିବାକୁ ଏବଂ ଅଧିକ ସଫଳତା ସହିତ ମୋ ପାଇଁ ନାମ ଦେବାକୁ ଚେଷ୍ଟା କରିବା ପାଇଁ ଆଇନଗତ ଭାବରେ କଲ କରିଥିଲି | ମୁଁ ଜନ୍ମ ହେତୁ ଜଣେ ମହିଳା, ମୁଁ ମେକଅପ୍ ପିନ୍ଧ, ନିଜକୁ ଫଟୋ ଉଠ, ପୋଷାକ ଏବଂ ଅନ୍ୟ ମହିଳାମାନେ ପୋଷାକ ପିନ୍ଧିବା, ଏବଂ ମୁଁ ସେମାନଙ୍କ ବିଷୟରେ ଜଣେ ମହିଳା ଭାବରେ ସଚେତନ ରୁହ | ଅତୀତରେ ମୋର ଅନ୍ୟ ଲୋକଙ୍କ ସହିତ ସମସ୍ୟା ଅଛି ଯାହା ଲେଖିବା ଏବଂ ବିଲ୍ଡିଂ ସହିତ ସଂଘର୍ଷ ଏବଂ ବିଲ୍ଡିଂ ସହିତ ସଂଘର୍ଷ କରେ, ଏବଂ ମୁଁ କ୍ଷମା ମାଗୁଛି ଯେ ମୁଁ ଏହି ପୁସ୍ତକକୁ ଶୀଘ୍ର ପାଇପାରୁ ନାହିଁ: ତୁମେ ଏହା ଆବଶ୍ୟକ କରି ନାହଁ | ଆପଣ କୋଡ୍ ପ read ିବା ଏବଂ ଲେଖିବାକୁ ଚାହାଁନ୍ତି ଏବଂ ମୋ ପରି କାମ କରନ୍ତି ଏବଂ ସମାନ କଥା, ଯଦିଓ ତୁମେ ତୁମର ଜୀବନରେ ଟଙ୍କା ମାଗିବା ପରିବର୍ତ୍ତେ, କାରଣ ତୁମେ ତୁମର ଜୀବନରେ ସଫଳ ହେବା ଆବଶ୍ୟକ | ପରିବାର ବଣ୍ଟନ ଅପ୍, ସ୍ couse ାସ୍ଥ୍ୟ, ହ୍ୟାକର୍ସ, ମିଡିଆ ଏବଂ ନିୟମ ସହିତ ମୋର ସମସ୍ତ ପ୍ରକାର ସମସ୍ୟା ଥିଲା ଯାହା ବିଭାଜିତ ଏବଂ ନିରାଶ ହୋଇଥିବା ଦୁନିଆରେ ନାରୀ ଏବଂ ମହିଳା ପ୍ରକୃତି | ତଥାପି, ଏହି ପୁସ୍ତକ କିଛି ଯାହା ମୁଁ ଗଭୀର ଭାବରେ, ମୋର ଶିଶୁ, ମୋର ଲାଇଭ୍ଲି, ଏବଂ ମୋ ଲାଇଭଲିବା, ତେଣୁ ତୁମେ ମେସେଜ୍ କରିବାବେଳେ ମୁଁ ତୁମର ବିଚାରକୁ ଗ୍ରହଣ କରେ ଏବଂ ମୋ ଠାରୁ ଯତ୍ନର ସହିତ ଭୟଭୀତ ହୁଏ ମୁଁ ପ୍ରଶଂସା କରେ | ଦୟାକରି ମନେରଖନ୍ତୁ ମୁଁ ସିଦ୍ଧ ନୁହେଁ, ଏହି ପୁସ୍ତକ ତ୍ରୁଟି, ସଂଶୋଧନ ଏବଂ ନୂତନ ସଂସ୍କରଣ ରହିବ, ଏବଂ ତୁମର ଲେଖା ସହିତ ତୁମର ସଫଳ ଅଭିଜ୍ଞତା ପାଇବା ପାଇଁ ତୁମେ ସର୍ବୋତ୍ତମ ଅଭିଜ୍ଞତା ପାଇବା ପାଇଁ ତୁମେ ସର୍ବୋତ୍ତମ ଅନୁଭୂତି ପାଇ ସଫଳ ହେବ | ଆହୁରି ମଧ୍ୟ, ବୁ Th ିପାରୁଛି ଯେ ଯେତେବେଳେ ତୁମେ ଲେଖିବା ସମୟରେ ଚ୍ୟାଲେଞ୍ଜଗୁଡ଼ିକ ସାମ୍ନା କରିବ ମୁଁ ତୁମ ପାଇଁ ଭଲ | ଏହାକୁ ଏହିପରି ଚିନ୍ତା କର: ଯେତେବେଳେ ଆପଣ କେବଳ ଡିଜିଟାଲ୍ ସ୍ପେସରେ ଏକ କମ୍ପ୍ୟୁଟର ସିଷ୍ଟମକୁ ଭଡା କରିପାରିବେ, ଆପଣ କରୁଥିବା ସମସ୍ତ ସୂଚନା ଆପଣ ଗ୍ରହଣ କରୁଥିବା ସମସ୍ତ ସୂଚନା ଷ୍ଟୋର୍ କରନ୍ତୁ, ଏବଂ ପ୍ରକାଶନ | ମୁଁ ତୁମକୁ ଏହା କହୁଛି କାରଣ ମୁଁ ସମାନ ଅସୁବିଧାକୁ ସାମ୍ନା କରେ | ଏହି ପୁସ୍ତକକୁ ନିଜ ବିପଦରେ ବ୍ୟବହାର କରନ୍ତୁ, ଏବଂ ମୁଁ ଆପଣଙ୍କୁ ଏକ ସୁରକ୍ଷିତ ସାଇଟରେ ବିଭକ୍ତ କରିବାବେଳେ ତୁମ ପାଇଁ ଉପଲବ୍ଧ ଏବଂ ଭରି ଦେଇଥିବା ବେଳେ ମୁଁ ତୁମକୁ ଏହି ଲେଖା କରି ସାହାଯ୍ୟ କରିପାରିବି ନାହିଁ ଯେଉଁଥିରେ ଆମେ ଆପଣଙ୍କୁ ଏହି ପାଠ୍ୟକୁ ଆଣି ପାରିବ ନାହିଁ | ଇଣ୍ଟରନେଟ୍, ଇଣ୍ଟରନେଟ୍ କାର୍ଯ୍ୟ କରିବ | ମୁଁ ହୁଏତ ବହୁତ ପରିଚିତ ହୋଇନପାରେ, ମୁଁ କିଛି ଶବ୍ଦ ସହିତ ଆସିଛି, କିନ୍ତୁ ମୁଁ ତୁମକୁ ପ read ିବା ପାଇଁ ଉତ୍ସାହିତ କରେ, ତୁମେ ତୁମର କାର୍ଯ୍ୟ ସମାପ୍ତ କରିବା ସମୟରେ ତୁମର ପ୍ରୋଜେକ୍ଟଗୁଡିକ ନିର୍ମାଣ କରିବା ସମୟରେ ମୋତେ ଜାଣିବ ଏବଂ ବୁ understand ିବାରେ ଲାଗିବ | ଏହି ପୁସ୍ତକ ସହିତ କ foom ଣସି ହୋମୱାର୍କ ହେବ ନାହିଁ, ଯେପର୍ଯ୍ୟନ୍ତ ତୁମର ପ୍ରଫେସର୍ସର୍ଜନ ତୁମକୁ କେବେ ବିସ୍ୟୁନ କରେ ନାହିଁ, କିନ୍ତୁ ତୁମେ ପ read ଼ୁଥିବା ପରି ନିଜକୁ ଏକ ପୋର୍ଟଫୋଲିଓ ନିର୍ମାଣ କରିବାକୁ ମୁଁ ତୁମକୁ ଅତ୍ୟଧିକ ଉତ୍ସାହିତ କରିଥାଏ, ଯେପରି ତୁମେ ଯାହା ଶିଖିଲ ତାହା ତୁମେ କିପରି ଶିଖାଇ ପାରିବ | ମୋର କ୍ୟାପଷ୍ଟୋନ୍ ପ୍ରୋଜେକ୍ଟ ହେଉଛି, ଯେହେତୁ ତୁମେ ମୋର ପୂର୍ବ ପ୍ରୋଜେକ୍ଟ, କୋଡ୍ ମୁଁ ସ୍ଥିର କରି ଏକ ଲୋକପ୍ରିୟ ଆପ୍ ବଦଳାଇବାକୁ ଦେଇଛି ଯାହା ମୋତେ ଏକ ସରଳ ଆପ୍ ବିସ୍ତାର କରିବାକୁ ଦେଇଛି ଯାହା ତୁମକୁ ଏକ ଲୋକପ୍ରିୟ ଆପ୍ ବିସ୍ତାର କରିପାରେ |

ଏହି ପୁସ୍ତକଟି କ'ଣ: ଏହି ପୁସ୍ତକଟି ଉଦାହରଣ ଦ୍ୱାରା ଏକ ଟ୍ୟୁଟୋରିଆଲ୍ | ଆପଣ କିପରି କୋଡ୍ ଶିଖିପାରିବେ, ଡିବଗ୍ କୋଡ୍ ବିଷୟରେ ସୂଚନା, ଷ୍ଟେଟ୍, ଷ୍ଟେଟ୍, ପରିଚାଳନା ଏବଂ କମ୍ପାନୀ ପ୍ରତିଛବି କିପରି ବଦଳାଇବ, ଏବଂ ତୁମେ କିପରି ବିଲ୍ଡିବ, ସେଥିରେ ଏହା କେତେ ବ୍ୟାକଅପ୍ ହେବ ସେଥିପାଇଁ ନିର୍ଦ୍ଦେଶ ପାଇବୁ, ପୁନ ur ନିର୍ମାଣ, ଏବଂ କିପରି ନିର୍ମାଣ କରାଯିବ ସେଭ୍ ହେବ | ଆପଣଙ୍କ ୱେବସାଇଟ୍ ର ଶେଷ ଉପଭୋକ୍ତାମାନଙ୍କ ପାଇଁ ଯଥାସମ୍ଭବ ସର୍ବୋତ୍ତମ ଆଲୋକରେ ସବୁଠାରୁ ଆକର୍ଷଣୀୟ ହେବା | ଏହି ପୁସ୍ତକରେ, ମୁଁ ଏକ ପ୍ଲାଟଫର୍ମ ଏବଂ ବ୍ଲୋଫର୍ମ ଭାବରେ ୱେବ୍ ଉପରେ ଏକ ଫୋକସ୍ ଏବଂ ସୁରକ୍ଷା ସହିତ ସଫ୍ଟୱେର୍ ଡିଜାଇନ୍ ସହିତ ଅନେକ ଉଦାହରଣ ପ୍ରଦର୍ଶନ କରିବି | ବ୍ୟାକଅପ୍ ଏବଂ ସ୍କ୍ରିପ୍ଟ ଇଙ୍ଗ୍ ଏବଂ ସ୍କ୍ରିପ୍ଟିଂ ବ Features ଶିଷ୍ଟ୍ୟ ସହିତ UNIX ସେଲ୍ ବ୍ୟବହାର କରି ଏକ ମ basicro ଳିକ ପ୍ରୋଜେକ୍ଟ ସୃଷ୍ଟିକୁ ଆମେ ଆରମ୍ଭ କରିବା | ତାପରେ, ଆମେ ଏକ ମ basic ଳିକ ବ୍ଲଗ୍ ୱେବସାଇଟ୍ ଯାଞ୍ଚ କରିବୁ, ଫଟୋ ଏବଂ ଭିଡିଓ ବ Features ଶିଷ୍ଟ୍ୟ ସହିତ ଆମର ବ୍ଲଗମାନଙ୍କୁ ଅପଗ୍ରମ କରିବା ଏବଂ ଏକ ପ୍ଲଗଗେବଲ୍ ପ୍ରାମାଣିକିକରଣ ମଡ୍ୟୁଲ ବ୍ୟବହାର କରି ଆମର ସର୍ଭରକୁ ସୁରକ୍ଷିତ କରେ | ସେତେବେଳେ ଆମେ ଫାଇଲ୍ ଇଣ୍ଡେକିଂ ଏବଂ ପ୍ରୋଭେସ୍ ବ୍ୟବହାର କରି, ଭ୍ୟୁ ଦମ୍ ଦାମ, ବାର୍କଡ୍ ସ୍କାନିଂ ଏବଂ ଅପ୍ଟିକାଲ୍ ବର୍ଣ୍ଣ ଚିହ୍ନିବା, ଅନ୍ୟାନ୍ୟ ଧାରଣା ମଧ୍ୟରେ | ବାଟରେ ଆମେ ଆପିସ୍ ଯାଞ୍ଚ କରିବୁ ଯାହା ଆମକୁ ଆମର ସଫ୍ଟୱେର୍ ଏବଂ ପେଟି ବିକଳ୍ପ, ମାଗଣା ଏବଂ ଦେୟ ବିକଳ୍ପ ସହିତ ଆମ ସଫ୍ଟୱେର୍ କୁ ଅଧିକ ଉପଯୋଗୀ ଏବଂ ନିରାପଦରେ ସାହାଯ୍ୟ କରିବ | ରାସ୍ତାରେ, ଆମେ ଫରିଲ୍ ଏବଂ ସାମ୍ବାଦିକ ଉପକରଣ ଯେପରିକି ଅଜ୍ firl ାମଣା ଏବଂ ରସାଳୀଟର୍ ଡିଜାଇନ୍ରେ ଏବଂ ଅମୃତିନାରୀ ଡିଜାଇନ୍ ଏବଂ ପ୍ରିଣ୍ଟିଟର୍ ଡିଜାଇନ୍ ଏବଂ ପ୍ରିଣ୍ଟେ ଡିଜାଇନ୍ ସହିତ ଅଜ୍ or ା ଏବଂ ଅମୂଳକ ଡିଜାଇନ୍ ଏବଂ ଉତ୍ପାଦନ ଏବଂ ଉତ୍ପାଦନ କରିବା, ଏବଂ ଅନ୍ୟ ପ୍ରାନ୍ତ୍ରିୟାରେ ଆମେ ବିଦ୍ୟମାନ ନେଟୱାର୍କରେ ଏକତ୍ରିତ ହେବା | ଖେଳ, 2D ଏବଂ 3D ରେଣ୍ଡରିଂ ଇଞ୍ଜିନ୍ ନିର୍ମାଣ କରିବା ପାଇଁ ଆମେ ରାସ୍ତାରେ ବ୍ରେକ୍ ନେବୁ ଏବଂ ଏହାର ସିଲିକନ୍ ରବରରେ ଇଲେକ୍ଟ୍ରୋନିକ୍ କମ୍ପିଂ ମସଲାଣ୍ଟ ସହିତ କାର୍ଯ୍ୟ କରିବା | ରାସ୍ତାରେ, ଆମେ ଆମର ସଫ୍ଟୱେର୍ କୁ ଭଲ ଭାବରେ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ପୂର୍ବରୁ ଉପଲବ୍ଧ ଶିକ୍ଷାଦାନ ସମାଧାନକୁ ନିୟୋଜିତ କରିବା | ପ୍ରକ୍ରିୟା ଶୃଙ୍ଖଳିତ ଏବଂ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଆମେ ୱେବ୍ ଟୁଲ୍ସ ପାଇଁ ଉପଲବ୍ଧ ଷ୍ଟକ୍ ଉପକରଣଗୁଡିକ ମଧ୍ୟ ନିୟୋଜିତ କରିବୁ | ଏକ ୱେବ୍ ଆପ୍ଲିକେସନ୍ ନିର୍ମାଣରେ ଆପଣଙ୍କର ସଫଳତା ପାଇଁ ଆପଣଙ୍କର ସଫଳତା ପାଇଁ ଏହି ପୁସ୍ତକ ଏକ ମାର୍ଗଦର୍ଶକ ଏବଂ ଏହାକୁ ଏକୀକୃତ ଯାନ୍ତ୍ରିକ ବ୍ୟବସ୍ଥା ସହିତ ଏକୀକୃତ ତଥା ଏମ୍ବେଡ୍ ମେକାନିକାଲ୍ ସିଷ୍ଟମର ଏକ ବୃତ୍ତିଗତ ନିର୍ବାସିତ ନେଟୱାର୍କ, ଏବଂ ସଫ୍ଟୱେର୍ କ bundreats ଶଳ କିମ୍ବା ପୂର୍ବ ଅଭିଜ୍ଞତା ସହିତ ସଫ୍ଟୱେର୍ ଏବଂ ଏମ୍ବେଡ୍ ହାର୍ଡୱେର୍ ସହିତ ଏକ ଗାଇଡ୍ |

ଏହି ପୁସ୍ତକଟି କ'ଣ ନୁହେଁ: ଯଦି ଆପଣ ପ୍ରକୃତରେ ଏକ ୱେବସାଇଟ୍ ପାଇବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଆପଣ କେବଳ ଏକ ସରଳ ଷ୍ଟୋର୍ ସେଟ୍ ଅପ୍ କରିପାରିବେ ଏବଂ ଆପଣ ଯାହା ଆବଶ୍ୟକ କରନ୍ତି ତାହା ବିକ୍ରୟ କରିପାରିବେ, କିମ୍ବା ଅନ୍ୟଥା ବିନା କୋଡ୍ କିମ୍ବା କୋଡ୍ ପୋଷ୍ଟ କରିପାରିବେ | ଏହି ପୁସ୍ତକ ତାହା ନୁହେଁ | ଏହି ପୁସ୍ତକ ଆପଣଙ୍କୁ କିପରି ସୃଷ୍ଟି କରିଛି ତାହା ଆପଣଙ୍କୁ ଶିକ୍ଷା ଦେବ ଯାହା ଅଧିକ ଉପଯୋଗୀ, ଯାହାକିଛି ପାଇଥିବା କମ୍ପାନୀଗୁଡିକ ତୁଳନାରେ ଦାନ କରିବା, କାରଣ ଏହା ବର୍ତ୍ତମାନର କାର୍ଯ୍ୟ କରୁଥିବା ଲୋକଙ୍କ ପାଇଁ ଦ running ଡିବାକୁ ସ୍ଥିର ହୋଇଥାଏ, ଯେଉଁମାନେ ପ୍ରକୃତରେ କିଛି କରୁଛନ୍ତି ନାହିଁ | ଯଦି ଆପଣ ଏହି ପୁସ୍ତକକୁ ଅତି ନିକଟକୁ ଅନୁସରଣ କରନ୍ତି, ତେବେ ଆପଣ କୋଡ୍, ଗବେଷଣା କୋଡ୍ ଲେଖିବାକୁ ଚାହାଁନ୍ତି, ଏବଂ ଆପଣ ଯାହା କରନ୍ତି ସେଥିରୁ ଟଙ୍କା ପ୍ରସ୍ତୁତ କରିବ | ମୁଁ ଏହି ପୁସ୍ତକରୁ ଟଙ୍କା ତିଆରି କରିବି, ଯେପରି ଏହା ସୂଚନା ଆବଶ୍ୟକ କରେ ଏବଂ ମୋର ଆପ୍ କିଣିବାକୁ କିମ୍ବା ବ୍ୟବହାର କରେ କି କ୍ରୟ କରୁଛି | ଏହି ପୁସ୍ତକ ଆପଣଙ୍କ ପାଇଁ ଏକ ଆପ୍ ନିର୍ମାଣ କରିବ ନାହିଁ, କିନ୍ତୁ ଏହା ଆପଣଙ୍କର ଆବଶ୍ୟକୀୟ ଏବଂ ଟିପ୍ସ ସହିତ ନିଜର ସଫଳତା ଲେଖିବ ଏବଂ ଆପଣଙ୍କର ଏବଂ ଇଣ୍ଟରନେଟ୍ ଯୋଗଦେବାକୁ ଆପଣଙ୍କୁ ଏବଂ ଇଣ୍ଟରନେଟ୍ କରୁଥିବା ବ୍ୟକ୍ତିମାନେ ଏକତ୍ର ବ୍ୟବହାର କରିବାକୁ ପଡିବ |

ଆପଣ ଯାହା ଶିଖିବେ: ଏହି ପୁସ୍ତକ ଆପଣଙ୍କୁ ସଫ୍ଟୱେର୍ ଏବଂ ବିକ୍ରୟ କିପରି ନିର୍ମାଣ କରିବ, ପ୍ରକୃତରେ କାର୍ଯ୍ୟକ୍ଷମ, ମିଡିଆ ରେକର୍ଡିଂ, ରେକର୍ଡ ଏବଂ ଜଟିଳ (NFC) ଯୋଗାଯୋଗ ପରି ବାର୍ତ୍ତା ବିନିମୟ କରେ | ଏହି ପୁସ୍ତକ ଆପଣଙ୍କୁ ଏକ ନେଟୱର୍କ କମ୍ପ୍ୟୁଟରକୁ କିପରି ବ୍ୟବହାର କରାଯିବ, ତାଡ଼ରେ ଗତିଶୀଳ ବାର୍ତ୍ତା ଦେଇ ବିଭିନ୍ନ ୱେବସାଇଟକୁ କିପରି ନିର୍ମାଣ କରାଯିବ ଏବଂ ପରବର୍ତ୍ତୀ ସମୟରେ ଅନ୍ୟ ୱେବସାଇଟଗୁଡିକ ନିର୍ମାଣ କରାଯିବ ସେ ସମ୍ବନ୍ଧରେ ଭିନ୍ନ ଭିନ୍ନ ମିଡିଆ ଏବଂ ନେଟୱାର୍କ ନିର୍ମାଣ କରାଯିବ ତାହା ଦର୍ଶାଇବ ଏବଂ | ଅନ୍ୟାନ୍ୟ ଉଦ୍ଦେଶ୍ୟ, Id ସ୍କାନିଂ, ଦେୟ ପ୍ରକ୍ରିୟାକରଣ, କ୍ରିପ୍ଟୋକୁ ବିରକ୍ତିକର କାରବାର, ଅସନ୍ତୁଳିତ କାର୍ଯ୍ୟଗୁଡିକ ଏବଂ ଅଧିକ ରଖିବା ପାଇଁ ଅନ୍ୟ ଉଦ୍ଦେଶ୍ୟଗୁଡିକ, id ସ୍କାନ ଏବଂ ଭିଡିଓ ମୋଡରେଟେଣ୍ଟ, ଡାଟା ମାଇକ୍ରୋଟ୍ରାନସିଣ୍ଟଗୁଡିକ ଏବଂ ଅଧିକ | ବ୍ୟାଟେରୀ, ଚମଠି, iNDiResietro, theierCercerrolsers, ସର୍କାଇନ୍ସ, ମୋଟାପୂର୍ଣ୍ଣ ଏବଂ CROR ସାମଗ୍ରୀ ସହିତ କିପରି ଶିଖିବ | ମୁଁ 3D ଡିଜାଇନ୍ ପ୍ରିନ୍ସିପାଲ୍ ଏବଂ ସାଧନ ପାଇଁ ଆବେଦନ କରି ମରିବା ଏବଂ ମରିବା ପାଇଁ ତୁମର ସମସ୍ତ ଅଣଦେଖା, ଚାର୍ସର୍ଟେଡ୍ ବ୍ୟାଟେରୀ, ଚାର୍ସିଲ୍ଡର ଉପକରଣଗୁଡ଼ିକୁ ପ୍ରଦାନ କରିବାରେ ସକ୍ଷମ, ତେଣୁ ତୁମେ ତୁମର ଏମ୍ବିଗର୍ ସର୍କିସ୍, ଏବଂ କାର୍ଯ୍ୟକ୍ଷମଯୋଗ୍ୟ | ଏବଂ ସେମାନଙ୍କୁ ବ୍ଲୁଟୁଥ୍ ଏବଂ ୱେବ୍ ସହିତ ନେଟୱାର୍କ କରନ୍ତୁ | ନିର୍ଦ୍ଦିଷ୍ଟ ଭାବରେ, ଆମେ ଦୁଇଟି କେସ୍ ଅଧ୍ୟୟନକୁ ଯାଞ୍ଚ କରିବୁ, ଖୋଲା ଚାମ୍ବର ଏବଂ ଏକ ହୋମ୍ସେଡ୍ ଅଫ୍ଟୁଆ, ଯାହା ଏକ ଗ୍ରାଫିକାଲ୍ ଇଣ୍ଟରଫୋନ୍ କିମ୍ବା କମାଣ୍ଡ୍ ଲାଇନ୍ ୟୁଟିଲିଟି ଉପଲବ୍ଧ ବୋଲି ଏକ ଗ୍ରାଭରେ ସଂଯୁକ୍ତ କରାଯାଇପାରିବ | ବେଥରୁ ଏକ ୱେବସାଇଟ୍ ନିର୍ମାଣ ଏବଂ ନିୟୋଜିତ ହେବା ଶିଖିବ, ଏହାକୁ କାର୍ଯ୍ୟକ୍ଷମ ନୁହେଁ, ଏହାକୁ କାର୍ଯ୍ୟକ୍ଷମ, ନିରାପଦ, ସୁନ୍ଦର, ଉପଯୋଗୀ ଏବଂ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବ୍ୟବହାରିକ କର | ଏକ ସାଇଟ୍ ସୁରକ୍ଷିତ ଏବଂ ଅଧିକ ବ୍ୟବହାରିକ, ରେକର୍ଡ ଏବଂ ଅତିରିକ୍ତ ଉପଯୋଗୀ ସୂଚନା ପ୍ରଦାନ କରିବାକୁ ତୁମର ସ୍ୱରର ସର୍ବୋତ୍ତମ ସମ୍ଭାବ୍ୟ ନେଟୱାର୍କ ନିର୍ମାଣ କରି ଅନ୍ୟ ୱେବସାଇଟ୍ସିକୁ କିପରି ଭାଙ୍ଗିବା ଏବଂ ମାଇଜ୍ୟୁଟ୍ କର, ଏବଂ ଆହୁରି ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଲୋକଙ୍କୁ ତୁମର ସଫ୍ଟୱେର୍ ଏବଂ ବ୍ୟବସାୟକୁ ଦେଖାଇବା ପାଇଁ ଶବ୍ଦ କର | ଏହି ପୁସ୍ତକ ମିଡିଆ, ସୁରକ୍ଷା ଏବଂ ମେସିନ ଶିକ୍ଷା ଉପରେ ଅଧିକ ଭାରି ସୃଷ୍ଟି କରିବ, ଯାହା ସଠିକ୍ ଭାବରେ ଥିବା ପ୍ରମୁଖ ଉପାଦାନଗୁଡିକ ଯାହା ସ୍ୱୟଂଚାଳିତ, ଅଟୋମେଟିକ୍, ଏବଂ ଦୃ creddy ଭାବରେ ଜଡିତ ଭାବରେ ଆପଣଙ୍କୁ ଜଡିତ କରିବାରେ ସାହାଯ୍ୟ କରିବ | ଏହି ପୁସ୍ତକ UNIX ଶିକ୍ଷା ଦିଏ, ବିଶେଷ ଭାବରେ ଡେବ୍ୟୁନ (ଉବୁଣ୍ଟୁ), hTMUS ସେଲ୍, ଜାଭାସ୍କ୍ରିପ୍ଟ, ଏବଂ PYATONS, GIT ଏବଂ FFMPEG ପରି ଆମର ସଂଖ୍ୟାଗତ ସଫ୍ଟୱେର୍ ପ୍ୟାକେଜ୍ | ମୁଁ ତୁମକୁ କିପରି କ୍ରିପ୍ଟୋଏକିଣ୍ଡସି ବାଣିଜ୍ୟ କରିବି, ଏବଂ କ୍ରିପ୍ଟୋକୁର୍ରେନ୍ଦ୍ରୀମାନଙ୍କ ମଧ୍ୟରେ କିମ୍ବା ନିୟମିତ ଡେବିଟ୍ କାର୍ଡରେ ଦେୟ ଗ୍ରହଣ କରିବାବେଳେ ତୁମର ପରିଦର୍ଶକମାନଙ୍କର ଏକ ଅଂଶକୁ ମଧ୍ୟ ତୁମର ରାଜସ୍ୱର ଅଂଶ ଦେଉଛି | ମୁଁ ତୁମକୁ କିପରି ନିଜ ୱେବସାଇଟ୍ ରୁ ଟଙ୍କା ରୋଜଗାର କରିବି, ତୁମକୁ କିପରି ଅନୁକୂଳ ଇଂରାଜୀ ପାଇଁ ଟଙ୍କା ଦେବ ଏବଂ ଶୀଘ୍ର ତୁମକୁ ଫାଇଷ୍ଟାନ୍ ପ୍ରସ୍ତୁତ କରିବି, ଯାହା ଆପଣଙ୍କ ଗ୍ରାହକମାନେ ଆପଣଙ୍କୁ ଖୋଜିବା ପରି ପ୍ରଥମ ର୍ୟାଙ୍କିଙ୍ଗ୍ ଏବଂ ଯଥାଙ୍କ ଦ୍ real ାରା ରହିଯାଇଥିବା ପ୍ରତ୍ୟେକ ର୍ୟାଙ୍କିଙ୍ଗ୍ ପାଇଁ ପ୍ରଥମ ରାଇଜ୍ ଇନ୍ କରିବେ | ମୁଁ ତୁମକୁ କିପରି ସଫ୍ଟୱେର୍ ବିକ୍ରୟ କରିବି, ତାହା ଶିଖାଇବି, ଏହାକୁ ବିଜ୍ଞାପନ କରିସାରିଥିବା ଆଭେନ୍ ମାଧ୍ୟମରେ, ଏବଂ ଇଣ୍ଟରନେଟ୍ ଉପରେ ଇଣ୍ଟରନେଟ୍ ଉପରେ ତୁମର ନାମ ଆବେଦନ କରେ, ଶସ୍ତା ଏବଂ ଭଲ କାମ କରେ | ମୁଁ ତୁମକୁ କ୍ଲାଉଡ୍ କମ୍ପ୍ୟୁଟରରେ ତୁମର ତଥ୍ୟ କିପରି ଦେଖାଇବି ତାହା ତୁମ ପାଇଁ କାମ ଏବଂ ତୁମର ତଥ୍ୟ ସଞ୍ଚୟ କରେ, ଏବଂ ତୁମେ କିପରି ଚାହଁ ତାହା ରଖିବ, ତୁମେ କିପରି ଚାହୁଁଛ, ଏବଂ ତୁମର ଉପଭୋକ୍ତାଙ୍କୁ ତୁମ ପାଇଁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ନିୟୋଜିତ ରଖିବ | ଏହି ପୁସ୍ତକ ବହୁ ପରିମାଣରେ ମିଡିଆକୁ ପ୍ରକାଶନ କରିବାକୁ, ପାଠ୍ୟ ସହିତ ମିଡିଆ (ଆପଣଙ୍କର ଗ୍ରାହକତା) ରେ ଏକ ଭଲ ଭାବନା ଦେଇ ଏକ ଉପାୟରେ ଧ୍ୟାନ ଦେବ, ଏବଂ ଏକ ୱେବସାଇଟ୍ ଯାହା ସମ୍ଭବ, ଆପଣ ଆପଣଙ୍କର ସଫ୍ଟୱେର୍ ଏବଂ ଆପଣଙ୍କ ସଫ୍ଟୱେର୍ ଦେଖାଇବେ | ରଙ୍ଗପ, ମେକଅପ୍ ଏବଂ କାର୍ଯ୍ୟକାରୀ, ଏବଂ ଫଟୋଗ୍ରାଫି ଏବଂ ଅଧିକ ପରି ଆପଣଙ୍କ ସଫ୍ଟୱେର୍କୁ ଆଉ ଏକ ବିଷୟବସ୍ତୁ କ୍ରନ୍ଦନ ଦ୍ୱାରା ଆପଣଙ୍କ ସଫ୍ଟୱେର୍ ନକରି ଆପଣଙ୍କ ସଫ୍ଟୱେର୍ ରେ ଥିବାବେଳେ ଆପଣଙ୍କ ପାଇଁ ଉପଲବ୍ଧ ସମସ୍ତ ଉପକରଣ, ଆପଣଙ୍କ ସଫ୍ଟୱେର୍ କ୍ରନ୍ଦନ କରି ଆପଣଙ୍କୁ ସର୍ବୋତ୍ତମ ସମ୍ଭାବ୍ୟ ଆଲୋକରେ ପଠାଇବା ପାଇଁ ସର୍ବୋତ୍ତମ ସମ୍ଭାବ୍ୟ ଆଲୋକରେ | ଏହି ପୁସ୍ତକକୁ "ବ୍ୟବହାରିକ" କୁହାଯାଏ |ଏକ କାରଣ ପାଇଁ ୱେବ୍ ଆଧାରିତ ଗଭୀର ଭାର ଏବଂ ନିରାପତ୍ତା ": ଏହି ପାଠ୍ୟରେ ବର୍ଣ୍ଣନାକାରୀଟି ସୁରକ୍ଷା ଉପରେ, ଇମେଜ୍ କୋଡ୍, ଇମ୍ପ୍ୟୁସନ ଓ ଭିଡିଓ ମୋଡରେସନ୍, ଇମେଜ୍ ଏବଂ ଭିଡିଓ ଗତିଶୀଳତା ପରିଚାଳନା କରିବ | ପ୍ରୋଗ୍ରାମ୍ ଗୁଡିକ ପ୍ରତିଛବିଗୁଡିକରୁ ସୋର୍ ହୋଇଥିବା ସମାନତା, ଏବଂ ଅନ୍ୟାନ୍ୟ ପ୍ରସଙ୍ଗର ପ୍ରକୃତି, କିମ୍ବା ଏକ ଅପ୍ଟିକାଲ୍ କପି (ଏକ ଅପ୍ଟିକାଲ୍ କପି) ଭାବରେ ବ୍ୟବହାର କରିପାରିବ | କମ୍ପ୍ୟୁଟର ଏହାକୁ ସୁରକ୍ଷିତ, ଏକ କମ୍ପ୍ୟୁଟର ଯାହା ସାଧାରଣତ you କରେ, ଯଦି ଆପଣ ବଡ଼ ଲଗଇନ୍, ଏବଂ ପାଠ୍ୟ ବାର୍ତ୍ତା କିମ୍ବା ପାଠ୍ୟ ବାର୍ତ୍ତା କିମ୍ବା କାହାର ବ୍ୟବହାର) ସହଜ ଭାବରେ ବାନ୍ଧନ୍ତି | ଯେକେହି ସଫ୍ଟୱେର୍ ନିର୍ମାଣ କରୁଥିବା ବ୍ୟକ୍ତି ଯାହା ଏହାର ପ୍ରଭାବଶାଳୀ ଭାବରେ ସୁରକ୍ଷିତ ଅଛି ଯାହା ଏହା ସୂଚିତ କରେ | ସଫ୍ଟୱେର୍ ଅନ୍ତର୍ନିହିତ ଭାବରେ ଅସନ୍ତୋଷ ଆମ ପାଖରେ ଆକ୍ସେସ୍ ଆମେ ବ୍ୟବହାର କରୁ | ସେମାନେ ସଫ୍ଟୱେୟାର ପାଇଁ ଅସୁସ୍ଥ ଥିବା ବ୍ୟକ୍ତିଙ୍କ ହାତରେ ରହିପାରିବେ ଏବଂ ତେଣୁ ସେ ନିଜେ ସଫ୍ଟୱେର୍ ପାଇଁ ବିପଦ ସୃଷ୍ଟି କରିପାରନ୍ତି | ଏହି ପୁସ୍ତକର ଫୋକସ୍ ର ଏହା କିଛି | ଏକ ନେଟୱର୍କର କମ୍ପ୍ୟୁଟର ହେଉଛି ଏକ ଦୀର୍ଘ ମୁଖ୍ୟ ଟୋକେନ୍, ଡାକ୍ତି ସେଲ କି ସହିତ ସୁରକ୍ଷିତ ହୋଇଥ, କାରଣ ୱେବ୍ ସର୍ଭର ନିଜେ ଖୋଲା ପ୍ରବେଶକୁ ସ୍ଥାନିତ କରିବା ଏବଂ ସିକ୍ୟୁରିଟି ସୁରକ୍ଷିତ ଉପକରଣଗୁଡ଼ିକ | ୱେବ୍ ସର୍ଭରରେ ବ୍ୟବହାରକାରୀଙ୍କ ଲିଙ୍କ୍ କମ୍ ବ୍ରାଉଜର, ଯାହାକି କ'ଣ ଯୁକ୍ତିତର୍କ ଉପଭୋକ୍ତାଙ୍କର ଅନ୍ବାଖଲ୍ ସବୁଠାରୁ ଶକ୍ତିଶାଳୀ ଅଂଶ, କାରଣ ଉପଭୋକ୍ତା କେଉଁଠାରେ ନେଟୱର୍କ ନେଟୱର୍କ ସଫ୍ଟୱେୟାରକୁ ପ୍ରବେଶ କରିପାରିବେ | ଏହି ଟୁଲ୍କିଟ୍ ପାଠ୍ୟ ପ୍ରଦାନ କରିପାରିବ, ଆପଣ ଦେଖୁଥିବା ସମସ୍ତ ସନ୍ଧାନପେଜ୍, ଏବଂ ପ୍ରତିଛବି IDIPS ଟ୍ୟାଗଗୁଡିକ (ୱେବସାଇଟ୍ ରେ ଟାଇପ୍ ହୋଇଥିବା ଏକ ୱେବ୍ ସର୍ଭର ଦ୍ୱାରା ପ read ିପାରିବେ ଏବଂ ଲେଖିପାରିବେ ଏବଂ ଲେଖିପାରିବେ | ଆପଣଙ୍କ ଅଧୀନରେ ଥିବା ସମସ୍ତ ଉପକରଣ ବ୍ୟବହାର କରି, ଏହି ପୁସ୍ତକ ସହିତ ଆପଣ ଏକ ସୁରକ୍ଷିତ ୱେବସାଇଟ୍ ନିର୍ମାଣ, ଏବଂ ମୋଟାପିତ କମ୍ପ୍ୟୁଟରକୁ କାମ କରୁଥିବା ବିଷୟ, ଯାହା ଆପଣଙ୍କ ବିଡିଂ, ଦେଖାଯାଏ ଏବଂ ଦେଖନ୍ତି |

କେଉଁଠାରେ ଆରମ୍ଭ ହେବ: ଆପଣ ଅତୀତକୁ ଏଡ଼ାଇବାକୁ ସ୍ୱାଗତ ଯେ ମୁଁ ଏହି ପୁସ୍ତକକୁ କିମ୍ବା ଯେକ loodd ଣସି ବିଭାଗ ଆରମ୍ଭ କରେ, ବିଶେଷତ ide କିମ୍ବା ଏହାର କ୍ରିୟାରେ ଅନୁଭବ କରେ ଯେ ଏହାର କକ୍ଷଗୁଡ଼ିକରେ କିମ୍ବା ଏହାର ବ୍ୟବହାର ମାମଲା ଏବଂ ବ୍ୟବହାରିକ ଉଦାହରଣଗୁଡିକୁ ବର୍ଣ୍ଣନା କରିବ | ଯଦି ଆପଣଙ୍କର ଲେଖା କୋଡ୍ ରେ ଅଭିଜ୍ଞତା ନାହିଁ, ମୁଁ ଏହି ସମସ୍ତ ବହି ପ Revel ିବାକୁ ବହୁତ ପରାମର୍ଶ ଦେଉଛି, ଏବଂ ବିଶେଷତ you ତୁମେ ପୂର୍ବ ବିଭାଗଗୁଡିକ ପ read ଼ିବାକୁ ପରାମର୍ଶ ଦିଅ, ଏହି ପୁସ୍ତକ ଆପଣଙ୍କ ପାଇଁ ଠିକ୍ ବୋଲି ନିଶ୍ଚିତ କରିବାକୁ, ନିଶ୍ଚିତ କରିବାକୁ ଯେ ଏହି ପୁସ୍ତକ ଆପଣଙ୍କ ପାଇଁ ଠିକ୍ ଅଛି | ଯଦି ଏହି ପୁସ୍ତକ ଆପଣଙ୍କ ପାଇଁ ଠିକ୍ ନୁହେଁ, ତେବେ ଏହାକୁ ଏକ ବନ୍ଧୁ କିମ୍ବା ସମ୍ପର୍କୀୟଙ୍କ ନିକଟକୁ ଯିବାକୁ ବିଚାର କରନ୍ତୁ, ଏବଂ ମୁଁ ଏହାକୁ ଜଣେ wrice ଣ ବିଷୟରେ ଜାଣିବାକୁ ଆଗ୍ରହୀ, ଏବଂ ଅନ୍ୟ ଶିକ୍ଷକ ମୋ ସମ୍ମୁଖରେ କରିଥିବା ଶୂନ୍ୟସ୍ଥାନ ପୂରଣ କରିବାକୁ ଆଗ୍ରହୀ | ଯଦି ଆପଣ କେଉଁଠାରେ ଇଚ୍ଛା କରନ୍ତି ଆରମ୍ଭ କରନ୍ତୁ, ତେବେ ଏହି ପୁସ୍ତକର ପ୍ରତ୍ୟେକ ଅଂଶ ଏହି ପୁସ୍ତକଟି ଉପଯୋଗୀ ହେବ, ଏବଂ ଆପଣ ମନେରଖନ୍ତୁ ଯେ ସର୍ବୋତ୍ତମ ଆପଗୁଡ଼ିକ ମନରେ ଶେଷ ବ୍ୟବହାରକାରୀ | ବର୍ତ୍ତମାନ ତୁମେ ମୋତେ ଜାଣିଛ, ତୁମେ ଏହି ପୁସ୍ତକଟି ଜାଣିଛ, ଏବଂ ତୁମେ ଆରମ୍ଭ କରିବାକୁ ପ୍ରସ୍ତୁତ | ଆରମ୍ଭ କରିବାକୁ, ଏକ କମ୍ପ୍ୟୁଟର ଧରିବାକୁ (ଏକ ବାକ୍ସ ଷ୍ଟୋର, ଆମାଜନ, କିମ୍ବା ପୁରୁଣା ଡେସ୍କଟପ୍ କାମ କରେ ଏବଂ ଏକ ପୁରୁଣା ଡେସ୍କଟପ୍ କାମ କରେ ଏବଂ ଏହାକୁ ତୁମ ପାଇଁ କାମ କରେ ସେଥିରେ ସେଟ୍ ଅପ୍ କର |

ଏହି ପୁସ୍ତକ କିପରି ପ read ିବେ: ପାଠକୁ ଆଲୋକିତ କରେ, ପାଠ୍ୟ ଏକ ନିର୍ଦ୍ଦେଶ ପ୍ରମ୍ପାରେ ଅଟେ, ଯେଉଁଠାରେ ତୁମେ ଚଲଥିବା କୋଡ୍ ଲେଖିବ | କମାଣ୍ଡ୍ ପ୍ରମ୍ପ୍ଟ ହେଉଛି ଭାଇଭଉଣୀ କ clock ଣସି କୀବୋର୍ଡ୍ ଫୋକସ୍ ଏବଂ ଅଳ୍ପ କିଛି କ୍ଲିକ୍ କରି ନୁହେଁ, ତୁମର ୱାର୍କ୍ଫ୍ଲୋ ଅପ୍ ଏବଂ ଜିନିଷକୁ ତୁମ ଉପରେ ସହଜ କରିବା |

ଆରମ୍ଭ କରିବା: ଚାଲ ଭିତରକୁ ଯିବା | ଆମେ ଏକ ସ୍ଥାନୀୟ ମେସିନରେ କୋଡ୍ ନିର୍ମାଣ କରି ଆରମ୍ଭ କରିବୁ ଏବଂ ଇଣ୍ଟରନେଟ୍ ସହିତ ସଂଯୁକ୍ତ ଏକ ୱେବସାଇଟ୍ ବିଲଡିଂ କରିବା ଆରମ୍ଭ କରିବା | ଏହା ଆରମ୍ଭ କରିବାକୁ ନିରାପଦ, ଖର୍ଚ୍ଚ ହୁଏ ନାହିଁ, ଏବଂ ଆପଣଙ୍କ ପାଇଁ ସହଜ ଅଟେ | ଆପଣଙ୍କ ଅପରେଟିଂ ସିଷ୍ଟମ ଉପରେ ନିର୍ଭର କରି, ଏକ ବାଶ୍ ଶେଲ୍ ଭିତରକୁ ଯିବା ଟିକେ ଭିନ୍ନ ହେବ | Mac OS ପାଇଁ, ମୁଁ ଏହି ସମୟରେ ଏକ ଭର୍ଚୁଆଲ୍ ମେସିନ୍ ସଂସ୍ଥାପନ କରିବାକୁ ପରାମର୍ଶ ଦିଏ, ଯେହେତୁ ଆପଣ ଏକ ଭର୍ଚୁଆଲ୍ ମେସିନ୍ ସହିତ ଅଧିକ ସୁସଙ୍ଗତତା ପାଇବେ | ବିଭିନ୍ନ ପ୍ରଦାନକାରୀ, ଭର୍ଚୁଆଲ୍ ବକ୍ସ ଏବଂ ପାରାଣ୍ଡଲ୍ ତୁମ ପାଇଁ ଏକ ଭର୍ଚୁଆଲ୍ ଇନଭେଷ୍ଟ୍ ପାଇଁ, ଯଦିଓ ଆପଣ ଏକ ଦେଶୀ ପରିବେଶ ବ୍ୟବହାର କରିବାକୁ ପରାମର୍ଶ ଦେବା ଯେ ଆପଣ ଏକ ଦ୍ରୁତ, ଶୃଙ୍ଖଳିତ ଅଭିଜ୍ଞତା ସୃଷ୍ଟି କରିବାକୁ ସୁପାରିଶ କରିବା | ଯଦି ଆପଣ ଲିନକ୍ସ କିମ୍ବା ୱିଣ୍ଡୋଜ୍ ବ୍ୟବହାର କରୁଛନ୍ତି, ଯାହା ମୁଁ ସୁପାରିଶ କରୁଛି, ଏହା ଏକ ପ୍ରୋଜେକ୍ଟ ସୃଷ୍ଟି କରିବା ସମ୍ପୂର୍ଣ୍ଣ ସହଜ | ତୁମର ଟର୍ମିନାଲ୍ ଖୋଲ, ଯେପରି ତୁମେ ଫିଟ୍ ଦେଖିବ ସାଇଜ୍ ଖୋଲ, ଏବଂ ଷ୍ଟେପ୍ 2 ଅନୁସରଣ କରିବା ଆରମ୍ଭ କର | ଯଦି ଆପଣ ୱିଣ୍ଡୋ ବ୍ୟବହାର କରୁଛନ୍ତି, ଦୟାକରି ଷ୍ଟେପ୍ 1 ଅନୁସରଣ କରନ୍ତୁ |

ପଦାଙ୍କ 1: - ୱିଣ୍ଡୋ ବ୍ୟବହାରକାରୀମାନେ କେବଳ | ୱିଣ୍ଡୋଜ୍ ରେ, ଆଡମିନିଷ୍ଟ୍ରେଟର୍ ଭାବରେ ଖୋଲା ନିର୍ଦ୍ଦେଶ ପ୍ରମ୍ପ୍ଟ ଏବଂ ଟାଇପ୍ କରନ୍ତୁ | wsl -install

ପଦାଙ୍କ 2: - ଏଠାରେ ଜାରି ରଖନ୍ତୁ, କିମ୍ବା ଷ୍ଟେପ୍ 1 କୁ ଏଠାକୁ ଯାଆନ୍ତୁ | ଏକ ଖୋଲା ଟର୍ମିନାଲ୍ ରେ, (ଆପଣଙ୍କର OS ଉପରେ ନିର୍ଭର କରି, ୱିଣ୍ଡୋଜ୍, ଟର୍ମିନାଲ୍ ରେ ଉବୁଣ୍ଟୁ ନାମକ ଉବୁଣ୍ଟୁ ନାମକ ଉବୁଣ୍ଟୁ ନାମକ ଉବୁଣ୍ଟୁ ନାମକ ଉବୁଣ୍ଟୁ ନାମକ ଉବୁଣ୍ଟୁ ନାମକ ଉବୁଣ୍ଟୁ ନାମକ ନାମ ଏବଂ ଏକ ପ୍ରୋଜେକ୍ଟ ପ୍ରଦାନ କରନ୍ତୁ | ଆମେ mkdir କମାଣ୍ଡ୍ ସହିତ ଏହା କରି, ଯାହା ଏକ ଡିରେକ୍ଟୋରୀ ସୃଷ୍ଟି କରେ | ଯଦି ତୁମେ ତୁମର ପ୍ରୋଜେକ୍ଟ ସଂରକ୍ଷଣ କରିବା ପାଇଁ ଏକ ଡିରେକ୍ଟୋରୀ ତିଆରି କରିବା ଆବଶ୍ୟକ, ଯାହାକି ପରାମର୍ଶ ଦିଆଯାଇଛି, ଡିରେକ୍ଟୋରୀକୁ ପରିବର୍ତ୍ତନ ଏବଂ ଏବଂ ଆଉଟାକୁ ପରିବର୍ତ୍ତନ କରିବାକୁ ପରାମର୍ଶ ବ୍ୟବହାର କର |

CD / ପଥ / ନିର୍ଦ୍ଦେଶନ - ପଥ ହେଉଛି ଫୋଲ୍ଡର (ଫାଇଲଗୁଡ଼ିକ) ଯାହା ଆପଣଙ୍କର ଲକ୍ଷ୍ୟସ୍ଥାପନକାରୀ ଅଟେ, ଆପଣଙ୍କର ଡିଫଲ୍ଟ ରାସ୍ତା ~ କିମ୍ବା / home / usermen) ଆପଣଙ୍କର ଉପଯୋଗକର୍ତ୍ତା ନାମ ଅଟେ) | ଡିଫଲ୍ଟ ଡିରେକ୍ଟୋରୀରେ ପରିବର୍ତ୍ତନ କରିବାକୁ, CD କିମ୍ବା CD ଟାଇପ୍ କରନ୍ତୁ | Mkdir ଉଦାହରଣ - ଡିରେକ୍ଟୋରୀର ନାମ ସହିତ "ଉଦାହରଣ" ବଦଳାନ୍ତୁ |

ବର୍ତ୍ତମାନ ତୁମର ପ୍ରୋଜେକ୍ଟ ପାଇଁ ଏକ ୱାର୍କିଂ ଡିରେକ୍ଟୋରୀ ଅଛି | ଏହି ଡିରେକ୍ଟୋରୀଟି ରହିବା ଉଚିତ୍ କିମ୍ବା ଆପଣ ଲେଖୁଥିବା କୋଡ୍ ନିୟୋଜିତ ହେଲେ ଏହି ଡିରେକ୍ଟୋରୀ ଯେପରି ଏହି ଡିରେକ୍ଟୋରୀଟି ସ୍ଥିତିକୁ ନିୟୋଜିତ କରେ, ତେବେ ଏହା ୱେବ୍ ପାଇଁ ବ୍ୟାକଅପ୍ କରିବା ପାଇଁ ଏକ ସ୍କ୍ରିପ୍ଟ ନିର୍ମାଣ ହେବ, ଯାହାକି ପରବର୍ତ୍ତୀ ସମୟରେ ଆପଣଙ୍କ ଡିରେକ୍ଟୋରୀରେ ବ୍ୟାକଅପ୍ କରିବାକୁ ଆମେ ଏକ ସ୍କ୍ରିପ୍ଟ ନିର୍ମାଣ କରିବୁ | କିନ୍ତୁ ଏକ ସ୍କ୍ରିପ୍ଟ ନିର୍ମାଣକୁ ଟିକେ କୋଡ୍ ନେଇଥାଏ, ଏବଂ ଯଥାସମ୍ଭବ ଉପଯୋଗୀ ହେବା ଆବଶ୍ୟକ | ତେଣୁ ପ୍ରଥମେ ସ୍କ୍ରିପ୍ଟ ନିର୍ମାଣ କରିବାକୁ ଏକ ସ୍କ୍ରିପ୍ଟ ନିର୍ମାଣ କରିବା | ସ୍କ୍ରିପ୍ଟ ସୃଷ୍ଟି କରି ଏହାକୁ ଏକଜେକ୍ୟୁଟେବଲ୍ କରିବା ଦ୍ୱାରା ଆରମ୍ଭ କରିବା | ଆମେ ଏଥିପାଇଁ ସୁଡୋ, ଚିମୋଡ ଏବଂ ସ୍ପର୍ଶ ବ୍ୟବହାର କରିବୁ ଏବଂ ସ୍କ୍ରିପ୍ଟ "ସ୍କ୍ରିପ୍ଟ" ସ୍କ୍ରିପ୍ଟକୁ ଡାକ |

sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript

ବର୍ତ୍ତମାନ ଆମେ ସ୍କ୍ରକ୍ସକୁ ସୃଷ୍ଟି କରିଛୁ, ଏହାକୁ ଏକଜେକ୍ୟୁଟେଦିତ ଏବଂ ଏହାକୁ ଏଡିଟ୍ କରିବାକୁ ପ୍ରସ୍ତୁତ | ନାନୋ ହେଉଛି ଏକ ଟେକ୍ସଟ୍ ଏଡିଟର୍ ଯାହା ଆପଣଙ୍କୁ ଏକ ଟେକ୍ସଟ୍ ଏଡିଟର୍ ଯାହା ଆପଣଙ୍କୁ କ୍ଲିକ୍ ନକରି ଟେକ୍ସଟ୍ ଏଡିଟ୍ କରିବ, ଯାହା ଏକ ଗ୍ରାଫିକାଲ୍ ୟୁଜର୍ ଇଣ୍ଟରଫେସ୍ ବ୍ୟବହାର କରିବା ଅପେକ୍ଷା ଅଧିକ ସହଜ ଅଟେ | ନାନୋ ସହିତ ଏକ ଫାଇଲ୍ ଏଡିଟ୍ କରିବାକୁ, nano ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ତାପରେ ଫାଇଲ୍ କୁ ପଥ ଅନୁସରଣ କରନ୍ତୁ | ଏକ ସ୍କ୍ରିପ୍ଟ ତିଆରି କରିବା ଯାହା ଏକ ସ୍କ୍ରିପ୍ଟ ତିଆରି କରେ, ଏହା ପ୍ରଥମ ସ୍ଥାନରେ ଆମର ସ୍କ୍ରିପ୍ଟ ତିଆରି କରିବା ସହିତ ଯଥେଷ୍ଟ ସମାନ | ଏକ ଯୁକ୍ତିରୁ "ସ୍କ୍ରିପ୍ଟର ନାମର ନାମ, $ 1 କୁ ବଦଳାଇବା, ଯାହା ସ୍କ୍ରିପ୍ଟର ନାମକୁ ବଦଳାଇବୁ | ଏହା ଆମକୁ କେବଳ suda rescripts Uscript ସନ୍ଦର୍ଭ ଟାଇପ୍ କରି ସ୍କ୍ରିପ୍ଟକୁ କଲ ଦେବା ପାଇଁ, କେଉଁ ପଏଣ୍ଟରେ ଆମେ ଆପଣଙ୍କର ସ୍କ୍ରିପ୍ଟର ନାମ ସହିତ କ any ଣସି ନୂତନ ସ୍କ୍ରିପ୍ଟ ସୃଷ୍ଟି କରିପାରିବୁ | ନାନୋରେ କୋଡ୍ ଯେପରି ଦେଖାଯିବା ଉଚିତ୍:

sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1

ଏବଂ ନାନୋକୁ ବନ୍ଦ କରିବା, ଆମେ କଣ୍ଟ୍ରୋଲ୍ କୀ ଧରିପାରିବା ଏବଂ x କୁ ଦବାଇବା ପାଇଁ ଆମେ ଫାଇଲ୍ ସେଭ୍ କରୁଛୁ ଯାହାକୁ ଆମେ ଫେରିବା ମାରିବା ଏବଂ ରିଟର୍ନ ମାରିବା | ବର୍ତ୍ତମାନ ପଚାଶ ହେବା ପାଇଁ ଏହି ତିନୋଟି ନିର୍ଦ୍ଦେଶ ଟାଇପ୍ କରିବା ପରିବର୍ତ୍ତେ, ଆମେ ପୁନର୍ବାର ସ୍କ୍ରିପ୍ଟ ସଂପାଦନ କରିବାକୁ ସୁଡୋ cil ୍ଚ୍ରିପ୍ଟ ଟାଇପ୍ କରିବାକୁ ସକ୍ଷମ ହେବୁ | ଏହି କାର୍ଯ୍ୟଗୁଡ଼ିକ! ଏବଂ ଯେକ any ଣସି ନୂତନ ସ୍କ୍ରିପ୍ଟ ଏହାକୁ ସେଲରେ ନିକେସରରେ ଚଲାଯାଇପାରିବ | ଚାଲନ୍ତୁ ବର୍ତ୍ତମାନ ଆମର କାମକୁ ସଂରକ୍ଷଣ କରିବା: ଚାଲ ଆମର ନୂତନ ସ୍କ୍ରିପ୍ଟ ଡିରେକ୍ଟୋରୀକୁ ସଂରକ୍ଷଣ କରିବାକୁ ଏକ ବ୍ୟାକଅପ୍ ସ୍କ୍ରିପ୍ଟ ଲେଖିବା, ଏବଂ ପରେ ଆମର ପ୍ରୋଜେକ୍ଟଅପ୍ ସ୍କ୍ରିପ୍ଟକୁ ବ୍ୟାକଅପ୍ କରିବା |

sudo ascript backup

ବର୍ତ୍ତମାନ, ନାନୋରେ:

sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/

Mkdir ସହିତ ସୃଷ୍ଟି କରିଥିବା ପ୍ରୋଜେକ୍ଟକୁ କେଉଁଠାରେ / ପଥ / ଡିରେକ୍ଟୋରୀ ହେଉଛି | ଏହା ପରେ ଆମେ ଏକ ଲୁପ୍ ଏବଂ ଏକ ତାଲିକା ସହିତ ପୁନରାବୃତ୍ତି ପଥ କପି କରିବା ଶିଖିବା, ଯାହା କମ୍ କୋଡ୍ ଅଟେ, କିନ୍ତୁ ବର୍ତ୍ତମାନ ଏହାକୁ ସରଳ ରଖିବା ଏବଂ କିଛି ଧାଡି ଅଛି | ଏହି ସ୍କ୍ରିପ୍ଟ ଚଲାଇବା ଏବଂ ଆପଣଙ୍କର କୋଡ୍ ବ୍ୟାକଅପ୍ କରିବା ପାଇଁ, କଣ୍ଟ୍ରୋଲ୍ + X, Y, Y, Y, Y, Y, RECT କୁ ଫାଇଲ୍ କୁ ପଠାନ୍ତୁ, ଏବଂ ନିମ୍ନରେ ତୁମର ସେଲରେ ଟାଇପ୍ କର |

backup

ଯଦି ଆପଣଙ୍କୁ ଏହି ପୁସ୍ତକ ପ reading ିବା ଏବଂ ସେଲରେ ଅନୁସରଣ କରିବାବେଳେ ଆପଣଙ୍କୁ ଏକ ପାସୱାର୍ଡ ପାଇଁ ପଚରାଯାଏ, ଦୟାକରି ଆପଣଙ୍କର ଉପଭୋକ୍ତା ପାସୱାର୍ଡକୁ ସଠିକ୍ ଭାବରେ ପ୍ରବେଶ କରନ୍ତୁ, ଆପଣ କମାଣ୍ଡ୍ ପୁନ rem ଆରମ୍ଭ କରିବା ପୂର୍ବରୁ ତିନୋଟି ଚେଷ୍ଟା କରିବେ | ସ the ନ୍ୟମାନଙ୍କୁ ପୁନ ren ନିର୍ମାଣ କରିବାକୁ ଏବଂ ସେଗୁଡ଼ିକୁ ସଂପାଦନ କରିବାକୁ ଆପଣ ଅପ୍ ଏବଂ ଡାଉନ୍ ତୂଷ୍ଟ ବ୍ୟବହାର କରିପାରିବେ, ତେବେ ଆପଣ ଦୁଇଥର କିଛି ଚଲାଇବା ଆବଶ୍ୟକ କରନ୍ତି | ଡାହାଣ, ବାମ ବାଣଗୁଡିକ ଏବଂ କୀବୋର୍ଡ୍ ସହିତ କମାଣ୍ଡ୍ ଏବଂ କୀବୋର୍ଡ୍ ସହିତ କମାଣ୍ଡ ଏବଂ କୀବୋର୍ଡ୍ ସହିତ କମାଣ୍ଡ ବାଛିବା ପୂର୍ବରୁ ଏକ କମାଣ୍ଡ୍ ବାଛିବା ପାଇଁ ସରଳ ଦବାନ୍ତୁ ଏବଂ କୀବୋର୍ଡ୍ ସହିତ କମାଣ୍ଡ ବାଛିବା ପୂର୍ବରୁ ଏକ କମାଣ୍ଡ୍ ବାଛିବା ପାଇଁ ଏକ କମାଣ୍ଡ୍ ବାଛିବା ପାଇଁ |

ଅଭିନନ୍ଦନ! ତୁମେ ଏକ ଅଦ୍ଭୁତ ବ୍ୟାକଅପ୍ ସ୍କ୍ରିପ୍ଟ ସୃଷ୍ଟି କରିବାରେ ସଫଳ ହେବା ପାଇଁ ସଫଳ ହୋଇଥିଲା ଯାହା ତୁମର ୱାର୍କିଂ ଡିରେକ୍ଟୋରୀର ଦୁଇଟି ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ସେଲ୍ ସ୍କ୍ରିପ୍ଟଗୁଡ଼ିକୁ ବ୍ୟାକ କରେ | ପ୍ରକଳ୍ପଟି ବଡ ନହେବାବେଳେ ପରେ ଆମେ ହୁଏତ ଜିନିଷକୁ ଘୁଞ୍ଚାଇ ପାରିବା, କିନ୍ତୁ ବର୍ତ୍ତମାନ ପାଇଁ ଏହା କାମ କରେ | ଚାଲ ମେଘରେ ବ୍ୟାକଅପ୍ କରିବା, ଆମେ ଏହା ପାଇଁ GITHB ବ୍ୟବହାର କରିବା (ଯଦିଓ ଆପଣ ଏକ ସର୍ଭରରେ ଆପଣଙ୍କର ସଫ୍ଟୱେର୍ କଣ୍ଟ୍ରୋଲ୍ ସଫ୍ଟୱେର୍ ଯାହା ଆପଣଙ୍କୁ ଏକ ପାସୱାର୍ଡର ସମ୍ପୂର୍ଣ୍ଣ କପି ସଫ୍ଟୱେର୍ ଡାଉନଲୋଡ୍ କରିବାକୁ ଦିଏ | ଏହା ତୁମର ସଫ୍ଟୱେର୍ ସଂରକ୍ଷଣ କରିବାରେ ସାଂସମତା ଅଟେ, ବିଶେଷତ where ାରା ଆମେ ସୁରକ୍ଷିତ ଥିବାବେଳେ କାନ୍ଦିବାବେଳେ, ଯଦି ଆମେ ଏହାକୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ବ୍ୟାକଅପ୍ ନକର, ତେବେ ତୁମକୁ କଭର ଦେବୁ ଯଦି ତୁମେ ଏହାକୁ ଆବୃତ ନକର, ଯାହାକୁ ଆମେ ଆବୃତ କରିବୁ |

ଯଦି ଆପଣ ଏହି ସମୟରେ ଏକ ଉବୁଣ୍ଟୁ ଭର୍ଚୁଆଲ୍ ମେସିନ୍ ବ୍ୟବହାର କରୁନାହାଁନ୍ତି, ତେବେ ମୁଁ ଏହି ସମୟରେ ଉବୁଣ୍ଟୁ ଭର୍ଚୁଆଲ୍ ମେସିନ୍ ବ୍ୟବହାର କରି ପୁନର୍ବାର କାର୍ଯ୍ୟ କରିବି କାରଣ ଏହା ଆପଣଙ୍କ ଜୀବନକୁ ସହଜ କରିବ ଏବଂ ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ ଗଭୀର ଶିକ୍ଷା କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ପ୍ରିଫର୍ମ କରିବା ସମୟରେ ଏହା ଆପଣଙ୍କ ଜୀବନକୁ ସହଜ କରିବ | ନିକଟ ଭବିଷ୍ୟତ ଭବିଷ୍ୟତରେ ଆମେ ନିକଟ ଏକ ୱେବ୍ ସର୍ଭରକୁ କୋଡ୍ ଘୁଞ୍ଚାଇବା, କିନ୍ତୁ ଆମେ ନିଶ୍ଚିତ କରିବାକୁ ଚାହୁଁଛୁ ଯାହା ଫିସିଫବରେ ପ୍ରତିରୋଧ, ଏବଂ ଏହା କରିବା ପାଇଁ ଅନେକ ଲସ୍ ଆପେସିଫିକ୍ ନିଯୁକ୍ତି ପାଇଥାଏ, ଏବଂ ଏହା କରିବା ପାଇଁ ଅନେକ ଲିନକ୍ସ ପ୍ୟାକେଜ୍ ନିଯୁକ୍ତ କରାଯାଏ | ଯଦି ଆପଣ ତଥାପି ମ୍ୟାକ୍ OS ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଆପଣ ଅନଲାଇନରେ ସଂସ୍ଥାପନ ପ୍ୟାକେଜ୍ ଖୋଜ କରିବାକୁ ସ୍ୱାଗତ ଏବଂ ସଂସ୍ଥାପନ କରିବାକୁ ସ୍ୱାଗତ, କିନ୍ତୁ ଏହି ପୁସ୍ତକ କିମ୍ବା ସିରିଜ୍ ଆବରଣ ହେବ |

ଆସୋ ascripe ନିର୍ଦ୍ଦେଶନାମା ବ୍ୟାକଅପ୍ କମାଣ୍ଡ୍ ଚଳାଇଥିବା କମାଣ୍ଡ୍ ଟେବୁଲ୍ ଚାଲୁଥିବା ବ୍ୟାକଅପ୍ ସ୍କ୍ରିପ୍ଟ ସହିତ ଆମର କାର୍ଯ୍ୟ ସହିତ ଆମର କାର୍ଯ୍ୟକୁ ଯୋଡିବା ପାଇଁ ଚାଲନ୍ତୁ ଆମର କାର୍ଯ୍ୟ କରିବା ପାଇଁ |

# ...

ପୁନର୍ବାର, ସଞ୍ଚୟ କରିବାକୁ X ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ |

ବର୍ତ୍ତମାନ ଏହି ପ୍ରକଳ୍ପ ପାଇଁ ଆମକୁ କିଛି ସମୟ ବିନ୍ୟାସ କରିବାକୁ ପଡିବ | କାରଣ ଏହା ଶୀଘ୍ର ଏକ ଗିଟ୍ ପ୍ରୋଜେକ୍ଟ ହେବ, ଆମକୁ ପ୍ରତ୍ୟେକ ଥର ଆମେ ଏକ git ସଂଗ୍ରହାଳୟରୁ ନିୟୋଜିତ କରିବା ଆବଶ୍ୟକ କରୁନାହୁଁ, କିନ୍ତୁ ଯେତେବେଳେ ଆମେ ଆମର ନିୟୋଜନ ସ୍କ୍ରିପ୍ଟ ଲେଖିବା, ଆମେ ଏଥୁର ଟାଙ୍ଗବୁ | ଆରମ୍ଭ କରିବା ପାଇଁ, ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଆମେ ସଠିକ୍ ଡିରେକ୍ଟୋରୀରେ ଥାଉ ଆମେ git ସଂଗ୍ରହାଳୟ ଆରମ୍ଭ କରି SSH କି ସୃଷ୍ଟି କରିବା |

cd /path/to/directory
git init
git branch -m master
ssh-keygen

ଆମେ shr-camen ଗଠନ କରିବା ପରେ, .shs କୁହାଯାଏ, ଏକ ଫୋଲ୍ଡରରେ ହୋମ୍ ଫୋଲ୍ଡରରେ ରଖାଯାଇ ରଖିବା ଉଚିତ | ଏହାକୁ id_ssa.pub କୁହାଯାଏ | ଚାଲ ଏହି ଚାବି ଖୋଜିବା ଏବଂ ଏହାକୁ କପି କରିବା | ଏହାକୁ ଦେଖିବାକୁ,

cd ~
cat .ssh/id_rsa.pub

ପାଠ୍ୟକୁ ନକଲ କରନ୍ତୁ ଯାହା ଶେଷ କମାଣ୍ଡ ଦ୍ୱାରା ଫେରସ୍ତ, ଏବଂ ତୁମର ଆକାଉଣ୍ଟରେ SSH କୀହର ଯୋଡିବା ପୂର୍ବରୁ ତୁମର git ପ୍ରଦାନକାରୀ ସୃଷ୍ଟି (ଆଦର୍ଶଗତ ସିଥବ୍) ସହିତ ଏକ ଆକାଉଣ୍ଟ୍ ସୃଷ୍ଟି କର | ଥରେ ଏକ ଆକାଉଣ୍ଟ୍ ଥାଏ, ଉପର ଡାହାଣ ମେନୁ କ୍ଲିକ୍ କରି, bsh ଏବଂ gpg କିଗୁଡ଼ିକ bsh ଏବଂ gpg କିଗୁଡ଼ିକ ମେନୁରେ ପ୍ରବେଶ ଅଧୀନରେ ରଖିବା ପୂର୍ବରୁ ସେଟିଂସମୂହ ପ୍ରବେଶ କର | ଏକ SSH ଚାବି ଯୋଡନ୍ତୁ ଏବଂ ଏହାକୁ ପୋଷିରେ ରଖିବା ଦ୍ୱାରା ଆପଣଙ୍କର ଏକ ଟାଇଟଲ୍ ସଞ୍ଚୟ କରି ଏକ ଟାଇଟଲ୍ ଦେବା ପୂର୍ବରୁ ଆପଣଙ୍କର ଏକ ଟାଇଟଲ୍ ଦେବା ପୂର୍ବରୁ ଆପଣଙ୍କର ଏକ ଟାଇଟଲ୍ ଦେବା ଏବଂ ଏହାକୁ ଏକ ଟାଇଟଲ୍ ଦେବା ପୂର୍ବରୁ, ଏହାକୁ ଏକ ଟାଇଟଲ୍ ଦେବା ପୂର୍ବରୁ, ଏହାକୁ ଏକ ଟାଇଟଲ୍ ଦେବା ପୂର୍ବରୁ ଯୋଡନ୍ତୁ | ଏହା ଅନ୍ୟ ଗିପି ପ୍ରଦାନକାରୀଙ୍କ ପାଇଁ ସମାନ, ଏହାକୁ ସେମାନଙ୍କର ଡକ୍ୟୁମେଣ୍ଟେସନ୍ ପ read ିବାକୁ ପଡିବ | ନୂତନ ସଂଗ୍ରହାଳୟ ସଂରଚନାରେ, ଆପଣଙ୍କର ସଂଗ୍ରହକାରୀଙ୍କୁ ଏକ ବର୍ଣ୍ଣନାକାରୀ ନାମ ଦିଅନ୍ତୁ ଏବଂ ଆପଣ ଏହାକୁ ପ୍ରକାଶ କରିବାକୁ ଚାହୁଁଛନ୍ତି କି ନାହିଁ ତାହା ସ୍ଥିର କରନ୍ତୁ ଏବଂ ନିଶ୍ଚିତ ଭାବରେ କ file ଣସି ଫାଇଲଗୁଡ଼ିକୁ ଅନ୍ତର୍ଭୂକ୍ତ କରିବାକୁ ବିନ୍ୟାସ କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ | ଥରେ ସଂଗ୍ରହାଳୟ ସୃଷ୍ଟି ହୋଇଗଲେ, ssh rund ସହିତ କ୍ଲୋନ୍ କପି କରନ୍ତୁ ଏବଂ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶରେ ଲେପନ କରନ୍ତୁ |

git remote add git://… (your remote URL)

ବର୍ତ୍ତମାନ ଆପଣ CD ସହିତ ଆପଣଙ୍କର ସଂଗ୍ରହାଳୟକୁ ଫେରିପାରିବେ, ଆପଣ ଏହା ସହିତ ପରିଚିତ ହେବେ | ବ୍ୟାକଅପ୍ ସହିତ ବର୍ତ୍ତମାନ ଆପଣଙ୍କର ବ୍ୟାକଅପ୍ ସ୍କ୍ରିପ୍ଟ ଚେଷ୍ଟା କରନ୍ତୁ |

ବହୁତ ଭଲ! ବର୍ତ୍ତମାନ ଆମେ ପ୍ରକୃତରେ କୋଡିଂ ପାଇପାରିବା | ଚାଲ Django ସଂସ୍ଥାପନ କରିବା ଯାହା ଆଧାରରେ ଆମସ୍ ଏବଂ ଗିଟ୍ ଉପରେ ଆମର ଏକ ଭଲ ଗ୍ରାସ ଅଛି | ଡିଜୋଙ୍ଗାଓ ଆମକୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଆମର ସଫ୍ଟୱେର୍ ବ୍ୟାକାଇବେ, ବାଶ୍ ଏହା ମଧ୍ୟ କରିପାରିବ କିନ୍ତୁ ଡିଜାଙ୍ଗୋ ଏକ ସରଳ ସୁରକ୍ଷିତ କାର୍ଯ୍ୟାମତି ରହିବା ଉଚିତ (ଏହା ଅକ୍ଷମ ହୋଇପାରେ ଏବଂ ବିନ୍ୟାସ କରାଯାଇପାରିବ ଏବଂ ଅଧିକ ସହଜରେ ବିନ୍ୟାସ କରାଯାଇପାରିବ ଏବଂ ପୁନ ed ଚିତ୍ର କରାଯାଇପାରିବ |

ଉବୁଣ୍ଟୁରେ ସଫ୍ଟୱେର୍ ସଂସ୍ଥାପନ କରିବାକୁ, ଆମେ ସୁଡୋ apt-get କମାଣ୍ଡ୍ ବ୍ୟବହାର କରିବୁ | ପ୍ରଥମେ, ଆମେ ପୂର୍ବରୁ ଥିବା ସଫ୍ଟୱେର୍ କୁ ଅପଡେଟ୍ କରିବା | ଏହା sudo apt-get ଅପଡେଟ୍ ଏବଂ ସୁଡୋ apt-get ଅପଗ୍ରେଡ୍ ସହିତ କରାଯାଇପାରିବ | ପରବର୍ତ୍ତୀ, ଆସନ୍ତୁ ପାଇଥନ୍ ଏବଂ ଆମର ଭର୍ଚୁଆଲ୍ ପରିବେଶ ସଂସ୍ଥାପନ କରନ୍ତୁ: su / pirt-eston-is-python3 python3-venv ସଂସ୍ଥାପନ କରିବା PYthon-is-Python3 Python3-venv ସଂସ୍ଥାପନ କରନ୍ତୁ |

ଉବୁଣ୍ଟୁ ଇନଷ୍ଟାଣ୍ଟରେ ସଫ୍ଟୱେର୍ ଇନଷ୍ଟଲ୍ ରେ ଡିଜାଙ୍ଗୋ ସହିତ ଯିବାକୁ ଯିବା ଆବଶ୍ୟକ | ୱିଣ୍ଡୋଜ୍ ଏବଂ Linux ପାଇଁ ଏହା ଯଥେଷ୍ଟ ଭାବରେ ସରଳ ହେବା ଉଚିତ, କିନ୍ତୁ ମ୍ୟାକ୍ ପାଇଁ ଆପଣ ଭର୍ଚୁଆଲ୍ ବକ୍ସ କିମ୍ବା ପାରାଲେଲ ବ୍ୟବହାର କରୁଥିବା ଏବଂ ଉବୁଣ୍ଟୁ ପରିବେଶ ସେଟ୍ କରିବା ପାଇଁ ଉପରୋକ୍ତ ପଦକ୍ଷେପଗୁଡ଼ିକୁ ବିନ୍ୟାସ କରିବାକୁ ଚାହୁଁଛନ୍ତି | ଉବୁଣ୍ଟୁ ଏହି କ୍ଷେତ୍ରରେ ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ କାରଣ ଏହା ହେଉଛି ୱେବସାଇଟ୍ ରନ୍ ଏବଂ ଏହା ସେମାନଙ୍କୁ ଉପରୋକ୍ତ ସଫ୍ଟୱେୟାର ସହିତ ୱେବସାଇଟ୍ ହୋଷ୍ଟ କରିବାକୁ ସକ୍ଷମ କରେ |

ଚାଲ django ରେ ଖୋଳିବା |

ଆମର ଡିରେକ୍ଟୋରୀରେ, CD ସହିତ:

python -m venv venv # ଯେଉଁଠାରେ ଆଭ୍ୟନ୍ତରୀଣ ପରିବେଶ ସୃଷ୍ଟି କରେ ଯେଉଁଠାରେ କୋଡ୍ ଗଚ୍ଛିତ ଅଛି |
source venv/bin/activate # ଭର୍ଚୁଆଲ୍ ପରିବେଶକୁ ସକ୍ରିୟ କରିଥାଏ |
django-admin startproject mysite . # ଯେଉଁଠାରେ ମାଇସାଇଟ୍ ହେଉଛି ମୁଁ ମୋର ସାମ୍ପ୍ରତିକ ଡିରେକ୍ଟୋରୀରେ ଆରମ୍ଭ କରୁଛି |

ଡିଜାଙ୍ଗୋ କେବଳ ଆମକୁ ଆରମ୍ଭ କରୁଛି, କାରଣ ଡିଜିଙ୍ଗୋ ୱେବ୍ ସର୍ଭର ହୋଷ୍ଟ କରୁଛି ଏବଂ ଆମେ ଏକ ମ basic ଳିକ ଲୋକାଲ୍ ୱେବସାଇଟ୍ ପାଇବା ଏବଂ ଚାଲୁଥିବାର ଆବଶ୍ୟକ କରୁଥିବା ସମସ୍ତ କାର୍ଯ୍ୟ କରୁଛୁ | ବର୍ତ୍ତମାନ ନିଶ୍ଚିତ ଭାବରେ ଆମର ଡିଜାଙ୍ଗୋ ସଂସ୍ଥାପିତ ହୋଇଛି, ଯେକ any ଣସି କାର୍ଯ୍ୟ କରିବା ପାଇଁ ଚାଲ ସେଟିଂସମୂହକୁ ଟିକିଏ ସଂପାଦନ କରିବା | ପ୍ରଥମେ, ଆସନ୍ତୁ ଏକ ନୂତନ ଆପ୍ ସୃଷ୍ଟି କରିବା |

python manage.py startapp feed

ପ୍ରଥମ ଆପ୍ କୁ ଆପଣ ଲକ୍ଷ୍ୟ କରିଥିବେ | ଆପଣ ଯେ ଯାହା ପସନ୍ଦ କରନ୍ତି ଏହି ଆପ୍ ଯାହାକୁ କୁହାଯାଏ, ଏବଂ ଆମେ ନୂଆ ଆପ୍ ସୃଷ୍ଟି କରିବୁ, ପ୍ରତ୍ୟେକ ଆପାର୍ଟମେଣ୍ଟର ଏହି ପ୍ରତ୍ୟେକ ଆପର ନାମ କ୍ରମାଗତ ଭାବରେ ସ୍ଥିର ହେବା ଜରୁରୀ | ଏକ ନୂତନ ଆପ୍ ଯୋଡିବାକୁ, ଆମେ ସବୁବେଳେ ସେଟିଂକୁ ସେ calital tage.py କୁ ସଂପାଦନ କରିବା | ନାନୋକୁ ବ୍ୟବହାର କରି,

nano app/settings.py

ସେଟିଙ୍ଗରେ, ଇନଷ୍ଟଲ୍_ ଆପଲ୍ ଖୋଜ ଏବଂ 3 ଲାଇନ୍ ରେ ଅଲଗା କର | ଖାଲି ସେଣ୍ଟର୍ ଲାଇନରେ ଚାରୋଟି ସ୍ପେସ୍ ବ୍ୟବହାର କରି, 'ଫିଡ୍', କିମ୍ବା ଆପଣଙ୍କର ଆପର ନାମ ଯୋଡନ୍ତୁ | ସେଟିଂସମୂହର ଏହି ବିଭାଗଟି ଦେଖାଯିବା ଉଚିତ:

INSTALLED_APPS = [
    'feed',
]

ଆମେ ଭୁଲିଯିବା ପୂର୍ବରୁ, ଚାଲ ପରୀକ୍ଷା କରିବା ସେହି Django କାମ କରୁଛି | Python Chage.py Runserver 0.0.0.0: TOH ସେବା କରିବା ଏବଂ ଗୋଟିଏ ଉଦାହରଣ ସହିତ ଏକ ଉଦାହରଣ ସହିତ ନେତା ହାସଲ କରନ୍ତୁ |

ବର୍ତ୍ତମାନ, ଚାଲ କିଛି ପାଇଥନ୍ କୋଡ୍ ଲେଖିବାରେ ଖୋଳିବା | ଡୋଜାଙ୍ଗୋଙ୍କର ତିନୋଟି ମୁଖ୍ୟ ଉପାଦାନ ଅଛି, ଯାହାକି ସେଗୁଡିକ ସଂପୂର୍ଣ୍ଣ ଭାବରେ କୋଡ୍ ଦ୍ୱାରା ଚଲାନ୍ତି | ଉପାଦାନଗୁଡ଼ିକ ଚାଳକକୁ ୱେବପେଜ ଫାଇଲକୁ ଉଦ୍ଧାର ହେବା ପୂର୍ବରୁ ୱେବପେଜର୍ ବିତରଣ ହେବା ପୂର୍ବରୁ ପ୍ରତ୍ୟେକଟି ଉଚ୍ଚାରଣର ଏକ ଉଚ୍ଚ ଏବଂ ନିମ୍ନ ସ୍ତରରେ ଥିବା ପ୍ରତ୍ୟେକଟି ଏକ ଉଚ୍ଚ ଏବଂ ନିମ୍ନ ସ୍ତରରେ ଅଛି |

ମଡେଲ୍ ହେଉଛି ସଂକେତ ଯାହା ପୁନରୁଦ୍ଧାର, ସର୍ଟେସନ୍ ଏବଂ ରେଣ୍ଡରିଂ ପାଇଁ ଡାଟାବେସରେ ସୂଚନା ଗଚ୍ଛିତ କରେ |

ଏହି ଦୃଶ୍ୟଟି କିପରି ପରିଚାଳିତ, ମନିପ୍ୟୁଟିଟେଡ୍ ଏବଂ ରୂପାନ୍ତରିତ, ପ୍ରାୟ ପ୍ରତ୍ୟେକ ଦୃଶ୍ୟ ସିଧାସଳଖ ଏକ ମଡେଲ୍ ବ୍ୟବହାର କରିବେ |

ଟେମ୍ପଲେଟ୍ ଭାଷା କୁହାଯାଇଥିବା ଟେମ୍ପଲେଟ୍ ଭାଷା ନାମକ ହାଟଲ୍ ହେଉଛି ଟେମ୍ପଲେଟ୍ ହେଉଛି HTML କୋଡ୍ | ଉପକୂଳ ଏବଂ ପ୍ରସଙ୍ଗ ପରି

Django ର ଅନ୍ୟ ଉପାଦାନ ଅଛି, ତଥାପି ସୀମିତ ନୁହେଁ:

ସେଟିଙ୍ଗଗୁଡ଼ିକ, ଯାହା ବିଷୟରେ ଆଲୋଚନା ହୋଇଥିବା ସେ ଆପ୍ଲିକେସନ୍ କରେ |

URL ଗୁଡିକ, ଯାହା ଉପଭୋକ୍ତା ୱେବ୍ ଆପ୍ଲିକେସନ୍ ର ନିର୍ଦ୍ଦିଷ୍ଟ ଅଂଶଗୁଡିକ ପାଇଁ ପ୍ରବେଶ ପାଇବାକୁ ଅନୁସରଣ କରୁଥିବା s ାଞ୍ଚାଗୁଡ଼ିକୁ ଅନୁସରଣ କରୁଥିବା usless କୁ ଅନୁସରଣ କରୁଥିବା uslesss କୁ ଅନୁସରଣ କରୁଥିବା spternsଗୁଡିକ ଯାହା ଉପଭୋକ୍ତା ଅନୁସରଣ କରନ୍ତି |

ଫର୍ମ, ସର୍ଭରକୁ ପଠାଯାଇଥିବା ସୂଚନା କିପରି ସଂଜ୍ଞାଗୁଡ଼ିକ ପରିଚାଳିତ ହୁଏ ଏବଂ ଡାଟାବେସକୁ ବ୍ୟବହାର କରାଯାଏ ଏବଂ ବ୍ୟବହାରକାରୀଙ୍କୁ ଜଣାଇଥାଏ | ଏଗୁଡ଼ିକ ସର୍ଭର ପାର୍ଶ୍ୱରେ ପ୍ରକ୍ରିୟାକରଣଗୁଡ଼ିକର ମୂଳଦୁଆ, ଯାହାକି କମ୍ପ୍ୟୁଟର ଷ୍ଟୋର୍ଗୁଡ଼ିକ କମ୍ପ୍ୟୁଟର ଷ୍ଟୋର୍ଗୁଡିକ ଗ୍ରହଣ କରିପାରିବ, ବିଶେଷତ leter ପାଠ୍ୟ ଷ୍ଟ୍ରିଙ୍ଗ, ସଂଖ୍ୟା, ଏବଂ ମିଥ୍ୟା ବୁଣା (ସାଧାରଣତ ins ଚେକବକ୍ସ) |

ଟେମ୍ପଲେଟ୍, ଯାହାକି HTML କୋଡ୍ ଏବଂ ଟେମ୍ପଲେଟ୍ ସହିତ ଥିବା ଫାଗ୍ଟି HTML କୋଡ୍ ଭାବରେ ପରିବେଷଣ କରାଯାଇପାରେ ଏବଂ ଏକ ରିମୋଟ୍ ଆକ୍ସେସ୍ ଭାବରେ ଯେକ conce ଣସି ୱେବସାଇଟ୍ ଅଭ୍ୟସ୍ତ ହୋଇପାରିବ ଏବଂ ଏକ ରିମୋଟ୍ ଆକ୍ସେସ୍ ରେ ଏକ ୱେବସାଇଟ୍ ଆକ୍ସେସ୍ କରାଯାଇପାରିବ ଏବଂ ଏକ ୱେବସାଇଟ୍ ଆକ୍ସେସ୍ କରାଯାଇପାରିବ ତାହା ସୁରକ୍ଷିତ କରିଥାଏ, ଯାହା ସର୍ଭର ନିକଟରେ ରହିବା ଆବଶ୍ୟକ |

ଷ୍ଟାଟିକ୍ ଫାଇଲ୍, ଯାହା ସାଧାରଣତ es ଜାଭାସ୍କ୍ରିପ୍ଟ ଏବଂ ଏହା ଲାଇବ୍ରେରୀ ସେବା କରେ ଟେମ୍ପଲେଟ୍ ସେବା କରେ ଏବଂ ଟେମ୍ପଲେଟ୍ ସହିତ ଲିଙ୍କ୍ ହୋଇଛି |

ମିଡିଆ ଫାଇଲଗୁଡ଼ିକ, ଯାହା ସର୍ଭର ସେବା କରେ କିମ୍ବା ପ୍ରତ୍ୟେକ ସର୍ଭରରେ (ଏକ ଗୁପ୍ତଚର) ପ୍ରକ୍ରିୟାକରଣ କରିବା ପୂର୍ବରୁ ପରିବର୍ତ୍ତିତ ସର୍ଭରରେ (ଏକ ଗୁପ୍ତଚର) ସର୍ଭରରେ କେବଳ ଲେଖାଯାଇଥିଲା |

ମିଡୋଡୱେର୍ଦ୍ଦର୍, ଯାହାକି ଏକ କୋଡ୍ ଯାହା ସମାନ ସମୟରେ ଚଲାଉଛି ଏବଂ ଦେଖାଯାଉଥିବା "ଅନ୍ତର୍ଭୂକ୍ତ" ଭାବରେ ବିବେଚନା କରାଯାଏ |

ପ୍ରସଙ୍ଗ ସଞ୍ଚାଳକ, ଯାହା ପ୍ରତ୍ୟେକ ଦୃଶ୍ୟର ପ୍ରସଙ୍ଗ ପ୍ରକ୍ରିୟାକରଣ କରେ ଏବଂ ଅତିରିକ୍ତ ପ୍ରସଙ୍ଗ ଯୋଡିବା ପାଇଁ ବ୍ୟବହୃତ ହୁଏ |

ପରୀକ୍ଷା, ଯାହା ଦୃଶ୍ୟମାନ ହେବା ପୂର୍ବରୁ ଉପଭୋକ୍ତା କିମ୍ବା ଅନୁରୋଧ କିଛି ଆବଶ୍ୟକତା ଅତିକ୍ରମ କରେ ବୋଲି ବ valid ଧ କରେ |

ଗ୍ରାହକମାନେ, ଯାହା ୱେବ୍ ଆକୋକେଟ୍ ପରିଚାଳନା କରେ ଏବଂ ଯୋଗାଯୋଗକୁ ପ୍ରତିକ୍ରିୟା କରେ |

ଆଡମିନି, ଯାହା ମଡେଲଗୁଡିକ ପଞ୍ଜିକରଣ ପାଇଁ ବ୍ୟବହୃତ ହୁଏ ଯାହା ଦ୍ the ାରା ଡିଜଙ୍ଗୋ ଆଡମିନିପଡି ପୃଷ୍ଠାର ବିସ୍ତୃତ ଭାବରେ ସଂଶୋଧିତ ହୋଇପାରିବ, ଯେଉଁଠାରେ ଡାଟାବେସ୍ ଏକ ଗ୍ରାଫିକାଲ୍ ଇଣ୍ଟରଫେସ୍ ଦେଇ ପରିଚାଳିତ ହୋଇପାରିବ |

ସେଲେରୀ ଆଲେରୀ, ଯାହାକି ଅସ୍ପ୍ୟାପରuss ଟାସ୍କର କିଛି ଅଂଶଗୁଡ଼ିକୁ ପରବର୍ତ୍ତୀ କାର୍ଯ୍ୟ କିମ୍ବା କୋଡର ଲାଇନକୁ ନେଇ ତୁରନ୍ତ ଅଗ୍ରଗତି କରିବା ଆରମ୍ଭ ହୋଇପାରେ |

ଡିଜାଙ୍ଗୋ ପାଇପାରନ୍ତି, ଯାହାକୁ ଆମେ ଏଠାରେ ବିସ୍ତୃତ ଆଲୋଚନା କରିବା | ଡିଜାଙ୍ଗଗୋକୁ ଅଧିକ କାର୍ଯ୍ୟକ୍ଷମ କରି ଅଧିକ କାର୍ଯ୍ୟକ୍ଷମ, ଯାହା ଦ୍ରୁତ, ଶୃଙ୍ଖଳିତ କାର୍ଯ୍ୟ ଚିନ୍ନନ, ସେଲିଗୁଡ଼ିକ ବିସ୍ତାର କରିବା ପାଇଁ, ଏବଂ ଅନେକ କୋଡ୍ ଏକଜେକ୍ୟୁଟ୍ ହୋଇଥିବାବେଳେ, ଯେଉଁଠାରେ ଅଧିକାଂଶ କୋଡ୍ ଏକଜେକ୍ୟୁଟ୍ ହୋଇଛି, ସେ ଦୁହିଁର ସଫ୍ଟୱେର୍ ଅଟେ | କାର୍ଯ୍ୟଗୁଡ଼ିକ ପରି ଦେଖାଯାଏ, ସେମାନେ ସାଧାରଣତ cid ସ୍ଥାପିତ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ URL pattern ାଞ୍ଚା ଏବଂ ସର୍ଭରର ଏକ ବିଭାଗ ପାଇଁ ନିର୍ଦ୍ଦିଷ୍ଟ କୋଡ୍ ଘୋଷଣା କରନ୍ତି |

ପ୍ରଥମେ, ଆସନ୍ତୁ ଭ୍ୟୁ ଫଙ୍କସନ୍ଗୁଡ଼ିକୁ ଅନୁସନ୍ଧାନ କରିବା | କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ସୂଚିତ କୋଡ୍ ସହିତ ଦେଖାଯାଏ ଯାହା ଦୃଶ୍ୟରେ ବ୍ୟବହୃତ ହେବ, ଏବଂ ନିୟମିତ ଫଙ୍କସନ୍ ସଂଜ୍ଞା କିମ୍ବା କ୍ଲାସ୍ ବ୍ୟବହାର କରି ପରି ବ୍ୟାଖ୍ୟା କରାଯାଇଛି | ଫଙ୍କସନ୍ ପରିଭାଷା def ଦ୍ୱାରା ଏକ ଉନ୍ନତ ଦୃଶ୍ୟ, ଏବଂ ଏକ ମଲ୍ଟେମେଟଗୁଡିକ ସହିତ ଏକ HTOP କୁ ଫେରସ୍ତ କରନ୍ତୁ | "ହେଲୋ ୱାର୍ଲ୍ଡ" ଟେକ୍ସଟ୍ ଫେରାଇବା ପାଇଁ ଏକ ମ basic ଳିକ ଦୃଶ୍ୟକୁ ବ୍ୟାଖ୍ୟା କରି ଚାଲିବା ଆରମ୍ଭ କରିବା | ମନେରଖନ୍ତୁ ଯେ ପ୍ରତ୍ୟେକ ଥର ଯେତେବେଳେ ଆପଣ ଡିସ୍କ ପରି ଏକ ବିବୃତ୍ତି ପରେ ଯୋଗ କରନ୍ତି, କାରଣ, କାରଣ ପାଇଁ, କାରଣ ପାଇଁ ଆପଣ ପ୍ରତ୍ୟେକ ପୂର୍ବ ସଂଜ୍ଞା ପାଇଁ 4 ଟି ସ୍ପେସ୍ ଯୋଡିବାକୁ ପଡିବ | ଆମେ ଏହାର ପ୍ରତ୍ୟେକର ଅର୍ଥ କ'ଣ ହେବୁ |

ଆମ ସାଇଟର ଡିରେକ୍ଟୋରୀରୁ, ଫିଡ୍ / ଦର୍ଶନ- Views.py ଫାଇଲ୍ ସଂପାଦନ କରି ଫାଇଲ୍ ର ଫାଇଲ୍ ଯୋଡନ୍ତୁ ଏବଂ ଫାଇଲ୍ ଶେଷ ପର୍ଯ୍ୟନ୍ତ ନିମ୍ନଲିଖିତ ଧାଧିକକରଣ ଯୋଡନ୍ତୁ |

from django.http import HttpResponse

def hello(request):
    return HttpResponse('hello world')

Django ର http ର httplerion ଏକ ପାଠ୍ୟ ଷ୍ଟ୍ରିଙ୍ଗ ସହିତ ପ୍ରତିକ୍ରିୟା କରେ, ଯାହା ଖୋଲିବା ଏବଂ ବନ୍ଦ ହେବା ସହିତ ସୂଚିତ | ପ୍ରତ୍ୟେକ ଥର ଯେତେବେଳେ ଆପଣ ଏକ ଫଙ୍କସନ୍ କିମ୍ବା ଶ୍ରେଣୀକୁ ସୂଚନା ଦିଅନ୍ତି, ଅନୁରୋଧ କିମ୍ବା ଏକ ଷ୍ଟ୍ରିଙ୍ଗ ପରି, ଆପଣଙ୍କୁ ପାରେଣ୍ଟେସିସିସ୍ ବ୍ୟବହାର କରିବାକୁ ପଡିବ, ଆପଣଙ୍କୁ ପାରେଣ୍ଟେସିସିସ୍ ବ୍ୟବହାର କରିବାକୁ ପଡିବ |

ଏହା ଏପର୍ଯ୍ୟନ୍ତ ଆମର ଦୃଶ୍ୟ ଦେଖିବାକୁ ପଡିବ ନାହିଁ | ଅବଶ୍ୟ, ଆମେ ସର୍ଭରକୁ କହି ନାହୁଁ ଯେଉଁଠାରେ ଦୃଶ୍ୟ ଠିକ୍ ଅଛି, ଆମେ ତଥାପି ଏକ ପଥକୁ ବ୍ୟାଖ୍ୟା କରିବା ଆବଶ୍ୟକ, ଯେଉଁମାନଙ୍କ ଦ୍ୱାରା ଦୃଶ୍ୟ ପ୍ରଦାନ କରିବା ଉଚିତ୍ | ଆପ୍ / urs.py ରେ ଏକ ମ basic ଳିକ ପଥ ବ୍ୟାଖ୍ୟା କରି ଚାଲନ୍ତୁ ଆରମ୍ଭ କରିବା, ଏବଂ ଆମେ ପରେ ପାଥ୍ ସାଇଡ୍ କୁ ଯିବା |

ଆପ୍ / URLS.PY ରେ, ଆମେ ବର୍ତ୍ତମାନ ସୃଷ୍ଟି ହୋଇଥିବା ଦୃଶ୍ୟ ଆମଦାନୀ କରିବା ପରେ ଆମଦାନୀ ଷ୍ଟେଟମେଣ୍ଟ ପରେ ଏକ ରେଖା ଯୋଡନ୍ତୁ |

from feed import views as feed_views

ବର୍ତ୍ତମାନ, ଆସନ୍ତୁ ଦେଖିବା ପାଟର୍ନକୁ ବ୍ୟାଖ୍ୟା କରିବା | ପାଟର୍ନଗୁଡିକ ଦେଖନ୍ତୁ, ପାଥ୍ ଉପାଦାନ, ଯାହା ଏକ ଟେମ୍ପଲେଟ୍ ସହିତ ସ୍ପେସ୍ ତିଆରି କରିବା ସମୟରେ ଦେଖାଯାଏ, ଯେଉଁଠାରେ ଦେଖାଯାଏ, ଏବଂ ଏକ ବନ୍ଧୁତ୍ୱପୂର୍ଣ୍ଣ ନାମ ଲେଖିବା ସହଜ ଅଟେ | ଏହା ଏହିପରି କାର୍ଯ୍ୟ କରିବା ଏବଂ ନମନୀୟ ହେବା ଅର୍ଥ ନୁହେଁ, କାରଣ ଆପଣଙ୍କର କୋଡ୍ ମୋଡ୍ ଏକ ପରିବର୍ତ୍ତନ ପରିବେଷଣୀ ହେବ ଯାହା ମୂଲ୍ୟବାନ ଏବଂ କାର୍ଯ୍ୟ କରିବା ସହଜ | ତୁମର ଦୃଶ୍ୟ କିପରି ଦେଖାଯିବ, ଆପଣ ଏହାକୁ urlpatternes ରେ ଯୋଡିପାରିବେ = [App / usls.py ର ବିଭାଗ | ଉପରୋକ୍ତ ତିନୋଟି ଉପାଦାନ ସହିତ ଭ୍ୟୁ ପ୍ୟାଟର୍ ଏବଂ ପଥ ନାମକ ଏକ ଫଙ୍କସନ୍ ସହିତ ବ୍ୟାଖ୍ୟା କରାଯାଇଛି | ତୁମର URL s ାଞ୍ଚାଗୁଡ଼ିକ ଏକ ତାଲିକା, ତେଣୁ ଏହା ସର୍ବଦା ପ୍ରତ୍ୟେକ ଆଇଟମ୍ କୁ କମା ସହିତ ସମାପ୍ତ କରିବାକୁ ନିଶ୍ଚିତ କର, କାରଣ ଏହା ପ୍ରତ୍ୟେକକୁ ପୃଥକ କରେ | ପ୍ରତ୍ୟେକ ଆଇଟମ୍ ମଧ୍ୟ ଏକ ନୂତନ ଲାଇନ୍ କୁ ଯିବା ଉଚିତ, ସେଟିଂସମୂହରେ ଆପ୍ ଏହା ପୂର୍ବରୁ ଚାରିଟି ସ୍ପେସ୍ ସହିତ ପୁଣି ଥରେ ସହିତ ଥରେ ସହିତ | ୱେବ୍ ଡିରେକ୍ଟୋରୀରେ ଚାଲିଥିବା ଏକ ଦୃଶ୍ୟ ସୃଷ୍ଟି କରିବା ପାଇଁ ଆମେ ଏକ ଖାଲି ଷ୍ଟ୍ରିଙ୍ଗ୍ ଫଙ୍କସନ୍ ଅଫ୍ ଦୃଶ୍ୟର ପ୍ରଥମ ଉପାଦାନ ବ୍ୟାଖ୍ୟା କରିବାକୁ, ଯାହା ୱେବ୍ ସର୍ଭରର ମୂଳ ଡିରେକ୍ଟୋରୀରେ ଚାଲିଥାଏ | ତୁମର urls.py ବର୍ତ୍ତମାନ ଏହିପରି ଦେଖାଯାଏ:

from feed import views as feed_views

urlpatterns = [
    path('', feed_views.hello, name='hello'),
]

ଡିଜାଙ୍ଗୋ ସହିତ ଏକ ୱେବସାଇଟ୍ ପ୍ରସ୍ତୁତ କରିବାର ଏହା ହେଉଛି ଆଧାର ଯାହା ସଂପୂର୍ଣ୍ଣ ସ୍ଥିତି ଅଟେ | ଏକ ଅଧିକ ଗତିଶୀଳ ୱେବସାଇଟ୍ ତିଆରି କରିବା ପାଇଁ ଯେଉଁଠାରେ ଆମେ ଇମେଜ୍, ଭିଡିଓ, ଅଡିଓ ସୋରିଓ ବ୍ୟବହାର କରିବା ଆରମ୍ଭ କରିପାରିବା, ଯାହାକୁ ଆମେ ମଡେଲଗୁଡିକ ବ୍ୟବହାର କରିବାକୁ ପଡିବ, ଯାହାକୁ ଆମେ ପରବର୍ତ୍ତୀ ଅନୁସନ୍ଧାନ କରିବା ଆବଶ୍ୟକ କରିବୁ, ଯାହା ପରବର୍ତ୍ତୀ ସମୟରେ ଆମେ ପରବର୍ତ୍ତୀ ଅନୁସନ୍ଧାନ କରିବୁ | ବର୍ତ୍ତମାନ, ଆସନ୍ତୁ ଆମର କୋଡ୍ ଯାଞ୍ଚ କରିବା ଏବଂ ସର୍ଭର ଚଲାଇବାିବା | ତ୍ରୁଟି ପାଇଁ କୋଡ୍ ଯାଞ୍ଚ କରିବାକୁ, ଚଲାନ୍ତୁ:

python manage.py check

ଯଦି କ order ଣସି ତ୍ରୁଟି ସନ୍ଦେଶ ଅଛି, ତେବେ ଆପଣ ଆପଣଙ୍କର ଆପରେ କରିଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଯତ୍ନର ସହିତ ସମୀକ୍ଷା କରିବା ଉଚିତ ଏବଂ ଦେଖନ୍ତୁ, ଏକ ଅତିରିକ୍ତ ଚରିତ୍ର, ଯେକ any ଣସି ଅତିରିକ୍ତ ବର୍ଣ୍ଣ, କିମ୍ବା ଅନ୍ୟ କ any ଣସିଟି ଡିଲିଟ୍ ହୋଇଛି | ତ୍ରୁଟି ବାର୍ତ୍ତା ମାଧ୍ୟମରେ ପ reading ଼ିବା (ଯଦି ଆପଣଙ୍କର ଗୋଟିଏ ଅଛି) ଆପଣ ଏକ ଲାଇନ୍ ନମ୍ବର ସହିତ ସୃଷ୍ଟି କିମ୍ବା ସମ୍ପାଦିତ ଏକ ଫାଇଲ୍ ପାଇଁ ପଥ ଦେଖିପାରିବେ, ତେଣୁ ସେହି ଫାଇଲ୍ ନମ୍ବର ସହିତ ରାସ୍ତା ଖୋଜିବାରେ ସକ୍ଷମ ହେବା ଉଚିତ, ତେଣୁ ସେହି ଫାଇଲ୍ ଏବଂ ରେଖା ଦେଖିବାରେ ସକ୍ଷମ ହେବା ଉଚିତ, ତେଣୁ ସେହି ଫାଇଲ୍ ଏବଂ ରେନ୍ କୁ ଦେଖ ଏବଂ ଦେଖ, ଯାହା ସେଠାରେ ଅଛି ଯାହାକୁ ଆପଣ ଠିକ୍ କରିପାରିବେ | ଯଦି ଆପଣ ଏହି ସମସ୍ୟା ସମାଧାନ କରିଛନ୍ତି, ତେବେ ଆଉଟକୁ ପୁନର୍ବାର ଚଲାନ୍ତୁ | ଯେତେବେଳେ ଆପଣଙ୍କର ସଫ୍ଟୱେର୍ ଚଲାଇବାକୁ ଏବଂ କାର୍ଯ୍ୟ କରିବାକୁ ପ୍ରସ୍ତୁତ, ଆପଣ ଆଉଟପୁଟ୍ "ସିଷ୍ଟମ୍ ଚେକ୍ ଚିହ୍ନଟ କଲେ ନାହିଁ" ବର୍ତ୍ତମାନ ଆପଣ ଯିବାକୁ ପ୍ରସ୍ତୁତ | ସହିତ ସର୍ଭରକୁ ଚଲାନ୍ତୁ:

python manage.py runserver 0.0.0.0:8000

ବର୍ତ୍ତମାନ ଏକ ୱେବ୍ ବ୍ରାଉଜର୍ ଖୋଲନ୍ତୁ ଏବଂ htto: // localhost: 8000 କୁ ନାଭିଗେଟ୍ କରନ୍ତୁ | ଆପଣଙ୍କ ଦୃଷ୍ଟିକୋଣରେ HTTP ରସେନ୍ସ ଫଙ୍କସନ୍ ର ଏକ ଟେକ୍ସଟ୍ ଟେକ୍ସଟ୍ ର ଟେକ୍ସଟ୍ ଅନ୍ୱେଷଣ କରିବା ଦେଖିବା ଉଚିତ | ଏହା କେବଳ ଏକ ବ most ଗୁଣ, କିନ୍ତୁ ଯଦି ଆପଣ ଏଥିରେ ଏହାକୁ ଏ ପର୍ଯ୍ୟନ୍ତ ତିଆରି କରିଛନ୍ତି, ଆପଣ ଲିନକ୍ସ, ବାଶ, ପାଇଜଙ୍ଗୋ ଏବଂ ଡିଜାଙ୍ଗୋ କାମକୁ ବୁ understand ିଛନ୍ତି। ଚାଲନ୍ତୁ କିଛି ଡାଟାବେସ୍ ମଡେଲିଂରେ ଗଭୀର ଖୋଳିବା ଏବଂ ସୂଚନା ଗଚ୍ଛିତ କରିବାରେ ଏକ ପାଇଥନ୍ ଶ୍ରେଣୀର ଶକ୍ତି ଅନୁସନ୍ଧାନ କରିବା | ତାପରେ, ଆମ ସାଇଟକୁ ସମ୍ପୂର୍ଣ୍ଣ ବ featured ଶିଷ୍ଟ୍ୟ କରିବା ପୂର୍ବରୁ, ଜାଭାସ୍କ୍ରିପ୍ଟ ଏବଂ ମେସିନ୍ ଶିଖିବା ଏବଂ ମେସିନ୍ ଶିଖିବା ପୂର୍ବରୁ ଆମ ସାଇଟ୍ ଉପରେ ଏକ ଖରାପ ହେବା ପୂର୍ବରୁ ଆମେ HTML ଏବଂ CSS ଉପରେ ଏକ ଘଟଣା ପାଇବାକୁ ଆରମ୍ଭ କରିବୁ |

କ୍ଲାସ୍ ଗୁଡିକ ମଡେଲଗୁଡିକରେ ଗଚ୍ଛିତ | ଆପଣଙ୍କର ଆପ୍ ର ମଡେଲଗୁଡିକରେ ଗଚ୍ଛିତ | ନାନୋ, ଆପ୍ / ମଡେଲଗୁଡିକ ବ୍ୟବହାର କରି, ଏଡିଟ୍ କରନ୍ତୁ ଏବଂ ଏକ ନୂତନ ଶ୍ରେଣୀ ଯୋଡନ୍ତୁ | ଏକ ଶ୍ରେଣୀ ଶ୍ରେଣୀ ପରିଭାଷା ସହିତ ବ୍ୟାଖ୍ୟା କରାଯାଇଛି ଏବଂ ଏହା ଏକ ସୁପରକ୍ଲାସ୍ ପାସ୍ ହୋଇଛି ଯାହା ଏହି କ୍ଷେତ୍ରରେ ଉତ୍ତରାଧିକାରୀ | ଶ୍ରେଣୀ ସଂଜ୍ଞା ପରେ ଶ୍ରେଣୀର ନାମ ଆସେ, ଏବଂ ଶ୍ରେଣୀ ସହିତ ବନ୍ଧା ସଂଜ୍ଞା ଅନୁଯାୟୀ ((କଲୋନ୍) ବ୍ୟବହୃତ ହୁଏ: (କଲୋନ୍) ବ୍ୟବହୃତ ହୁଏ: (କଲୋନ୍) ବ୍ୟବହୃତ ହୁଏ: (କଲୋନ୍) ବ୍ୟବହୃତ ହୁଏ | ଆମର ଶ୍ରେଣୀ ଏକ ID ଆବଶ୍ୟକ କରେ ଆମେ ଏହାକୁ ପୁନରୁଦ୍ଧାର ଏବଂ ଧାରଣ କରିବା ପାଇଁ ବ୍ୟବହାର କରିପାରିବା, ଏବଂ କିଛି ସୂଚନା ଗଚ୍ଛିତ କରିବା ପାଇଁ ଏହା ଏକ ଟେକ୍ସଟ୍ ଫିଲ୍ଡ ମଧ୍ୟ ଆବଶ୍ୟକ କରେ | ପରବର୍ତ୍ତୀ ସମୟରେ ଆମେ ଏକ ଟିମଷ୍ଟେମ୍, ଫାଇଲ୍, ବୁଡ଼ି (ସତ୍ୟ କିମ୍ବା ମିଥ୍ୟା ସଂଜ୍ଞା ଯୋଡିପାରିବା, ଏବଂ ସେ ଆମର କୋଡ୍ କୁ କ'ଣ ପୁନ salled ବ୍ୟବହାର କରିବାକୁ କହିପାରିବ, ଏବଂ ସର୍ଭରରେ ଲଗ୍ ହୋଇଥିବା ଏକ ଉପଭୋକ୍ତାଙ୍କୁ ମଡେଲରେ ଶୋଜ୍ କରିବାକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ | ଚାଲ ନିମ୍ନରେ କୋଡ୍ ପ୍ୟାକ୍ କରିବା:

from django.db import models # ଆମ ଶ୍ରେଣୀକୁ ବ୍ୟାଖ୍ୟା କରିବା ପାଇଁ ବ୍ୟବହୃତ ଆମଦାନୀ ଏବଂ ଏହା ଗୁଣଧର୍ମ |
class Post(models.Model): # ଆମ ଶ୍ରେଣୀର ପରିଭାଷା |
    id = models.AutoField(primary_key=True) # ଆମର ମଡେଲର id, ଏକ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ସୃଷ୍ଟି ହୋଇଥିବା ଚାବି ଯାହା ଆପଣଙ୍କୁ ମଡେଲ୍କୁ ତଡ଼ି ଦେବ, ଏହାକୁ ସ୍ୱତନ୍ତ୍ର ରଖ, ଏବଂ ଏହା ସୃଷ୍ଟି ହେବା ପରେ ଆମେ ମଡେଲ ସହିତ ଯୋଗାଯୋଗ କରିବା ଆବଶ୍ୟକ |
    text = models.TextField(default='') # ଆମ ଶ୍ରେଣୀ ଷ୍ଟୋର୍, ଏହି କ୍ଷେତ୍ରରେ, କିଛି ଟେକ୍ସଟ୍, ଏକ ଖାଲି ଷ୍ଟ୍ରିଙ୍ଗରେ ଡିଫଲ୍ଟ କରେ |

ଆମେ ଶେଷ କରିବା ପୂର୍ବରୁ ଆମେ କରିଥିବାବେଳେ ଫାଇଲ୍ ବନ୍ଦ ଏବଂ ସେଭ୍ କର |

ଅନ୍ୟ ଅନେକ କ୍ଷେତ୍ର ଏବଂ ବିକଳ୍ପଗୁଡିକ ଅଛି ଆମେ ଅନୁସନ୍ଧାନ କରିବୁ ଯେତେବେଳେ ଆମେ ଏହି ଶ୍ରେଣୀ ବିକଶିତ କରେ କାରଣ ଆମେ ଏହି ଆପ୍ ବିକଶିତ କରେ କାରଣ ଆମେ କିଛି ଟେକ୍ସଟ୍ ପୋଷ୍ଟ କରିବା ପାଇଁ ଏକ ଆପ୍ ସୃଷ୍ଟି କରିବାର ମ basic ଳିକ ଆବଶ୍ୟକତା | ତଥାପି, ଏହି ମଡେଲ୍ ଏକାକୀ କାମ କରିବ ନାହିଁ | ପୂର୍ବରୁ ବର୍ଣ୍ଣନା କରାଯାଇଥିବା ପରି, ଏହି ମଡେଲକୁ କାର୍ଯ୍ୟ କରିବା ପାଇଁ ଆମକୁ ଏକ କଷ୍ଟମ୍ ଭ୍ୟୁ ଏବଂ କଷ୍ଟମ୍ URL pattern ାଣ୍ଟେ ଆବଶ୍ୟକ ହେବ, ଏବଂ ଆମେ ମଧ୍ୟ ଏକ ଟେମ୍ପଲେଟ୍ ସହିତ ଏକ ଫର୍ମ ଆବଶ୍ୟକ | ପ୍ରଥମେ ଫର୍ମ ଅନୁସନ୍ଧାନ କରିବା |

ଏକ ଫର୍ମ ବ୍ୟାଖ୍ୟା କରିବାକୁ, ଆପ୍ / ଫର୍ମଗୁଡିକରେ ସଂପାଦନ / ଫର୍ମଗୁଡିକ | ନିଷ୍କ୍ରିୟ ସହିତ ଏବଂ ନିମ୍ନଲିଖିତ ଧାଗୁଡ଼ିକରେ ଯୋଡନ୍ତୁ | ଆମ ଫର୍ମ ଶ୍ରେଣୀ, ମଧ୍ୟ ଆମେ ସୃଷ୍ଟି କରିଥିବା ଏକ ଶ୍ରେଣୀ ପରିଭାଷା ଏବଂ ମେଟା ନାମକ ଏକ ଶ୍ରେଣୀ ସଂଜ୍ଞା ଆବଶ୍ୟକ | ଫର୍ମ ମଧ୍ୟ ଏକ ପ୍ରାରମ୍ଭିକରଣ ଫଙ୍କସନ୍ ହୋଇପାରେ, ଯାହାକି ଏହାକୁ ଅନୁରୋଧ, ମଡେଲ କିମ୍ବା ଅନ୍ୟ ପକ୍ଷବର୍ତ୍ତୀ ସୂଚନା ଉପରେ ଆଧାର କରି, ଆମେ ଏହି ପରେ ଅନୁସନ୍ଧାନ କରିବୁ |

ମଡେଲ୍ ଫର୍ମଗୁଡ଼ିକ ଏତେ ଉପଯୋଗୀ କାରଣ ସେମାନେ ଏକ ମଡେଲ୍ ସୃଷ୍ଟି କରିପାରିବେ କିମ୍ବା ଏକ ମଡେଲ୍ ମଧ୍ୟ ସୃଷ୍ଟି କରିପାରିବେ, ସେହିପରି ଆମେ ସେଥିପାଇଁ ବ୍ୟବହାର କରିବୁ | ଆସନ୍ତୁ ଗୋଟିଏ ଫର୍ମରେ ଗୋଟିଏକୁ ବ୍ୟାଖ୍ୟା କରିବା | ନିମ୍ନରେ |

from django import forms
from feed.models import Post

class PostForm(forms.ModelForm):
    text = forms.CharField(widget=forms.Textarea)
    class Meta:
        model = Post
        fields = ('text',)

ଏହା ହେଉଛି ଏକ ଫର୍ମ ଏବଂ ମଡେଲର ମ ics ଳିକତା | ଏଥିରେ ଥିବା ଟେକ୍ସଟ୍ଗୁଡ଼ିକୁ ପରିବର୍ତ୍ତନ କରି ଏକ ପୋଷ୍ଟକୁ ଇନ୍ଷ୍ଟାସିଏଟ୍ କରିବା କିମ୍ବା ସଂପାଦନ କରିବା ପାଇଁ ଏହି ମଡେଲ୍ ଫର୍ମ ବ୍ୟବହାର କରାଯାଇପାରିବ | ଆମେ ଏହି ଫର୍ମକୁ ପରବର୍ତ୍ତୀ ଦୃଶ୍ୟରେ ଏକୀକୃତକୁ ଦେଖିବା | ପ୍ରଥମେ, ଆସନ୍ତୁ ଗ୍ରହଣ କରିବା ଏବଂ ଡାଟାବେସକୁ ସ୍ଥାନାନ୍ତର କରିବା ତେଣୁ ଆମର କୋଡ୍ ଲ ମଡେଲ ସହିତ ଯୋଗାଯୋଗ କରିପାରିବ | ଏହା କରିବାକୁ, ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଚଲାନ୍ତୁ:

python manage.py makemigrations
python manage.py migrate

ଏକଜାତିତ ହେବାକୁ ଏହା ଏକ ମିନିଟ୍ ସମୟ ଲାଗିବ, କିନ୍ତୁ ଥରେ ଏହା, ଏହା ଆପଣଙ୍କୁ ଦୃଶ୍ୟ, ମିଡୱେୟାର କିମ୍ବା ସଫ୍ଟୱେର୍ ରେ ଯେକ anywhere ଣସି ସ୍ଥାନରେ ମଡେଲକୁ ମଡେଲକୁ ପ୍ରବେଶ କରିବାକୁ ଅନୁମତି ଦେବ | ଆସନ୍ତୁ ଏକ ଭଣ୍ଡାର ତିଆରି କରି ରହିବା ଯେଉଁଠାରେ ଆମେ ଆମର ମଡେଲ୍ ଦେଖିପାରିବା | ଫିଡ୍ / VIWS.PY ସଂପାଦନ କରନ୍ତୁ ଏବଂ ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ, ଯେପରି ସୂଚିତ କରାଯାଇଛି | # ଚିହ୍ନ ପରେ ତୁମକୁ କିଛି ଯୋଡିବାକୁ ପଡିବ ନାହିଁ, ସେହି କୋଡ୍ କମେଣ୍ଟ ଯାହା କମାଣ୍ଡ ବିଷୟରେ ସୂଚନା ସୂଚିତ କରେ | ଆମେ ଦୃଶ୍ୟରେ ଆମର ମଡେଲ୍ ଆମଦାନି କରି ଆରମ୍ଭ କରି ଆମେ ଏହାକୁ ଏକ ପ୍ରସଙ୍ଗରେ ଯୋଡିଯିବା ଯେଉଁଠାରେ ଆମେ ଏହାକୁ ପ୍ରଦର୍ଶନ ପାଇଁ ଏକ ତାଲିକା ଭାବରେ ପ୍ରଦାନ କରିପାରିବା | ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ଏକ ଟେମ୍ପଲେଟ୍ ଯୋଡିବା ଯେଉଁଠାରେ ମଡେଲ୍ ଉପରେ ଆଧାର କରି ଆମେ ଏକ ନୂତନ ବସ୍ତୁ ଏବଂ ମଡେଲକୁ ପ୍ରଦାନ କରିପାରିବା ଏବଂ ଏହାକୁ ସର୍ଭରରେ ପୋଷ୍ଟ କରିପାରିବା | ଏହା ଜଟିଳ ଲାଗୁଛି, ତେଣୁ ଚାଲନ୍ତୁ ଏହାକୁ ଷ୍ଟେପ୍ କରି ପାଦ ଦିଅନ୍ତୁ | ଆମେ ଦୃଶ୍ୟ ଶେଷ କରିବା ପୂର୍ବରୁ, ଏକ ଟେମ୍ପଲେଟ୍ ସୃଷ୍ଟି କରିବା ଯାହା କେବଳ ମଡେଲ ସୃଷ୍ଟି କରେ ଏବଂ ନିଶ୍ଚିତ କରେ ଯେ ଆମେ ଶେଲରେ ଏକ ନୂଆ ପୋଷ୍ଟ ସୃଷ୍ଟି କରି ଏହାକୁ ଦେଖିପାରିବା | ସେହି ଦୃଶ୍ୟ କିପରି ଦେଖାଯିବା ଉଚିତ୍:

    posts = Post.objects.all() # ଏହି ଡାଟାବେସର ସମସ୍ତ ପୋଷ୍ଟଗୁଡିକ

ଆମେ ତଳ ଭାଗରେ ପହଞ୍ଚିବା ପର୍ଯ୍ୟନ୍ତ ଏହା ସବୁ ସୁନ୍ଦର ସରଳ ଦେଖାଯାଏ | ରେଣ୍ଡର୍, ପୂର୍ବପରି ଫଙ୍କସନ୍ ଦ୍ୱାରା ଫଙ୍କସନ୍ ଦ୍ୱାରା ଫେରିବା ପାଇଁ, ଫଙ୍କସନ୍ ଦ୍ୱାରା ଫଙ୍କସନ୍ ଦ୍ୱାରା ଏକ ଅନୁରୋଧ ନିଅ, ଏକ ପ୍ରସଙ୍ଗରେ ଏକ ଅନୁରୋଧ ଗ୍ରହଣ କରେ, ଯାହା ବର୍ତ୍ତମାନ ମାମତ୍ତିକ ଟେମ୍ପଲେରେ ଉପସ୍ଥାପିତ ହୋଇପାରେ | ଟେମ୍ପଲେଟ୍ ଏକ ଟାଇମ୍ ନାମକ ଭାଷା ସହିତ ଏକ HTML ଡକ୍ୟୁମେଣ୍ଟ୍ ହେବାକୁ ଯାଉଛି, ଯାହା ପୁଥ୍ହନ୍ ସୂଚନା HTML କୁ HTML କୁ HTML ରେ ପରିଣତ କରେ |

ଟେମ୍ପଲେଟ୍ ସୃଷ୍ଟି କରିବା ଆରମ୍ଭ କରିବାକୁ, ଖାଇବାକୁ ଦୁଇଟି ଡିରେକ୍ଟୋରୀ ତିଆରି କରନ୍ତୁ |

mkdir feed/templates
mkdir feed/templates/feed

ଏହା ପରେ, ଉପର, ଫିଡ୍ / ଟେମ୍ପଲେଟ୍ / ଫିଡ୍, ଏବଂ ଏହି ଉଦାହରଣ ପାଇଁ କୋଡ୍ ଯୋଡନ୍ତୁ | ଏହି ଉଦାହରଣ ପାଇଁ ଟେମ୍ପଲେଟକୁ ଦେଖିବା |

ଏହା ଏକ ସରଳ ଟେମ୍ପଲେଟ୍ | ଏହା ଖୋଲିବା ଏବଂ ବନ୍ଦ କରିବା, କିମ୍ବଦନ୍ତୀ ଆଖ୍ୟା ସହିତ ଏକ ଛୋଟ ଲାଇନ୍, ଏକ ବ୍ରେକ୍ ଟ୍ୟାଗ୍ ଯାହା ଟେମ୍ପଲେଟରେ ଏକ ଛୋଟ ଲାଇନ ଅଛି, ଏବଂ ଲୋର ତାଲିକାରେ ରଖେ | ପୋଷ୍ଟଗୁଡିକ ରେଣ୍ଡର୍ କରିବାକୁ ଏହା ଆବଶ୍ୟକ, କିନ୍ତୁ ଏପର୍ଯ୍ୟନ୍ତ ଡାଟାବେସରେ କେହି ନାହାଁନ୍ତି | ଆସନ୍ତୁ SHELL ସହିତ କିଛି ସୃଷ୍ଟି କରିବା | ଆପଣ ପରିଚାଳନା ସହିତ ଶେଲ୍ ଚଲାଇପାରିବା |

python manage.py shell

ବର୍ତ୍ତମାନ, ଚାଲ ଆମ ପୋଷ୍ଟ ମଡେଲ ଆମଦାନି କରିବା |

from feed.models import Post

ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ଏକ ଷ୍ଟ୍ରିଙ୍ଗ୍ ସହିତ ଏକ ସରଳ ପୋଷ୍ଟ ସୃଷ୍ଟି କରିବା ଏବଂ ଶେଲରୁ ବାହାରିବା | ଷ୍ଟ୍ରିଙ୍ଗ୍ କିଛି ହୋଇପାରେ, ଯେପର୍ଯ୍ୟନ୍ତ ଏହା ବ valid ଧ ପାଠ |

Post.objects.create(text='hello world')
exit()

ଶେଷରେ, ଆମ ଫିଡରକୁ ଏକ URL pattern ାଞ୍ଚା ଯୋଡିବା ଆବଶ୍ୟକ | କାରଣ ଆମର ଫିଡ୍ ଆପ୍ ଏକାଧିକ URL ବ୍ୟବହାର କରିବ ଏବଂ ଆମେ ଫାଇଲ୍ ସାଇଜ୍ କୁ ଛୋଟ ରଖିବାକୁ ଚାହୁଁ, ଚାଲ ଆମ ଫିଡ୍ ଆପରେ ଏକ ସ୍ଥାନୀୟ URLS.py ସୃଷ୍ଟି କରିବା:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.feed, name='feed'),
]

ଆମେ ମଧ୍ୟ ମୂଳପସ୍ତର URLS.PY ସଂପାଦନ କରିବାକୁ ମଧ୍ୟ ଆବଶ୍ୟକ କରିବା ଆବଶ୍ୟକ, ଯାହା ଆମେ ଏହାକୁ କଲ କରିବାକୁ ସ୍ଥିର କରିଥାଉ, ଏହା ଥିଲା ପ୍ରଥମ ଡିରେକ୍ଟୋରୀ | ଆପ୍ / app.py ସଂପାଦନ କରନ୍ତୁ ଏବଂ URL s ାଞ୍ଚାରେ ନିମ୍ନଲିଖିତ ଯୋଗ କରନ୍ତୁ |

from django.urls import include # ଶୀର୍ଷରେ
    # ... ଏଠାରେ ପୂର୍ବ କୋଡ୍ |

ବର୍ତ୍ତମାନ, ଯେତେବେଳେ ଆମେ ପାଇଥନ୍ Hisdew.py Runserver ସହିତ ସର୍ଭର ଚଲାଉ, ଆମେ ତିଆରି କରିଥିବା ପୃଷ୍ଠାକୁ ଦେଖିବା କାରଣ ଡାଟାବେସ୍ ଏବଂ ଡାଟାବେସରେ ଥିବା ଆଇଟମ୍ ସହିତ ଆମର URL patterk pattern ାଞ୍ଚା ଏବଂ ଟେମ୍ପଲେଟ୍ ସହିତ | ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ସୃଷ୍ଟି କରିଥିବା ଫର୍ମକୁ କାର୍ଯ୍ୟକାରୀ କରିବା ଏବଂ ଆମର ନିଜ ପୋଷ୍ଟଗୁଡିକ ସୃଷ୍ଟି କରିବା ଆରମ୍ଭ କରିବା | କିନ୍ତୁ ଆମେ ଅତ୍ୟଧିକ କୋଡ୍ ଲେଖିବା ପୂର୍ବରୁ, ଆସନ୍ତୁ ଆମେ ପୂର୍ବରୁ ଲେଖିଥିବା ସ୍କ୍ରିପ୍ଟ ବ୍ୟବହାର କରି ଏକ ବ୍ୟାକଅପ୍ କରିବା, ଫାଇଲ୍ ଟାଇପ୍ କରି | ଏହି ସ୍କ୍ରିପ୍ଟକୁ ସେଲରେ ଚଲାନ୍ତୁ, କିଛି ମୁହୂର୍ତ୍ତକୁ ଅପେକ୍ଷା କରନ୍ତୁ, ଏବଂ ସମସ୍ତ କୋଡ୍ ଆମର git ସଂଗ୍ରହାଳୟ ପର୍ଯ୍ୟନ୍ତ ବ୍ୟାକଅପ୍ ହେବ |

backup

ଫର୍ମକୁ କାର୍ଯ୍ୟକାରୀ କରିବା ଅପେକ୍ଷାକୃତ ସରଳ ଅଟେ | ଆମେ ଆମର ଫର୍ମ ଦେବାଉ) ଭ୍ୟୁରେ ଏକ ପୋଷ୍ଟ ମାଗନୀ ହ୍ୟାଣ୍ଡେଲର୍ ଯୋଡନ୍ତୁ ଏବଂ ସମାନ ଦୃଶ୍ୟରେ ପୁନରାବୃତ୍ତି କରିବା ପୂର୍ବରୁ ଡାଟାବେସରେ ପୋଷ୍ଟ ଯୋଡନ୍ତୁ | ଆମେ ପୂର୍ବରୁ ଆମଦାନୀ କରିଥିବା ପୁନ irc କାର୍ଯ୍ୟ କାର୍ଯ୍ୟକୁ ବ୍ୟବହାର କରିପାରିବା ଏବଂ ଭ୍ୟୁ ପ୍ୟାଟର୍ ପାଇଁ URL ପାଇବାକୁ ଓଲଟା ନାମକ ଅନ୍ୟ ଏକ ଫଙ୍କସନ୍ ନାମକ ଏକ ଫଙ୍କସନ୍ ନାମକ | ଷ୍ଟ୍ରିଙ୍ଗ୍ 'ଫିଡ୍: ଫିଡ୍' ସହିତ ଆମେ ଏହା ଜିଜ୍ଞାସା କରିବୁ କାରଣ ଅନ୍ତର୍ଭୂକ୍ତ pattern ାଞ୍ଚାର ନାମ ସ୍ଥାନ ଫିଡ୍ ହୁଏ, ଏବଂ ଦୃଶ୍ୟ ମଧ୍ୟ ଫିଡ୍ କୁହାଯାଏ |

    posts = Post.objects.all() # ଏହି ଡାଟାବେସର ସମସ୍ତ ପୋଷ୍ଟଗୁଡିକ
    if request.method == 'POST': # ପୋଷ୍ଟ ଅନୁରୋଧ ପରିଚାଳନା କରନ୍ତୁ |
        form = PostForm(request.POST) # ଫର୍ମର ଏକ ଉଦାହରଣ ସୃଷ୍ଟି କରନ୍ତୁ ଏବଂ ତଥ୍ୟକୁ ସେଭ୍ କରନ୍ତୁ |
        if form.is_valid(): # ଫର୍ମକୁ ବ valid ଧ କରନ୍ତୁ |
            form.save() # ନୂତନ ବସ୍ତୁକୁ ସଂରକ୍ଷଣ କରନ୍ତୁ |
        return redirect(reverse('feed:feed')) # ଏକ ପାଇଥିବା ଅନୁରୋଧ ସହିତ ସମାନ URL କୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରନ୍ତୁ |
        'form': PostForm(), # ପ୍ରସଙ୍ଗରେ ଫର୍ମରେ ପାସ୍ କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ ଯାହା ଦ୍ we ାରା ଆମେ ଏହାକୁ ଉପସ୍ଥାପନ କରିପାରିବା |

ବର୍ତ୍ତମାନ, ନୂତନ ଫର୍ମ ପାଇଁ ହିସାବକୁ ଆମେ ଟେମ୍ପଲେଟ୍ ଅପଡେଟ୍ କରିବାକୁ ପଡିବ | ବ୍ୟବହାର କରି ଆମେ ଏହା କରିପାରିବା |

HTML ରେ ଟ୍ୟାଗ୍ ଏବଂ ଏକ ଦାଖଲ ବଟନ୍ ସହିତ HTML ଟେମ୍ପଲେଟରେ ଫର୍ମକୁ ରେଣ୍ଡର୍ କରିବା | ଆମେ ଏକ CSRF ଟୋକେନ୍ ଆବଶ୍ୟକ କରିବୁ, ଏକ ଟୋକନ୍ ଯାହା ବାହ୍ୟ ସାଇଟଗୁଡ଼ିକୁ ପ୍ରଥମେ ଏକ ପୃଷ୍ଠା ଲୋଡିଂ ନକରି ରୋକିଥାଏ |

ଚାଲ ଏହାକୁ ଭାଙ୍ଗିବା | ଏକ ନୂତନ ଫର୍ମ କ୍ଲାସ୍, ଟୋକେନ୍, ଫର୍ମ ଏବଂ ଏକ ଦାଖଲ ବଟନ୍ ଅଛି | ସୁନ୍ଦର ସରଳ, କିନ୍ତୁ ଯେତେବେଳେ ଆମେ ଏହାକୁ ଦେଖିବା ପାଇଁ ନେଉଥାଉ, ଆମେ ହୁଏତ ଏହାକୁ ଭଲ ଦେଖାଯାଉ | ଏହା କାମ କରେ, ଆମେ ଫର୍ମ ସହିତ ନୂତନ ପୋଷ୍ଟଗୁଡିକ ପୋଷ୍ଟ କରିପାରିବା ଏବଂ ସେଗୁଡ଼ିକ ବର୍ତ୍ତମାନ ଡାଟାବେସରେ ସେଭ୍ ହୋଇଛି | ଏଠାରେ କିଛି ଜିନିଷ ଚାଲିଛି | ଡକ୍ୟୁମେଣ୍ଟ୍ ହେଉଛି HTML ଡକ୍ୟୁମେଣ୍ଟ୍ ବ୍ୟବହାର କରିବାକୁ html ଟ୍ୟାଗ୍ ବ୍ୟବହାର କରୁ | ବ୍ଲକ୍ ଟ୍ୟାଗ୍ ଏବଂ ଟେମ୍ପଲେଟ୍ ଟ୍ୟାଗ୍ ବ୍ୟବହାର କରି ପାଠ୍ୟକୁ ପ୍ରଦାନ କରିବା ପାଇଁ ଆମର ଏକ ଲୁପ୍ ମଧ୍ୟ ଅଛି | ବ୍ଲକ୍ ଟ୍ୟାଗ୍ ଗୁଡିକ ପ୍ରକୃତରେ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ କାରଣ ଟେମ୍ପଲେଟ୍ ର ସୀମା କିପରି ସେମାନଙ୍କ ସହିତ ପରିଚାଳିତ ହେବ, ଏବଂ ଟେମ୍ପଲେଟ୍ ଆମ ସହିତ ଭେରିଏବଲ୍ କୁ କିପରି ରଖାଯାଏ ଆମେ କିପରି ବ୍ୟାଖ୍ୟା କରିପାରିବା ତାହାର ଲାଭ |

ବର୍ତ୍ତମାନ ଆମକୁ ଆମର ଆପ୍ ଭଲ ଦେଖାଯିବା ଆବଶ୍ୟକ, କାରଣ ବର୍ତ୍ତମାନ ପାଇଁ ଏହା ପ୍ରକୃତରେ ମ basic ଳିକ ଦେଖାଯାଉଛି | ଡକ୍ୟୁମେଣ୍ଟରେ ପ୍ରତ୍ୟେକ ବସ୍ତୁରେ ବନ୍ଧନ ବନ୍ଧନରେ ବନ୍ଧା ହୋଇଥିବା CSS, କିମ୍ବା ଶ୍ରେଣୀରେ ଆମେ ଏହା କରିପାରିବା | CSS ବାସ୍ତବରେ ସୁନ୍ଦର କାରଣ ଏହା ପୃଷ୍ଠରେ ସବୁକିଛି କହିଥାଏ ଯେ ଏହା କିପରି ଦେଖାଯାଏ, ଏବଂ ଏହା ପ୍ରକୃତରେ ଭଲ ଦେଖାଯାଏ | କିଛି ଲାଇବ୍ରେରୀ ଅଛି ଯାହା ଏହା କରିପାରିବ, କିନ୍ତୁ ମୋର ବ୍ୟକ୍ତିଗତ ହେଉଛି ବୁଟ୍ ଷ୍ଟ୍ରାପ୍ |

ବୁଟଷ୍ଟ୍ରାପ୍ ସେମାନଙ୍କ ୱେବସାଇଟ୍ ରୁ ଡାଉନଲୋଡ୍ ହୋଇପାରେ,GetootTastrp.com/। ସେଠାରେ, ପୂର୍ବରୁ, ସଂସ୍ଥାପନ DOC ପ read ିବା ପାଇଁ ବଟନ୍ ଦବାନ୍ତୁ, ଏବଂ CDN ବିଭାଗ ମାଧ୍ୟମରେ ଅନ୍ତର୍ଭୁକ୍ତ କହେ | ମୁଣ୍ଡ ନାମକ ଏକ ଟ୍ୟାଗରେ ତୁମେ ତୁମର HTML ଡକ୍ୟୁମେଣ୍ଟ୍ ର ଶୀର୍ଷରେ ଏହି କୋଡ୍ ଆବଶ୍ୟକ କରିବ | ଆହୁରି ମଧ୍ୟ, ଚାଲ ଆଗକୁ ଯିବା ଏବଂ ଏକ ଆଧାର ଟେମ୍ପଲେଟ୍ ସୃଷ୍ଟି କରିବା ତେଣୁ ପ୍ରତ୍ୟେକ ଟେମ୍ପଲେଟରେ ଆମେ ଏହି ଲିଙ୍କଗୁଡ଼ିକୁ ପୁନ re ନିର୍ମାଣ କରିବା ଆବଶ୍ୟକ କରୁନାହୁଁ |

Mkdir ଟେମ୍ପଲାଟଗୁଡିକ ସହିତ ଟେମ୍ପଲେଟ୍ ନାମକ ଏକ ନୂଆ ଡିରେକ୍ଟୋରୀ ତିଆରି କରନ୍ତୁ, ଏବଂ ତାପରେ ଟେମ୍ପଲେଟ୍ / ଆଧାର -thl ଏମ୍ବନ କରନ୍ତୁ |

ଏହା ଏହିପରି ଦେଖାଯିବା ଉଚିତ୍:

ଏହା CSS ଏବଂ ଜାଭାସ୍କ୍ରିପ୍ଟ, ଏହାକୁ ଭବିଷ୍ୟତରେ ଅଧିକ କାର୍ଯ୍ୟକ୍ଷେତ୍ରକୁ ଅଧିକ କାର୍ଯ୍ୟକ୍ଷମ କରିବା ପାଇଁ JAvasspript ଆବଶ୍ୟକ ହେବ |

ବର୍ତ୍ତମାନ, ଯେକ anything ଣସି ବାଶ୍ ସେଲ୍ କୁ ଫେରିବା ଏବଂ ଏକ ଶୀଘ୍ର ନିର୍ଦ୍ଦେଶ ଚଲାନ୍ତୁ | ମନେରଖନ୍ତୁ, ଯଦି ଆପଣ ଭର୍ଚୁଆଲ୍ ପରିବେଶକୁ ପ୍ରବେଶ କରିବାକୁ ପଡିବ, ଉତ୍ସ venv / bin / secoratate ଟାଇପ୍ କରନ୍ତୁ | ଏହା ଆପଣଙ୍କୁ ଏକ ଉପାୟରେ ସ୍ଥାନୀୟ ଭାବରେ ସଂସ୍ଥାପନ କରିବ ଯାହା ଡିଜଙ୍ଗୋ ସେମାନଙ୍କୁ ପ୍ରବେଶ କରିବାକୁ ଦିଏ | Djano bootstrett ଶ୍ରେଣୀ ଦ୍ୱାରା ସୃଷ୍ଟି ହୁଏ, ତେବେ ଆମେ କ୍ରିସପି ଫର୍ମକୁ ଏକ ପାଇଥନ୍ ପ୍ୟାକେଜ ବ୍ୟବହାର କରିବୁ | ଆମେ ଏହାକୁ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶ ସହିତ ଡାଉନଲୋଡ୍ କରିପାରିବା |

pip install django-crispy-forms

ଥରେ ସଂସ୍ଥାପିତ ହୋଇଗଲେ, ଏହାକୁ ସେଟିଂସମୂହରେ ଯୋଡନ୍ତୁ |

    # ... ଏଠାରେ ପୂର୍ବ କୋଡ୍ |

ବର୍ତ୍ତମାନ, ଆମର ଫିଡ୍ ଟେମ୍ପଲିଆକୁ ଫେର, ଆମେ କିଛି ଜିନିଷ ଅପସାରଣ କରିପାରିବା | ଚାଲ ଡକ୍ୟୁମେଣ୍ଟର ଆରମ୍ଭ ଏବଂ ଶେଷକୁ ଅପସାରଣ କରିବା ଏବଂ ଏହାକୁ ଆମ ଆଧାର ଟେମ୍ପଲେଟ୍ ଠାରୁ ଅନ୍ୟ ଉତ୍ତରାଧିକାରୀ ସହିତ ଏହାକୁ ବଦଳାଇବା ଏବଂ ବିସ୍ତାର ବ୍ୟବହାର ଏବଂ ବ୍ଲକ ସଂଜ୍ଞା ବ୍ୟବହାର କରି | ଆହୁରି ମଧ୍ୟ, ଆମେ ଲୋଡ୍ ସହିତ ଏକ ଟେମ୍ପଲେଟ୍ ଫିଲ୍ଟର୍ ଆର୍ଗା ଆମାଧ୍ୟବର୍ତ୍ତୀ, ଫର୍ମରେ ଏକ ଟେମ୍ପଲେଟ୍ ଫିଲ୍ଟର୍ ଆର୍ଗାଜାଜ୍ ଭାବରେ | ଶେଷରେ, ଆସନ୍ତୁ ଏହାକୁ ଏକ ବଟନ୍ ପରି ଏକ ବଟନ୍ ପରି ଦେଖିବା ପାଇଁ ଫର୍ମରେ ଥିବା ବଟନ୍ କୁ ଏକ ବୁଟ୍ ଷ୍ଟ୍ରେପ୍ ଶ୍ରେଣୀ ଯୋଡିବା | ତାହା ଏହିପରି ଦେଖାଯିବା ଉଚିତ:

ସୁନ୍ଦର! ତାହା ପୂର୍ବରୁ ଟିକେ କୋଡ୍ ଅଛି | ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ଏହାକୁ ପରୀକ୍ଷା କରିବା ଉଚିତ ଏବଂ ନିଶ୍ଚିତ କର ଯେ ସବୁକିଛି ସୁନ୍ଦର ଦେଖାଯାଉଛି, ଏବଂ ସବୁକିଛି ସଠିକ୍ ଭାବରେ କାମ କରୁଛି | ପୂର୍ବ ନିର୍ଦ୍ଦେଶ ଅନୁଯାୟୀ ସର୍ଭରକୁ ଚଲାନ୍ତୁ ଏବଂ ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ସାଇଟ୍ ଦେଖାଯାଏ ଏବଂ ଠିକ ଅଛି | ଉତ୍ତମ କାମ! ଆପଣ ପରବର୍ତ୍ତୀ ପଦକ୍ଷେପକୁ ଯିବାକୁ ପ୍ରସ୍ତୁତ, ଯେଉଁଥିରେ ଆମେ ସମାନ URLS, ଫର୍ମ, ଦର୍ଶନ ଏବଂ ଟେମ୍ପଲେଟ୍ ବ୍ୟବହାର କରି ୟୁଜର୍ ଲଗଇନ୍ କାର୍ଯ୍ୟକାରିତା ଯୋଡିବା | ବେସ୍ ଟେମ୍ପଲେଟ୍ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ, ଏବଂ ଆମେ ଏହାକୁ ରୂପାନ୍ତର ଜାରି ରଖିବା ଏବଂ "ପରିଶ୍ରମରେ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ପାଳନ କରିବା ପାଇଁ, ଏବଂ ବର୍ତ୍ତମାନ କେବଳ ତୁମର ଆକାଉଣ୍ଟକୁ ଅଧିକ ସୁରକ୍ଷିତ କରିବାକୁ ଏବଂ କେବଳ ନିଜ ଆକାଉଣ୍ଟକୁ ଉପଲବ୍ଧ କରିବା ଉପରେ ଧ୍ୟାନ ଦେବ |

ଏହା କରିବାକୁ, DJANGO ରେ ନିର୍ମିତ ଉପଭୋକ୍ତା ମଡେଲ୍ ବ୍ୟବହାର ଆବଶ୍ୟକ | ୟୁଜର୍ ମଡେଲ୍ ହେଉଛି ଏକ ଡାଟାବେସ୍ ମଡେଲ୍, ଯାହା ୱେବସାଇଟ୍ ରେ ଏକ ୟୁଜର୍ ଲଗ୍ ରେ ଲଗ୍ କରିବାକୁ ରେଣ୍ଡରଜ୍ ହୋଇପାରିବ | ଭବିଷ୍ୟତରେ, ଆମେ ଏହାକୁ ଇଣ୍ଟରନେଟକୁ ନିୟୋଜିତ କରିବା ପୂର୍ବରୁ, ଆମେ ଏହା ସଂସତି ଦଖଲ କରୁଥିବା ଅନ୍ୟ ମଡେଲ ସହିତ ଏହି ମଡେଲକୁ ବିସ୍ତାର କରିବୁ ଏବଂ ଲଗଇନ୍ ପାଇଁ ଅତିରିକ୍ତ ସୁରକ୍ଷା ବ୍ୟବସ୍ଥା ନିର୍ମାଣ କରିବୁ | ଲଗିଂ ଫର୍ମରେ କିଛି ନିର୍ମିତ ବ୍ୟବହାର କରି ଆମେ ଆରମ୍ଭ କରିବୁ ଯାହା Django ପ୍ରଦାନ କରେ | ପ୍ରଥମେ, ଆସନ୍ତୁ ଏକ ନୂତନ ଆପ୍ ସୃଷ୍ଟି କରିବା ଯାହାକୁ ଆମେ ମ basic ଳିକ ଲଗଇନ୍ ପେଜ୍ ପାଇଁ ଟେମ୍ପଲେଟ୍ ଏବଂ ଦୃଶ୍ୟକୁ ପ୍ରଦାନ କରିବା | ଆପ୍ଲିକ୍କୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଆମେ ସହଯୋଗୀ ଲଗଇନ୍ ଚ୍ୟାଲେଞ୍ଜଗୁଡ଼ିକୁ ପ୍ରତିନିଧିତ୍ୱ କରୁଥିବା କ୍ଷେତ୍ରକୁ ଉପସ୍ଥାପନ କରିବା ପାଇଁ ଆମେ ଅନ୍ୟ ଆପ୍ ମଧ୍ୟ ସୃଷ୍ଟି କରିବା, ଫିଲ୍ଡ ଯୋଗାଯୋଗ ପ୍ରାମାଣିକିକରଣ, ମଲ୍ଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ଏବଂ ଫିଙ୍ଗର ପ୍ରିଣ୍ଟ ସ୍ୱୀକୃତି |

ଆମେ ଏକ ଆପ୍ ଆରମ୍ଭ କରିବା ବିଷୟରେ କହିଥାଉ | ଆମର ଡିରେକ୍ଟୋରୀରୁ, ଭର୍ଚୁଆଲ୍ ପରିବେଶ ଭିତରୁ, ପରିଚାଳନା ଜାରି ରଖନ୍ତୁ | ଆପି |

python manage.py startapp users

ବର୍ତ୍ତମାନ, ନୂତନ ଆପ୍ ପାଇଁ ଏକ ଡିରେକ୍ଟୋରୀ ରହିବା ଉଚିତ | ଚାଲନ୍ତୁ ସେହି ଡିରେକ୍ଟୋରୀରେ ଏକ ଦୃଶ୍ୟ ସୃଷ୍ଟି କରିବା ଦ୍ୱାରା ଆରମ୍ଭ କରିବା ଯାହାକି ୟୁଜର୍ ଲଗଇନ୍ ସହିତ ଅନୁରୂପ ଅଟେ | Django ଉପଭୋକ୍ତା ଲଗଇନ୍ ପାଇଁ ଦୃଶ୍ୟରେ ଦୃଶ୍ୟରେ ନିର୍ମିତ ହୋଇଛି, କିନ୍ତୁ ଏଗୁଡ଼ିକ ଆମ ପାଇଁ ଉପଯୁକ୍ତ ନୁହେଁ କାରଣ ଆମେ ଏକ କଷ୍ଟମ୍ସ ଦୃଶ୍ୟ ଆବଶ୍ୟକ କରନ୍ତି, ଯାହା ଆମକୁ ଏକ ସଂଜ୍ଞା ସହିତ କରାଯାଇଛି |

ଏହି ଦୃଶ୍ୟରେ, ଆମେ ଏକ ପୋଷ୍ଟ ଅନୁରୋଧ ଯାଞ୍ଚ କରି ଆରମ୍ଭ କରିବା, Django ରୁ ଆମଛାଟି ଲଗାତାର ଏକ ଲଗକ୍ସର୍ମକୁ ପ୍ରସ୍ତୁତ କରିବା, ଉପଭୋକ୍ତା ଆକାଉଣ୍ଟକୁ ପ୍ରାମାଣିକରଣ କରିବା ପୂର୍ବରୁ ଏବଂ ସେମାନଙ୍କୁ ଆମ ଫିଡ୍ ଆପରେ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରିବା ପୂର୍ବରୁ ୟୁଜର୍ ରେ ଲଗ୍ କର |

ଉପଯୋଗକର୍ତ୍ତାଗଣ / Views.py ରେ, ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ |

        username = request.POST['username'] # ପୋଷ୍ଟ ଅନୁରୋଧରୁ ଚାଳକନାମ ଏବଂ ପାସୱାର୍ଡ ପାଆନ୍ତୁ |
        password = request.POST['password'] # ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ପ୍ରାମାଣିକରଣ କରନ୍ତୁ |

ଏକ ମ basic ଳିକ ଲଗଇନ୍ ଦୃଶ୍ୟ ପାଇଁ ଏହା କେବଳ ଆବଶ୍ୟକ | ଏବେ, ବେସ୍ ଟେମ୍ପଲେଟ୍ ବିସ୍ତାର କରି ଦୃଶ୍ୟ ପାଇଁ ଏକ ଫର୍ମ ସୃଷ୍ଟି କରିବା | ଉପଭୋକ୍ତା ଫୋଲ୍ଡରରେ ଟେମ୍ପଲେଟ୍ ପାଇଁ ଏକ ନୂତନ ଡିରେକ୍ଟୋରୀ ସୃଷ୍ଟି କରି ଆମେ ଆରମ୍ଭ କରିବା |

mkdir users/templates
mkdir users/templates/users

ବର୍ତ୍ତମାନ, ଆମେ ଉପଯୋଗୀ / ଟେମ୍ପଲେଟ୍ / ବ୍ୟବହାରକାରୀ / ଉପଭୋକ୍ତା / logl.html ଏଡିଟ୍ କରିବାକୁ ସମର୍ଥ ହେବା ଉଚିତ | ଆମେ ଏହା ଜାଣିଥିବାବେଳେ ଆମେ ଉପଭୋକ୍ତାଙ୍କୁ ମଧ୍ୟ ସାଇନ୍ ଅପ୍ କରିବାକୁ ଅନୁମତି ଦେବା ପାଇଁ ଏକ ଟେମ୍ପଲେଟ୍ ସୃଷ୍ଟିuewe amptu ଆମେ ଏକ ଟେମ୍ପଲେଟ୍ ସୃଷ୍ଟିue ze ଆମେ ଏକ ଟେମ୍ପଲେଟ୍ ସୃଷ୍ଟିue ze |

nano users/templates/users/login.html

ବର୍ତ୍ତମାନ ଟେମ୍ପଲେଟ୍ ରେ,

ଏହା ହେଉଛି ଏକ ଲଗଇନ୍ ଟେମ୍ପଲେଟର ମ ics ଳିକ | ଏହା ପ୍ରକୃତରେ ସଂରଚନାରେ ଅନ୍ୟ ଟେମ୍ପଲେଟ୍ ପରି, କିନ୍ତୁ ଏହା ପ୍ରଦର୍ଶିତ ହେବା ପରେ ଟିକିଏ ଭିନ୍ନ ଦେଖାଯାଏ | ରେଜିଷ୍ଟର। ହ୍ୟାଙ୍କଟ୍ ନାମକ ଅନ୍ୟ ଏକ ସମାନ ଟେମ୍ପଲେଟ୍ ନାମକ ଏକ କୋଡ୍ କପି କରିବାକୁ ଆମେ ଏହି କୋଡ୍ କପି କରିପାରିବା, ଯେଉଁଠାରେ ଆମେ ଶବ୍ଦ ପରିବର୍ତ୍ତନ କରିବୁ ଆମେ ନିର୍ମାଣ କରିବା | ପ୍ରଥମେ ଟେମ୍ପଲେଟ୍ ତିଆରି କରିବା | ଉପଯୋଗକର୍ତ୍ତା / ଟେମ୍ପଲେଟ୍ / ବ୍ୟବହାରକାରୀ / redistres.html ସଂପାଦିତ ଏବଂ ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ:

ବର୍ତ୍ତମାନ, ଆମର ଉପଭୋକ୍ତା ପଞ୍ଜିକରଣ ପାଇଁ ଏକ ଫର୍ମ ନିର୍ମାଣ କରିବା ଏବଂ ଏକ ମଡେଲ ସହିତ ଆମର ଉପଭୋକ୍ତା ଲଗିନ୍ସକୁ ଅପଗ୍ରେଡ୍ କରିବା ପୂର୍ବରୁ ଦୃଶ୍ୟକୁ ଫେରିବା | ଭବିଷ୍ୟତରେ ଆମେ ଏହାକୁ ମ basic ଳିକ କରିବା, ବରଂ ଭବିଷ୍ୟତରେ ଅଧିକ ବିବରଣୀ ଏବଂ ସିକ୍ୟୁମେଞ୍ଚିତ ବ features ଶିଷ୍ଟ୍ୟଗୁଡିକ ଅନ୍ତର୍ଭୂକ୍ତ କରିବା | ନାନୋ ୟୁଜର୍ / sssa.py ସହିତ ଫର୍ମଗୁଡିକ ସଂପାଦନ କରନ୍ତୁ | PY, ଏବଂ ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ |

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm

class UserRegisterForm(UserCreationForm):
    email = forms.EmailField()

    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']

ତେବେ ଆମର ଏଠାରେ ଆଉ ଏକ ଫର୍ମ ଅଛି, ଯାହା କେବଳ ନ୍ୟାୟପୂର୍ଣ୍ଣ ଭାବରେ କାମ କରେ | ଏହା ଏକ ଉପଯୋଗକର୍ତ୍ତା ନାମ, ଇମେଲ୍ ଏବଂ ପାସୱାର୍ଡ, ଇମେଲ୍ ଏବଂ ପାସୱାର୍ଡ ସହିତ ଏକ ଉପଭୋକ୍ତା ରେଜିଷ୍ଟର, ଏବଂ ଏକ ପାସୱାର୍ଡ ଉପଲବ୍ଧ | ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଏହି ଫର୍ମ ନିୟମିତ ଫର୍ମଗୁଡିକ ବିସ୍ତାର କରେ ନାହିଁ। କ୍ଲାସ୍, ଏହା ଏକ ମଡେଲ୍ ଫର୍ମ ଯାହାର ଅର୍ଥ ଏହାର ଏକ ମେଟା ଅଛି | ଗୋଟିଏ କ୍ଷେତ୍ର କେବଳ ସମାନ ଭାବରେ ବ୍ୟାଖ୍ୟା କରାଯାଇଛି, ଏବଂ ଶ୍ରେଣୀ ମେଟା ମଡେଲକୁ ବ୍ୟାଖ୍ୟା କରେ ଯାହାକି ଫର୍ମ ବାକି ସୂଚନା ସହିତ ଅନୁରୂପ ଅନୁରୂପ ଅନୁରୂପ ଅଟେ ତାହା ବ୍ୟାଖ୍ୟା କରେ ଯାହା ଫର୍ମରେ ଲେଖାଯିବ | ଏହା ମଧ୍ୟରୁ ଅଧିକାଂଶ ହେଉଛି ୟୁଜର୍ କ୍ରେସନିମର୍ଫର୍ଟ ଫଙ୍କଫମରେ ନିର୍ମିତ, ତେଣୁ ଆମେ ଏହାକୁ ଶ୍ରେଣୀ ପାଇଁ ଆଧାର ଭାବରେ ବ୍ୟବହାର କରିବୁ (ପାରେନ୍ଥେଥାସାଇସରେ ପାସ୍ କଲୁ) |

ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ଜଣେ ଚାଳକ ପଞ୍ଜିକରଣର ଦୃଶ୍ୟକୁ ପରୀକ୍ଷଣ କରିବୁ, ବର୍ତ୍ତମାନ ଆମର ଏକ ଫର୍ମ ଏବଂ ଏକ ଟେମ୍ପଲେଟ୍ ଅଛି | ନୂତନ ପୋଷ୍ଟ ଦୃଶ୍ୟରେ ଥିବା ଗୋଟିଏ ପରି ଏହା ଏକ ମଡେଲ୍ଫର୍ମ | ଉପଯୋଗକ୍ଷା / ଦର୍ଶନ ସଂପାଦନା କରନ୍ତୁ ଏବଂ ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ:

# ... ଆମଦାନୀ |

ଏହା ହେଉଛି ଏକ ଉପଭୋକ୍ତା ପଞ୍ଜୀକୃତ ହେବା ଆବଶ୍ୟକ, କିନ୍ତୁ ଆମର ଅଧିକ ସୂଚନା ରହିବା ଉଚିତ | ଆମେ ଉପଭୋକ୍ତା ପଞ୍ଜିକୃତ ହେବା ସମୟ ଜାଣିବାକୁ ଚାହୁଁ, ସାଇଟରେ ଶେଷ ଥର ପାଇଁ, ପ୍ରତ୍ୟେକ ଉପଭୋକ୍ତାଙ୍କୁ ବିଶ୍ able ମଡେଲ ଏବଂ ଗୁଣ ପାଇଁ ହିସାବ ଏବଂ ଆଟ୍ରାଇଟ ପୋଷ୍ଟଗୁଡିକ ପାଇଁ ହିସାବ ଏବଂ ଆଟ୍ରାଇଟ ପୋଷ୍ଟଗୁଡିକ ପାଇଁ ହିସାବକୁ ଅପଡେଟ୍ କରିବାକୁ ପଡିବ | ତାହା କରିବାକୁ, ଆମେ ଉଭୟ ଆପ୍ସରେ ମଡେଲଗୁଡିକ ଅପଡେଟ୍ କରିବୁ | ଚାଲ ଫିଡ୍ ମଡେଲ୍ ଏଡିଟ୍ କରି ଆରମ୍ଭ କରିବା | ଏହା ବର୍ତ୍ତମାନ ଏହିପରି ଦେଖାଯିବା ଉଚିତ୍:

from django.db import models # ... ଆମଦାନୀ |
    author = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True, related_name='posts') # ଏହି ଧାଡିରେ ଯୋଗ କରନ୍ତୁ |

ଫାଇଲ୍ ରେ ଯୋଡା ଯାଇଥିବା ଦ୍ୱିତୀୟ ଲାଇନକୁ ଧ୍ୟାନ ଦିଅନ୍ତୁ | ଏହା ଏକ ବିଦେଶୀ ଚାବି, ଯାହା ପ୍ରତ୍ୟେକ ପୋଷ୍ଟକୁ ପୋଷ୍ଟରେ ଥିବା ୟୁଜର୍ କୁ ଗୁଣବାପତ୍ତା କରିବ, ଯାହା ଦ୍ we ାରା ଆମେ ନିଶ୍ଚିତ କରିପାରିବା ଯେ ଆମେ ଏକ ଉପଭୋକ୍ତାଙ୍କୁ ଗୁଣ ନ କରିବା ବିନା କ devising ଣସି ପୋଷ୍ଟ କ place ଣସି ପୋଷ୍ଟ କରାଯାଇପାରିବ ନାହିଁ | ଆମେ ପ୍ରତିନିଧିତ୍ୱ କରୁଥିବା ଶ୍ରେଣୀ ସହିତ ଏହି ବିଦେଶୀ ଚାବି ବ୍ୟାଖ୍ୟା କରିବା, ପୋଷ୍ଟଗୁଡିକ ବ୍ୟବହାର କରିବାକୁ, ଏବଂ ଆମେ ଚାହୁଁଛୁ ଯେ ଆମେ ଉପଭୋକ୍ତା ସୃଷ୍ଟି କରୁଥିବା ପୋଷ୍ଟଗୁଡିକର ଅଭାବକୁ ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ, ଯାହାକୁ ଆମେ ୟୁଜର୍ ସୃଷ୍ଟି କରୁଥିବା ପୋଷ୍ଟଗୁଡିକ ରେଫର୍ମେଟ୍ କରୁଥିବା ପୋଷ୍ଟଗୁଡିକରେ ଆମେ ବ୍ୟବହାର କରିପାରିବା | ପୋଷ୍ଟର ଲେଖକ, ପୋଷ୍ଟର ଲେଖକ, ଏହି ସମ୍ବନ୍ଧୀୟ ନାମ, ଆମକୁ ଉପଭୋକ୍ତାଙ୍କୁ ପ୍ରଦାନ କରେ ଯିଏ ନିଜେ ପୋଷ୍ଟ ପୋଷ୍ଟ କରିଛି | ଆମେ ବର୍ତ୍ତମାନ ୟୁଜର୍। Posts.all ଚଳିବା ଦ୍ୱାରା କରାଯାଇଥିବା ଡିରେକ୍ଟୋରୀକୁ ପାଇପାରିବା |

ବର୍ତ୍ତମାନ, ଆସନ୍ତୁ ଆସନ୍ତୁ ଆମର ଲାଇବନକୁ ଅଧିକ ପରିବର୍ତ୍ତନ କରିବା | ଆମେ ସାଇଟରେ ଥିବା ସମୟ ସୀମିତ କରି ଆମେ ଫିସିଙ୍ଗକୁ ବହୁତ କମ୍ ବୁଦ୍ଧି କରି ପାରିବା, ଯାହା ସାଇଟରେ ଥିବା ସମୟର ସଂଖ୍ୟା ଲକ୍ଷ୍ୟ କରି ଆମେ ନିଶ୍ଚିତ କରିବୁ ଯେ ଏହା ସହଜ ଅଟେ | ଚାଲନ୍ତୁ ପ୍ରତ୍ୟେକ ଉପଭୋକ୍ତାଙ୍କୁ ଆମର ଆପ୍ ବିକାଶ କରିବା ପୂର୍ବରୁ ଯିବାବେଳେ ପ୍ରତ୍ୟେକ ଉପଭୋକ୍ତାଙ୍କୁ କିଛି ସୂଚନା ସଂରକ୍ଷଣ କରିବା ଆରମ୍ଭ କରିବା | ବ୍ୟବହାରକାରୀ / ମଡେଲଗୁଡିକ ଏଡିଟିଂ

from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True, related_name='profile')
    account_created = models.DateTimeField(default=timezone.now)
    last_seen = models.DateTimeField(default=timezone.now)
    can_login = models.DateTimeField(default=timezone.now)
    preferred_name = models.CharField(max_length=20,default='', null=True, blank=True)
    bio = models.TextField(blank=True, default='')

ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଏହି ମଡେଲ୍ ପୋଷ୍ଟ ମଡେଲ୍ ସହିତ ଯଥେଷ୍ଟ ସମାନ | ଆମର ଏକ ଅତିରିକ୍ତ ଆମଦାନୀ, ଟାଇମଜୋନ୍, ଯାହା ଆମକୁ ତାରିଖ ଟାଇମ୍ ଷ୍ଟିଲ୍ଡରେ ଡିଫଲ୍ଟ ସେଟ୍ କରିବାକୁ ଅନୁମତି ଦେବ, ଏବଂ ପୋଷ୍ଟର ପରି ଆମକୁ ଏକ ଚରିତ୍ରଫିଲ୍ଡ ଏବଂ ପାଠ୍ୟ କ୍ଷେତ୍ର ମଧ୍ୟ ଅଛି | ଏହି ସମସ୍ତ ଟାଇମଷ୍ଟମ୍ପସ୍ ବ୍ୟବହାର କରିବା ଆମକୁ ସାଇଟକୁ ସୁରକ୍ଷିତ କରିବାରେ ସାହାଯ୍ୟ କରେ ଏବଂ ଏହାର ବ୍ୟବହାର କ୍ଷେତ୍ର, ଏବଂ ୱେବସାଇଟରେ ପ୍ରତ୍ୟେକ ଉପଭୋକ୍ତା, କିମ୍ବା ଲେଖକମାନଙ୍କ ବିଷୟରେ ସୂଚନା ଦେବା | Antononefield ଏକମାତ୍ର ଛୋଟ ବିଚାର କରାଯିବା ଉଚିତ, ଏହା ଏକ ଅଗ୍ରଭାଗ ସହିତ ସମାନ ଆଚରଣ କରେ କିନ୍ତୁ ପରବର୍ତ୍ତୀ ମଡେଲ ପ୍ରତି କେବଳ ଗୋଟିଏ ସହିତ | ଏହି ଉପାୟରେ, ଉପଭୋକ୍ତାଙ୍କର କେବଳ ଗୋଟିଏ ପ୍ରୋଫାଇଲ୍ ଅଛି, ଯେତେବେଳେ ସେମାନଙ୍କର ଅନେକ ପୋଷ୍ଟ ଥାଇପାରେ |

ବର୍ତ୍ତମାନ, ଚାଲ ଆମ ଲଗଇନ୍ ଉନ୍ନତି ଏବଂ ପ୍ରୋଫାଇଲ୍ ପାଇଁ ହିସାବ କରିବାକୁ ପଞ୍ଜିକରଣ ଦୃଶ୍ୟକୁ ଉନ୍ନତ କରିବା | ପ୍ରଥମେ, ଉପଭୋକ୍ତା / ଦର୍ଶନ ସଂପାଦନା ସଂପାଦନ କରନ୍ତୁ ଏବଂ ରେଜିଷ୍ଟର ଭ୍ୟୁ ଉପରେ ଧ୍ୟାନ ଦିଅନ୍ତୁ:

# ... ଆମଦାନୀ |
            Profile.objects.create(user=user) # ଉପଯୋଗକର୍ତ୍ତା ପାଇଁ ଏକ ପ୍ରୋଫାଇଲ୍ ସୃଷ୍ଟି କରିବାକୁ ଏହି ରେଖା ଯୋଡିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ |

ଏହା କେବଳ ଯେକ any ଣସି ସୂଚନା ପୂରଣ ନକରି ଉପଭୋକ୍ତା ପାଇଁ ଏକ ପ୍ରୋଫାଇଲ୍ ସୃଷ୍ଟି କରେ | ବର୍ତ୍ତମାନ, ଆମେ ନିଶ୍ଚିତ କରିବାକୁ ଚାହୁଁଛୁ ଯେ ୟୁଜର୍ ଆକାଉଣ୍ଟ୍ ଅତି ବିନା ଥର ଲଗ୍ ହୋଇଛି, କିମ୍ବା ଅତିକମରେ ପାସୱାର୍ଡଗୁଡ଼ିକ ବାରମ୍ବାର ଚେଷ୍ଟା କରାଯାଇ ନାହିଁ, ତେଣୁ ଲଗଇନ୍ ଦୃଶ୍ୟକୁ ଅଦ୍ୟତନ କରିବା |

# ... ଆମଦାନୀ |
        if user and user.profile.can_login < timezone.now(): # ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଉପଭୋକ୍ତା ଲଗ୍ ଇନ୍ କରିପାରିବେ କି ନାହିଁ ଆମେ ବର୍ତ୍ତମାନ ଯାଞ୍ଚ କରୁ |
        else: # ଯଦି ଲଗଇନ୍ ସଫଳ ହୋଇନାହିଁ,
            user = User.objects.filter(username=username).first() # ଏହା ହେଉଛି ସେହି ଅଂଶ ଯେଉଁଠାରେ ଆମେ ୟୁଜର୍ସ ପ୍ରୋଫାଇଲ୍ ଅପଡେଟ୍ କରୁ |
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # ତେଣୁ ସେମାନେ କିଛି ସେକେଣ୍ଡ ପାଇଁ ପୁନର୍ବାର ଲଗ୍ ଇନ୍ କରିପାରିବେ ନାହିଁ |

ଏହା ହେଉଛି ସୁରକ୍ଷା ର ମ basic ଳିକ ମ fundamental ଳିକ | ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ସାଇଟ୍ କେବଳ ଯେକ any ଣସି ସମ୍ଭାବ୍ୟ ପାସୱାର୍ଡ ମିଶ୍ରଣକୁ ଚେଷ୍ଟା କରିବା, କିମ୍ବା ସେମାନଙ୍କ ମଧ୍ୟରୁ କେତେଜଣଙ୍କ ମଧ୍ୟରୁ କେତେଜଣ | ଏହା ସାଧାରଣ ଚାଳକକୁ ନିରାଶ ହେବ ଯିଏ ସେମାନଙ୍କର ପାସକୋଡ୍ ଜାଣେ ଏବଂ କିଛି ଉପକରଣରେ ଲଗ୍ ଇନ୍ କରେ, କିନ୍ତୁ ଏହା ଅନେକ ଉପକରଣରେ ଲସିଙ୍ଗ୍ ରୋବଟକୁ ଏଡ଼ିରୁ ଦୂରେଇ ରଖିବ | ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଆମେ ଏକ ଭେରିଏବଲ୍, kin_login ସହିତ ଷ୍ଟେଟମେଣ୍ଟ ଯୋଡିଛି, ଯାହା ଅତୀତର ସମୟ ହେବା ଉଚିତ ଏବଂ ପ୍ରତ୍ୟେକ ଅସଫଳ ଲଗଇନ୍ ସହିତ ଏହାକୁ ଅପଡେଟ୍ କରିବା | ଏହି ଉପାୟରେ, ଜଣେ ଦୁଷ୍ଟ ବ୍ୟବହାରକାରୀମାନେ ଶୀଘ୍ର ପାଖରେ ଥିବା ଯେକ anywhere ଣସି ସ୍ଥାନରେ ପାସୱାର୍ଡ ଅନୁମାନ କରିବାକୁ ସମର୍ଥ ହେବେ ନାହିଁ | Dewtime Time.tmimet () ରେ ସେକେଣ୍ଡ ସଂଖ୍ୟା ମଧ୍ୟ ଅଦ୍ୟତନ ହୋଇପାରିବ, ଏବଂ ୱେବସାଇଟ୍ ଅଧିକ ସେକେଣ୍ଡ ସହିତ ସାମାନ୍ୟ କମ୍ ବ୍ୟବହାର ଯୋଗ୍ୟ ହେବ | ମୁଁ 15 ରୁ ଆରମ୍ଭ କରିବାକୁ ସୁପାରିଶ କରେ |

ମନେରଖ, ଆମର କାର୍ଯ୍ୟ ରକ୍ଷା କରିବା ପାଇଁ ଆମେ ଏକ ବ୍ୟାକଅପ୍ ସ୍କ୍ରିପ୍ଟ ନିର୍ମାଣ କରି ଚାଲିବା ଏବଂ ବ୍ୟାକଅପ୍ କରିବା ଯେ ଆମେ ଏପର୍ଯ୍ୟନ୍ତ ପାଇଥିବା ନିଶ୍ଚିତ କରିବା ନିଶ୍ଚିତ କରିବା | ନିର୍ଦ୍ଦେଶ ଚଲାନ୍ତୁ:

sudo backup

ପୁଣି ଥରେ, ଏହା ଏପର୍ଯ୍ୟନ୍ତ ତୁମର କାର୍ଯ୍ୟକୁ ବଞ୍ଚାଇବ | ତୁମର କାମ ସଞ୍ଚୟ କରିବାକୁ ବାରମ୍ବାର ବ୍ୟାକଅପ୍ ଚଲାଇବାକୁ ମୁଁ ପରାମର୍ଶ ଦେବାକୁ ପରାମର୍ଶ ଦିଏ, ଏବଂ ଆପଣ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଏକ ବ୍ୟାକଅପ୍ ଚାକିରି ଚଳାଇବାକୁ ଚାହିଁପାରନ୍ତି | କ୍ରୋନ୍ ନାମକ ଏକ ୟୁନିକ୍ସ ୟୁଟିଲିଟି ବ୍ୟବହାର କରି ଆପଣ ଏହା କରିପାରିବେ | ଏହି ଉପଯୋଗିତାଗୁଡ଼ିକୁ ସକ୍ରିୟ କରିବାକୁ, ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶକୁ ଚଲାନ୍ତୁ ଏବଂ ଆପଣଙ୍କର ପାସୱାର୍ଡ ପ୍ରବେଶ କରନ୍ତୁ:

sudo crontab -e

ଯଦି ଆପଣ ନାନୋ ପାଇଁ ବିକଳ୍ପ 1 ଚୟନ କରିନାହାଁନ୍ତି, ଟେକ୍ସଟ୍ ଏଡିଟର୍ ତୁମେ ପୂର୍ବରୁ ପରିଚିତ ହେବା ଉଚିତ ଏବଂ ତୀର କୀ ବ୍ୟବହାର କରି ଫାଇଲ୍ ତଳ ପର୍ଯ୍ୟନ୍ତ ସ୍କ୍ରୋଲ୍ କରିବା ଉଚିତ୍ | ନିମ୍ନଲିଖିତ ରେଖା ଯୋଡନ୍ତୁ:

0 * * * * sudo backup

କ୍ରୋନ୍ ମାସର ଦିନ, ମାସର ଦିନ, ମାସର ଦିନ, ମାସର ଦିନ, ଯେଉଁଠାରେ ଏକ * କିମ୍ବା ଏକ ସଂଖ୍ୟା କମାଣ୍ଡକୁ ପ୍ରତିନିଧିତ୍ୱ କରେ | ମିନିଟ୍ ପାଇଁ 0 ରୁ 0 ଏବଂ * ପାଇଁ 0 ବ୍ୟବହାର କରି, ଆମେ ମିନିଟ୍ ଆରମ୍ଭରେ ପ୍ରତି ଘଣ୍ଟାର ପ୍ରଥମ ମିନିଟରେ ଏକ ନିର୍ଦ୍ଦେଶ ଚଳାଇପାରିବା | ଏହା ଆମକୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ କୋଡ୍ ବ୍ୟାକଅପ୍ କରିବାକୁ ଦିଏ | Sero ର ଚାକିରି ମୂଳ ଭାବରେ ଚଲାଯିବାବେଳେ ରୁଟ୍ ଭାବରେ ଚଲାଯିବାବେଳେ, ତେଣୁ ଆମକୁ ପ୍ରତି ଘଣ୍ଟାରେ ଟାଇପ୍ କରିବା ଆବଶ୍ୟକ ନାହିଁ |

ପାସୱାର୍ଡ ବ୍ୟବହାର ନକରି ଆମ କୋଡ୍ ବ୍ୟାକଅପ୍ କରିବା ସହଜ କରନ୍ତୁ, ଚାଲ ଆମର ବ୍ୟାକଅପ୍ କମାଣ୍ଡ୍ ପାଇଁ ପାସୱାର୍ଡ ଅକ୍ଷମ କରିବା | ନିମ୍ନଲିଖିତ କମାଣ୍ଡକୁ ଏକଜେକ୍ୟୁଟ୍ କରିବା ଏବଂ ଏକ ପାସୱାର୍ଡ ପ୍ରବେଶ କରି ଆମେ ଏହା କରିବୁ:

sudo visudo

ବର୍ତ୍ତମାନ, ଚାଲ ଫାଇଲ୍ ତଳ ଭାଗକୁ ସ୍କ୍ରୋଲ୍ କରିବା ଏବଂ ଅନ୍ୟ ଏକ ଲାଇନ୍ ଯୋଡିବା:

ALL ALL=NOPASSWD: /bin/backup

ଏହା ପାସୱାର୍ଡ ବିନା ଯେକ user ଣସି ଉପଭୋକ୍ତା ଭାବରେ "ବ୍ୟାକଅପ୍" କୁ କମାଣ୍ଡ୍ ଚଲାଇବାକୁ ଦେଇଥାଏ | ଏହା ପାଇଁ ଫର୍ମାଟ୍ ସହଜ, କେବଳ "ସମସ୍ତ = ondasw /" ଏବଂ ନିର୍ଦ୍ଦେଶ ସହିତ ରେଖା ଉପସର୍ଗ, ଉଦାହରଣ ସ୍ୱରୂପ / usr / ବ୍ୟାକଅପ୍, ଯାହା / usr / bin / intres ବିଦ୍ୟମାନ ଅଛି |

ବର୍ତ୍ତମାନ, ଚାଲ ଇମେଲ ସହିତ କାମ କରିବା ଆରମ୍ଭ କରିବା | ୱେବସାଇଟ୍ ପାଇଁ ଇମେଲ୍ ପ୍ରକୃତରେ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ, କାରଣ ଏକ ୱେବସାଇଟ୍ ଅଧିକ ସୁରକ୍ଷିତ ରଖିବାର ଏକ ଉପାୟ, ଯାଞ୍ଚକାରୀମାନେ ପ୍ରକୃତ ଲୋକ, ଏବଂ ଗ୍ରାହକଙ୍କୁ ମାର୍କେଟ୍ ଉତ୍ପାଦ କିମ୍ବା ସେବାଗୁଡିକୁ ବଜାର କରନ୍ତି | ଅନେକ ଲୋକ ଯେଉଁମାନେ ପ୍ରତିଦିନ ସେମାନଙ୍କର ଇମେଲ୍ ଯାଞ୍ଚ କରନ୍ତି, ଏବଂ ସେମାନେ ଆଗ୍ରହୀ ଉତ୍ପାଦ ଏବଂ ସେବା ବିଷୟରେ ସମସ୍ତ ପ୍ରକାରର ମାର୍କେଟିଂ ଇମେଲ ଗ୍ରହଣ କରନ୍ତି | ଯେତେବେଳେ ଏହା ଆପଣଙ୍କ ପାଇଁ ସର୍ବୋତ୍ତମ କାର୍ଯ୍ୟ କରିବାକୁ ସ୍ୱାଗତ |

ପ୍ରଥମେ, ଆପଣ ଏକ ଇମେଲ୍ ସେବାକୁ ଦେୟ ଦେଇପାରିବେ ଯାହା ଆପଣଙ୍କୁ ଆପଣଙ୍କ ଡୋମେନରୁ ଇମେଲ୍ ପଠାଇବାକୁ ସକ୍ଷମ କରିବ ଏବଂ ସର୍ବନିମ୍ନ କୋଡ୍ ଆବଶ୍ୟକ କରେ | ସେଠାରେ ଅନେକ ସେବା ଅଛି ଯାହା ଆପଣଙ୍କୁ ପ୍ରଦାନ କରେ, ଯେପରିକି ଗୁଗୁଲ୍ କାର୍ଯ୍ୟସିସପେସ୍, ସେନିସବ୍ଲୁ ଏବଂ ମେଲଗନ୍ ଏବଂ ଅଧିକ |

ଅନ୍ୟଥା, ଆପଣ ଆରମ୍ଭରୁ ଆପଣଙ୍କ ନିଜସ୍ୱ ଇମେଲ୍ ସେବା ନିର୍ମାଣରେ ଆପଣଙ୍କର ନିଜସ୍ୱ ଇମେଲ୍ ସେବା ନିର୍ମାଣ କରିବା ପାଇଁ ଭଲ ଅଟନ୍ତି | ଏହା ଅଧିକ କୋଡ୍ ଅଛି, ଯଦିଓ ଏହା ଅଧିକ କୋଡ୍ ଅଛି ଯଦିଓ ଏହା ଅଧିକ କୋଡ୍ ଅଛି ଏବଂ ବିଶେଷ ହୋଷ୍ଟିଂ ଆବଶ୍ୟକ କରିପାରନ୍ତି | ଆପଣ ନିଜ ଘର କମ୍ପ୍ୟୁଟରରୁ ଏକ ମେଲ୍ ସର୍ଭର ଆରମ୍ଭ କରିବାକୁ ସମର୍ଥ ହେବେ ନାହିଁ, ତେଣୁ ଚାଲନ୍ତୁ ଆଗକୁ ଯାଇ ଆମର ନିଜ ମେଲ୍ ସର୍ଭର ସୃଷ୍ଟି କରିବା ପୂର୍ବରୁ ଇମେଲ ପଠାଇବା ପାଇଁ ବିନ୍ୟାସ ଏବଂ କୋଡ୍ ପରୀକ୍ଷା କରିବା ପାଇଁ ବିନ୍ୟାସ ଏବଂ କୋଡ୍ ପରୀକ୍ଷା କରିବା |

ପ୍ରଥମେ, ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶ ସହିତ ସେଟିଂସମୂହ ଟାଇପ୍ କରନ୍ତୁ:

nano app/settings.py

ଯେଉଁଠାରେ ଆପଣ ଷ୍ଟାର୍ଟ ଆପ୍ ସହିତ ସୃଷ୍ଟି କରିଥିବା ଆପ୍ ର ନାମ ହେଉଛି ଆପ୍ |

ନିମ୍ନଲିଖିତ ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ:

SITE_NAME = 'Django App'

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_ADDRESS = username@server.com'
EMAIL_HOST_USER = 'username'
EMAIL_HOST_PASSWORD = config['EMAIL_HOST_PASSWORD']
DEFAULT_FROM_EMAIL = '{} <{}>'.format(SITE_NAME, EMAIL_HOST_USER)

ଯେତେବେଳେ ଆପଣ ଆପଣଙ୍କର ଆପ୍ ନିୟୋଜନ କରିବାକୁ ପ୍ରସ୍ତୁତ ଅଛନ୍ତି, ଏଗୁଡିକର ପରିବର୍ତ୍ତନ କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ, ଆମେ ଏହାକୁ ପରେ ପୁନ ir ସଂସ୍ଥାପନ କରିବୁ | Thine_address ସେଟିଂକୁ ଆପଣ ପଠାଇବାକୁ ଚାହୁଁଥିବା ଇମେଲ୍, ଏବଂ ପାସୱାର୍ଡ (ଇମେଲ_ ହୋଷ୍ଟ_ପ୍ରଦ) ସର୍ଭର ପାଇଁ ସୃଷ୍ଟି କରିବାକୁ ପାସୱାର୍ଡ ସେଟ୍ ହେବା ଉଚିତ | ମୁଁ ନିମ୍ନଲିଖିତ ତର୍କର ବ୍ୟବହାର କରି ସୂଚକରୁ ଏହାକୁ ପରି ରଖିବା ପାଇଁ ପାସୱାର୍ଡକୁ ଧାରଣ କରେ, PYY ରେ ଏହି ରେଖାଗୁଡ଼ିକ ଉପରେ:

import os
import json
with open('/etc/config.json') as config_file:
    config = json.load(config_file)

ତା'ପରେ, ମୁଁ /etc/config.jsoned ରେ ଥିବା ବିନ୍ୟାସ କରିବାକୁ ଏକ JSON ଫାଇଲ୍ ସେଟ୍ ଅପ୍ କରିଛି |

ଫାଇଲ୍ ଏଡିଟ୍ କରିବାକୁ:

sudo nano /etc/config.json

ନିମ୍ନଲିଖିତ ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ:

{
	"EMAIL_HOST_PASSWORD": "<some password here>"
}

ଆମେ ବିନ୍ୟାସ ଫାଇଲ୍ କୁ ବିନ୍ୟାସ କରିବା ଏବଂ ଆମେ ଆପରେ ବ୍ୟବହାର କରୁଥିବା ସମସ୍ତ ପାସୱାର୍ଡ ଏବଂ କିଗୁଡ଼ିକୁ ଯୋଡିବା ଜାରି ରଖିବା | ବର୍ତ୍ତମାନ ପାଇଁ, ପିଆନ୍ଥନ୍ ବ୍ୟବହାର କରି କିପରି ଇମେଲ ପଠାଇବାକୁ ଆସନ୍ତୁ ଶୀଘ୍ର ପରୀକ୍ଷା କରନ୍ତୁ | ପ୍ରଥମେ, ଏକ ଯାଞ୍ଚ ଇମେଲ ପାଇଁ ଏକ ଟେମ୍ପଲେଟ୍ ସୃଷ୍ଟି କରିବା ଯାହାକୁ ଆମେ ଆମର ଉପଭୋକ୍ତାମାନଙ୍କୁ ପଠାଇ ୟୁଜର୍ ଟେମ୍ପଲେଟ ଡିରେକ୍ଟୋରୀରେ ରଖିପାରିବା | ଏହି ଟେମ୍ପଲେଟ୍ html ରେ ଲେଖାଯିବ |

nano users/templates/users/verification_email.html

ଏହି ଇମେଲ୍ ଯଥେଷ୍ଟ ସରଳ | ସାଇଟ୍ ପାଇଁ ଆଧାର URL, ଏବଂ ଏକ ୟୁଜର୍ ID ଏବଂ ଟୋକନ ଯାହା ଉପଭୋକ୍ତାଙ୍କର ଇମେଲ୍ ଯାଞ୍ଚ କରିବାକୁ ବ୍ୟବହୃତ ହୁଏ | ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଟେମ୍ପଲେଟ୍ ରେଣ୍ଡର୍ କରିବା ପାଇଁ ଆମେ କିଛି ପାଇଥନ୍ କୋଡ୍ ଲେଖିବା ପୂର୍ବରୁ ସେଟିଂସମୂହ URL କୁ ବ୍ୟାଖ୍ୟା କରିବାକୁ ନିଶ୍ଚିତ କର | ଆଗକୁ ଯାଅ ଏବଂ ଆରମ୍ଭରେ ଆପ୍ / ସେଟିଂସମୂହ ପର୍ଯ୍ୟନ୍ତ ନିମ୍ନଲିଖିତ ଧାଡିଗୁଡ଼ିକ ଯୋଡନ୍ତୁ |

SITE_NAME = 'Django App'
PROTOCOL = 'https'
DOMAIN = 'example.com'

BASE_URL = PROTOCOL + '://' + DOMAIN

ପରିଶେଷରେ, ଯେତେବେଳେ ଆପଣଙ୍କର ସାଇଟ୍ ଇଣ୍ଟରନେଟ୍ ପାଇଁ ପ୍ରସ୍ତୁତ ଏବଂ ଆପଣ ଏହାକୁ ନିୟୋଜନ କରନ୍ତି, ଆପଣ ସାଇଟରେ ଥିବା ଡୋମେନ୍ ନାମ ଭାବରେ ଆପଣଙ୍କର ଡୋମେନ୍ ନାମ ଭାବରେ ବ୍ୟାଖ୍ୟା କରିବାକୁ ଚାହିଁବେ | ଏହା ହେଉଛି ଏକମାତ୍ର ନାମ ଯାହାକି ଆପଣ ନିଜ ସାଇଟରେ ପ୍ରବେଶ କରିବାକୁ Na` navber ଟାଇପ୍ କରିବେ | ବର୍ତ୍ତମାନ ପାଇଁ, ଆପଣ ଡୋମେନ୍ ଖାଲି ସ୍ଥାନ ଛାଡି ଏକ ସ୍ଥାନଧାରୀ ବ୍ୟବହାର କରିପାରିବେ | ତୁମର ବାଛୁରୀ, ତୁମର ବାଛୁରୀ, ତୁମର ସାଇଟ୍ ଦେବାକୁ ଚାହୁଁଥିବା ନାମ_ନାମକୁ ଏକ ନାମରେ case_name ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡିବ |

ଆମେ ଇମେଲ୍ ପଠାଇବା ପୂର୍ବରୁ ଆସନ୍ତୁ ଏକ ଟୋକନ୍ ଜେନେରେଟର ସୃଷ୍ଟି କରିବା ତେଣୁ ଆମେ ଏକ ଆକାଉଣ୍ଟ୍ ଆକ୍ଟିଭେସନ୍ ଟୋକନ୍ ପାଇପାରିବା ଯାହା କେବେ ମିଆଦ ପୂର୍ଣ୍ଣ ହୁଏ ନାହିଁ | ନିମ୍ନଲିଖିତ ପରି ଦେଖାଯାଉଥିବା ଏକ ଆକାଉଣ୍ଟ ଆକ୍ଟିଭେସନ୍ ଟୋକେନ୍ ନିର୍ମାଣ ଏବଂ ଆମଦାନୀ କରି ଆମେ ଏହା କରିପାରିବା | ଫାଇଲ୍ ସେଡିଟ୍ କରନ୍ତୁ:

nano users/tokens.py

ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ:

from django.contrib.auth.tokens import PasswordResetTokenGenerator
import six
class TokenGenerator(PasswordResetTokenGenerator):
    def _make_hash_value(self, user, timestamp):
        return (
            six.text_type(user.pk) + six.text_type(timestamp)
        )
account_activation_token = TokenGenerator()
unsubscribe_token = TokenGenerator()

ଏହି ମ basic ଳିକ ଟୋକେନ୍ ଜେନେରେଟର ଏକ ଟୋକନ୍ ସୃଷ୍ଟି କରେ ଆମେ ଉପଭୋକ୍ତାଙ୍କୁ ଏକ URL ରେ ପଠାଇ ପାରିବା ଏବଂ ଉପଭୋକ୍ତା ସେମାନଙ୍କର ଇମେଲ୍ ଯାଞ୍ଚ ଏବଂ ସେମାନଙ୍କ ଖାତା ସକ୍ରିୟ କରିବାକୁ ବ୍ୟବହାର କରିପାରିବେ |

ପରବର୍ତ୍ତୀ, ଆସନ୍ତୁ ଦେଖିବା ଏକ ଇମେଲ୍ କିପରି ପଠାଇବ | ନାନୋ ବ୍ୟବହାର କରି ଉପଭୋକ୍ତା / ଇମର୍ ଏଡିଟ୍ କରନ୍ତୁ |

nano users/email.py

HTML HTML ଇମେଲ୍ ପଠାଇବା ଏହିପରି ଦେଖାଯିବ:

from django.contrib.auth import get_user_model
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.contrib.sites.shortcuts import get_current_site
from django.core.mail import send_mail
from django.template.loader import render_to_string
from django.utils.encoding import force_bytes
from django.core.mail import EmailMultiAlternatives
from django.shortcuts import render
from .tokens import account_activation_token
from django.template.loader import render_to_string
from django.utils.html import strip_tags
from django.template import Template, Context
from django.conf import settings
import traceback

def send_verification_email(user):
    User = get_user_model()
    mail_subject = '[{}] Activate your account.'.format(settings.SITE_NAME)
    html_message = render_to_string('users/verification_email.html', {
        'user': user,
        'domain': settings.DOMAIN,
        'protocol': 'https',
        'uid': urlsafe_base64_encode(force_bytes(user.pk)),
        'token': account_activation_token.make_token(user),
    })
    send_html_email(user, mail_subject, html_message)

ଏହା ଯଥେଷ୍ଟ ସରଳ | ଆମେ ଇମେଲ ପଠାଇବା ଆବଶ୍ୟକ କରୁଥିବା କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ଆମଦାନି କରୁ, ଏବଂ ଟେମ୍ପଲେଟ୍, ଏବଂ ଆମର ସେଟିଂସମୂହକୁ ସୂଚାଇ, ଏବଂ ତା'ପରେ ଏହାକୁ ଟେମ୍ପଲେଟ୍ ନାମ ବ୍ୟବହାର କରି ଚାଳକକୁ ରୂପାନ୍ତର କରୁ | ଆପଣ ଲକ୍ଷ୍ୟ କରିବେ, sech_html_email ପଠାଇବା ପାଇଁ ଆମେ ଫଙ୍କସନ୍ କୁ ବ୍ୟାଖ୍ୟା କରିନାହୁଁ, ତେଣୁ ଉପଭୋକ୍ତା / ଇମେଲରେ ଆମେ ପୂର୍ବରୁ ଯୋଡିବା କୋଡ୍ ତଳେ ଲେଖିବା |

def send_html_email(user, mail_subject, html_message):
    to_email = user.email
    username = user.username
    if to_email == '':
        return None
    unsub_link = settings.BASE_URL + user.profile.create_unsubscribe_link()
    html_message = html_message + "<p><a href=\"" + unsub_link +  "\" + title=\"Unsubscribe from " + settings.SITE_NAME + " emails\">Unsubscribe</a></p></body></html>"
    msg = EmailMultiAlternatives(mail_subject, strip_tags(html_message), settings.DEFAULT_FROM_EMAIL, [to_email], headers={'List-Unsubscribe' : '<' + unsub_link + '>'},)
    msg.attach_alternative(html_message, "text/html")
    profile = user.profile
    try:
        msg.send(fail_silently=False)
        if not profile.email_valid:
            profile.email_valid=True
            profile.save()
    except:
        profile.email_valid=False
        profile.save()

ଏହା ଟିକିଏ ଅଧିକ ଜଟିଳ, ଏବଂ ଆମେ ଏପର୍ଯ୍ୟନ୍ତ ଏହି ସମସ୍ତ କୋଡ୍ ଚଲାଇବାକୁ ପ୍ରସ୍ତୁତ ନୁହଁ | ଧ୍ୟାନ ଦିଅନ୍ତୁ ଆମେ ଏକ unsibl_Link ବ୍ୟାଖ୍ୟା କରୁଛୁ, ଉପଭୋକ୍ତା ଆମର ଇମେଲରୁ ସଦସ୍ୟତା ରଦ୍ଦ କରିବାକୁ ବ୍ୟବହାର କରିପାରିବ | ଏହା ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ, କାରଣ କ any ଣସି ସମୟରେ ସେମାନଙ୍କୁ ଦେଖିବାକୁ ଚାହୁଁ ନ ଥିବାରୁ ଉପଭୋକ୍ତାମାନେ ଆମର ଇମେଲଗୁଡିକ ଚୟନ କରିବାରେ ସକ୍ଷମ ହେବେ | ଆମେ ଆମର ବାର୍ତ୍ତାରେ ଏକ ପାଠ୍ୟ ବିକଳ୍ପ ମଧ୍ୟ ଯୋଡିବା, ଯାହାକି HTML ଟ୍ୟାଗ୍ସରୁ ଏହା stml ବାର୍ତ୍ତା stmp ବାର୍ତ୍ତା ଷ୍ଟ୍ରାପ୍ ହୋଇଛି | ଶେଷରେ, ଆମେ ଯାଞ୍ଚ କରୁ ଯେ ଇମେଲ୍ ପଠାଯାଇଛି, ଏବଂ ଯଦି ଏହା ନୁହେଁ, ଆମେ ଉପଭୋକ୍ତାଙ୍କର ପ୍ରୋଫାଇଲରେ ଚିହ୍ନିତ ହୋଇଥାଉ ଯେ ସେମାନଙ୍କର ଇମେଲ୍ ବ valid ଧ ନୁହେଁ |

ଚାଲ ୟୁଜର୍ ମଡେଲକୁ ଫେରିବା ତେଣୁ ଆମେ ଏହି ସବୁ କାମ କରିପାରିବା | ସଦସ୍ୟତା ରଦ୍ଦ କରିବା ପାଇଁ ଏକ ଲିଙ୍କ୍ ସୃଷ୍ଟି କରିବା ପାଇଁ ଆମକୁ ଏକ ଫଙ୍କସନ୍ ସୃଷ୍ଟି କରିବା ଏବଂ ଚିହ୍ନିତ କରିବା ପାଇଁ ଏକ ବୁଲିଅନ୍ ଫିଲ୍ଡକୁ ବ୍ୟାଖ୍ୟା କରିବାକୁ ଏକ ଫଙ୍କସନ୍ ବ୍ୟାଖ୍ୟା କରିବାକୁ ପଡିବ |

ପ୍ରଥମେ, ଉପଭୋକ୍ତା / ମଡେଲଗୁଡିକର ଶୀର୍ଷକୁ ନିମ୍ନଲିଖିତ ଆମଦାନୀ ଯୋଡନ୍ତୁ |

nano users/models.py
# ...

ପରବର୍ତ୍ତୀ, ଟୋକନ୍ ତିଆରି କରିବା ଏବଂ ଇମେଲକୁ ସକ୍ରିୟ କରିବା ପାଇଁ ବ୍ୟବହୃତ ଟୋକକଗୁଡିକୁ ଯାଞ୍ଚ କରିବା ଏବଂ ସଂରକ୍ଷଣ କରିବା ପାଇଁ କ୍ଷେତ ଯାଞ୍ଚ କରିବା | ଉପଯୋଗକର୍ତ୍ତାଗଣ / ମଡେଲଗୁଡିକରେ ପୁନର୍ବାର, ମଡେଲର ଶେଷକୁ ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ (ଇଣ୍ଡେଣ୍ଟାଇନ୍ କୋଡ୍) |

# ...
            TimestampSigner().unsign(key, max_age=60 * 60 * 24 * 30) # 30 ଦିନ ପାଇଁ ବ id ଧ |

ଏହା ଯଥେଷ୍ଟ ସରଳ, ଆମେ ଏକ ଟାଇମଷ୍ଟମ୍ପେପର୍ ବ୍ୟବହାର କରୁ, ଯାହା ଏକ ମ basic ଳିକ କ୍ରିପ୍ଟୋଗ୍ରାଫି ସୃଷ୍ଟି କରିବା, ଏକ ଟୋକନ୍ ତିଆରି କରିବା ପାଇଁ, ଏବଂ ଏହା ବ valid ଧ କି ନାହିଁ ଯାଞ୍ଚ କରିବା ପାଇଁ ଅନ୍ୟ ଏକ ଫଙ୍କସନ୍ ମଧ୍ୟ ବ୍ୟବହାର କରେ | ଆମେ ଏହି ଟୋକେନ୍ଗୁଡ଼ିକୁ ଦୁଇଥର ବ୍ୟବହାର କରୁ, ଥରେ ଇମେଲ୍ ଯାଞ୍ଚ କରିବାକୁ, ଏବଂ ଥରେ ଏକ ସଦସ୍ୟତା ଲିଙ୍କ୍ ପାଇଁ |

ବର୍ତ୍ତମାନ ଆମର ଏହା ଅଛି, ଯାହା ଆମେ ପାଇବୁ, ଯାହା ଆମକୁ ନିଶ୍ଚିତ କରିବାକୁ ପଡିବ | ବ୍ୟବହାରକାରୀଙ୍କ / ଦର୍ଶନ ମଧ୍ୟରେ, ଇମେଲ ଠିକଣା ଯାଞ୍ଚ କରିବାକୁ, ଏବଂ ସଦସ୍ୟତା ରଦ୍ଦନ କରିବାକୁ ଦର୍ଶନ ଯୋଗ କରିବା |

nano users/views.py

ପ୍ରଥମେ, ନିମ୍ନଲିଖିତ ଆମଦାନୀଗୁଡିକ ଯୋଡନ୍ତୁ | ମୁଁ ଅଳ୍ପ ସଂଖ୍ୟକ ଏହାକୁ ଫୋପାଡି ଦେଲି ତେଣୁ ଆମକୁ ପରେ ଅଧିକ ଆଇଟମ୍ ଆମଦାନୀ କରିବାକୁ ପଡିବ ନାହିଁ |

from .email import send_verification_email # ଯାଞ୍ଚ ଇମେଲ ପଠାଇବା ଫଙ୍କସନ୍ ଆମଦାନୀ କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ |

ଆପଣଙ୍କ ପୂର୍ବରୁ ଏହି ଆମଦାନୀ ମଧ୍ୟରୁ କିଛି ଆମଦାନୀ ଥାଇପାରେ, କିନ୍ତୁ ଏହାକୁ ପୁନରାବୃତ୍ତି କରିବା କଷ୍ଟ ନାହିଁ | ଆପଣ ଯାଞ୍ଚ ପଠାଉଥିବା କାର୍ଯ୍ୟ ଫଙ୍କସନ୍, ଅନ୍ୟ ଆମଦାନୀ ମଧ୍ୟରେ ବ୍ୟବହାରକାରୀ ବାର୍ତ୍ତା ଅନୁଯାୟୀ ACTE_ABCCAICNTE_TOTONE ପ୍ରଦାନ କରିବାକୁ ଆବଶ୍ୟକ କରିବେ |

ବର୍ତ୍ତମାନ, ଫାଇଲ୍ ତଳେ, ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ:

        # ସେମାନଙ୍କୁ ସଦସ୍ୟତା ରଦ୍ଦ କରନ୍ତୁ |
    # ଅନ୍ୟଥା ଲଗଇନ୍ ପୃଷ୍ଠାକୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରନ୍ତୁ |
# tripewelkeemail (ଅନୁରୋଧ, ଉପଭୋକ୍ତା)

ଏହା ବହୁତ କୋଡ୍ | ଚାଲ ଏହାକୁ ଭାଙ୍ଗିବା | ପ୍ରଥମ ଫଙ୍କସନ୍, ପରିଷ୍କାର ଏବଂ ସରଳ, ମେଲିଂ ତାଲିକାରୁ ଉପଭୋକ୍ତାଙ୍କୁ ସଦସ୍ୟତା ରଦ୍ଦ କରେ | ଦ୍ୱିତୀୟ ଫଙ୍କସନ୍ ସେମାନଙ୍କର ଇମେଲକୁ ସକ୍ରିୟ କରିଥାଏ, ଏବଂ ଆପଣ ଧ୍ୟାନ ଦେବାବେଳେ ମୁଁ ଏକ ମନ୍ତବ୍ୟ ପ୍ରାପ୍ତ କାର୍ଯ୍ୟ, ପ୍ରେରଣାଦାୟକ କାର୍ଯ୍ୟାନୁଷ୍ଠାନ ଯୋଡିଛି | ଏକ ସ୍ୱାଗତ ଇମୋଜ ପଠାଇବା ପାଇଁ ଆପଣ ଏକ ଇମେଲ୍ ଟେମ୍ପଲେଟ୍ ଏବଂ କାର୍ଯ୍ୟ ସଂଜ୍ଞା ବ୍ୟବହାର କରିବାକୁ ସ୍ୱାଗତ, ମୁଁ କେବଳ ଏପର୍ଯ୍ୟନ୍ତ ନାହିଁ | ମୁଁ ଯେଉଁ ଶେଷ ଫୋନରେ ଫୋପାଡି ଦେଉଛି, କାରଣ ସକ୍ରିୟ ଇମେଲଗୁଡିକ ମିଆଦ ପୂର୍ଣ୍ଣ ହୁଏ | ତେଣୁ, ଆମକୁ କିଛି ସମୟ ଇମେଲକୁ ପଠାଇବାକୁ ପଡିବ | ଆମେ ଏଥିପାଇଁ ଏକ ମ basic ଳିକ ଫର୍ମ ବ୍ୟବହାର କରିପାରିବା ଏବଂ ଭେରିଫିକେସନ୍ ଇମେଲ୍ ପଠାଇବାକୁ ଫଙ୍କସନ୍ କୁ ଡାକିବା | ଆମେ ଏହା କରିବା ପୂର୍ବରୁ ଆସନ୍ତୁ ନିଶ୍ଚିତ କରିବା ଯେ ପଞ୍ଜୀକରଣ ଦୃଶ୍ୟକୁ ଏକ ଫଙ୍କସନ୍ କଲ୍ ଯୋଡିବା ଦ୍ୱାରା ଏହା ପ୍ରଥମ ସ୍ଥାନରେ ପଠୁଛି | ରେଜିଷ୍ଟର ଭ୍ୟୁରେ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରିବା ପୂର୍ବରୁ ଏହି ଲାଇନକୁ ଯୋଡନ୍ତୁ, DE ପିନିଷ୍ଟର, ଉପଭୋକ୍ତା / Views.py ରେ |

nano users/views.py
# ... (ପରେ) ଡି ଡି ଡିଗ୍ ରେଜିଷ୍ଟର (ଅନୁରୋଧ):
# ... (ପୂର୍ବରୁ) ପୁନ ir ନିର୍ଦ୍ଦେଶ (

ଆପଣଙ୍କୁ ସେହି କୋଡ୍ ସ୍ନିପେଟରେ ପ୍ରଥମ ଏବଂ ଶେଷ ରେଖା ଯୋଡିବାକୁ ପଡିବ ନାହିଁ, କେବଳ ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ରେଜିଷ୍ଟର ଦୃଶ୍ୟ ଉପଭୋକ୍ତାଙ୍କୁ ଯାଞ୍ଚ ଇମେଲ ପଠାଏ | ଏହା ଏହିପରି ଦେଖାଯିବା ଉଚିତ୍:

# ... ଆମଦାନୀ |
            send_verification_email(user) # ଏହି ରେଖା ଯୋଡିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ!

ବର୍ତ୍ତମାନ, ଆକ୍ଟିଭେସନ୍ ଇମେଲ୍ ପଠାଇବା ପାଇଁ ଆମେ ଏକ ଫର୍ମ ଯୋଡିବାକୁ ପଡିବ | ବ୍ୟବହାରକାରୀଙ୍କ / forms.py, ନିମ୍ନଲିଖିତ ଫର୍ମକୁ ଯୋଡନ୍ତୁ:

# ... (ଆମଦାନୀ)

ଆମେ ମଧ୍ୟ ଏହି RESSNESS ଇମେଲ୍ ଆକ୍ଟିଭେସନ୍ ଫର୍ମ ସହିତ ଅନୁରୂପ ଏକ ଟେମ୍ପଲେଟ୍ ଆବଶ୍ୟକ କରିବୁ | ଚାଲ ଏହି ଟେମ୍ପଲେଟ୍ ଯୋଡିବା | ଫାଇଲ୍ ସେଡିଟ୍ କରନ୍ତୁ:

nano users/templates/users/resend_activation.html

ପରବର୍ତ୍ତୀ ସମୟରେ, ଫାଇଲକୁ ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ |

Wown, ତାହା ବହୁତ! ବର୍ତ୍ତମାନ, ଯେତେବେଳେ ଆମେ ଆମର ସର୍ଭରକୁ କୋଡ୍ ନିୟୋଜନ କରି, ଆମେ html ଇମେଲ୍ ପଠାଇବାକୁ ଏବଂ ଇମେଲରେ ଏକ କ୍ଲିକ୍ ସହିତ ୟୁଜର୍ ଆକାଉଣ୍ଟଗୁଡ଼ିକୁ ସକ୍ରିୟ କରିବାକୁ ସମର୍ଥ ହେବା | ଆମେ ମଧ୍ୟ ଏକ ସରଳ ସ୍ୱାଗତ ଇମେଲ୍ ପଠାଇବାକୁ ଚାହୁଁ, ତେଣୁ ଆସନ୍ତୁ ଏହାକୁ କିପରି କରାଯାଏ | ବ୍ୟବହାରକାରୀ / ଇମେଲ .ପି ରେ ପଛକୁ, ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ:

def sendwelcomeemail(user):
    User = get_user_model()
    html = open('{}/users/welcome_email.html'.format(settings.BASE_DIR)).read()
    subject = 'Welcome to ' + settings.SITE_NAME + ', {{ username }}!'
    template = Template(html)
    subjtemplate = Template(subject)
    context = Context({'username': user.username, 'base_url': settings.BASE_URL, 'model_name': 'Daisy Holton, 'site_name': settings.SITE_NAME})
    renderedtemplate = template.render(context)
    subjcontext = Context({'username': user.username})
    subjrenderedtemplate = subjtemplate.render(subjcontext)
    send_html_email(user, subjrenderedtemplate, renderedtemplate)

ଆହୁରି ମଧ୍ୟ, ଏହି ସମସ୍ତ ସୂଚନାକୁ ପ୍ରଦାନ କରିବା ପାଇଁ ଆମକୁ ଏକ ଟେମ୍ପଲେଟ୍ ଆବଶ୍ୟକ ହେବ | ମୋ ୱେବସାଇଟ୍ ରେ ଟେମ୍ପଲେଟ୍ ନିମ୍ନରେ ଦେଖାଯାଉଛି, କିନ୍ତୁ ତୁମେ ଏହାକୁ ଫର୍ମାଟ୍ କରିବାକୁ ସ୍ୱାଗତ |

ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଆମର ଷ୍ଟୋଂ ଶରୀର ବନ୍ଦ କରିବାର ନାହିଁ, କାରଣ ଆମେ HTML ରଚନା ଲିଙ୍କ ଯୋଡିବାବେଳେ ଆମେ କମାଣ୍ଡ୍ ଯୋଡିବା | ଏଗୁଡ଼ିକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ, କିନ୍ତୁ ଆମେ ସେମାନଙ୍କୁ ଦୁଇଥର ବ୍ୟାଖ୍ୟା କରିବାକୁ ଚାହୁଁନାହୁଁ |

ତେବେ ପରବର୍ତ୍ତୀ କ'ଣ? ଆମେ ଏକ ଦୀର୍ଘ ରାସ୍ତା ଆସିଛୁ | ବାସ୍ତବରେ, ଆମେ ଏକ ସର୍ଭରକୁ ସାଇଟ୍ ନିୟୋଜିତ କରିବାକୁ ପ୍ରସ୍ତୁତ ହେବା ଉଚିତ | ଆମେ @Login_required କର୍କଟର୍ ଯୋଡିପାରିବା ଏବଂ ଆମର ଦୃଶ୍ୟକୁ ସୁରକ୍ଷିତ କରାଉ, ୟୁଜର୍ ସାଇନଅପ୍ ନିଅ, ଅନୁରୂପ ସୂଚନା ପଠାନ୍ତୁ ଏହାର ଆଧାର ଯାହାକି ଏକ ୱେବସାଇଟ୍ ପ୍ରାସଙ୍ଗିକ ରହିବାକୁ ଆବଶ୍ୟକ ଅଟେ | ଆମେ ଅଧିକ ଉପଯୋଗୀ ବ features ଶିଷ୍ଟ୍ୟଗୁଡିକ ଯୋଡିବା, ଏବଂ ତା'ପରେ ଏକ ସୁଦୂର ସର୍ଭର ଅଭିବାଦନ ପାଇଁ ଆମର କୋଡ୍, ଡୋମେନ୍ ବିନ୍ୟାସ ଏବଂ ଫିଲ୍ଟର୍ ଅପ୍ ପାଇଁ ଏକ ମେଲ୍ ବୁ .ିବା |

ଆମେ ମଧ୍ୟ ଏକ ପାସୱାର୍ଡ ପୁନ et ସେଟ୍ ଭ୍ୟୁ ମଧ୍ୟ ଆବଶ୍ୟକ କରିବୁ, ତେଣୁ ଚାଲନ୍ତୁ ପ୍ରକୃତରେ ଶୀଘ୍ର ଯୋଡିବା | ପାସୱାର୍ଡ ପୁନ res ସେଟ୍ ଦୃଶ୍ୟରେ ଡିଜାଙ୍ଗୋ କିଛି ଫଙ୍କସନ୍ ଭଙ୍ଗା ହୋଇଛି, କିନ୍ତୁ ଆମେ ଆମର ନିଜସ୍ୱ ଦୃଶ୍ୟ, ଇମେଲ୍ ଟେମ୍ପଲେଟ୍, ଫର୍ମ ଏବଂ URL ସ୍ spore ାଣ୍ଟେ ଲେଖିବା କିପରି ଦେଖିବା | ଉପଭୋକ୍ତା / ଦୃଶ୍ୟରେ ଦେଖାଯାଉଥିବା ଦୃଶ୍ୟଟି କିପରି ଦେଖାଯାଉଛି ତାହା ଏଠାରେ ଅଛି |

# ... ଆମଦାନୀ |

ଏହି ଫର୍ମ DjAgo ରେ ନିର୍ମିତ, କିନ୍ତୁ ପାସୱାର୍ଡ ପୁନ et ସେଟ୍, ବ୍ୟବହାରକାରୀ / ଆପୋନିକେଟ୍ / adreset_confirm.html ନିଶ୍ଚିତ କରିବାକୁ ଆପଣଙ୍କୁ ଏକ ଟେମ୍ପଲେଟ୍ ଆବଶ୍ୟକ କରେ |

ଏକ ପାସୱାର୍ଡ ପୁନ elems ପୁନ recirectory, ଉପଭୋକ୍ତା / ଟେମ୍ପଲେଟ୍ / ଉପଭୋକ୍ତା / ପାସୱାର୍ଡ / ପାସୱାର୍ଡ_ରେସେଟ।

ଇମେଲ ସହିତ ଇମେଲ ପାଇଁ ଟେମ୍ପଲେଟ୍, ପାସୱାର୍ଡ / ପାସୱାର୍ଡ / ପାସୱାର୍ଡ / ପାସୱାର୍ଡ / ପାସୱାର୍ଡ_ଲେଟି .hml ରେ ଏକ ଲିଙ୍କ୍ ଅଛି | Django ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଏହି ଫାଇଲକୁ ବ୍ୟାଖ୍ୟା କରିବ |

ଆମେ ଆଉ ଦୁଇଟି ଟେମ୍ପଲେଟ୍ ଆବଶ୍ୟକ କରିବୁ | ପ୍ରଥମଟି ହେଉଛି ଯେ ଇମେଲ୍ ପଠାଯାଇଛି ବୋଲି ନିଶ୍ଚିତ କରିବା | ଏଗୁଡିକ ପାଇଁ ଦୃଶ୍ୟ ପୂର୍ବରୁ ଡିଜାଙ୍ଗୋରେ ଅଛି, ତେଣୁ ଆମେ କେବଳ URLS.PY ରେ ସେମାନଙ୍କୁ ସମ୍ବୋଧିତ କରିବା ଆବଶ୍ୟକ | ଏହି ଟେମ୍ପୋରୀ ବ୍ୟବହାରକାରୀ / ଟେମ୍ପଲେଟ୍ / ବ୍ୟବହାରକାରୀଙ୍କ / ପାସୱାର୍ଡ_reset_done.html ରେ ଅବସ୍ଥିତ |

ଏବଂ ଶେଷରେ, ପାସୱାର୍ଡ ସଂପୂର୍ଣ୍ଣ ହେବା, ଉପଭୋକ୍ତା / ଆପେଲେଟ୍ / ୟୁଜର୍ / ପାସୱାର୍ଡ_reset_cometter.html |

ବର୍ତ୍ତମାନ ଏହି ଦର୍ଶକ ପାଇଁ ଆମକୁ URL s ାଞ୍ଚା ଦରକାର | Users / URLS.PY ରେ, ନିମ୍ନଲିଖିତ URL s ାଞ୍ଚାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ:

    # ... ପୂର୍ବ URL ଗୁଡିକ ଏଠାରେ |

ଚାରୋଟି ଟେମ୍ପଲେଟ୍, ତାହା ବହୁତ! କିନ୍ତୁ ବର୍ତ୍ତମାନ ଆମେ ୱେବ୍ ବ୍ରାଉଜରରୁ ଆଦ attired କରିବାକୁ ପଡିବ, ଉପଭୋକ୍ତାଙ୍କର ପାସୱାର୍ଡକୁ ପୁନ res ସେଟ୍ କରିବାକୁ ସମର୍ଥ ହେବା ନିଶ୍ଚିତ କି, |

ମୁଁ ବୁିପାରୁଛି ଏହା ଏକ ବହୁତ କୋଡ୍ | ଯଦି ଏହା ଆପଣଙ୍କ ମୁଣ୍ଡ ଉପରେ ଟିକିଏ ଦେଖାଯାଏ, ଠିକ୍ ଅଛି | ତୁମେ ଉନ୍ନତି କରିବ, ତୁମର ବୁ understanding ାମଣାରେ ଉନ୍ନତି ହେବ, ଏବଂ ତୁମେ ଖୁବ୍ ଶୀଘ୍ର କୋଡ୍ ସହିତ ଅଧିକ ଦକ୍ଷ ହୋଇଯିବ | ଯଦି ତୁମେ ସଂପୂର୍ଣ୍ଣ ହଜିଯାଅ, ମୁଁ ତାଙ୍କ ସଫ୍ଟୱେର୍ କୁ ଅନଲାଇନରେ ମେସେଜ୍ କରିବା ପାଠ୍ୟକ୍ରମରେ କାର୍ଯ୍ୟ କରିବା ପରେ ପରେ ଏହି ସଫ୍ଟୱେୟାରକୁ ଫେରିବା ପରେ ଏହା ପରାମର୍ଶ ଦିଏ | ଏଗୁଡିକ ସାଧାରଣତ compt ଆରମ୍ଭ କରିବାକୁ ମାଗଣା, ଏବଂ ଯେତେବେଳେ ଆପଣ ଏହି ପ୍ରକଳ୍ପକୁ ଫେରିବା ଆବଶ୍ୟକ କରନ୍ତି ତେବେ ଆପଣ ସଫଳ ହେବା ଆବଶ୍ୟକ କରୁଥିବା ସମସ୍ତ ଜିନିଷ ମାଧ୍ୟମରେ ଆପଣଙ୍କୁ ମାର୍ଗଦର୍ଶନ କରିବେ | ଯଦି ତୁମେ ଜାରି ରଖିବାକୁ ଅନୁଭବ କରୁଛ, ପରବର୍ତ୍ତୀ ସମୟରେ, ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ତୁମର କୋଡ୍ ନିୟୋଜନ ଏବଂ ଏକ ମେଲ୍ ସର୍ଭର ସେଟ୍ କରିବା ସହିତ, ଆମେ ସର୍ବଦା କିଛି ସରଳ କମାଣ୍ଡ୍ ସେଟ୍ ଅପ୍ କରିବା |

ଏକ ସୁଦୂର ସର୍ଭର ନିୟୋଜନ କରିବା ପୂର୍ବରୁ ଆମକୁ ଶେଷ ଜିନିଷ ଆମ ସାଇଟ୍କୁ ଟିକିଏ ସୁରକ୍ଷିତ କରେ | ଆପଣ ଲକ୍ଷ୍ୟ କରିବେ ଯେ ଲଗଇନ୍ ଭ୍ୟୁ କେବଳ ଏକ ଉପଯୋଗକର୍ତ୍ତା ନାମ ଏବଂ ପାସୱାର୍ଡ ନେଇଥାଏ, ଏବଂ କ lal ଣସି ମଲ୍ଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ କିମ୍ବା ଗୋଟିଏ ସମୟ କୋଡ୍ ନାହିଁ | ଏହା ଏକ ସହଜ ଫାଇଟିକ୍, ଏବଂ ସମାନ କୋଡ୍ ସହିତ, ଆମେ ଆମ ସାଇଟ୍ ଟେକ୍ସଟ୍ ଟେକ୍ସଟ୍ ମେସେଜ୍ ପଠାନ୍ତୁ ଏବଂ ସର୍ଭରକୁ ପଠାଯାଇଥିବା ଟେକ୍ସଟ୍ ମେସେଜ୍ ମଧ୍ୟ ସଂପୂର୍ଣ୍ଣ ଭାବରେ ପ୍ରତିକ୍ରିୟାଶୀଳ ଅଟେ | ଆରମ୍ଭ କରିବାକୁ, ଆମେ ୟୁଜର୍ ମଡେଲଗୁଡିକକୁ ଫେରିଯିବା ଏବଂ ଏକ ଟାଇମଷ୍ଟମ୍ପ୍ ସିଗର୍ ଯୋଡିବା ଯାହା ପ୍ରତ୍ୟେକ ଲଗଇନ୍ ପ୍ରତିନିଧିତ୍ୱ କରିବ | ଆମେ ୟୁଜର୍ ମଡେଲରେ ଏକ ଅନନ୍ୟ, ଘୂର୍ଣ୍ଣନ ସ୍ଥାନାନ୍ତର ମଧ୍ୟ ଯୋଡିବା ଯାହାକି ଆମର ଲଗଇନ୍ ରେ ଅତିରିକ୍ତ ସୁରକ୍ଷା ଯୋଗ କରିବା ପାଇଁ ବ୍ୟବହୃତ ହେବ | ବ୍ୟବହାରକାରୀ ମଡେଲଗୁଡିକ, ବ୍ୟବହାରକାରୀ / ମଡେଲଗୁଡିକ ସଂପାଦନ କରନ୍ତୁ, ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ:

# UUID, ଟାଇମଷ୍ଟ୍ୟାମ୍ପ ସାଇନର୍ ଏବଂ URL ଜେନେରେଟର (ଓଲଟା) ଆମଦାନୀ କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ |
    # ଏଠାରେ ଏହି କୋଡ୍ ଯୋଡନ୍ତୁ |
    # ଏବଂ ଏହି କାର୍ଯ୍ୟ ଯୋଡନ୍ତୁ |
            TimestampSigner().unsign(key, max_age=60 * settings.AUTH_VALID_MINUTES) # 3 ମିନିଟ୍ ପାଇଁ ବ id ଧ |

ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଆପଣଙ୍କର ଉପଭୋକ୍ତା / ମଡେଲଗୁଡିକ ଏହା ବ୍ୟତୀତ ମନ୍ତବ୍ୟଗୁଡିକ ବ୍ୟତୀତ ମନ୍ତବ୍ୟ (# ସହିତ କୋଡ୍) ବ୍ୟତୀତ | ଏହାକୁ ଭାଙ୍ଗିବା, ଏହା ସରଳ ଅଟେ | ଆମର କିଛି ଆମଦାନୀ, ଏକ କ୍ରିପ୍ଟୋଗ୍ରାଫିକ୍ ଉପଯୋଗିତା ଯାହା ଏକ କ୍ରିପ୍ଟୋଗ୍ରାଫିକ୍ ଉପଯୋଗୀତା ଅଛି ଯାହା ଏକ ସୁରକ୍ଷିତ କୋଡ୍ ସୃଷ୍ଟି କରିପାରିବ ନିଶ୍ଚିତ କରିବାକୁ ପଡିବ ଯେ ଏହା ଏକ ସୁରକ୍ଷିତ କୋଡ୍ ସୃଷ୍ଟି କରିପାରିବ କି ନାହିଁ ନିଶ୍ଚିତ କରିବାକୁ ପଡିବ, ଏବଂ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ସଂଖ୍ୟାରୁ ପୁରୁଣା ନୁହେଁ | ଆମେ ଏକ UUID ବ୍ୟବହାର କରୁ, ଯାହା ଏକ ସ୍ୱତନ୍ତ୍ର ପରିଚାୟକ ଯାହା ଏକ ସ୍ୱତନ୍ତ୍ର ପରିଚାୟକ ଯାହାକି ଟୋକେନ୍ ସାଇନ୍ ଇନ୍ ରେ, ଏବଂ ୟୁ ଉଲଭରେ ଯାହାକୁ ଦିଆଯାଇଥିବା URl ରେ, ଯେଉଁଠାରେ ଟୋକେନ୍ ଉପଭୋକ୍ତାଙ୍କୁ ପଠାଏ | ଦୁଇଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ଦୃଶ୍ୟ ନିର୍ମାଣ ପାଇଁ ଆମେ ଏହି ମ basic ଳିକ କ୍ରିପ୍ଟୋଗ୍ରାଫି ଏହାକୁ ବ୍ୟବହାର କରିବୁ | ଆମେ ଅନ୍ୟ କିଛି କରିବା ପୂର୍ବରୁ, ଆସନ୍ତୁ ମ୍ୟାଗୋର୍ସନ୍ ଚଲାଇବା ତେଣୁ ଆମର ୟୁଜର୍ ମଡେଲଗୁଡିକ ଅଦ୍ୟତନ କରାଯାଇଛି | Mance.PY ସହିତ ଡିରେକ୍ଟୋରୀରେ, ସ୍ଥାନାନ୍ତରଣ କରିବା ଏବଂ ସଂପୂର୍ଣ୍ଣ କରିବା ପାଇଁ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଚଲାନ୍ତୁ |

source venv/bin/activate
python manage.py makemigrations && python manage.py migrate

ଏହା ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ କାରଣ ପ୍ରତ୍ୟେକ ଥର ମଡେଲଗୁଡିକରେ ପରିବର୍ତ୍ତନ କରିବା, ଆମେ ଟେବୁଲ୍ ତିଆରି କରିବା ପୂର୍ବରୁ, ଆମେ ପ୍ରକୃତରେ ମଡେଲଗୁଡିକ ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଡିଫଲ୍ଟ ସହିତ ଡାଟାବେସ୍ ସହିତ ଅପଡେଟ୍ କରିବୁ ଏବଂ ଡାଟାବେସ୍ ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଡିଫଲ୍ଟ ସହିତ ଡାଟାକୁ ଅପଡେଟ୍ କରିବୁ |

ପରବର୍ତ୍ତୀ ସମୟରେ ଏକ ମାଧ୍ୟମିକ ପ୍ରାମାଣିକିକରଣ ଦୃଶ୍ୟକୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରିବା ପାଇଁ ଆମର ଲଗଇନ୍ ଦୃଶ୍ୟକୁ ଇମ୍ପୋର୍ କରିବା | ଉପଯୋଗକର୍ତ୍ତାଗଣ / Views.py ରେ, ଲଗଇନ୍ ଫଙ୍କସନ୍ ଅପସାରଣ କରନ୍ତୁ ଏବଂ ବ୍ୟବହାରକାରୀ ମଡେଲଗୁଡିକରେ ସୃଷ୍ଟି ହୋଇଥିବା URL କୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରନ୍ତୁ |

# ... ଆମଦାନୀ |
        if user and user.profile.can_login < timezone.now(): # ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଉପଭୋକ୍ତା ଲଗ୍ ଇନ୍ କରିପାରିବେ କି ନାହିଁ ଆମେ ବର୍ତ୍ତମାନ ଯାଞ୍ଚ କରୁ |
            # ଏଠାରେ ଥିବା auth_login ଫଙ୍କସନ୍ ଅପସାରଣ କରନ୍ତୁ |
                return redirect(user.profile.create_auth_url()) # ଧ୍ୟାନ ଦିଅନ୍ତୁ ଆମେ ଏଠାରେ ଏକ ନୂତନ URL କୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରୁ |
            else: # ଯଦି ଉପଭୋକ୍ତା ମଲ୍ଟି-ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ବ୍ୟବହାର କରୁ ନାହାଁନ୍ତି, ତେବେ ସେମାନଙ୍କୁ ଲଗ୍ ଇନ୍ କରନ୍ତୁ |
        else: # ଯଦି ଲଗଇନ୍ ସଫଳ ହୋଇନାହିଁ,
            user = User.objects.filter(username=username).first() # ଏହା ହେଉଛି ସେହି ଅଂଶ ଯେଉଁଠାରେ ଆମେ ୟୁଜର୍ସ ପ୍ରୋଫାଇଲ୍ ଅପଡେଟ୍ କରୁ |
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # ତେଣୁ ସେମାନେ କିଛି ସେକେଣ୍ଡ ପାଇଁ ପୁନର୍ବାର ଲଗ୍ ଇନ୍ କରିପାରିବେ ନାହିଁ |

ତେଣୁ ଏହା ବହୁତ ସରଳ, ଯେତେବେଳେ ଆମେ ସୃଷ୍ଟି କରୁ, ଦୁଇଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ଦୃଶ୍ୟକୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରିବାର ଏକ ଉପାୟ ଅଛି | ଯଦି ଉପଭୋକ୍ତା ଏକ ଫୋନ୍ ନମ୍ବର ଯୋଗ କରିନାହାଁନ୍ତି ତେବେ ଆମର ଏକ ଫଲବ୍ୟାକ୍ ମଧ୍ୟ ଅଛି | ଶୀଘ୍ର ଏକ ଫୋନ୍ ନମ୍ବର ଯୋଡିବାକୁ ଆମେ ଏକ ମ basic ଳିକ ଦୃଶ୍ୟ ଯୋଡିବା ଏବଂ ଶୀଘ୍ର ଏକ ପାଠ୍ୟ ବାର୍ତ୍ତା ସହିତ ଲଗ୍ ଇନ୍ କରିବା |

ପ୍ରଥମେ, ଆମ କୋଡ୍ ଠାରୁ ଏକ ଟେକ୍ସଟ୍ ମେସେଜ୍ ପଠାଇବା ପାଇଁ ଆମକୁ ଏକ ସହଜ ଉପାୟ ଆବଶ୍ୟକ | ଏହା କରିବା ପାଇଁ, ଆମେ ଅନେକ ଏପ୍ରିଲରୁ ବାଛିପାରିବା, କିନ୍ତୁ ମୋ ମତରେ ସହଜତମ ବ୍ୟକ୍ତି ବୁଧୟ | ଛୋଟ ପ୍ରୋଜେକ୍ଟ ପାଇଁ ସେମାନେ ମଧ୍ୟ ଭଲ ମୂଲ୍ୟବାନ, ଏବଂ ବଲ୍କ ରିହାତି ସହିତ | ଟ୍ୱିଲିଲିଆ ଡଟ୍ କମ୍ ରେ ଏକ ଆକାଉଣ୍ଟ୍ ସୃଷ୍ଟି କରନ୍ତୁ, ଆପଣଙ୍କର ପ୍ରୋଜେକ୍ଟ ବିଷୟରେ କିଛି ବିବରଣୀ ପୁରଣ କରନ୍ତୁ, ଏକ ଫୋନ୍ ନମ୍ବର କିଣନ୍ତୁ ଏବଂ ଆପଣଙ୍କର API କିଗୁଡ଼ିକୁ ଆପଣଙ୍କର ସେଟିଂସମୂହକୁ କପି କରନ୍ତୁ। ତାପରେ, ଏକ ନୂତନ ଫାଇଲ୍, ବ୍ୟବହାର / SMS.PY ଅଧୀନରେ ଏହି କୋଡ୍ ଯୋଡନ୍ତୁ |

nano users/sms.py
# ସମସ୍ତ ଆବଶ୍ୟକୀୟ ପ୍ୟାକେଜ୍ ଆମଦାନୀ କରନ୍ତୁ |
# ଏହି କୋଡ୍ ଟ୍ୱିଲିଲିଓ ସହିତ ପାଠ୍ୟ ପଠାଏ |
# ଅନେକ ସଂଖ୍ୟା ସହିତ ଏକ ସଂଖ୍ୟା ପାଇବା ପାଇଁ ଏକ ସାହାଯ୍ୟକାରୀ କାର୍ଯ୍ୟ |
# ଚାଳକକୁ ଯାଞ୍ଚ କରିବାକୁ ପାଠ ପଠାନ୍ତୁ |
# ଏହି କାର୍ଯ୍ୟ ସହିତ ଯେକ any ଣସି ପାଠ ପଠାନ୍ତୁ |
# ଏହି କାର୍ଯ୍ୟ ସହିତ କୋଡ୍ ବ valid ଧ କରନ୍ତୁ |
# ସମୟକୁ ବ valid ଧ କରନ୍ତୁ |

ଆପଣଙ୍କ ସେଟିଙ୍ଗ୍ ସଠିକ୍ ଭାବରେ ପରିବର୍ତ୍ତନ କରିବାକୁ ନିଶ୍ଚିତ ହୁଅନ୍ତୁ, ଆପଣଙ୍କର ଚାବି ସହିତ ଏହି ରେଖାଗୁଡ଼ିକୁ ଯୋଡିବା:

# ଆପଣଙ୍କର ଟ୍ୱିଲିଲୋ ଡ୍ୟାସବୋର୍ଡରୁ ଏହାକୁ କପି କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ |
AUTH_VALID_MINUTES = 3 # TFA ପୃଷ୍ଠା ସଂଖ୍ୟା ତୁରନ୍ତ ଥରେ ସକ୍ରିୟ ଅଛି |

ପ୍ରଥମେ, ଆମକୁ ଦୁଇଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ଦୃଶ୍ୟ ପାଇଁ ଫର୍ମଗୁଡିକ ଆବଶ୍ୟକାଯିବ | ବ୍ୟବହାରକାରୀ / formyite.py, ନିମ୍ନଲିଖିତ କୋଡ୍ ଯୋଡନ୍ତୁ |

# ... ଆମଦାନୀ |
# ଆମର ଫୋନ୍ ନମ୍ବର ପ୍ରବେଶ ପାଇଁ ଏକ ଫର୍ମ |
# ପ୍ରାମାଣିକିକରଣ ପାଇଁ ଏକ ଫର୍ମ |

ପରବର୍ତ୍ତୀ, ଆସନ୍ତୁ ଉପଭୋକ୍ତା / ଦୃଶ୍ୟରେ ଦୃଶ୍ୟ ସୃଷ୍ଟି କରିବା |

# ... ଆମଦାନୀ |

ଆମେ ଏହି ଉଭୟ ଦୃଷ୍ଟିକୋଣ ପାଇଁ ମଧ୍ୟ ଟେମ୍ପଲେଟ୍ ଆବଶ୍ୟକ କରିବୁ | ପ୍ରଥମେ MFA ଟେମ୍ପଲେଟ୍ ଯୋଡିବା |

nano users/templates/users/mfa.html

ଟେମ୍ପଲେଟ୍ ରେ ଏହି HTML କୋଡ୍ ଯୋଡନ୍ତୁ |

ଏହା ବହୁତ ସୁନ୍ଦର ସ୍ chary ାଭାବିକ ଅଟେ | ଫର୍ମ ଏକ କୋଡ୍ କିମ୍ବା ଖାଲି କୋଡ୍ ପଠାଏ, ଏବଂ ଯଦି ଆମେ ଏକ ଖାଲି କୋଡ୍ ଗ୍ରହଣ କରୁ ତେବେ ଆମେ କୋଡ୍ ପଠାଉଛୁ | ତା'ପରେ ଆମର କେବଳ ଦୁଇଟି ଦାଖଲ ବଟନ୍ ଅଛି, ଏବଂ ଏହି ଉପାୟରେ ଆମେ ମଧ୍ୟ ବଟନ୍ ସହିତ କୋଡ୍ ପଠାଇ ପାରିବା | ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ଏକ ଫୋନ୍ ନମ୍ବର ଯୋଡିବା ପାଇଁ ଏକ ସରଳ ଫର୍ମ ଯୋଗ କରିବୁ |

nano users/templates/users/mfa_onboarding.html

ନିମ୍ନଲିଖିତ HTML ଯୋଡନ୍ତୁ:

ଏହି ଫର୍ମ ବହୁତ ସରଳ, ଏହା କେବଳ ଫୋନ୍ ନମ୍ବର ଫର୍ମକୁ ପ୍ରଦାନ କରିଥାଏ ଏବଂ ଆମେ ସୃଷ୍ଟି କରିଥିବା ଫୋନ୍ ନମ୍ବର ଫର୍ମକୁ ପ୍ରଦାନ କରେ ଏବଂ ଉପଭୋକ୍ତାଙ୍କୁ ଏକ ଫୋନ୍ ନମ୍ବର ଯୋଗ କରିବାକୁ ଦିଏ |

ଏହା ପ୍ରକୃତରେ ଭଲ ଦେଖାଯାଏ! ଯେପର୍ଯ୍ୟନ୍ତ ସବୁକିଛି ସଠିକ୍ ଭାବରେ ସେଟ୍ ଅପ୍ ହୋଇଛି, ଆମେ ବାର୍ତ୍ତା ପଠାଇବାକୁ ସମର୍ଥ ହେବା ଉଚିତ, ଏବଂ ଆମେ URL s ାଞ୍ଚା ଯୋଡିବା ମାତ୍ରେ ଉପଭୋକ୍ତାଙ୍କୁ ଲଗ୍ ଇନ୍ କରିବା | ଆମେ ସେଟ୍ ଅପ୍ କରିବା ଆବଶ୍ୟକ କରୁଥିବା ଶେଷ ଜିନିଷ ହେଉଛି ଏକ ପ୍ରୋଫାଇଲ୍ ଦୃଶ୍ୟ ତେଣୁ ଆମେ ନିଶ୍ଚିତ କରିପାରିବା ଯେ ଉପଭୋକ୍ତା ସେମାନଙ୍କ ଫୋନ୍ ନମ୍ବରକୁ ଲଗ୍ ଇନ୍ କରି ଆମେ ଏକ "ଷ୍ଟପ୍" ଯୋଡିବାକୁ ଚାହୁଁ, ତେଣୁ ଉପଭୋକ୍ତା "ଷ୍ଟପ୍" ଯୋଡିବାକୁ ଚାହିଁବୁ, ଭବିଷ୍ୟତର ପାଠ୍ୟ ସନ୍ଦେଶରୁ ବାଛିବା ପାଇଁ ଉପଭୋକ୍ତା "ଷ୍ଟପ୍" ଯୋଡିବାକୁ ଚାହିଁବୁ |

ଆସୋସିଡସ୍ / Views.py କୁ ଏକ ପ୍ରୋଫାଇଲ୍ ଦୃଶ୍ୟ ଯୋଡିବା | ଏହି ଦୃଶ୍ୟ ଉପଭୋକ୍ତାଙ୍କର ବାୟୋ, ଇମେଲ, ଚାଳକନାମ ଏବଂ ଫୋନ୍ ନମ୍ବରକୁ ଅପଡେଟ୍ କରିବ | ପ୍ରଥମେ, ଆମେ ଉପଭୋକ୍ତା / formes ରେ ଆଉ ଦୁଇଟି ଫର୍ମ ଆବଶ୍ୟକ କରିବୁ |

# ... ଆମଦାନୀ |

ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ଏହି ଦୁଇଟି ଫର୍ମ ବ୍ୟବହାର କରିବାକୁ ଏକ ଦୃଶ୍ୟ ସୃଷ୍ଟି କରିପାରିବା | ଉପଯୋଗକର୍ତ୍ତା / ଦର୍ଶନ ସଂପାଦନା କରନ୍ତୁ ଏବଂ ଦୃଶ୍ୟରେ ଯୋଗ କରନ୍ତୁ |

# ଏହି ଆମଦାନୀଗୁଡିକ ଯୋଡନ୍ତୁ |

ଏହି ଦୃଶ୍ୟ ପାଇଁ ଆମେ ମଧ୍ୟ ଏକ ଟେମ୍ପଲେଟ୍ ଆବଶ୍ୟକ |

nano users/templates/users/profile.html

ଆପଣ ଲକ୍ଷ୍ୟ କରିବେ ଏହା ଏକ ଯଥେଷ୍ଟ ସରଳ ଫର୍ମ, କିନ୍ତୁ ଏଥିରେ କିଛି ଜାଚାସ୍କ୍ରିପ୍ଟ ଅଛି ଯାହା ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଫର୍ମର ବିଷୟବସ୍ତୁ ପୋଷ୍ଟ କରେ | ଏହା ପାଇବା ପାଇଁ ଉପଯୋଗୀ, ତେଣୁ ଆପଣ ପ୍ରତ୍ୟେକ ଥର ଦାଖଲ ନ ନ ଯାଇ EDITE କରିବାକୁ ସକ୍ଷମ ଅଟନ୍ତି |

ପରବର୍ତ୍ତୀ ସମୟରେ, ଉପଭୋକ୍ତା URL ପାଟରରେ ଥିବା ଏହି ସମସ୍ତ ଦୃଶ୍ୟକୁ ପ୍ରତିନିଧିତ୍ୱ କରୁଥିବା URL ଗୁଡିକ ଆମେ ଆବଶ୍ୟକ କରନ୍ତି | ଉପଯୋଗକ୍ଷା / urls.py ସଂପାଦନ କରନ୍ତୁ ଏବଂ ଏହି କୋଡ୍ ଯୋଡନ୍ତୁ:

# ... ପୂର୍ବ କୋଡ୍, ଆମଦାନୀ |
# ... URL s ାଞ୍ଚାସ୍ ଆମେ ପୂର୍ବରୁ ପ୍ରବେଶ କରିଥିଲୁ, ପରବର୍ତ୍ତୀ ତିନୋଟି ଧାଡି ଯୋଗ କର |

ଆମର ପ୍ରୋଜେକ୍ଟ ପରୀକ୍ଷା କରିବାକୁ ବର୍ତ୍ତମାନ ଏକ ଭଲ ସମୟ | କିନ୍ତୁ ପ୍ରଥମେ, ଚାଲ ଅନ୍ୟ ଏକ ବ୍ୟାକଅପ୍ ଚଲାଇବା |

backup

ଏବଂ ସର୍ଭର ଚଲାନ୍ତୁ | ଆମେ ଏକ ଲିନକ୍ସ ସର୍ଭରକୁ ନିୟୋଜିତ କରିବା ପୂର୍ବରୁ, ଆକାଉଣ୍ଟରେ ଦୁଇଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣକୁ ସକ୍ଷମ କରିବା ଏକ ଉତ୍ତମ ଧାରଣା | ଆମେ ଆମର ପ୍ରୋଫାଇଲ୍ URL, / ବ୍ୟବହାରକାରୀ / ପ୍ରୋଫାଇଲ / ଆମର ଫୋନ୍ ନମ୍ବର ପ୍ରବେଶ କରିବା ପରେ ପ୍ରାମାଣିକିକରଣକୁ ସକ୍ଷମ କରିବାକୁ ବାକ୍ସକୁ ଯିବା ପାଇଁ ପ୍ରସ୍ତୁତ କରିବୁ, ଏବଂ ତା'ପରେ ଫର୍ମ ଦାଖଲ କରିବା ପାଇଁ ବାକ୍ସ ଚେକିଂ |

python manage.py runserver localhost:8000

ଆପଣଙ୍କର ୱେବ୍ ବ୍ରାଉଜକୁ ଯାଇ ୱେବ୍ ପେଜ୍କୁ ପରିଦର୍ଶନ କରନ୍ତୁ, ମୁଁ ଏହି ଉଦାହରଣରେ ଗୁଗୁଲ୍ କ୍ରୋମ୍ ବ୍ୟବହାର କରୁଛି ଏବଂ URL HTTPS ପ୍ରବେଶ କରେ: // ଲୋକାଲହୋଷ୍ଟ: 8000 / ଖାତା / ପ୍ରୋଫାଇଲ୍ /

ଆବଶ୍ୟକ ହେଲେ ଆପଣ ଲଗ୍ ଇନ୍ କରିବାକୁ ସମର୍ଥ ହେବେ ଏବଂ ଦୁଇଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣକୁ ସକ୍ଷମ କରିବାକୁ ସମର୍ଥ ହେବେ |

ଏହି ପ୍ରୋଜେକ୍ଟ ଚାଲିବା ପାଇଁ ଏକ ସର୍ଭର ଆବଶ୍ୟକ କରେ ତେଣୁ ଏହା ପ୍ରକୃତରେ ମେଲ୍ ପଠାଇପାରେ | କିନ୍ତୁ ପ୍ରଥମେ, ତ୍ରୁଟି ଦେଖିବା ପାଇଁ ଆମକୁ ଏକ ଉପାୟ ଦରକାର | ଆପଣ ଲକ୍ଷ୍ୟ କରିବେ ଯେ ଯଦି ଆପଣ ତ୍ରୁଟି ନିବାରଣ ମୋଡରେ ସର୍ଭର ଚଲାନ୍ତି, ସେଟିଂସମୂହ ସହିତ ସମାନ, ସେଟି ସ୍ୱୟଂଚାଳିତ ଭାବରେ ତ୍ରୁଟି ଦେଖାଏ | ତ୍ରୁଟି ନିବାରଣ ମୋଡ୍ ବ୍ୟବହାର ନକରି ତ୍ରୁଟି ଦେଖାଇବାକୁ, ଯାହା ଏକ ଉତ୍ପାଦନ ସର୍ଭରରେ ଅସନ୍ତୁଷ୍ଟ ଅଟେ, ତେବେ ଆମେ ଏହା ପାଇଁ ଏକ ଦୃଶ୍ୟ ଯୋଗ କରିବା ଉଚିତ | ସବୁଠାରୁ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ତ୍ରୁଟି ଯାହାକୁ ଆମେ ସମ୍ଭାଳି କରିବାକୁ ସମର୍ଥ ହେବା ଆବଶ୍ୟକ:

ତ୍ରୁଟି 500 - ଆମର କୋଡ୍ ସହିତ ଏକ ସମସ୍ୟା | ତ୍ରୁଟି 404 - ଏକ ପୃଷ୍ଠା ଯାହା ମିଳିଲା ନାହିଁ (ଭଙ୍ଗା URL) ତ୍ରୁଟି 403 - ଏକ ଅନୁମତି ତ୍ରୁଟି ନାରୀ |

ଏହି ତ୍ରୁଟିଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବାକୁ, ଏହି ତ୍ରୁଟିଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବା ପାଇଁ ଏକ ନୂତନ ଆପ୍ ଆଡି ଯିବା |

python manage.py startapp errors

ଆମେ ପୂର୍ବରୁ କରିଥିଲୁ, ଇନଷ୍ଟଲ୍_app ସେଟିଂରେ ଆମେ କରିଥିବା ସେଟିଂସମୂହକୁ ଯୋଡ, ଏବଂ App / aps.py ରେ କିଛି ଦୃଶ୍ୟ ଯୋଡି ଯୋଗ କରି ଆରମ୍ଭ କର, ଯେଉଁଠାରେ ଆପ୍ ତୁମର ଡିଜାଙ୍ଗୋ ପ୍ରୋଜେକ୍ଟର ନାମ |

handler404 = 'errors.views.handler404'
handler500 = 'errors.views.handler500'
handler403 = 'errors.views.handler403'

ତ୍ରୁଟି ଦର୍ଶନ, ଟେମ୍ପଲେଟଗୁଡିକ ଏବଂ ଟିକିଏ ମଧ୍ୟମରୁ ଟିକେ ମିଡିଲ୍ସ ବ୍ୟତୀତ ଏହା କେବଳ | ଆସନ୍ତୁ ସେପରି ବ୍ୟାଖ୍ୟା କରିବା:

# ଏଠାରେ ଆପଣଙ୍କର ମତାମତ ସୃଷ୍ଟି କରନ୍ତୁ |

ପରବର୍ତ୍ତୀ, ଆସନ୍ତୁ ଏହି ତ୍ରୁଟିଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବାକୁ ମିଡିଲ୍ଲେୱେ ବ୍ୟାଖ୍ୟା କରିବାକୁ ଦିଅନ୍ତୁ | ଆମ ମିଡିଲ୍ୱେୟାର ନାମ ସହିତ ସେଟିଂସମୂହରେ ମଧ୍ୟମୟୱେୟାର_କସ୍ ଯୋଗ କରି ଆମେ ଏହା କରିବୁ,

    # ... ପୂର୍ବ ମଧ୍ୟସ୍ଥିତ |

ପରବର୍ତ୍ତୀ, ଚାଲ ମଧ୍ୟମ ସଫ୍ଟୱେର୍ ଯୋଡିବା |

from threading import local
import traceback
from django.utils.deprecation import MiddlewareMixin

_error = local()

class ExceptionVerboseMiddleware(MiddlewareMixin):
    def process_exception(self, request, exception):
        _error.value = traceback.format_exc()

def get_current_exception():
    try:
        return _error.value
    except AttributeError:
        return None

def set_current_exception(exception):
    try:
        _error.value = exception
    except AttributeError:
        print('Attribute error setting exception.')

ସାମ୍ପ୍ରତିକ ବ୍ୟତିକ୍ରମକୁ ଏକ ଥ୍ରେଡିଂ ସ୍ଥାନୀୟ ବ୍ୟବହାର କରି କାର୍ଯ୍ୟ କରିବା ପାଇଁ ଆମେ ଏକ ଫଙ୍କସନ୍ ଯୋଡିଥାଉ, ଯାହା ଆମ କୋଡ୍ ଉପରେ ଯେକ any ଣସି ତ୍ରୁଟିଗୁଡ଼ିକୁ ଟ୍ରାକ୍ କରିବାରେ ସାହାଯ୍ୟ କରେ | ଟେମ୍ପଲେଟ୍ ଦୃଷ୍ଟିରୁ, ଆମେ କେବଳ ଗୋଟିଏ ଆବଶ୍ୟକ କରୁ, କାରଣ ଆମେ ଦର୍ଶନରେ ଟାଇଟଲ୍ ବ୍ୟାଖ୍ୟା କରୁ | ଟେମ୍ପଲେଟ୍ କେବଳ ଆଖ୍ୟା ଏବଂ "ଟ୍ରେସ୍" ରେଣ୍ଡର୍ କରିବା ଆବଶ୍ୟକ କରେ, ପ୍ରସଙ୍ଗରୁ ଆମର ତ୍ରୁଟି ସଂରକ୍ଷଣବ୍ୟାକ୍ |

nano errors/templates/errors/error.html

ଏହା ହେଉଛି ଆମର ସରଳ ସ୍ମେମାକେଟ, କିନ୍ତୁ ତାହା ହେଉଛି ଆମର ପ୍ରୋଜେକ୍ଟରେ ତ୍ରୁଟି ଦେଖିବା | ପରବର୍ତ୍ତୀ ସମୟରେ, ସେଟିଙ୍ଗରେ ତ୍ରୁଟି ନିବାରଣକୁ ଅକ୍ଷମ କରିବା |

nano app/settings.py

ଯେଉଁଠାରେ ଏହା ସତ୍ୟ ଭାବରେ ସେଟ୍ ହୋଇଛି, ଏବଂ ମିଥ୍ୟା ଭାବରେ ପରିବର୍ତ୍ତନ କର |

DEBUG = False

ଆଗକୁ ଯାଇ ବର୍ତ୍ତମାନ ଆପକୁ ବ୍ୟାକଅପ୍ କରନ୍ତୁ | ଆମେ ଏକ ରିମୋଟ୍ ଲିନକ୍ସ ସର୍ଭରକୁ ନିୟନ୍ତ୍ର କରିବାକୁ ପ୍ରସ୍ତୁତ, ଏବଂ ସେଠାରୁ ଆଡ୍ ହୋଡିଙ୍ଗ୍ ବ features ଶିଷ୍ଟ୍ୟଗୁଡିକ ରଖିବା ଜାରି ରଖିଛୁ |

sudo backup

ଆମେ ଏହି କୋଡ୍ କୁ ଏହି କୋଡ୍ ପୋଷ୍ଟ କରିବା ପୂର୍ବରୁ, ଆମେ ବିଚାର କରିବାକୁ ପଡିବ ଯେ କୋଡ୍ ସହିତ କିଛି ସମସ୍ୟା ଥାଇପାରେ | କେସ୍ ଉପରେ ନିର୍ଭର କରି, ସାଇଟଗୁଡିକ ଯେଉଁ ସାଇଟଗୁଡିକ ଗ୍ରହଣ କରିଛି, ସେହି ସୂଚନା ଗ୍ରହଣ କରେ ସ୍ପାମ୍ ସହିତ ପ୍ରସଙ୍ଗଗୁଡ଼ିକ ପୋଷ୍ଟ ହୋଇ ସ୍ପାମ୍ ଅପସାରଣ କରିବାରେ ସମସ୍ୟା ହେବ ଏବଂ କଷ୍ଟଦାୟକ ଅଟେ | ଏହା ତୁରନ୍ତ ଘଟିବ, କିନ୍ତୁ ଏହା ଘଟୁଛି, ଆମେ ପରେ ଆଡମାର୍କ୍ରେଣ୍ଟ କିମ୍ବା ଚେହେରାର ଚିହ୍ନ ପରି ସାଇଟ୍କୁ ଷ୍ଟାମକୁ ସାଇଟକୁ ପ୍ରବେଶ କରିବା ପାଇଁ ପ୍ରସ୍ତୁତ କରିବୁ ଏବଂ ସେମାନଙ୍କ ଆଇଡି ସ୍କାନ୍ ସହିତ ଏକ ଉପଭୋକ୍ତା ପରିଚୟ ଯାଞ୍ଚ କରିବା |

ମଲ୍ଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ଉଦାହରଣକୁ ଦେଖିବା, ଉତ୍ପାଦନରେ ଆମେ ଯାଞ୍ଚ କରିଥାଉ, ଜିନିଷଗୁଡ଼ିକ ଅଲଗା ହୋଇପାରେ | ଆମେ କିପରି ସୀମିତ ପୋଷ୍ଟ କରିବା ଲଗଇନ୍ ଏବଂ ସମାପ୍ତ ଟୋକେନ୍ସର ସମାପ୍ତି | ଯଦି ରୋବଟ୍ ଏକ ସାଇଟ୍କୁ ଆକସେସ୍ କରୁନାହିଁ, ଦୁଇଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ଅଧିକ କଷ୍ଟସାଧ୍ୟ ହୋଇପାରେ ଯେହେତୁ ଉପଭୋକ୍ତା ମଧ୍ୟ ସେହି ସମୟରେ କୋଡ୍ ପ୍ରବେଶ କରିପାରିବେ | ଏହାକୁ ବଦଳାଇବା ପାଇଁ, ଯେତେବେଳେ ଆମେ ଏକ ଫୋନ୍ ନମ୍ବର ସହିତ, ଆମେ ୱାଲୀ ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ସହିତ ଆମେ ପ୍ରାମାଣିକରଣ କରୁ, ଏହା ୟୁଜର୍ ମଲେଲରେ ଏକ ମଡେଲ୍ ବ୍ୟବହାର କରିବା | ଇମେଲ ସହିତ ପ୍ରାମାଣିକରଣ କରିବା ପାଇଁ ଆମେ ମଧ୍ୟ ଏକ ବିକଳ୍ପ ମଧ୍ୟ ଯୋଡିବା | ନାନୋ ସହିତ ୟୁଜର୍ ମଡେଲଗୁଡିକ ଏଡିଟ୍ କରି ଆରମ୍ଭ କରନ୍ତୁ |

nano users/models.py

ଏହା ହେଉଛି ଏକ ମଡେଲ୍ ଯାହା ଆମେ ଯୋଗ କରିବା ପରି ଦେଖାଯିବା ଉଚିତ୍ | ଯେକ any ଣସି ପଦ୍ଧତି, ଏକ ID, ଉପଭୋକ୍ତା, ଟିମେଷ୍ଟମ୍, ସମାପ୍ତି ଏବଂ ଯେକ any ଣସି କୋଡ୍ ଏକ ଫୋନ୍ କିମ୍ବା ଇମେଲକୁ ପଠାଯାଇଥିବା ଏକ କୋଡ୍) |

# ୱେବସାଇଟରେ ଲଗ୍ ଇନ୍ କରିବାକୁ ବ୍ୟବହୃତ ଏକ ମ basic ଳିକ ଟୋକନ୍ |

ଚାଲ ଚାଲ ମଧ୍ୟ ଆମର ଉପଭୋକ୍ତାଙ୍କୁ ଏକ ସୁବିଧା ମଧ୍ୟ ଯୋଡ କରିବା, ଏବଂ ଆମେ ବର୍ତ୍ତମାନ ମାନୁଆଲ ଭାବରେ ପାଇଁ ମାନବ ଭାବରେ ସେଟ୍ କରିବୁ, ଯାହା ପୂର୍ବରୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ସୁବିଧାଜନକ ବ୍ୟବହାରକାରୀମାନଙ୍କୁ ତାଲିକାଭୁକ୍ତ କରିବାକୁ ସ୍ଥାନାନ୍ତରିତ ହେବି | ଉପଯୋଗକର୍ତ୍ତା ମଡେଲରେ, ପ୍ରୋଫାଇଲରେ ଏହି ଲାଇନ ଯୋଡନ୍ତୁ:

    vendor = models.BooleanField(default=False)

ଡାଟାବେସରେ ଯେକ changeges ଣସି ପରିବର୍ତ୍ତନ ସହିତ ଆମକୁ ସ୍ଥାନାନ୍ତରଣ ଏବଂ ଡାଟାବେସ୍ କୁ ସ୍ଥାନାନ୍ତର କରିବା ଆବଶ୍ୟକ, ଯାହାକି ଆପଣ ଡିଜାଙ୍ଗୋରେ adels.py ଫାଇଲ୍ ସଂପାଦନ କରିବା | ମନେରଖ, ଏହା କରିବା ପାଇଁ ଆମେ ପ୍ରଥମେ ଉତ୍ସ ବ୍ୟବହାର କରୁ (ଯଦି ଟର୍ମିନାଲ୍ ଖୋଲା ନହେବା ପରଠାରୁ ଏହା ପୂର୍ବରୁ ବ୍ୟବହୃତ ହୋଇନାହିଁ) ଏବଂ ପରେ Pytonhing ishan.py କୁ ସ୍ଥାନାନ୍ତରିତ କରିବା ପାଇଁ |

cd project-directory-you-named # (ଯଦି ଆବଶ୍ୟକ ହୁଏ)

ବର୍ତ୍ତମାନ ପାଇଁ, ଆପଣ ଶେଲ ବ୍ୟବହାର କରି ବିକ୍ରେତା ଭାବରେ ସୃଷ୍ଟି କରିଥିବା କ ଖାତାଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରିପାରିବେ |

python manage.py shell
from users.models import Profile
p = Profile.objects.get(user__username='Charlotte')
p.vendor = True
p.save()
exit()

ଏବେ, ଏହି ଟୋକେନ୍ ବ୍ୟବହାର କରିବାକୁ ଆମର ମଲ୍ଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକାଟନା ଦୃଶ୍ୟକୁ ବିକଶିତ କର | ପ୍ରଥମେ, ଆମେ ଆମର MFA ହେଲପର ଉପଯୋଗିତା ସଂଶୋଧନ କରିବାକୁ ପଡିବ | ନାନୋକୁ ବ୍ୟବହାର କରି,

nano users/mfa.py
from django.utils import timezone
import random
import datetime
from django.conf import settings
from feed.middleware import get_current_request
from django.contrib import messages
from .email import send_html_email
import traceback
from .models import MFAToken

account_sid = settings.TWILIO_ACCOUNT_SID
auth_token = settings.TWILIO_AUTH_TOKEN
source_phone = settings.PHONE_NUMBER

def send_text(target_phone, text):
    from twilio.rest import Client
    try:
        client = Client(account_sid, auth_token)
        if len(target_phone) >= 11:
            message = client.messages.create(
                to=target_phone,
                from_=source_phone,
                body=text + ' Text STOP to cancel.')
    except:
        messages.warning(get_current_request(), 'There was an error sending the message.')
        print(traceback.format_exc())

def get_num_length(num, length):
    n = ''
    for x in range(length):
        n = n + str(num)
    return int(n)

def send_verification_text(user, token):
    length = user.profile.verification_code_length
    code = random.randint(get_num_length(1, length), get_num_length(9, length));
    token.token = code
    token.expires = timezone.now() + datetime.timedelta(minutes=settings.AUTH_VALID_MINUTES)
    token.save()
    send_user_text(user, "Your verification code for {} is {}".format(settings.SITE_NAME, str(code)))

def send_verification_email(user, token):
    length = user.profile.verification_code_length
    code = random.randint(get_num_length(1, length), get_num_length(9, length));
    token.token = code
    token.expires = timezone.now() + datetime.timedelta(minutes=settings.AUTH_VALID_MINUTES)
    token.save()
    send_html_email(user, "Your verification code for {} is {}".format(settings.SITE_NAME, str(code)), "<p>Dear {},</p><p>Your verification code for {} is {}. Thank you for using this code to secure your account.</p><h2>{}</h2><p>Sincerely, {}</p>".format(user.profile.name, settings.SITE_NAME, str(code), str(code), settings.SITE_NAME))

def send_user_text(user, text):
    send_text(user.profile.phone_number, text)

def check_verification_code(user, token, code):
    token.attempts = token.attempts + 1
    profile = user.profile
    result = (token != None and code != '' and token.token == code and (token.expires > timezone.now()) and token.attempts <= settings.MFA_TOKEN_ATTEMPTS)
    if token.attempts < 3 and result:
        profile.verification_code_length = 6
    elif token.attempts > 1 and not result:
        profile.verification_code_length = profile.verification_code_length + 2
        if profile.verification_code_length > settings.MFA_TOKEN_LENGTH: profile.verification_code_length = settings.MFA_TOKEN_LENGTH
    token.save()
    profile.save()
    return result
# ସେମାନଙ୍କର ଇମେଲ୍ କିମ୍ବା ଫୋନ୍ ନମ୍ବର ବ୍ୟବହାର କରି ଉପଭୋକ୍ତାଙ୍କୁ ପ୍ରାମାଣିକରଣ କରନ୍ତୁ |
    token = MFAToken.objects.filter(uid=username, expires__gt=timezone.now() + datetime.timedelta(seconds=30)).order_by('-timestamp').last() # URL ରେ ପାସ୍ ହୋଇଥିବା ମୂଲ୍ୟ ଦ୍ୱାରା ଟୋକେନ୍ ଫିଲ୍ଟର୍ କରନ୍ତୁ |
    if not token: token = MFAToken.objects.create(user=User.objects.filter(profile__uuid=username).first(), uid=username, expires=timezone.now() + datetime.timedelta(seconds=115)) # ଯଦି ଏହି ଅଧିବେଶନ ସୃଷ୍ଟି ହୋଇନାହିଁ, ତେବେ ଏହାକୁ ସୃଷ୍ଟି କରନ୍ତୁ |
    user = User.objects.filter(id=token.user.id).first() # ଉପଭୋକ୍ତାଙ୍କୁ ଟୋକେନ୍ ରୁ ପାଆନ୍ତୁ |
    if not user and request.user.is_authenticated: return redirect(reverse('feed:home')) # ଯଦି ସେମାନେ ପୂର୍ବରୁ ପ୍ରାମାଣିକିକରଣ କରନ୍ତି, ସେମାନଙ୍କୁ ଲଗ୍ ଇନ୍ କରନ୍ତୁ |
    if not user: raise PermissionDenied() # ଯଦି କ user ଣସି ଉପଭୋକ୍ତା ମିଳିଲା ନାହିଁ ତେବେ ଅସ୍ୱୀକାର କରନ୍ତୁ |
    if not user.profile.enable_two_factor_authentication and user.is_active and user.profile.check_auth_token(usertoken, token): # Auth ଟୋକେନ୍ ଯାଞ୍ଚ କରନ୍ତୁ |
        auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # ଯଦି ସେମାନେ ପୂର୍ବରୁ ଲଗ୍ ଇନ୍ ହୋଇନାହାଁନ୍ତି ଉପଭୋକ୍ତାଙ୍କୁ ଲଗ୍ ଇନ୍ କରନ୍ତୁ |
        user.profile.mfa_expires = timezone.now() + datetime.timedelta(minutes=settings.LOGIN_VALID_MINUTES) # ସେମାନଙ୍କର ମଲ୍ଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣରେ ଏକ ସମାପ୍ତି ସେଟ୍ କରନ୍ତୁ |
        return HttpResponseRedirect(next if next != '' else reverse('landing:landing')) # ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ପରବର୍ତ୍ତୀ ପୃଷ୍ଠାକୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରନ୍ତୁ |
    if not user.profile.mfa_enabled: # MFA ସକ୍ଷମ ହୋଇଛି କି ନାହିଁ ଯାଞ୍ଚ କରନ୍ତୁ |
        if not check_verification_time(user, token): # ସମୟ ଯାଞ୍ଚ କରନ୍ତୁ |
            user.profile.mfa_enabled = False # ଫୋନ୍ ନମ୍ବର ସଫା କରନ୍ତୁ |
            user.profile.enable_two_factor_authentication = True # MFA ସକ୍ଷମ କରନ୍ତୁ |
            user.profile.phone_number = '+1' # ଫୋନ୍ ନମ୍ବରକୁ ଅକ୍ଷମ କରନ୍ତୁ |
            user.profile.save() # ପ୍ରୋଫାଇଲ୍ ସଞ୍ଚୟ କରନ୍ତୁ |
            auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # ଯଦି ସେମାନଙ୍କର MFA ସକ୍ଷମ ନୁହେଁ ତେବେ ଉପଭୋକ୍ତାଙ୍କୁ ଲଗ୍ କରନ୍ତୁ |
    if request.method == 'POST' and not fraud_detect(request, True): # ଯଦି ଅନୁରୋଧ ଏକ ପୋଷ୍ଟ ଅନୁରୋଧ |
        form = TfaForm(request.POST) # ଫର୍ମକୁ ତତକ୍ଷଣାତ୍ କର |
        code = str(form.data.get('code', None)) # କୋଡ୍ ପାଆନ୍ତୁ |
        if code and code != '' and code != None: # ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଏହା ଖାଲି ନୁହେଁ |
            token_validated = user.profile.check_auth_token(usertoken) # Auth ଟୋକେନ୍ ଯାଞ୍ଚ କରନ୍ତୁ |
            is_verified = check_verification_code(user, token, code) # କୋଡ୍ ଯାଞ୍ଚ କରନ୍ତୁ |
            if token_validated: # ଯଦି ସବୁକିଛି
                if is_verified: # କ୍ରମରେ ଅଛି |
                    user.profile.mfa_enabled = True # MFA ସକ୍ଷମ କରନ୍ତୁ (ଯଦି ପୂର୍ବରୁ ସକ୍ଷମ ନୁହେଁ)
                    auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଲଗ୍ ଇନ୍ କରନ୍ତୁ |
                    for key, value in request.GET.items(): # ପରବର୍ତ୍ତୀ ପାରାମିଟର ପାଇଁ ଏକ ଜିଜ୍ଞାସା ନିର୍ମାଣ କରନ୍ତୁ (ଯଦି ଥାଏ)
                        return HttpResponseRedirect(next) # ପୁନ ir ନିର୍ଦ୍ଦେଶ
            elif not token_validated: # ଯଦି ଟୋକନ୍ ଅବ alid ଧ ଥିଲା |
            if p.mfa_attempts > 3: # ଯଦି ବହୁତ ଚେଷ୍ଟା ଅଛି |
            if form.data.get('send_email', False): # ଇମେଲ୍ (କିମ୍ବା ପାଠ୍ୟ) ପଠାନ୍ତୁ |
    # ଫର୍ମକୁ ରେଣ୍ଡର୍ କରନ୍ତୁ (ଅନୁରୋଧ ପ୍ରାପ୍ତ କରନ୍ତୁ)

ଯେତେବେଳେ ଆମେ ଏହି କୋଡ୍ ରେ ଯୋଗ କରୁଛୁ, ଏକ ଇମେଲ୍ ପଠାଇବାକୁ ଫଙ୍କସନ୍ ଆମଦାନୀ କରିବାକୁ ନିଶ୍ଚିତ କର | ଫାଇଲ୍ ଶୀର୍ଷରେ, ଉପଭୋକ୍ତା ଦୃଶ୍ୟ (ଅନ୍ୟ ଆମଦାନୀ ସହିତ) ଯୋଡନ୍ତୁ |

from .mfa import send_verification_email as send_mfa_verification_email

ବର୍ତ୍ତମାନ, ଏହା ମଧ୍ୟରୁ ଯେକ ing ପୂର୍ବରୁ ସେହି କାର୍ଯ୍ୟ ଲେଖିବା ଆବଶ୍ୟକ ଯେ ଏହା ମଧ୍ୟରୁ କାର୍ଯ୍ୟ କାର୍ଯ୍ୟ କରିବା ପାଇଁ କାର୍ଯ୍ୟ କରିବ | ଏହା ଆମ ପଠାଇବା ଫଙ୍କସନ୍ ବିସ୍ତାର କରିବା ଉଚିତ, ଏବଂ ଯାଞ୍ଚ କୋଡ୍ ସହିତ ଉପଭୋକ୍ତାଙ୍କୁ କେବଳ ଏକ ଇମେଲ୍ ପଠାନ୍ତୁ |

nano users/mfa.py
def send_verification_email(user, token):
    length = user.profile.verification_code_length
    code = random.randint(get_num_length(1, length), get_num_length(9, length));
    token.token = code
    token.expires = timezone.now() + datetime.timedelta(minutes=settings.AUTH_VALID_MINUTES)
    token.save()
    send_html_email(user, "Your verification code for {} is {}".format(settings.SITE_NAME, str(code)), "<p>Dear {},</p><p>Your verification code for {} is {}. Thank you for using this code to secure your account.</p><h2>{}</h2><p>Sincerely, {}</p>".format(user.profile.name, settings.SITE_NAME, str(code), str(code), settings.SITE_NAME))

ତେଣୁ ଏହା ସବୁ ଜାଗାରେ କାମ କରେ, ଏବେ ଆମର ଏକ ମଲ୍ଟି ଫ୍ୟାକ୍ଟର୍ ପ୍ରାମାଣିକିକରଣ ସୃଷ୍ଟ କରୁଣ୍ଟେ ଯାହା ଆମ ସହିତ ଅପସାରିତ କରିବା ପାଇଁ ଏକ ଉପାୟ ଦରକାର, ଯେଉଁମାନେ ଆମ ସର୍ତ୍ତାବଳୀ ସହିତ ସହି ନାହୁଁ, କିମ୍ବା ଆମର ସର୍ତ୍ତାବଳୀ ସହିତ ସହାୟକ ହେଉଥିବା ଉପଭୋକ୍ତାଙ୍କୁ ମଧ୍ୟ ଏକ ଉପାୟ ମଧ୍ୟ ଅଛି | ଏଗୁଡିକ ସ୍ପାମର, ରୋବଟ୍ କିମ୍ବା ଯିଏ ଆମର କାର୍ଯ୍ୟ ପାଇଁ ଭଲ ନୁହେଁ | ମୋ ୱେବସାଇଟ୍ ରେ ଉପଭୋକ୍ତାମାନଙ୍କୁ ମନିଟରିଂ ପାଇଁ ମୋର ଏକ ଦୃଶ୍ୟକୁ ଦେଖ:

# ଆମଦାନୀ |
from .tests import is_superuser_or_vendor # ଆମକୁ ଏହି ପରୀକ୍ଷା ସୃଷ୍ଟି କରିବାକୁ ପଡିବ |
    # ବ୍ୟବହାରକାରୀଙ୍କ ତାଲିକା ପ୍ରାପ୍ତ କରନ୍ତୁ |
    return render(request, 'users/users.html', { # ଉପଭୋକ୍ତାମାନଙ୍କୁ ଏକ ଟେମ୍ପଲେଟ୍ ରେ ଫେରନ୍ତୁ |

ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଏହି କୋଡ୍ ଏକ ପରୀକ୍ଷା ବ୍ୟବହାର କରେ, ଆମକୁ ଏହି ପରୀକ୍ଷଣକୁ ଏକ ପରୀକ୍ଷା କରିଥାଏ ଏବଂ ଆମଦାନୀ କରିବାକୁ ପଡିବ | ଉପଯୋଗକର୍ତ୍ତାଗଣ / test.py, ଚାଲ ପରୀକ୍ଷା ସୃଷ୍ଟି କରିବା |

def is_superuser_or_vendor(user):
    return user.profile.vendor or user.is_superuser

ଏହା ଉପଭୋକ୍ତା / upere.html ଟେମ୍ପଲେଟ୍ ସହିତ ମିଳିତ ଭାବରେ ଅଛି, ଯାହା ଏହିପରି କିଛି ଦେଖାଯାଏ:

ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଟେମ୍ପିଂ ଅନ୍ୟ ଏକ ଟେମ୍ପଲେଟ୍, ବ୍ୟବହାରକାରୀ /apperlml ଏକ ଟେମ୍ପଲେଟ୍ ବ୍ୟବହାର କରିବାବେଳେ ଯେଉଁଥିରେ ଏକ ସେମିଷ୍ଟଲପ୍ ଟପ୍ ଏବଂ ବିସ୍ତାର କରୁନାହିଁ, ଏହାର ଅଣ୍ଡରସ୍କୋର୍ ଯୋଡିବା ପାଇଁ ଏକ ଭଲ ଧାରଣା () ଟେମ୍ପଲେଟଗୁଡିକୁ ପୃଥକ କରିବାକୁ ଫାଇଲ୍ ର ନାମ ପୂର୍ବରୁ |

ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଏହା ହେଉଛି ଅନେକ ଜିନଜା, ତୁମର ଏହି ସମସ୍ତ ଭେରିଏବଲ୍ ପରିଭାଷିତ ହୋଇନପାରେ | କିନ୍ତୁ ଏହା ହିଁ ମୋ କୋଡ୍ ଦେଖାଯାଉଛି |

      <small># {{user.id}} </ ଛୋଟ> |

ଆମକୁ ଅନ୍ୟ ଏକ ସବଟାମପ୍ଲେଟ୍, Togle_active.html ଦରକାର | ଏହି ଟେମ୍ପଲେଟ୍ ଏକ ଫର୍ମ ହେବା ଉଚିତ ଯାହାକି ଆମକୁ ଉପଭୋକ୍ତା ସକ୍ରିୟ କି ନୁହେଁ ଅନୁକୂଳ କି?

ଉପଭୋକ୍ତା କାର୍ଯ୍ୟକଳାପକୁ ଟୋଗଲ୍ କରିବାକୁ ଆମେ ମଧ୍ୟ ଏକ ଭ୍ୟୁ ଆହୁରି ଏକ ଦୃଶ୍ୟ ଯୋଡିବା ଆବଶ୍ୟକ | ଆମେ ଏହା ଉପରେ ଥିବାବେଳେ, ଯଦି ଆମେ ଆବଶ୍ୟକ କରେ, ତେବେ ଏକ ଉପଭୋକ୍ତା ବିଲୋପ କରିବାକୁ ଆସନ୍ତୁ ଏକ ଉପଭୋକ୍ତାଙ୍କୁ ଡିଲିଟ୍ କରିବା ପାଇଁ |

# ଆମଦାନୀ |
    success_url = '/' # ସଫଳତା URL ରେ ପୁନ ir ନିର୍ଦ୍ଦେଶ |
    def test_func(self): # ଯଦି ଉପଭୋକ୍ତା ସୁପରସୁଜର ଏବଂ ଡିଲିଟ୍ କରିବାକୁ ଅନୁମତି ଅଛି |

ଯେତେବେଳେ ଆବଶ୍ୟକ ସମୟରେ ଏହା ବ୍ୟବହାରିକ, ଏକ ଉପଭୋକ୍ତାଙ୍କୁ ଡିଲିଟ୍ କରିବା ସମୟରେ, ଆମେ ଉପଭୋକ୍ତାମାନଙ୍କ ଦୃଶ୍ୟତାକୁ ଅନ୍ଗଲ୍ତ କରିବା ଉଚିତ ନୁହେଁ, ଯଦି ଆମେ ସେମାନଙ୍କୁ ବରଖାସ୍ତ କରିବା ଆବଶ୍ୟକ କରନ୍ତି ତେବେ ଆମେ କେବଳ ସାଇଟ୍ ପରିଦର୍ଶନ କରିବା ଆବଶ୍ୟକ |

ଆମେ ଯୋଡିଥିବା URL s ାଞ୍ଚାଗୁଡ଼ିକ ଏହିପରି ଦେଖାଯାଏ | ନାନୋ ସହିତ, ୟୁଜର୍ / urls.py ସହିତ ଏବଂ ଏହି ଲାଇନ୍ ଯୋଡନ୍ତୁ:

nano users/urls.py

ରେଖାଗୁଡ଼ିକ "]" କିନ୍ତୁ ଆରମ୍ଭ ପରେ "[" ["] ଉପଭୋକ୍ତା ଦୃଶ୍ୟରେ ପଥ ତାଲିକାରେ ଏହି ଧାଡ଼ରେ ଯିବାର |

# ...
# ...

ବର୍ତ୍ତମାନ, ସାଇଟରେ ପୁନ RE ଚେଷ୍ଟା କରନ୍ତୁ ନିଶ୍ଚିତ କରନ୍ତୁ ଯାହା ଦ୍ you ାରା ଆପଣ ଏହାକୁ ୱେବ୍ ସର୍ଭରରେ ଡାଉନଲୋଡ୍ କରିପାରିବେ ଆମେ କାର୍ଯ୍ୟ ଜାରି ରଖିବୁ | କମାଣ୍ଡ୍ ଲାଇନ୍ ରୁ,

sudo backup

ବର୍ତ୍ତମାନ ଆମର ସାଇଟ୍ ବ୍ୟାକଅପ୍ ହୋଇଛି |

ତେଣୁ ବର୍ତ୍ତମାନ ଆମ ପାଖରେ ଆଉ କିଛି ଉପଯୋଗୀ ବ features ଶିଷ୍ଟ୍ୟ ଅଛି | କିନ୍ତୁ ଏଠାରେ ବଡ ଚିତ୍ର ବିଷୟରେ କଣ? ଏହି କୋଡ୍ ଇଣ୍ଟରନେଟ୍ ରୁ ଉପଲବ୍ଧ ନୁହେଁ, ଏବଂ ସମ୍ପୁର୍ଣ୍ଣ ଯାଞ୍ଚ ପ୍ରକ୍ରିୟା ନିକଟରେ ଆମକୁ ଆମର ଆପକୁ ବିସ୍ତାର କରିବାକୁ ପଡିବ, ସୁବିଧାଜନକ ଉପଭୋକ୍ତାମାନଙ୍କୁ ପ୍ରାମାଣିକିକରଣ ପାଇଁ ସୁରକ୍ଷିତ ପ୍ରୋଟୋକଲ୍ସ ସହିତ ମିଶରକୁ ସାହାଯ୍ୟ କରିବା ପାଇଁ ଆମକୁ ହୋଷ୍ଟ ସର୍ଭର |

ଆମେ ଏସବୁକୁ ଯିବା | ବର୍ତ୍ତମାନ ପାଇଁ ସବୁଠାରୁ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବିଷୟ ବର୍ତ୍ତମାନ ଅନଲାଇନରେ ଏହି କୋଡ୍ ପାଇବାକୁ ହେଉ, ଯାହାକୁ ଆମେ ଏକ ଉବୁଣ୍ଟୁ ସର୍ଭରରେ କ stand ଣସି ସ୍ଥାନରେ ବାଶ୍ ସହିତ କଣ୍ଡିଜ୍ କରିପାରିବା | ଯଦି ଆପଣଙ୍କ ଘରେ ଏକ ସର୍ଭର ଭଡା କରିବାକୁ ପଡିବ, ଯଦି ଆପଣଙ୍କର HOME ଘରେ ସର୍ଭର ଏବଂ ବ୍ୟବସାୟିକ ଉପଭୋକ୍ତା ସଦସ୍ୟତା ନାହିଁ ଯାହା ଆପଣଙ୍କୁ ପୋର୍ଟ ଖୋଲିବାକୁ ଅନୁମତି ଦିଏ | ମୁଁ ବ୍ୟକ୍ତିଗତ ଭାବରେ ଏକ HP Z440 ରେ ମୋ ୱେବସାଇଟ୍ ଚଳାଉଛି ଯାହା ମୋ ଆପାର୍ଟମେଣ୍ଟରେ ସଂସ୍ଥାପିତ ହୋଇଛି, କିନ୍ତୁ ମ basic ଳିକ ହେଉଛି ମ basic ଳିକ ବ୍ୟକ୍ତିଗତ ସର୍ଭର (vps) ଭଡା ଦେବା ଆବଶ୍ୟକ ପାଇଁ ସାଧାରଣତ my ଭଲ ଖଜୁରୀ |

ମନେରଖନ୍ତୁ ଯେ ଆମେ ବର୍ତ୍ତମାନ ଚାଲୁଥିବା କୋଡ୍ କେବଳ ଏକ ରକ୍ଷଣାବେକ୍ଷଣ ପାଇଁ ରକ୍ଷଣାବେକ୍ଷଣ ଏବଂ ଉନ୍ନତ ହେବା ଆବଶ୍ୟକ ଏବଂ ଆଲୋଚନା ହେବା ପୂର୍ବରୁ ଉନ୍ନତି ହେବା ଆବଶ୍ୟକ | ଆପଣ ଇଣ୍ଟରନେଟ୍ ସହିତ କ'ଣ କରନ୍ତି ସେନିଜ୍ ହୁଅନ୍ତୁ, ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଆପଣ Linux ସର୍ଭରରେ ୱେବରେ ୱେବରେ ଏହି ସାଇଟ୍ ନିୟୋଜିତ କରନ୍ତୁ, ଆପଣଙ୍କର ଲେଖା ଅବାଞ୍ଛିତ ପାରସ୍ପରିକ କ୍ରିୟା ଅବରୋଧ କରିବାକୁ ଏକ ଯୋଜନା ଅଛି | ଏହା ସମ୍ଭବତ dex ପ୍ରଥମେ ଏକ ଅସୁବିଧା ହେବ ନାହିଁ, କିନ୍ତୁ ଆମେ ଏହାକୁ ମେସିନ୍ ଶିକ୍ଷା, କୃତଜ୍ଞ ଇଣ୍ଟେଲିଜେନ୍ସ ଏବଂ କମ୍ପ୍ୟୁଟର ଦର୍ଶନ ସହିତ ବିଭିନ୍ନ ପ୍ରକାରର ସମାଧାନକୁ ଦେଖିବା | ଯେତେବେଳେ ଏହା ଏକ ସମସ୍ୟା ହୋଇଯାଏ, ଏକ ସମାଧାନ ପାଇଁ ଏହି ପାଠ୍ୟରେ ଆହୁରି ଦେଖ |

ଏକ VPS ଭଡା କରିବା ଦୃଷ୍ଟିରୁ, ଆପଣ ବହୁତ ସ୍ଥାନ ରହିପାରିବେ ଯାହା ଆପଣ ଯାଇପାରିବେ | ଗୁଗୁଲ୍ କ୍ଲାଉଡ୍ ର VPS ସର୍ଭର, ଇକୋସ, କାମେଟ୍ରା, ଆମାଜ୍ରା ଏସ୍ ଏବଂ ଅଧିକ ପ୍ରଦାନ କରୁଥିବା ଅଧିକ ପ୍ରଦାନ କରେ ଯାହା ଆମର ଆବଶ୍ୟକତା ଅନୁଯାୟୀ |

ଆପଣ ସେମାନଙ୍କର ଫର୍ମ ମାଧ୍ୟମରେ କ୍ଲିକ୍ କରିବାକୁ ଏବଂ ଆରମ୍ଭ କରିବାକୁ ଏକ ଯୋଜନା ଚୟନ କରିବାକୁ ପଡିବ | ଆପଣ ଯେକ any ଣସି ପ୍ରଦାନକାରୀ ସହିତ ଏକ ମ basic ଳିକ ଯୋଜନା ସହିତ ଯାଇପାରିବେ, କିନ୍ତୁ ପ୍ରୋତ୍ସାଦ ଆପଣଙ୍କୁ ଇମେଲ ପଠାଇବା ପାଇଁ ପୋର୍ଟ ମେଲ ସର୍ଭର ପୋର୍ଟଗୁଡ଼ିକୁ ଖୋଲିବାକୁ ଅନୁମତି ଦିଏ (ଏହା ପୋର୍ଟ 587 ଏବଂ ପୋର୍ଟ 25) ହେବା ଉଚିତ, ଯାହାକି କିଛି ପ୍ରଦାନକାରୀ ଏହି ପୋର୍ଟଗୁଡ଼ିକୁ ଅବରୋଧ କରିବା ଉଚିତ | ଏପର୍ଯ୍ୟନ୍ତ ମୋର ଆଇନୋସ୍ ଏବଂ କାମେଟ୍ରା ସହିତ ସର୍ବୋତ୍ତମ ଅଭିଜ୍ଞତା ଅଛି, ଦୁହେଁ ମୋତେ ଅସୀମିତ ଇମେଲ ପଠାଇବାକୁ ଅନୁମତି ଦେବ ଏବଂ ସେମାନଙ୍କର ମୂଲ୍ୟ ବହୁତ ଶସ୍ତା ଅଟେ |

ତୁମେ ତୁମର ନୂତନ ସର୍ଭରକୁ SSH କିମ୍ବା ସୁରକ୍ଷିତ ସେଲ୍ ନାମକ ଏକ ପ୍ରୋଟୋକଲ୍ ସହିତ ସଂଯୋଗ କରିବ, ଯାହା ଆପଣଙ୍କୁ ତୁମର ବ୍ୟକ୍ତିଗତ କମ୍ପ୍ୟୁଟରରୁ ଦୂରରୁ ଇଣ୍ଟରଫେସ୍ କରିବାକୁ ପସନ୍ଦ କରେ | ଯେତେବେଳେ ଆପଣ ସର୍ଭର ସେଟ୍ ଅପ୍ କରିବେ, ହୋଷ୍ଟିଂ ପ୍ରଦାନକାରୀ ଆପଣଙ୍କୁ ଏକ SSH କି ଯୋଡିବାକୁ କହିବେ, କିମ୍ବା ସେମାନେ ଆପଣଙ୍କୁ ଏକ ଚାଳକନାମ ଏବଂ ପାସୱାର୍ଡ ଦେବେ | Ssh ke ହେଉଛି କୋଡ୍ ସଂପାଦନ କରିବା ପାଇଁ କମାଣ୍ଡ୍ ରୁ ସର୍ଭରରେ ଲଗ୍ ଇନ୍ କରିବ | ଏକ SSH ଚାବି ସୃଷ୍ଟି କରିବାକୁ ssh-cagon ଅପ୍ସନ୍ସ୍ ବ୍ୟବହାର କରନ୍ତୁ |

ssh-keygen

ଯଦି ଆପଣ ଆବଶ୍ୟକ କରନ୍ତି ଫାଇଲ୍ ସେଭ୍ କରନ୍ତୁ ଏବଂ ଏହାକୁ ନବଲିଖନ କରନ୍ତୁ, ଯଦି ଆପଣ ପୂର୍ବରୁ କରିନାହାଁନ୍ତି ତେବେ ଆପଣଙ୍କର SSH କି ଘୂର୍ଣ୍ଣନ କରିବା ଭଲ | ବର୍ତ୍ତମାନ, ଆପଣଙ୍କର SSH କି ଦେଖିବାକୁ ଆପଣ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶକୁ ବ୍ୟବହାର କରିପାରିବେ | ତୁମେ ଏହାକୁ ତୁମର ରିମୋଟ୍ ସର୍ଭରରେ କପି କରିବାକୁ ଚାହିଁବୁ ଯାହା ଦ୍ you ାରା ଆପଣ ଏହାକୁ ପ୍ରାମାଣିକିକରଣ ପାଇଁ ବ୍ୟବହାର କରିପାରିବେ |

cat ~/.ssh/id_rsa.pub

ଯଦି ଆପଣ ସେହି ନିର୍ଦ୍ଦେଶ ଟାଇପ୍ କରିବା ସମୟରେ ଏକ ssh କୀ ଦେଖିବାକୁ ସକ୍ଷମ ହୋଇନଥିଲେ ("ssh-ryma aaa"), ଏକ ଲମ୍ବା ଷ୍ଟ୍ରିଙ୍ଗ୍ ଏବଂ ଅକ୍ଷରର ଏକ RSA କୀ ବ୍ୟବହାର କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ (ସେମାନେ ଅଧିକ ସୁରକ୍ଷିତ, ତେଣୁ ସେମାନେ ସେଗୁଡିକ ବ୍ୟବହାର କରିବାକୁ ପରାମର୍ଶ ଦେବେ |) ମୁଁ ସେ କୋଡ୍ ଏକ 4096 ବିଟ୍ SSH କି ସୃଷ୍ଟି କରିବ |) ନିମ୍ନଲିଖିତ କୋଡ୍ ଏକ 4096 ବିଟ୍ SSH କି ସୃଷ୍ଟି କରିବ |

ssh-keygen -t rsa -b 4096

ଆପଣ ଏହା କରିବାକୁ ଯୋଜନା କରିଛନ୍ତି, ଉବୁଣ୍ଟୁ ଚଳାଉଛନ୍ତି, ଆପଣ ଏହା କରିବାକୁ ଯୋଜନା କରୁଛନ୍ତି | ଥରେ ପ୍ରଦାନକାରୀଙ୍କ ୱେବସାଇଟ୍ (କାମେଟ୍ରା ଡଟ୍ କମ୍, ioonos.com କିମ୍ବା ସମାନ) ରେ ଫର୍ମଗୁଡିକୁ କ୍ଲିକ୍ କରି ଆପଣ ଲଗ୍ ଇନ୍ କରିବାକୁ ଚାହୁଁଥିବା ଫର୍ମଗୁଡିକୁ କ୍ଲିକ୍ କରି, ଏହା କରିବାକୁ, xx.xx.xx ପରି ଦେଖାଯାଉଥିବା ssh କମାଣ୍ଡ୍ ବ୍ୟବହାର କରନ୍ତୁ | ଆମେ ସୃଷ୍ଟି କରିଥିବା ସର୍ଭରରେ ଥିବା ସର୍ଭର ଉପରେ ଡିଫଲ୍ଟ ଉପଯୋଗକର୍ତ୍ତା ନାମ ପ୍ରତି ସମ୍ବେଦନଶୀଳ ହେବା ଆବଶ୍ୟକ, ଉଦାହରଣ ସ୍ୱରୂପ, ଉବୁଣ୍ଟୁ |

ssh ubuntu@XX.XX.XX.XX

ଆପଣଙ୍କୁ ଏକ ପାସୱାର୍ଡ ପଚରାଯାଇପାରେ, ତେବେ ଏହାକୁ ଅନ୍ ରେ ପ୍ରବେଶ କର | ଆମେ ଡିଫଲ୍ଟ ଉପଯୋଗକର୍ତ୍ତା ନାମ ବ୍ୟବହାର କରିବୁ ନାହିଁ, ତେଣୁ ଚାଲନ୍ତୁ ଏବଂ ସେମାନଙ୍କ ଖାତାର ଏକ SSH ସୃଷ୍ଟି କରି ଏକ SSH ସୃଷ୍ଟି କରି ଆରମ୍ଭ କରିବା |

ଚାଲ ଏକ ନୂତନ sshd_config ଫାଇଲ୍ ଯୋଡିବା ଦ୍ୱାରା ଆରମ୍ଭ କରିବା, ଯାହାକି ସର୍ଭରକୁ କିପରି ବ୍ୟବହାର କରାଯିବ ତାହା ଦର୍ଶାଏ |

nano sshd_config
# ଏହା ହେଉଛି sshd ସର୍ଭର ସିଷ୍ଟମ୍-ୱାଇଡ୍ ବିନ୍ୟାସ ଫାଇଲ୍ |  ଦେଖନ୍ତୁ |
# ଅଧିକ ସୂଚନା ପାଇଁ sshd_config (5) |
# ଏହି sshd ପଥ = / usr / ସ୍ଥାନୀୟ / ବିନ୍ ସହିତ ସଂକଳିତ ହୋଇଥିଲା: / usr / sbin: / sbin: / bin: / isr / ଖେଳଗୁଡିକ |
# ଡିଫଲ୍ଟ sshd_config ରେ ବିକଳ୍ପଗୁଡ଼ିକ ପାଇଁ ବ୍ୟବହୃତ ରଣନୀତି |
# OpenSSH ହେଉଛି ସେମାନଙ୍କର ଡିଫଲ୍ଟ ମୂଲ୍ୟ ସହିତ ବିକଳ୍ପଗୁଡ଼ିକୁ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବା ଯେଉଁଠାରେ |
# ସମ୍ଭବ, କିନ୍ତୁ ସେମାନଙ୍କୁ ମନ୍ତବ୍ୟ ଦିଅନ୍ତୁ |  ଅସଂଗଠିତ ବିକଳ୍ପଗୁଡ଼ିକ ଅତ୍ୟଧିକ ହୁଏ |
# ଡିଫଲ୍ଟ ମୂଲ୍ୟ
# ପୋର୍ଟ 22
# ଠିକଣାଫୁଲ୍
# ଶୁଣାଯାଇଥିବା 0.0.0.0
# ଶୁଣଡା ::
# ହୋଷ୍ଟ୍କି / ଇତ୍ୟାଦି / ssh / ssh_host_rsa_kyey |
# ହୋଷ୍ଟ୍କି / ଇତ୍ୟାଦି / ssh / ssh_host_ecdsa_kyy
# ହୋଷ୍ଟକି / etc / ssh / ssh_host_551919_Key |
# ସାଇଫର୍ସ ଏବଂ କିଙ୍ଗର |
# ରେନିଅଲାଇଟାଇଟ୍ ଡିଫଲ୍ଟ କିଛି ନୁହେଁ |
# ଲଗିଂ
# SyslogFaction auth auth
# ଲୋଗଲେଭେଲ ସୂଚନା
# ପ୍ରାମାଣିକିକରଣ:
# ଲଗରିସାଇସ୍ ଟାଇମ୍ 2 ମି
# ଅନୁମୋଦ୍ରୋତ ଗଲ୍ସକୁ ନିଷେଧ |
# କଠୋରମୋଡସ୍ ହଁ |
# ମ୍ୟାକ୍ମାଟ୍ଟ୍ରିସ୍ 6
# ମ୍ୟାକ୍ସସ୍ 10
# ଭବିଷ୍ୟତରେ ଡିଫଲ୍ଟ ଭାବରେ ଅବହେଳିତ ହେବା ପାଇଁ .sh / authored_keys2 ଆଶା କରନ୍ତୁ |
# ପ୍ରାଧିକୃତ କ ic ଣସି ବ୍ୟକ୍ତି ନୁହେଁ |
# ପ୍ରାଧିକୃତେକେକିସ୍କମାଣ୍ଡ ଏବଂ କିଛି ନୁହେଁ |
# ପ୍ରାଧିକୃତେକେକିସ୍କ୍ରମିକର କେହି ନାହାଁନ୍ତି |
# ଏହି କାର୍ଯ୍ୟ କରିବା ପାଇଁ ଆପଣ / etc / ssh / ssh_know_hosts ରେ ହୋଷ୍ଟ କି ମଧ୍ୟ ଆବଶ୍ୟକ କରିବେ |
# ହୋଷ୍ଟବିଜ୍ ବିଜ୍ଞାନ ନା |
# ହଁକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ ଯଦି ଆପଣ ~ / .sh / suitds_hosts ପାଇଁ |
# ହୋଷ୍ଟବିଜ୍ |
# ଅବହେଳିତ ଶୋଷକ ନଂ
# ଉପଭୋକ୍ତାଙ୍କର ~ / .RHOSTS ଏବଂ ~ / .ସୋସ୍ ଫାଇଲ୍ ପ read ନ୍ତୁ ନାହିଁ |
# ଅଣଦେଖା ହଁ |
# ଟନେଲେଡ୍ ଟେକ୍ସଟ୍ ପାସୱାର୍ଡ ପାସୱାର୍ଡ ଅକ୍ଷମ କରିବାକୁ, ଏଠାରେ ନୋଟ୍ କରନ୍ତୁ!
# ପରମାଇଟ୍ ମିଟର ପାସୱାର୍ଡ ନାହିଁ |
# ଚ୍ୟାଲେଞ୍ଜ-ପ୍ରତିକ୍ରିୟା ପାସୱାର୍ଡଗୁଡ଼ିକୁ ସକ୍ଷମ କରିବାକୁ ହଁକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ (ବାହାଘର ସମସ୍ୟା |
# କିଛି PAM ମଡ୍ୟୁଲ୍ ଏବଂ ଥ୍ରେଡ୍)
# କେର୍ବେରୋସ୍ ଅପ୍ସନ୍ |
# କେରିକୋରାସ ପ୍ରାମାଣିକରଣ ନଂ
# Karberotorolorcalpasd ହଁ |
# କେବର୍ଗରଷ୍ଟିକଟିଟିଆନାପ୍ ହଁ |
# କେର୍ବୋରୋରୋସେଟ ଫାଟକଫନ୍ ନଂ
# Gsipi ଅପ୍ସନ୍ଗୁଡ଼ିକ
# Gssapiout ପ୍ରାମାଣିକିକରଣ ନଂ
# GSSAPPLILYUPCREDISES ହଁ |
# GSSAPAISTrothactersCecor Checke ହଁ |
# GssapiKeechexchange no
# ପାମ ପ୍ରାମାଣିକିକରଣ ସକ୍ଷମ କରିବାକୁ ଏହାକୁ 'YES' ସେଟ୍ କରନ୍ତୁ, ଆକାଉଣ୍ଟ୍ ପ୍ରକ୍ରିୟାକରଣ,
# ଏବଂ ଅଧିବେଶନ ପ୍ରକ୍ରିୟାକରଣ | ଯଦି ଏହା ସକ୍ଷମ ହୁଏ, pam ପ୍ରାମାଣିକିକରଣ ହେବ |
# Kbdinteractiveautentation ମାଧ୍ୟମରେ ଅନୁମତି ଦିଅନ୍ତୁ ଏବଂ
# ପାସୱାର୍ଡ ପ୍ରାମାଣିକିକରଣ |  ତୁମର PAM ସଂରଚନାରେ ନିର୍ଭର କରେ,
# Kbdintectiveutiatication ମାଧ୍ୟମରେ ପାମ ପ୍ରାମାଣିକିକରଣ ବାଇପାସ୍ ହୋଇପାରେ |
# "PROPROotLOGIN ବିନା PROPERGOLLOGIN" ର ସେଟିଂ |
# ଯଦି ଆପଣ କେବଳ ପମ୍ ଆକାଉଣ୍ଟ ଏବଂ ଅଧିବେଶନ ବିନା ଚାଲିବାକୁ ଚେଷ୍ଟା କରନ୍ତି |
# ପାମ ପ୍ରାମାଣିକିକରଣ, ତାପରେ ଏହାକୁ ସକ୍ଷମ କରନ୍ତୁ କିନ୍ତୁ ପାସୱାର୍ଡ ସେଟ୍ କରନ୍ତୁ |
# ଏବଂ kbdintectractiveaunture 'ନା' |
# ହଁ ଏବଂ ହଁକୁ ଅନୁମତି ଦେବା |
# ହଁ chpcfording ହଁ
# ଗେଟୱେ କୋର୍ଟସ୍ ନାହିଁ
# X11displapleyoms 10
# X11USLOLLOST ହଁ |
# ଅନୁମତି ହଁ
# ପ୍ରିଣ୍ଟେଲାଷ୍ଟଲ୍ ହଁ |
# TCPKEEPLALIVE ହଁ |
# PurgueReRentIntenment ନା
# ସଙ୍କୋଚନ ବିଳମ୍ବ ହେଲା |
# କ୍ଲାଏନ୍ସ ଅନିଚ୍ଛାକୃତ 0
# CULDERANIVECONTMAX 3 |
# ବ୍ୟବହୃତ ହୁଏ ନାହିଁ |
# ପିଡେନ / urun/sshd.pid
# Maxtaraps 10: 30: 100: 100 |
# ଅନୁମତି ନଂ
# କ୍ରୋଟ୍ଡିରେକ୍ଟୋରୀ କେହି ନାହିଁ |
# ସଂସ୍କରଣ ନଗକାଳଭୂମି କେହି ନାହିଁ |
# କ No ଣସି ଡିଫଲ୍ଟ ବ୍ୟାନର ପଥ ନାହିଁ |
# କ୍ଲାଏଣ୍ଟ ଲୋକାଲ୍ ପରିବେଶ ଭେରିଏବଲ୍ ପାସ୍ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ |
# କ comp ଣସି ଉପତନ୍ତ୍ର ସହିତ ଡିଫଲ୍ଟକୁ ନବଲିଖନ କରନ୍ତୁ |
# ପ୍ରତି ଚାଳକ ଭିତ୍ତିରେ ସେଟିଙ୍ଗ୍ ସେଟିଙ୍ଗ୍ ର ଉଦାହରଣ |
# ବ୍ୟବହାରକାରୀ Anoncvs ସହିତ ମେଳ କରନ୍ତୁ |
# X11FORALITION NO
# Noctcfording ନଂ
# ଅନୁମତି ନଂ
# ଫୋର୍ସକମାଣ୍ଡ CVS ସର୍ଭର |

ଫାଇଲ୍ ସେଭ୍ କରିବାକୁ, Ctrl + x ଏବଂ y ମନେରଖନ୍ତୁ | ପରବର୍ତ୍ତୀ ସମୟରେ, ଆସନ୍ତୁ ଏକ ମ basic ଳିକ ସ୍କ୍ରିପ୍ଟ ଆରମ୍ଭ କରିବା (ଆମର ବ୍ୟବହାରକାରୀଙ୍କ ର ଡିଫଲ୍ଟ ହୋମ୍ ଡିରେକ୍ଟୋରୀରେ) |

nano initialize

ଏହାକୁ ବଦଳାଇ ଫାଇଲ୍ ରେ ଏହି ଲାଇନ୍ ଯୋଡନ୍ତୁ |ତୁମର ssh କୀ ସହିତ ତୁମେ ବିଲେଇ ବ୍ୟବହାର କରି ପାଇଲ | (.sh / id_rsa.pub)

# ! / ବିନ୍ / ବାସ୍ |

ଏହି ଫାଇଲ୍ ମାଧ୍ୟମରେ ଆପଣଙ୍କୁ ଚାଲିବା ପାଇଁ, ଚାଲ ଲାଇନ ଦ୍ୱାରା ଲାଇନ୍ ଆରମ୍ଭ କରିବା | ପ୍ରଥମ ଧାଡି କମ୍ପାଇଲରକୁ କହିଥାଏ ଯେ ଏହା ଏକ ବାସ୍ ସ୍କ୍ରିପ୍ଟ | ତା'ହେଲେ ଆମେ ନିର୍ଭରଶୀଳତା ସଂସ୍ଥାପନ କରି, sshd_config କୁ ସଠିକ୍ ଡିରେକ୍ଟୋରୀକୁ କପି କରିବା, SHA କି କୁ ମୂଳପୃତିକୁ ସୃଷ୍ଟି କରିବା ପାଇଁ (ଆପଣ ଏଥିପାଇଁ ଆପଣଙ୍କୁ ଏକ ନାମ ବାଛି ପାରିବେ, ସେମାନଙ୍କ ନାମ ଏବଂ ଅକ୍ଷମ ପାସୱାର୍ଡ ବ୍ୟବହାର କରିପାରିବେ) | ଆମେ ସୁଡୋ ଗ୍ରୁପ୍ ନିକଟରେ ଟିମ୍ ଆଡ୍ ମଧ୍ୟ ସେମାନଙ୍କର ସସ୍ କୀ ସୃଷ୍ଟି କରନ୍ତୁ, ପ୍ରାଧିକୃତ କି ଏବଂ ସେମାନଙ୍କର ଚାବି ପ୍ରିଣ୍ଟ କରନ୍ତୁ ଏବଂ ସେମାନଙ୍କର ଚାବିକୁ ମୁଦ୍ରଣ କରନ୍ତୁ | ଏହି ନୂତନ ଉପଭୋକ୍ତା କିପରି ସାଇଟରେ ଲଗ୍ ଇନ୍ କରିବେ |

ଏକ ନୂତନ ଟର୍ମିନାଲ୍ ରେ, ଆଗକୁ ଯାଇ ପୁନର୍ବାର ସର୍ଭର ଖୋଲନ୍ତୁ |

ssh team@XX.XX.XX.XX

ତୁମର SSH କି କୁ ଏହି ସମୟରେ ପାସୱାର୍ଡ ଆବଶ୍ୟକ ହେବା ଉଚିତ୍ ନୁହେଁ | ସାଇଟ୍ ଅଧିକ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଆମେ ପାସୱାର୍ଡ ସହିତ ଲଗ୍ଇନ୍ ସହିତ ଲଗ୍ ଇନ୍ କରିଛୁ |

ବର୍ତ୍ତମାନ, ଏହି ସର୍ଭର କ no ଣସି ସୂଚନା ସହିତ ସମ୍ପୂର୍ଣ୍ଣ ଖାଲି ସ୍ଥାନ ଆରମ୍ଭ କରେ | ଚାଲ ଜିଟିରୁ ଆମର ପ୍ରୋଜେକ୍ଟକୁ କ୍ଲୋନ କରି ଆରମ୍ଭ, ତେଣୁ ଆମେ ରିମୋଟ୍ ମେସିନ୍ରେ ଡାଉନଲୋଡ୍ ଏବଂ ଚଲାଇ ପାରିବା | SSH ସହିତ ସଂଯୁକ୍ତ ରିମୋଟ୍ ପିଠି ପରଦାରେ, ପ୍ରଥମେ ଆପଣଙ୍କର SSH କି କୁ ପ୍ରିଣ୍ଟ କରନ୍ତୁ:

cat ~/.ssh/id_rsa.pub

ପରବର୍ତ୍ତୀ, ଏହି ଚାବି ଆମର git ସଂଗ୍ରହାଳୟ ସେଟ୍ ଅପ୍ କରିବାକୁ ଆମେ କରିଥିବା GIT ସେଟିଂସମୂହକୁ ଲେପନ କରନ୍ତୁ | ଆମେ ବର୍ତ୍ତମାନ ସିଧାସଳଖ ଆମର ପ୍ରୋଜେକ୍ଟକୁ କ୍ଲୋନ୍ କରିପାରିବା | ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଆପଣ ପ୍ରଥମେ ସ୍ଥାନୀୟ ଭାବରେ ଏହି ପ୍ରକଳ୍ପକୁ ବ୍ୟାକଅପ୍ କରିଛନ୍ତି ତେଣୁ ଡାଉନଲୋଡ୍ କରିବାକୁ git ସର୍ଭରରେ ଅଛି |

git clone git://github.com/you/yourproject.git

ସିଦ୍ଧ ବର୍ତ୍ତମାନ ସମସ୍ତ ଫାଇଲ୍ ଏଠାରେ ଅଛି | ଆମେ ସେମାନଙ୍କୁ ls ସହିତ ଦେଖିପାରିବା |

ls

ବର୍ତ୍ତମାନ, ଚାଲ ସର୍ଭର ସେଟ୍ ଅପ୍ କରିବା ଆରମ୍ଭ କରିବା | ପ୍ରଥମେ, ଏକ ସରଳ ଡିରେକ୍ଟୋରୀକୁ ଏକ ସରଳ ନାମକୁ ଏକ ସରଳ ନାମଶାଳୀ ନାମରେ କପି କରନ୍ତୁ |

cp -r yourproject whatyoucalledit

ଯେଉଁଠାରେ "ତୁମର ପ୍ରୋଜେକ୍ଟର ନୂତନ ନାମ" କେଉଁଠାରେ ଅଛି | ପରବର୍ତ୍ତୀ ସମୟରେ, ସର୍ଭର ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ମ basic ଳିକ ଉପଯୋଗୀତା ନିର୍ମାଣ କରିବାକୁ ପଡିବ | ଆମେ ଏହି ଉପଯୋଗିତାକୁ ସଂରକ୍ଷଣ କରିବା ଏବଂ ଭବିଷ୍ୟତରେ ଏହାକୁ ବ୍ୟବହାର କରିବା | ଏହି ଉପଯୋଗିତା ନିର୍ମାଣ କରିବାକୁ, ଆମେ ଏକ ସ୍କ୍ରିପ୍ଟକୁ କିପରି ସଂପାଦନ କରିବା ପାଇଁ ବ୍ୟାଖ୍ୟା କରିବା ପାଇଁ ଚାଲ ଏକ ଉପଭୋକ୍ତା ବାଇନାରୀ ସୃଷ୍ଟି କରିବା | Bash, Edit / usr / bin / sescript ବ୍ୟବହାର କରିବା |

sudo nano /usr/bin/ascript

ନିଶ୍ଚିତ କରନ୍ତୁ ସେଠାରେ ସୁଡୋ ବ୍ୟବହାର କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ ଯାହା ଦ୍ you ାରା ଆପଣଙ୍କର ଫାଇଲ୍ ସଂପାଦନ କରିବାକୁ ଅନୁମତି ଅଛି | ଫାଇଲରେ, ଏହି ଲାଇନ୍ଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ:

# ! / ବିନ୍ / ବାସ୍ |
    echo "# ! / bin / bash ">> / USR / BIN / $ 1 |

ମନେରଖନ୍ତୁ ଏହି ସ୍କ୍ରିପ୍ଟକୁ ଆର୍ଗୁମେଣ୍ଟ, ସ୍କ୍ରିପ୍ଟ Next ଼ ଭାବରେ $ 1 ଆବଶ୍ୟକ କରେ | ସ୍କ୍ରିପ୍ଟ ବିଦ୍ୟମାନ ଅଛି କି ନାହିଁ ଯାଞ୍ଚ କରେ, କିମ୍ବା ଅନ୍ୟଥା ଏହା ସୃଷ୍ଟି କରେ, ସ୍କ୍ରିପ୍ଟ ହେଉଛି ବାଶି, ସ୍କ୍ରିପ୍ଟକୁ ସଂପାଦନ କରିବା, ଯାହା ଆମକୁ ସୃଷ୍ଟି କରୁଛି ତାହା ଯୋଡିବା | ଯଦି ଫାଇଲ୍ ପୂର୍ବରୁ ବିଦ୍ୟମାନ ଅଛି, କେବଳ ଅନୁମତି ପରିବର୍ତ୍ତନ କରନ୍ତୁ ଏବଂ ଏହାର ସଂପାଦନ କରନ୍ତୁ | ଫାଇଲ୍ ସେଭ୍ କରନ୍ତୁ ଏବଂ ପରବର୍ତ୍ତୀ ସମୟରେ ଆମେ ଏହାର ଅନୁମତି ପରିବର୍ତ୍ତନ କରିବୁ | ଯେପର୍ଯ୍ୟନ୍ତ ଆମେ ଏହି ସ୍କ୍ରିପ୍ଟ ବ୍ୟବହାର କରୁ, ଆମକୁ ଆଉ ତାହା କରିବାକୁ ହେବ ନାହିଁ |

sudo chmod a+x /usr/bin/ascript

ସିଦ୍ଧ ଏବେ, ସେଟଅପ୍ ନାମକ ଏକ ସ୍କ୍ରିପ୍ଟ ସୃଷ୍ଟି କରିବା | ପ୍ରଥମେ, ତୁମକୁ ଭରିଦେବାକୁ ନୁହେଁ, କିନ୍ତୁ ମୋର ସେଟଅପ୍ ସ୍କ୍ରିପ୍ଟଟି କିପରି ଦେଖାଯାଏ | ଏହି ସ୍କ୍ରିପ୍ଟଟି ତୁମର ପ୍ରୋଜେକ୍ଟରେ ଦେଖାଯିବା ପରି ଦେଖିବା ଦ୍ୱାରା ଆମେ ଚାଲିବା, ତୁମେ ମୋ ସ୍କ୍ରିପ୍ଟରେ ସବୁକିଛି ଆବଶ୍ୟକ କରିବ ନାହିଁ |

# ! / ବିନ୍ / ବାସ୍ |
# sudo chmod A + X ସ୍କ୍ରିପ୍ଟ / ବ୍ୟବହାରକାରୀଙ୍କ ପାଇଁ |
# ./scripts/usersetup |
# ssh-keygena
# ପ୍ରୋଜେକ୍ଟ ଡିରେକ୍ଟୋରୀ
# ଲଗ୍ ହୋଇଥିବା କମାଣ୍ଡ୍ |
# ନାନୋ ବିନ୍ୟାସ
# Git ବିନ୍ୟାସ
# ଅଦ୍ୟତନ ଏବଂ ସଂସ୍ଥାପନ କରନ୍ତୁ |
# କ୍ଲାୟାଭ ଆଣ୍ଟିଭାଇରସ୍ ସକ୍ଷମ କରନ୍ତୁ |
# ହୋଷ୍ଟନାମ ସେଟ୍ କରନ୍ତୁ |
# ସେଟଅପ୍ ପୋଷ୍ଟଗ୍ରେସ୍ |
# ଡାଟାବେସ୍ ବ୍ୟାକଅପ୍ |
# Iptables ଅକ୍ଷମ କରନ୍ତୁ |
# ବିଟଡିଫେଣ୍ଡର ସଂସ୍ଥାପନ କରନ୍ତୁ |
# Postup ପୋଷ୍ଟଫିକ୍ସ |
# ଶବ୍ଦ ସୃଷ୍ଟି କରନ୍ତୁ |
# ଗୁଣବତ୍ତା କେନ୍ଦ୍ର ସେଟ୍ କରନ୍ତୁ |
# ନିର୍ଭରଶୀଳତା ପ୍ରାପ୍ତ କରନ୍ତୁ ଏବଂ ନିର୍ମାଣ କରନ୍ତୁ |
# ଫାୟାରୱାଲ୍ ନିୟମ ସେଟ୍ କରନ୍ତୁ |
# Pypi ନିର୍ଭରଶୀଳତା ସଂସ୍ଥାପନ କରନ୍ତୁ |
pip3 install --upgrade opencv-python # == 4.5.5.60.60
pip3 install --upgrade opencv-contrib-python # == 4.5.5.60.60
# Pip ସଂସ୍ଥାପନ OpenCV-Python == 4.5.5.4.4.64 |
# Pip ସଂସ୍ଥାପନ OpenCV-cython == 4.5.5.4.4.5.64 |
# ସାର୍ଟିଭିବଟ୍ ସଂସ୍ଥାପନ କରନ୍ତୁ |
# ସାର୍ଟିଭବଟ୍ ଚଲାନ୍ତୁ |
# ମେଲ୍ ସର୍ଭରକୁ ପୁନ elo ଲୋଡ୍ କରନ୍ତୁ |
# ସାର୍ଟିଫିକେଟ୍ କପି କରନ୍ତୁ |
# sudo cp /etc/etc/tesencrypt/live/femmbembe.com/prinke.pe pirty.pe
# sudo cp /etc/tesencrycrpt/live/femmbabe.com/cert.pem cell cond.pe |
# ପ୍ୟାଚ୍ ଭେନଭଭ୍ |
# ଉପଯୋଗକର୍ତ୍ତା ସେଟିଂସମୂହ ସେଟ୍ କରନ୍ତୁ |
# ଅନୁମତି ସେଟ୍ କରନ୍ତୁ |
# ସୁଡୋ ଚାଉନ୍ -r ଦଳ: ଉପଭୋକ୍ତା / var / Run /
# ସୁଡୋ ଚାଉନ୍ ମୂଳ: ମୂଳ / ଚାଲିବା / sudo / ts -r |
# sudo chmod 664 DB.SQLite3 |
# ସୁଡୋ ଚାଉନ୍ www-did: ବ୍ୟବହାରକାରୀ DB.SQLite3 |
# ବିନ୍ୟାସ କପି ଏବଂ ଅନୁମତି ସେଟ୍ କରନ୍ତୁ |
# ସେଟଅପ୍ ଡାଟାବେସ୍ |
# ପାମ ବିନ୍ୟାସ କରନ୍ତୁ ଏବଂ ତ୍ରୁଟିପୂର୍ଣ୍ଣ SSH ବିନ୍ୟାସ ଅପସାରଣ କରନ୍ତୁ |
# sudo sed -i '' -e '$ d' /etc/pam.d/sshd |
# sudo sed -i '' -e '$ d' / Etc / profifest |
# ବିନ୍ ସ୍କ୍ରିପ୍ଟଗୁଡ଼ିକୁ କପି କରନ୍ତୁ ଏବଂ ଅନୁମତି ସେଟ୍ କରନ୍ତୁ |
# ସେବା ପୁନ elo ଲୋଡ୍ ଏବଂ ସକ୍ଷମ କରନ୍ତୁ |
# ଆପାଚେ ମଡ୍ୟୁଲ୍ ସକ୍ଷମ କରନ୍ତୁ |
# sudo A2Dismod mpm_event |
# sudo A2Dismod mpm_orkerker |
# sudo a2enmod mpm_prefork |
# ଡିଫଲ୍ଟ ସାଇଟ୍ ଅକ୍ଷମ କରନ୍ତୁ |
# ଆମ ସାଇଟକୁ ସକ୍ଷମ କରନ୍ତୁ |
# ଡେମନ୍ ପୁନ elo ନିର୍ମାଣ କରନ୍ତୁ ଏବଂ ଆପାଚେ, ପୋଷ୍ଟଫିକ୍ସ ଏବଂ OpenDKimିମ୍ ପୁନ rest ଆରମ୍ଭ କରନ୍ତୁ |
# ଅନୁମତି ସେଟ୍ କରନ୍ତୁ |
# ସ୍ Aw ାପ ବିନ୍ୟାସ
# Init କ୍ୟାପସନ୍ ଇଞ୍ଜିନ୍ |
# ସେଟଅପ୍ ଗିଟ୍ |
# IPv6 ଦେଖାନ୍ତୁ ଏବଂ ଡୋମେନ୍ ବିନ୍ୟାସ ପାଇଁ OpenDkim ଦେଖାନ୍ତୁ |
# ସେଟଅପ୍ ସମାପ୍ତ ହୋଇଛି |

ତାହା ବହୁତ ସେଟଅପ୍! ସର୍ଟରେ, ଏହି କୋଡ୍ ଲଗ୍ କରେ, ନାନୋ ଏବଂ ଜିଚ୍ ଆପ୍ଲିକେସନ୍, ପାଇଥନ୍ ନିର୍ଭରଶୀଳତାଗୁଡ଼ିକୁ ବିନ୍ୟାସ କରେ, ଡିରେକ୍ଟୋରୀଟି ବିନ୍ୟାସ କରିଥାଏ, ସ୍ଥାପନ କରିଥାଏ, ଯାହାକି ଏକ ଆଣ୍ଟିଭାଇରସ୍ ହୁଏ, ସଂସ୍ଥାପନ କରେ | ଏବଂ ସର୍ଭର ସେଟ୍ ଅପ୍ କରେ, ବିନ୍ୟାସ ଆରମ୍ଭ କରେ, ଦର୍ଶକ ଏବଂ ସକ୍ଷମ କରେ, ବ ap z ାମା, ସେଟ୍ ହୋଇଥିବା ID, ସେଟ୍ ଅନୁମତି ଏବଂ opv6 ଠିକଣା ଏବଂ openDsiD କି କୁ ପ୍ରିଣ୍ଟ କରେ | ଯଥେଷ୍ଟ ସରଳ, କିନ୍ତୁ ଏହା ବହୁତ କୋଡ୍ ପରି ଦେଖାଯାଉଛି | ଆମକୁ ଏହା କିଛି ଆବଶ୍ୟକ କରିବୁ ନାହିଁ କାରଣ ଆମର ନିର୍ଭରଶୀଳତା ନାହିଁ, ଆମେ ସେଲରୀ ବ୍ୟବହାର କରୁ ନାହୁଁ, କ୍ୟାଲେର୍ବେବିଟ୍ କିମ୍ବା ଡଫ୍ ଫ୍ୟାନ୍, କିନ୍ତୁ ଟ୍ୟୁନିଟ୍ କରିବା ପାଇଁ ସେମାନଙ୍କ ମଧ୍ୟରୁ କେତେକ ସଂସ୍ଥାପନ କରିବୁ | ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଏହି କୋଡ୍ ଅନେକ ଥର ଘୋଷଣା କରିଛି |

ଆମେ ମଧ୍ୟ ଏକ ଡୋମେନ୍ ନାମ କ୍ରୟ କରିବା ଆବଶ୍ୟକ କରିବୁ (ଯାହା ଏକ ଛୋଟ ବାର୍ଷିକ ଦେୟ) | ଏକ ଡୋମେନ୍ କ୍ରୟ ପାଇଁ ମୁଁ ସ୍କ୍ୱାସ୍ ସ୍ପେସ୍ କୁ ସୁପାରିଶ କରେ, ସେମାନଙ୍କର ଲେଆଉଟ୍ ଅନ୍ତର୍ନିହିତ ଏବଂ ବ୍ୟବହାର କରିବା ସହଜ | ଆପଣ ନିଜ ପସନ୍ଦର ଯେକ wome ଣସି ଡୋମେନ୍ କିଣି ପାରିବେ, କିନ୍ତୁ ମୁଁ ଏହି ଉଦାହରଣରେ ଡୋମେନ୍ Fmembabe.com ବ୍ୟବହାର କରୁଛି | ଥରେ ଆପଣ ଏକ ଡୋମେନ୍ ଯୋଗାଇଲା, ସ୍କ୍ୱାସସ୍ ସ୍ପେସ୍ DNS ବିନ୍ୟାସ ପ୍ୟାନେଲକୁ ମୁଣ୍ଡ Kns / ip ଠିକଣା ଏବଂ IP ଠିକଣା ସହିତ ସର୍ଭରକୁ ସୂଚାଉଥିବା ଏକ ରେକର୍ଡ ଯୋଡନ୍ତୁ | ଏହା ଏହିପରି ଦେଖାଯିବା ଉଚିତ୍:

@ ଏକ xx.xx.xx.xx

@ ଅପରେଟର ଭାବରେ @ ଅପରେଟର ସହିତ, ଏହି ଡୋମେନ୍ ଅଧୀନରେ, ଏହି ଡୋମେନ୍ ବ୍ୟତୀତ ଅନ୍ୟ ଏକ ଉପକୋଡଡେଣ୍ଟ୍ ଏବଂ ମୂଳ ଡୋମେନ୍ ସର୍ଭରକୁ ପୁନ ir ନିର୍ଦ୍ଦେଶିତ କରିବ | ଘୋଷଣା କରିବାକୁ ଅଧିକ ରେକର୍ଡ ଅଛି, କିନ୍ତୁ ଆମେ ମେଲ ପଠାଇବାକୁ ପ୍ରସ୍ତୁତ ହେବା ପରେ ଆମେ ଏଠାକୁ ଯାଇପାରିବା | ମନେରଖ, ସର୍ଭରରୁ ସଫଳତାର ସହ ମେଲ୍ ପଠାଇବାକୁ ସକ୍ଷମ ହେବା ପୂର୍ବରୁ ଏହା ଅନେକ ଦିନ ପୂର୍ବରୁ ନେଇପାରେ | DNS ରେକର୍ଡ ଆମେ ସେଟିଂକୁ ପ୍ରସାର କରିବାର ସମୟ ନେବ |

ଯାହା ବି ହେଉ, କେବଳ ରେକର୍ଡ ଆମେ ଆରମ୍ଭ କରିବା ଆବଶ୍ୟକ ଏକ ରେକର୍ଡ | ତେଣୁ ବର୍ତ୍ତମାନ ଆମେ ଆମର ପ୍ରୋଜେକ୍ଟ ଅନୁଯାୟୀ ନିମ୍ନ ସ୍କ୍ରିପ୍ଟରେ ପରିପୂର୍ଣ୍ଣ କରିପାରିବା ଏବଂ ଏହାକୁ ଚଲାଇବା |

ଆମକୁ ଏକ ମ basic ଳିକ ପ୍ରଗତି ପାଇଁ ଆବଶ୍ୟକ କରୁଥିବା କ'ଣ ସଂସ୍ଥାପନ କରିବାକୁ ଏକ ଛୋଟ ସେଟଅପ୍ ସ୍କ୍ରିପ୍ଟ ସହିତ ଆରମ୍ଭ କରିବା | ଆମେ ଏପର୍ଯ୍ୟନ୍ତ ଅନେକ ନିର୍ଭରଶୀଳତା କିମ୍ବା ପୋଷ୍ଟଗ୍ରେସ୍କେଲ୍ ବ୍ୟବହାର କରିବୁ ନାହିଁ, ଆମେ କେବଳ ଏକ ମ basic ଳିକ HTTP ସର୍ଭର ଆରମ୍ଭ କରିବୁ ଏବଂ ଏହା ସରିବା ପରେ ଏହାକୁ ପ୍ରମାଣ କରିବା ବିଷୟରେ ଚିନ୍ତା କରିବା | ମନେରଖ, ଏକ HTTPS ସାର୍ଟିଫିକେଟ୍ ପାଇବା ଏବଂ ସର୍ଭରକୁ ସୁରକ୍ଷିତ ଭାବରେ ଚଲାଇବାକୁ, ଆମକୁ ଭଡା ସହିତ ଏକ ଡୋମେନ୍ କିଣିବା ଆବଶ୍ୟକ | ବର୍ତ୍ତମାନ ପାଇଁ, "ଟିମ୍" କୁ ଆପଣଙ୍କର ୟୁଜର୍ ନାମରେ, "DIR" ତୁମର ପ୍ରୋଜେକ୍ଟର ଡିରେକ୍ଟାରା ସହିତ ତୁମର ୟୁଜର୍ ନାମ ଏବଂ "DIR" କୁ ତୁମର ଇମେଲ୍ ଏବଂ ଡୋମେନ୍ ଯୋଗାଏ ଏବଂ <>> ଟ୍ୟାଗରେ ଆପଣଙ୍କର ଇମେଲ୍ ଏବଂ ଡୋମେନ୍ ଯୋଗାଏ |

ଅତିରିକ୍ତ ଭାବରେ, ଆମେ ଏହି କୋଡ୍ ଚଲାଇବା ପୂର୍ବରୁ, ଆମେ ସେଟିଂସମୂହକୁ ଫାୟାରୱାଲରେ ହୋଷ୍ଟିଂ ପ୍ରୋଭେସର୍ ସମର୍ଥନକୁ ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡିବ, ଯଦି କ .େ | ସାଧାରଣତ i ଏହା ଆପଣଙ୍କର ହୋଷ୍ଟିଂ ପ୍ରଦାନକାରୀର 'ନେଟୱାର୍କ' ଟ୍ୟାବରେ ଅଛି, କିମ୍ବା ଯଦି ତୁମେ ତୁମର ରାଉଟରର 'ପୋର୍ଟ ଅଗ୍ରଗାମୀ' ବିଭାଗରେ | ଯଦି ତୁମର ରାଉଟର ଠିକଣା ମାଧ୍ୟମରେ ତୁମର ରାଉଟର ମାଧ୍ୟମରେ ଏକ ଷ୍ଟାଟିକ୍ IP ସେଟ୍ ଅପ୍ କରିବାକୁ ତୁମେ ମଧ୍ୟ ଏକ ଷ୍ଟାଟିକ୍ ଆଇକୁ ଆହୁରି ମଧ୍ୟ ଏକ ସ୍ଥାୟୀ IP ସେଟ୍ କରିବାକୁ ଚାହୁଁଛ, ଯଦି ଆପଣ ସ୍ୱୟଂ ସହାୟତା ବ୍ୟବହାର କରୁଛନ୍ତି | ପ୍ରବେଶ ପ read ଼ିବା / ଲେଖିବା ପାଇଁ ଆପଣଙ୍କୁ ନିମ୍ନଲିଖିତ ପୋର୍ଟଗୁଡିକ ଖୋଲିବାକୁ ପଡିବ |

22 (ssh) 25 (ମେଲ୍) 587 (ମେଲ୍) 110 (ମେଲ୍ କ୍ଲାଏଣ୍ଟ) 80 (http) 443 (HTTPS)

# ! / ବିନ୍ / ବାସ୍ |
# ଲଗ୍ ହୋଇଥିବା କମାଣ୍ଡ୍ |
# ନାନୋ ବିନ୍ୟାସ
# Git ବିନ୍ୟାସ
# ଅଦ୍ୟତନ ଏବଂ ସଂସ୍ଥାପନ କରନ୍ତୁ |
# କ୍ଲାୟାଭ ଆଣ୍ଟିଭାଇରସ୍ ସକ୍ଷମ କରନ୍ତୁ |
# ହୋଷ୍ଟନାମ ସେଟ୍ କରନ୍ତୁ |
# ଡାଟାବେସ୍ ବ୍ୟାକଅପ୍ |
# Iptables ଅକ୍ଷମ କରନ୍ତୁ |
# ଗୁଣବତ୍ତା କେନ୍ଦ୍ର ସେଟ୍ କରନ୍ତୁ |
# ସାର୍ଟିଭିବଟ୍ ସଂସ୍ଥାପନ କରନ୍ତୁ |
# ସାର୍ଟିଭବଟ୍ ଚଲାନ୍ତୁ |
# ଉପଯୋଗକର୍ତ୍ତା ସେଟିଂସମୂହ ସେଟ୍ କରନ୍ତୁ |
# ଅନୁମତି ସେଟ୍ କରନ୍ତୁ |
# ସୁଡୋ ଚାଉନ୍ -r ଦଳ: ଉପଭୋକ୍ତା / var / Run /
# ସୁଡୋ ଚାଉନ୍ ମୂଳ: ମୂଳ / ଚାଲିବା / sudo / ts -r |
# ସେବା ପୁନ elo ଲୋଡ୍ ଏବଂ ସକ୍ଷମ କରନ୍ତୁ |
# ଆପାଚେ ମଡ୍ୟୁଲ୍ ସକ୍ଷମ କରନ୍ତୁ |
# ଡେମନ୍ ପୁନ elo ନିର୍ମାଣ କରନ୍ତୁ ଏବଂ ଆପାଚେ, ପୋଷ୍ଟଫିକ୍ସ ଏବଂ OpenDKimିମ୍ ପୁନ rest ଆରମ୍ଭ କରନ୍ତୁ |
# IPv6 ଦେଖାନ୍ତୁ ଏବଂ ଡୋମେନ୍ ବିନ୍ୟାସ ପାଇଁ OpenDkim ଦେଖାନ୍ତୁ |

ଏହି କୋଡ୍ ଚଲାଇବା ପୂର୍ବରୁ, ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଆପଣ କିଣିଥିବା ଡୋମେନ୍ ସର୍ଭର ସହିତ ସଂଯୁକ୍ତ ଅଟନ୍ତି | ଏହା କରିବା ପାଇଁ, ଆପଣଙ୍କର ସ୍ଥାନୀୟ ମେସିନରେ ଏକ ଟର୍ମିନାଲ୍ ଖୋଲ, ଏବଂ ଆପଣଙ୍କର ଡୋମେନ୍ ସହିତ ଏହି ନିର୍ଦ୍ଦେଶକୁ ଚଲାନ୍ତୁ:

ping femmebabe.com # ପିଙ୍ଗ୍ ପରେ ଏଠାରେ ଆପଣଙ୍କର ଡୋମେନ୍ ସନ୍ନିବେଶ କରନ୍ତୁ |

ଯଦି ସମସ୍ତ ଭଲ ଦେଖାଯାଏ ଏବଂ ସର୍ଭର ପ୍ରତିକ୍ରିୟାଗୁଡ଼ିକୁ ପଠାଉଛି, ଆମେ ସ୍କ୍ରିପ୍ଟ ଚଲାଇବା ଏବଂ ଆରମ୍ଭ ହେବା ସହିତ ପ୍ୟାକେଜ୍ ସଂସ୍ଥାପନ କରି ପ୍ୟାକେଜ୍ ସଂସ୍ଥାପନ, ​​ଏବଂ ଆରମ୍ଭ ଏବଂ ସାର୍ଟିଫିକେଟ୍ କରିବା ଏବଂ ସାର୍ଟିଫିକେଟ୍ କରିବା ଏବଂ ସାର୍ଟିଫିକେଟ୍ କରିବା ଏବଂ ସାର୍ଟିଫିକେଟ୍ କରୁ |

ପୋଷ୍ଟଫିକ୍ସକୁ ବିନ୍ୟାସ କରିବା ପାଇଁ ଏହା ସମସ୍ତ ସେଟଅପ୍ ନୁହେଁ, ଆମେ ସେହି ସେଟଅପ୍ଙ୍କୁ ଅଧିକ ସେଟଅପ୍ ଦେଖିବା | ବର୍ତ୍ତମାନ ପାଇଁ, ଏହି ସେଟଅପ୍ କୋଡ୍ ଚଲାନ୍ତୁ ଏବଂ ଆପଣଙ୍କର ସର୍ଭରକୁ ସଂସ୍ଥାପନ କରିବା ଏବଂ ସାର୍ଟିଫିକେଟ୍ କରିବାକୁ କିଛି ମିନିଟ୍ ନିଏ | ପୁଣି ଥରେ, ଆପଣ କିଣିଥିବା ନାମ ଅନୁଯାୟୀ ନାମ, ଇମେଲ୍ ଏବଂ ଡୋମେନ୍ ନାମକୁ ବଦଳାଇବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ |

ବର୍ତ୍ତମାନ ଯେ ସର୍ଭର ସର୍ଭର ଯୋଗାଇ ଦିଆଯାଇଛି, ଆପଣ କ any ଣସି ୱେବ୍ ବ୍ରାଉଜର୍ ରେ URL ଯାଇପାରିବେ ଏବଂ ସର୍ଭର https ଚଳାଉଛି ନିଶ୍ଚିତ କରିବାକୁ ଯାଞ୍ଚ କରିପାରିବେ | ଯଦି ଏହା ନୁହେଁ, ଧରିବା ପାଇଁ DNS ରେକର୍ଡଗୁଡିକ ପାଇଁ ଅଳ୍ପ ସମୟ ପାଇଁ କିଛି ସମୟ ଅପେକ୍ଷା କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ ଏବଂ ତାପରେ ସାର୍ଟ ସାର୍ଟସର୍ଟ ସାର୍ଟିଫିକେଟ୍ ପୁନ ry ଚେଷ୍ଟା କରନ୍ତୁ:

sudo certbot --apache --non-interactive --agree-tos --domains <domain>.com --email <youremail>@gmail.com

ଯେପର୍ଯ୍ୟନ୍ତ ଆପଣ ସବୁକିଛି ସଠିକ୍ ଭାବରେ ବିନ୍ୟାସ କରିଛନ୍ତି, ଆପଣ କେବଳ ଆପଣଙ୍କର କୋଡ୍ କାର୍ଯ୍ୟ କରି ଏକ ଲାଇଭ ୱେବପେଜ ପ୍ରଦର୍ଶନ ବୋଲି ଜାଣିବା ପାଇଁ ଆପାଚର ଡିଫଲ୍ଟ ପୃଷ୍ଠାକୁ ପ୍ରବେଶ କରିବାକୁ ହେବା ଉଚିତ୍ | ପରବର୍ତ୍ତୀ, ଉତ୍ପାଦନରେ ଆମର ଡିଫଲ୍ଟ ଡିବଗ୍ ମୋଡ୍ ବଦଳାଇବାକୁ ସେଟିଂସମୂହକୁ ସେଟିଂସମୂହ ସଂପାଦନ କରିବା | ଆଭ୍ୟନ୍ତରୀଣ IPS ଏବଂ ଆଭ୍ୟନ୍ତରୀଣ IPS ସହିତ ଆମେ ଡୋମେନକୁ ମଧ୍ୟ ବିନ୍ୟାସ କରିବା |

nano yourproject/settings.py

ସେଟିଂସମୂହରେ, ଏହି ରେଖାଗୁଡ଼ିକୁ ପରିବର୍ତ୍ତନ / ଯୋଡ |

# ସାଇଟ୍ ବିନ୍ୟାସ

ବର୍ତ୍ତମାନ, ଆମକୁ ଆପାଚେଚେ ହଟାଇବାକୁ ପଡିବ | ଚାଲନ୍ତୁ ବିନ୍ୟାସକୁ ଏଡିଟ୍ କରିବା ଆମେ ଏହି ଲାଇନରେ ନିୟୋଜନ କରିବୁ:

sudo nano /etc/apache2/sites-available/femmebabe-le-ssl.conf

ଏହି ବିନ୍ୟାସ ଫାଇଲରେ ଏଥିରେ ଆମର ଡୋମେନ୍ ନାମ, ଏବଂ ଉପଭୋକ୍ତାଙ୍କର ନାମ ରଖିବା ଉଚିତ୍ | ମୁଁ ଡୋମେନ୍ ନାମ Fmembabe.com ର ନାମ, ଚାଳକନାମ ଦଳ, ଏବଂ ପ୍ରୋଜେକ୍ଟ ନାମ ଫେମ୍ବେବା |

ServerSignature Off
ServerTokens Prod
<IfModule mod_ssl.c>
<VirtualHost *:80> 
	Redirect permanent / https://femmebabe.com/
</VirtualHost>
<VirtualHost *:443>
	ServerName femmebabe.com
	ServerAdmin team@femmebabe.com
	DocumentRoot /var/www/html

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
	
	Alias /static /home/team/femmebabe/static
	<Directory /home/team/femmebabe/static>
		Require all granted
	</Directory>

Alias /media/icons /home/team/femmebabe/media/
<Directory /home/team/femmebabe/media>
Require all granted
</Directory>

	<Directory /home/team/femmebabe/femmebabe>
		<Files wsgi.py>
			Require all granted
		</Files>
	</Directory>

	WSGIScriptAlias / /home/team/femmebabe/femmebabe/wsgi.py
	WSGIDaemonProcess femmebabe python-path=/home/team/femmebabe/ python-home=/home/team/femmebabe/venv header-buffer-size=100000000000 user=team
	WSGIProcessGroup femmebabe
	WSGIApplicationGroup %{GLOBAL}
	
	<Directory /home/team/femmebabe/static>
                Options Indexes FollowSymLinks
                AllowOverride All
	</Directory>

	<IfModule mod_rewrite.c>
		RewriteEngine on
		RewriteCond %{REQUEST_URI} \.(css|webp|webm|gif|png|mp3|wav|jpeg|jpg|svg|webp)$ [NC]
		RewriteCond %{HTTP_REFERER} !^https://femmebabe.com/media/.*$ [NC]
		RewriteRule ^(.+?)/$ /media/$1 [F,L]
	</IfModule>

	Include /etc/letsencrypt/options-ssl-apache.conf
	SSLCertificateFile /etc/letsencrypt/live/femmebabe.com/fullchain.pem
	SSLCertificateKeyFile /etc/letsencrypt/live/femmebabe.com/privkey.pem

	Header set X-Frame-Options: "SAMEORIGIN"
	Header set Access-Control-Allow-Origin "https://femmebabe.com"

	TimeOut 60000
	LimitRequestBody 0

	<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|webp|JPG|JPEG|wav|mp3|mp4|public|js|css|swf|webp|svg)$">
		Header set Cache-Control "max-age=30, public"
	</FilesMatch>
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:80>
	ServerName femmebabe.com
	ServerAdmin team@femmebabe.com
	DocumentRoot /var/www/html

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	RewriteEngine on
	RewriteCond %{SERVER_NAME} =femmebabe.com
	RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
</IfModule>

ଆପଣଙ୍କର ସର୍ଭର ବିନ୍ୟାସ କରିବା ସମୟରେ ପ୍ରୋଜେକ୍ଟ, ଏବଂ ଡୋମେନର ନାମର ନାମକୁ ଏହି ଉଦାହରଣ କୋଡ୍ ରେ ବଦଳାଇବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ | ଏବେ, ଆମକୁ ଡିଫଲ୍ଟ ସାଇଟ୍ ଅକ୍ଷମ କରିବାକୁ ପଡିବ | ବାସ୍ ବ୍ୟବହାର କରି ଏହା କରାଯାଇପାରିବ |

sudo a2dissite 000-default-le-ssl
sudo a2dissite 000-default
sudo a2dissite default-ssl

ପରବର୍ତ୍ତୀ ସମୟରେ, ଆମେ ଡିଫଲ୍ଟ ସାଇଟ୍ ସକ୍ଷମ କରିପାରିବା ଏବଂ ବାସ୍ ବ୍ୟବହାର କରି, ବାଶ୍ ବ୍ୟବହାର କରି ମଧ୍ୟ APCHACHEN2 ବ୍ୟବହାର କରିପାରିବା | Fethbabe କୁ ସୂଚୀତ କରିବାକୁ ମନେରଖ, / ​​etc / apache2 / sitow ଉପଲବ୍ଧ / ରେ ସମ୍ପାଦନା କରିବା ସମୟରେ ଘୋଷଣା କରୁଥିବା ଫାଇଲର ନାମ ସହିତ ତୁମକୁ ଘୋଷଣା କର |

sudo a2ensite femmebabe-le-ssl
sudo systemctl reload apache2

Navba ରେ ଆପଣଙ୍କର ଡୋମେନ୍ କୁ ଫେରିଯାଅ | ଆପଣ ଆପଣଙ୍କର ୱେବ୍ ବ୍ରାଉଜରରେ ବିନ୍ୟାସ କରିଥିବା ସାଇଟ୍ ଦେଖିବା ଉଚିତ୍ | ଅଭିନନ୍ଦନ! ଯଦି ଆପଣ ଏହାକୁ ଦେଖନ୍ତି ନାହିଁ, ଆପଣଙ୍କୁ କିଛି ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡିପାରେ | ନିଶ୍ଚିତ ଭାବରେ ଆପଣଙ୍କର ପ୍ରୋଜେକ୍ଟରେ ସେଟିଂସମୂହ, ଆବେନା ବିନ୍ୟାସ, ନିଶ୍ଚିତ କର ଯେ ଆପଣଙ୍କର କ E ଣସି ତ୍ରୁଟି ନାହିଁ ଯାହା ତ୍ରୁଟି ପାଇଁ ପ୍ରକଳ୍ପ ଯାଞ୍ଚ କରିବାକୁ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଚଲାନ୍ତୁ ଏବଂ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଚଲାନ୍ତୁ ଏବଂ ତ୍ରୁଟି ପାଇଁ ପ୍ରକଳ୍ପ ଯାଞ୍ଚ କରିବାକୁ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଚଲାନ୍ତୁ |

cd projectname
source venv/bin/activate
python manage.py check

ଯଦି ତୁମର ପାଇଥନ୍ ପ୍ରୋଜେକ୍ଟରେ ତ୍ରୁଟି ଅଛି, ସେମାନଙ୍କୁ କେଉଁଠାରେ ଅଛି ଏବଂ ସେଗୁଡ଼ିକୁ ଠିକ୍ କର | ସେମାନେ କେଉଁଠାରେ ରଖିବେ ତାହା ଉପରେ ଆପଣଙ୍କର ସମସ୍ତ ତ୍ରୁଟି ଦେଖିବାକୁ ଆପଣ ହୁଏତ ମଧ୍ୟ ରହିପାରନ୍ତି ନାହିଁ ଯାହା ଆପଣଙ୍କୁ କହିଥାଏ ଯେ "ଜନବଧାରଣ ବିଶ୍ୱ ପରିବେଶ, ରେଜିଷ୍ଟ୍ରି.ପି ରେ ଥିବା ଭର୍ଚୁଆଲ୍ ପରିବେଶ, ରେଜିଷ୍ଟ୍ରି.ପି ରେ ଥିବା ଭର୍ଚୁଆଲ୍ ପରିବେଶ, ରେଜିଷ୍ଟ୍ରି.ପି ରେ ନିମ୍ନୋକ୍ତ ଫାଇଲ୍ ସଂପାଦନ କରନ୍ତୁ |

nano venv/lib/python3.12/site-packages/django/apps/registry.py

ଲାଇନ୍ 83 କୁ ସ୍କ୍ରୋଲ୍ କରନ୍ତୁ, ଯେଉଁଠାରେ ଏହି ରନ୍ଟାଇମ୍ ତ୍ରୁଟି ବ raised ଼ିଥାଏ (RunnimeDimeRor ("ଜବତ କରନ୍ତୁ)))), ଏବଂ ଏହି ରେଖା ଉପରେ ଏକ ମନ୍ତବ୍ୟ ନାହିଁ, ତେବେ ସମାନ ଇଣ୍ଡେଣ୍ଟେସନ୍ କିମ୍ବା ଏହି ଲାଇନକୁ ବ raising ଼ାନ୍ତୁ ନାହିଁ, ତେବେ ସିନେମାଚର୍ କରନ୍ତୁ ନାହିଁ, self.App_configs = {}। ଏହା ଏହିପରି ଦେଖାଯାଉଛି:

                # ApponCOig ଚଳାଇବା ପାଇଁ ଅନନ୍ତ କଲ୍ ରୋକନ୍ତୁ | ପୂର୍ବରୁ ())
                # ଦୁଇଥର ପଦ୍ଧତି |
# RunnimeRor କୁ ଉଠାନ୍ତୁ ("ଜନସଂଖ୍ୟା () ରେଣ୍ଟର୍ ନୁହେଁ")

ତାପରେ ଆପଣ ପୁନର୍ବାର ପ୍ରୋଜେକ୍ଟ ଯାଞ୍ଚ କରିପାରିବେ ଏବଂ ତ୍ରୁଟି ପ୍ରକାଶ କରିପାରିବେ |

python manage.py check

ତାପରେ ଆପଣ ତ୍ରୁଟି ଦେଖିପାରିବେ ଏବଂ ଏହାକୁ ଠିକ୍ କରିପାରିବେ | ଯେତେବେଳେ ଯେତେବେଳେ ଆପଣଙ୍କର ଏହା ସ୍ଥିର ହୋଇଛି ଏବଂ କୋଡ୍ କ reso ଣସି ତ୍ରୁଟି ସହିତ ସଂକେତ ଥାଏ, ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଫାଇଲ୍ ଫେରସ୍ତ କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ ଯାହା ଦ୍ muild ାରା ଆପଣ ଦେଖାଯାଇଥଲେ:

                # ApponCOig ଚଳାଇବା ପାଇଁ ଅନନ୍ତ କଲ୍ ରୋକନ୍ତୁ | ପୂର୍ବରୁ ())
                # ଦୁଇଥର ପଦ୍ଧତି |
# self.app_configs = {}

ସର୍ଭର ଅନଲାଇନ୍ ହୋଇଥାଏ, ଯେତେବେଳେ ଆମେ ଏହା ପାଇଁ ଆଉ କ changes ଣସି ପରିବର୍ତ୍ତନ କରିବା, ସର୍ଭରକୁ ପୁନ o ଲୋଡ୍ କରିବାକୁ ଆମକୁ ନିମ୍ନଲିଖିତ କମାଣ୍ଡ ବ୍ୟବହାର କରିବାକୁ ପଡିବ:

sudo systemctl reload apache2

ଅଦ୍ଭୁତ! କିନ୍ତୁ ମେଲ ପଠାଇବା ବିଷୟରେ କଣ? ଇମେଲ୍ ପଠାଇବା ଆରମ୍ଭ କରିବା ପାଇଁ, ଆମକୁ ପ୍ରଥମେ ଡୋମେନ୍ ବିନ୍ୟାସକରଣ କରିବାକୁ ପଡିବ | ଏହା ଆପଣଙ୍କ DNS ପ୍ୟାନେଲରେ ଥିବା DNS ପ୍ୟାନେଲରେ ରହିବା ଉଚିତ, କିମ୍ବା କେଉଁ ଡୋମେନ୍ ନାମ ରେଜିଷ୍ଟ୍ରାର୍ ବାଛିଛନ୍ତି | ଆମେ ମଧ୍ୟ ସଂସ୍ଥାପନ କରିବା ଏବଂ ବିନ୍ୟାସ ଯୋଡିବା ପାଇଁ ଆବଶ୍ୟକ କରିବୁ ଏବଂ କିଛି କମାଣ୍ଡ୍ ଚଲାନ୍ତୁ |

ପ୍ରଥମେ, ଆସନ୍ତୁ ସର୍ଭରର IPv6 ଠିକଣା ପାଇବାକୁ ଦିଅ | ତାପରେ ତୁମର DNS ଖୋଲ ଏବଂ ରେକର୍ଡଗୁଡିକ ଯୋଡିବା |

ସର୍ଭରର IPv6 ଠିକଣା ପାଇବାକୁ, ଏହି ନିର୍ଦ୍ଦେଶକୁ ବ୍ୟବହାର କରନ୍ତୁ:

ip -6 addr

ବର୍ତ୍ତମାନ, ଆମେ ନିମ୍ନଲିଖିତ ରେକର୍ଡଗୁଡ଼ିକୁ DNS ସେଟିଂସମୂହରେ ଯୋଡିବା | ମୋର ରେକର୍ଡ ଏହିପରି ଦେଖାଯାଏ | ତଥାପି, ତୁମର ରେକର୍ଡଗୁଡିକ ପାଇଁ, ତୁମେ IP କୁ ତୁମର IP ସହିତ ବଦଳାଇବା ଉଚିତ (75.147.182.214) | Fembabe.com ପରି ଆପଣଙ୍କର ଡୋମେନ୍ ମଧ୍ୟ ଯୋଡନ୍ତୁ, ଯେପରି ଆପଣଙ୍କର IPv6 ଠିକଣା ମଧ୍ୟ ପୂର୍ବ ନିର୍ଦ୍ଦେଶ ସହିତ ମିଳିବ (ଆପଣ ମୋର, FE80 :: 725A: FFF: FE49: 3e02) | ବର୍ତ୍ତମାନ ପାଇଁ ଡୋମେନ୍ସି ବିଷୟରେ ଚିନ୍ତା କର ନାହିଁ, ଯେତେବେଳେ ଆମେ ପୋଷ୍ଟଫିକ୍ସ, ମେଲ ସର୍ଭର ସହିତ ମେଲ ସର୍ଭର, ଚାବି ପ୍ରିଣ୍ଟ୍ କରିବା, ଏବଂ ଚାବି ପ୍ରିଣ୍ଟ୍ କରିବା | ଆମେ ଏହି ଶେଷକୁ ବିନ୍ୟାସ କରିବୁ |

@ A N / A 75.147.182.211

@ Mx 10 Fmembabe.com

@ Ptr N / A Fmembabe.com

@ Txt N / A Txt @ v = spf1 mx ip75.147.182.82.214IP6: FE80 :: FFF: FFF: 3E02 ~ ସମସ୍ତ |

ପୂର୍ବ ଡିଫଲ୍ଟ ._ବିମି Txt N / A v = BIMI1; L = HTTPS: //femmbabe.com/media/static/femambabe.svg |

_dmarc Txt N / A v = dmarc1; p = none

componly._domainkekey | Txt N / A

ବର୍ତ୍ତମାନ, ଆମେ ପୋଷ୍ଟଫିକ୍ସ ପାଇଁ କିଛି ସ୍ଥାୟୀ ବିନ୍ୟାସ ଯୋଡିବା ଆବଶ୍ୟକ | ଆପଣ ବ୍ୟବହାର କରୁଥିବା ଡୋମେନ୍ ନାମ, fmmbabe.com କୁ କେତେଜ୍ କରିବା ଆବଶ୍ୟକ କରନ୍ତି, ନିଶ୍ଚିତ କରନ୍ତୁ | ଆସନ୍ତୁ ସମସ୍ତ ବିନ୍ୟାସ ଫାଇଲଗୁଡ଼ିକୁ ଗୋଟିଏକୁ ଦେଖିବା, ଏବଂ OS ରେ ସଂସ୍ଥାପନ ପାଇଁ, ଏହାକୁ ଆମର ପ୍ରୋଜେକ୍ଟରେ ବିନ୍ୟାସିତ ଏକ ଡିରେକ୍ଟୋରୀରେ ଇନଷ୍ଟଲ୍ କରିବାକୁ ଦିଅ |

nano config/etc_postfix_main.cf

ଏହି ଟେକ୍ସଟ୍ ଫାଇଲ୍ ଯୋଡନ୍ତୁ |

# /Usr/ssree/postfix/mini.cf.dist ଦେଖନ୍ତୁ ଏକ ମନ୍ତବ୍ୟ ପ୍ରାପ୍ତ, ଅଧିକ ସଂପୂର୍ଣ୍ଣ ସଂସ୍କରଣ |
# ଡେବିୟାନ୍ ନିର୍ଦ୍ଦିଷ୍ଟ: ଏକ ଫାଇଲ୍ ନାମ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବା ପ୍ରଥମ ସୃଷ୍ଟି କରିବ |
# ସେହି ଫାଇଲର ରେଖା ନାମ ଭାବରେ ବ୍ୟବହୃତ ହେବାକୁ |  ଡେବିୟାନ୍ ଡିଫଲ୍ଟ |
# ହେଉଛି / etc / mailname |
# Myorigin = / etc / mailname |
# apping ୁଣ୍ଟିଦିଏ .ଡିନ୍ ହେଉଛି ମୋର କାମ |
# "ବିଳମ୍ବିତ ମେଲ୍" ଚେତାବନୀ ସୃଷ୍ଟି କରିବାକୁ ପରବର୍ତ୍ତୀ ଲାଇନକୁ ଅସମ୍ପୂର୍ଣ୍ଣ କରନ୍ତୁ |
# Delle_Warning_ Time = 4h |
# Http://www.postfix.org/Compaty_redmly.html ଦେଖନ୍ତୁ - 1 ରେ ଡିଫଲ୍ଟ |
# ସତେଜ ସଂସ୍ଥାଗୁଡ଼ିକ
# TLS ପାରାମିଟରଗୁଡିକ |
# ମିଲର୍ ବିନ୍ୟାସକରଣ |

ପରବର୍ତ୍ତୀ ବିନ୍ୟାସ୍କସ୍ତ!

nano config/etc_postfix_master.cf

ଏହି ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ:

# 
# ପୋଷ୍ଟଫିକ୍ସ ମାଷ୍ଟର ପ୍ରୋସେସ୍ ବିନ୍ୟାସ ଫାଇଲ୍ |  ଫର୍ମାଟ୍ ଉପରେ ସବିଶେଷ ବିବରଣୀ ପାଇଁ |
# ଫାଇଲର, ମାଷ୍ଟର (5) ମାନୁଆଲ୍ ପୃଷ୍ଠା ଦେଖନ୍ତୁ (ନିର୍ଦ୍ଦେଶ: "ମ୍ୟାନ୍ 5 ମାଷ୍ଟର" କିମ୍ବା |
# ଅନ-ଲାଇନ୍: http://www.postfix.org/master.html) |
# 
# ଏହି ଫାଇଲ୍ ସଂପାଦନ କରିବା ପରେ "ପୋଷ୍ଟଫିକ୍ସ ପୁନ boo elo ଲୋଡ୍" ଏକଜେକ୍ୟୁଟ୍ କରିବାକୁ ଭୁଲନ୍ତୁ ନାହିଁ |
# 
# ==========================================================================
# ସେବା ପ୍ରକାର ବ୍ୟକ୍ତିଗତ ବ୍ୟବହାରିକ unbivie crorot ୱାକଅପ୍ Maxproc ନିର୍ଦ୍ଦେଶ + ଆର୍ଗସ୍ |
# (ହଁ) (ହଁ) (ନା) (କଦାପି) (100)
# ==========================================================================
# SMTT OTT N - Y - 1 ପୋଷ୍ଟସ୍କ୍ରିନ |
# SMTPD ପାସ୍ - - Y - - SMTPD |
# DnSBlog Unix - - Y - 0 DNSBlog |
# TLSProx-Anix - - y - 0 Tlsproxy |
# ଗୋଟିଏ ବାଛନ୍ତୁ: କେବଳ, କିମ୍ବା ଯେକ cufficies ଣସି ଗ୍ରାହକଙ୍କ ପାଇଁ ଲୁପ୍ ବ୍ୟାକ୍ କ୍ଲାଏଣ୍ଟକୁ ସକ୍ଷମ କରନ୍ତୁ |
# 127.0.0.1:SUBMESS O ଣ n - y - - smtpd |
# -O syslog_name = ପୋଷ୍ଟଫିକ୍ସ / ଦାଖଲ |
# -O smtpd_tls_secity_level = ଏନକ୍ରିପ୍ଟ |
# -O smtpd_sasl_auth_enable = ହଁ |
# -o smtpd_tls_auth_only = ହଁ |
# -O smpd_reject_unlet_recient = ନା
# -O smtpd_cliennt_rstrices = $ mua_clienent_ra ରିତି |
# -O SMTPD_HELLO_RORTRICTE = $ mua_helo_rrable |
# -O smtpd_seender_rstericble = $ mua_serder_rsiction |
# -o smpd_recrectipient_rsteriction =
# -o smtpd_relay_ra ରାଇନ୍ସ = ଅନୁମତି_sasl_aut ପ୍ରାମାଣିକିକରଣ, ପ୍ରତ୍ୟାଖ୍ୟାନ |
# -O Milter_macro_demoon_name = ଉତ୍ପନ୍ନ |
# ଗୋଟିଏ ବାଛନ୍ତୁ: କେବଳ, କିମ୍ବା ଯେକ cufficies ଣସି ଗ୍ରାହକଙ୍କ ପାଇଁ ଲୋପବ୍ୟାକ୍ ଗ୍ରାହକମାନଙ୍କ ପାଇଁ SMPP ସକ୍ଷମ କରନ୍ତୁ |
# 127.0.0.1:smpts int n - y - - smpd |
# smtps int n - y - - smpd |
# -O syslog_name = ପୋଷ୍ଟଫିକ୍ସ / smps |
# -O smtpd_tls_wrappermodood = ହଁ |
# -O smtpd_sasl_auth_enable = ହଁ |
# -O smpd_reject_unlet_recient = ନା
# -O smtpd_cliennt_rstrices = $ mua_clienent_ra ରିତି |
# -O SMTPD_HELLO_RORTRICTE = $ mua_helo_rrable |
# -O smtpd_seender_rstericble = $ mua_serder_rsiction |
# -o smpd_recrectipient_rsteriction =
# -o smtpd_relay_ra ରାଇନ୍ସ = ଅନୁମତି_sasl_aut ପ୍ରାମାଣିକିକରଣ, ପ୍ରତ୍ୟାଖ୍ୟାନ |
# -O Milter_macro_demoon_name = ଉତ୍ପନ୍ନ |
# 628 ଇନଟ୍ n - y - - qmqpd |
# QMR UNIX N - N 300 1 OQMGR |
# -o smtp_hemoor_timout = 5 -o Smtp_connect_timeout = 5 |
# 
# ====================================================================
# ଅଣ-ପୋଷ୍ଟଫିକ୍ସ ସଫ୍ଟୱେର୍ କୁ ଇଣ୍ଟରଫେସ୍ | ମାନୁଆଲ୍ ପରୀକ୍ଷା କରିବାକୁ ନିଶ୍ଚିତ ହୁଅନ୍ତୁ |
# ଏହା କେଉଁ ବିକଳ୍ପ ଚାହୁଁଛି ଜାଣିବାକୁ ଅଣ-ପୋଷ୍ଟଫିକ୍ସ ସଫ୍ଟୱେୟାରର ପୃଷ୍ଠାଗୁଡ଼ିକ |
# 
# ନିମ୍ନଲିଖିତ ଅନେକ ସେବା ପୋଷ୍ଟଫିକ୍ସ ପାଇପ୍ (8) ବିତରଣକୁ ବ୍ୟବହାର କରେ |
# ଏଜେଣ୍ଟ୍ |  $ {ପ୍ରାପ୍ତକର୍ତ୍ତାଙ୍କ ବିଷୟରେ ସୂଚନା ପାଇଁ ପାଇପ୍ (8) ମ୍ୟାନ୍ ପୃଷ୍ଠା ଦେଖନ୍ତୁ |
# ଏବଂ ଅନ୍ୟ ବାର୍ତ୍ତା ଏନଭଲପ୍ ବିକଳ୍ପଗୁଡ଼ିକ |
# ====================================================================
# 
# ମିଲଟ୍ରୋପ୍ ବିବରଣୀ ପାଇଁ ପୋଷ୍ଟଫିକ୍ସ ମାଷିଲ୍ରୋପ୍_redem ଫାଇଲ ଦେଖନ୍ତୁ |
# Main.cf: matilrop_dent_recipient_limit_limit = 1 ରେ ମଧ୍ୟ ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତୁ |
# 
# 
# ====================================================================
# 
# ସାମ୍ପ୍ରତିକ ସାଇରସ୍ ସଂସ୍କରଣଗୁଡ଼ିକ ବିଦ୍ୟମାନ "LMTP" ମାଷ୍ଟର -CF ଏଣ୍ଟ୍ରିକୁ ବ୍ୟବହାର କରିପାରିବେ |
# 
# Cyrus.conf ରେ ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତୁ:
# LMP CMD = "LMPD -A" ଶୁଣ = "ଲୋକାଲହୋଷ୍ଟ: LMBY" ପ୍ରୋଟକୁ "ପ୍ରୋଟ = onc4
# 
# ନିମ୍ନଲିଖିତ ମଧ୍ୟରୁ main.cf ରେ ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତୁ:
# mailbox_transortpp = lmtb: ONTH: LaCalOST |
# veral। lmtp: O ଣ: ସ୍ଥାନୀୟହୋତ୍ତମ |
# 
# ====================================================================
# 
# ସାଇରସ୍ 2.1.5 (ଆମୋସ୍ ଚୁଆଆ)
# Main.cf: cyrus_dent_recipient_recipit = 1 ରେ ମଧ୍ୟ ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତୁ |
# 
# ସାଇରସ୍ ୟୁନିକ୍ସ - n n - - ପାଇପ୍ |
# flawsx a ar ଆଗୁଭ୍ = / crrus / bin / ବିତରଣ-ବିତରଣ -e {ପ୍ରେରକ} $ {as ଉପଯୋଗକର୍ତ୍ତା}
# 
# ====================================================================
# ସାଇରସ୍ ମାଧ୍ୟମରେ ବିତରଣର ପୁରୁଣା ଉଦାହରଣ |
# 
# ପୁରୁଣା-ସାଇରସ୍ ୟୁନିକ୍ସ - n n - - ପାଇପ୍ |
# flags = r userus agv = / cyrus / bin / ବିତରଣ-ବିତରଣ -e -m $ {ସମ୍ପ୍ରତି}
# 
# ====================================================================
# 
# ବିନ୍ୟାସ ବିବରଣୀ ପାଇଁ Poatfix UUCP_Readme ଫାଇଲ ଦେଖନ୍ତୁ |
# 
# 
# ଅନ୍ୟାନ୍ୟ ବାହ୍ୟ ବିତରଣ ପଦ୍ଧତିଗୁଡ଼ିକ |
# 

ଏବଂ ଓପେଣ୍ଡକିମ୍ ବିନ୍ୟାସ | ଅଧିକ ସୁରକ୍ଷିତ କରିବା ପାଇଁ ଡୋମେନ୍ କି ସହିତ ଓପନ୍ ମଳିକେ ଇମେଲ୍ ସର୍ଭରଗୁଡ଼ିକୁ ଚିହ୍ନଟ କରେ | ଏହା ବିନା ମେଲ୍ ଦସ୍ତଖତ ହୋଇନାହିଁ ଏବଂ ଏହାକୁ ଏକ ଇନବକ୍ସରେ ତିଆରି କରିନପାରେ |

nano config/etc_default_opendkim

ଏହି ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ:

# ଟିପନ୍ତୁ: ଏହା ଏକ ପୁରୁଣା ବିନ୍ୟାସ ଫାଇଲ | ଏହା ଓପଡେସ୍କିମ୍ ଦ୍ୱାରା ବ୍ୟବହୃତ ହୁଏ ନାହିଁ |
# ସିଷ୍ଟମ୍ ସର୍ଭର | ଦୟାକରି ଅନୁରୂପ ବିନ୍ୟାସ ପାରାମିଟରଗୁଡିକ ବ୍ୟବହାର କରନ୍ତୁ |
# ଏହା ପରିବର୍ତ୍ତେ /etc/opeendkim.conf |
# 
# ପୂର୍ବରୁ, ଜଣେ ଏଠାରେ ଡିଫଲ୍ଟ ସେଟିଂସମୂହ ସଂପାଦନ କରିବ ଏବଂ ତା'ପରେ ଏକଜେକ୍ୟୁଟ୍ କରିବ |
# /lib/opeendkim/opeendkim.service.evice.evere ଫାଇଲଗୁଡ଼ିକୁ ନବଲିଖନ କରିବା ପାଇଁ |
# /Etc/sysmemd/system/opendekim.d/override.conf ଏବଂ
# /Ex/tmpfiles.d/peendkim.conf। ଯେତେବେଳେ ଏହା ଏପର୍ଯ୍ୟନ୍ତ ସମ୍ଭବ, ବର୍ତ୍ତମାନ ଏହା ହେଉଛି |
# ସିଧାସଳଖ /etc/opendkim.conf ରେ ଥିବା ସେଟିଂସମୂହକୁ ସଜାଡ଼ିବା ପାଇଁ ପରାମର୍ଶ ଦିଆଯାଇଛି |
# 
# Daemon_opts = ""
# ସହିତ ଏକ ୟୁନିକ୍ସ ସକେଟ୍ ବ୍ୟବହାର କରିବାକୁ / var / spolix / ଚଲାନ୍ତୁ / ଚାଲିବା / ଚାଲନ୍ତୁ / OpenDKIM କୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ |
# ଏକ କ୍ରୋଟ୍ ରେ ପୋଷ୍ଟଫିକ୍ସ:
# Roundir = / var / spolool / postfix / Run / Opendkimm |
# 
# ଏକ ବିକଳ୍ପ ସକେଟ୍ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ଅସନ୍ତୁଷ୍ଟ |
# ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ସେଟିଂ କରିବା ଏହା Opendkim.conf ରେ ଯେକ any ଣସି ସକେଟ୍ ଭାଲ୍ୟୁକୁ ଉନ୍ନତ କରିବ |
# ଡିଫଲ୍ଟ:
# ପୋର୍ଟ 54321 ରେ ସମସ୍ତ ଇଣ୍ଟରଫେସ୍ ଶୁଣନ୍ତୁ:
# ସକେଟ୍ = ONT: 54321
# ପୋର୍ଟ 12345 ରେ ଲୁପ୍ ବ୍ୟାକ୍ ଶୁଣନ୍ତୁ:
# ସକେଟ୍ = OET: 12345 @ ଲୋକାଲ୍ହୋଷ୍ଟ |
# ପୋର୍ଟ 12345 ରେ 192.0.2 ରେ ଶୁଣନ୍ତୁ:
# ସକେଟ୍ = ଇନ୍ଟ: 12345@192.0.2.1
nano config/etc_dovecot_conf.d_10-master.conf

ଏହି ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ:

# dription_proces_limit = 100 |
# despt_cliennt_limit = 1000 |
# ୱେବସାଇଟ୍ vsz (ଭର୍ଚୁଆଲ୍ ମେମୋରୀ ସାଇଜ୍) ସେବା ପ୍ରକ୍ରିୟା ପାଇଁ ସୀମା | ଏହା ମୁଖ୍ୟତ। ଅଟେ |
# ପ୍ରକ୍ରିୟାକୁ ଧରିବା ଏବଂ ମାମଲା କରିବା ପାଇଁ ମେମୋରୀ ଲିକ୍ କରିବା ପାଇଁ ଉଦ୍ଦିଷ୍ଟ |
# ସବୁକିଛି |
# displate_vsz_limit = 256 ମି
# ଲଗଇନ୍ ବ୍ୟବହାରକାରୀମାନେ ଲଗଇନ୍ ପ୍ରକ୍ରିୟା ଦ୍ୱାରା ଆଭ୍ୟନ୍ତରୀଣ ଭାବରେ ବ୍ୟବହୃତ ହୁଏ | ଏହା ସବୁଠାରୁ ଅବିଶ୍ୱସନୀୟ |
# Dovecot ସିଷ୍ଟମରେ ଉପଭୋକ୍ତା | ଏଥିରେ ଆଦ anything କ anything ଣସି ଜିନିଷକୁ ପ୍ରବେଶ କରିବା ଉଚିତ୍ ନୁହେଁ |
# displate_login_User = Delverull |
# ଆଭ୍ୟନ୍ତରୀଣ ଉପଭୋକ୍ତା ଅଣସଂରକ୍ଷିତ ପ୍ରକ୍ରିୟା ଦ୍ୱାରା ବ୍ୟବହୃତ ହୁଏ | ଏହା ଅଲଗା ହେବା ଉଚିତ୍ |
# ଲଗଇନ୍ ବ୍ୟବହାରକାରୀ, ତେଣୁ ସେହି ଲଗଇନ୍ ପ୍ରକ୍ରିୟା ଅନ୍ୟ ପ୍ରକ୍ରିୟାକୁ ବିଚଳିତ କରିପାରିବ ନାହିଁ |
# disple_internter_user = dovecot |
    # ପୋର୍ଟ = 143
    # ପୋର୍ଟ = 993
    # SSL = ହଁ |
  # ଏକ ନୂତନ ପ୍ରକ୍ରିୟା ଆରମ୍ଭ କରିବା ପୂର୍ବରୁ ପରିଚାଳନା କରିବାକୁ ସଂଯୋଗ ସଂଖ୍ୟା | ସାଧାରଣତ। |
  # କେବଳ ଉପଯୋଗୀ ମୂଲ୍ୟଗୁଡ଼ିକ ହେଉଛି 0 (ଅସୀମିତ) କିମ୍ବା 1 | 1 ଅଧିକ ସୁରକ୍ଷିତ, କିନ୍ତୁ 0 |
  # ଦ୍ରୁତ ଗତିରେ ଅଛି | <DOC / Wiki / LogorkPoces.txt> |
  # Service_count = 1
  # ସର୍ବଦା ଅଧିକ ସଂଯୋଗକୁ ଅପେକ୍ଷା କରିବା ପାଇଁ ପ୍ରକ୍ରିୟା ସଂଖ୍ୟା |
  # perse_min_avail = 0
  # ଯଦି ଆପଣ Serverver_cocunt = 0 ସେଟ୍ କରନ୍ତୁ, ତେବେ ଆପଣ ବୋଧହୁଏ ଏହା ବ grow ିବାକୁ ଆବଶ୍ୟକ କରନ୍ତି |
  # vsz_limit = $ unower_vsz_limit
    # ପୋର୍ଟ = 110
    # ପୋର୍ଟ = 995
    # SSL = ହଁ |
    # ପୋର୍ଟ = 587
  # ଯଦି ଆପଣ ଉପରୋକ୍ତ ୟୁନିକ୍ସ ସକେଟ୍ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ ତେବେ କେବଳ ଏବେ ଶ୍ରୋତା ସୃଷ୍ଟି କରନ୍ତୁ |
  # ORT_LETERNER LMTTT |
    # ସମଗ୍ର ଇଣ୍ଟରନେଟ୍ ପାଇଁ LMTP ଦୃଶ୍ୟମାନ କରିବା ଠାରୁ ଦୂରେଇ ରୁହନ୍ତୁ |
    # ଠିକଣା =
    # ପୋର୍ଟ =
  # }
  # ଅଧିକାଂଶ ସ୍ମୃତି MMAP () ଇଙ୍ଗ ଫାଇଲକୁ ଯାଏ | ଆପଣଙ୍କୁ ଏହାର ବୃଦ୍ଧି କରିବାକୁ ପଡିପାରେ |
  # ଯଦି ଆପଣଙ୍କର ବଡ଼ ମେଲବାକ୍ସ ଅଛି ତେବେ ସୀମା |
  # vsz_limit = $ unower_vsz_limit
  # ସର୍ବାଧିକ ଇମାପ୍ ପ୍ରକ୍ରିୟା ସଂଖ୍ୟା (ସଂଯୋଗ)
  # ProCert_limit = 1024
  # ସର୍ବାଧିକ POP3 ପ୍ରକ୍ରିୟା ସଂଖ୍ୟା (ସଂଯୋଗ)
  # ProCert_limit = 1024
  # ସର୍ବାଧିକ SMTP ଦାଖଲ ପ୍ରକ୍ରିୟା ସଂଖ୍ୟା (ସଂଯୋଗ)
  # ProCert_limit = 1024
  # ଡିଫଲ୍ଟ ଭାବରେ Auth_serdb ସକେଟକୁ auth_serdb ସକେଟକୁ ସୂଚିତ କରେ | ଏହା ସାଧାରଣତ। |
  # DOVCOT-LDA, DOOVADM, ସମ୍ଭବତ im iMap ପ୍ରକ୍ରିୟା, ଇତ୍ୟାଦି |
  # ଏହି ସକେଟରେ ସମ୍ପୂର୍ଣ୍ଣ ଅନୁମତି ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତା ନାମର ଏକ ତାଲିକା ପାଇବାକୁ ସକ୍ଷମ |
  # ସମସ୍ତଙ୍କ USRDB ସନ୍ଧାନର ଫଳାଫଳ ପ୍ରାପ୍ତ କରନ୍ତୁ |
  # 
  # ଡିଫଲ୍ଟ 0666 ମୋଡ୍ ଯେକକୋନାକୁ ସକେଟ୍ ସହିତ ସଂଯୋଗ କରିବାକୁ ଅନୁମତି ଦିଏ, କିନ୍ତୁ
  # ଉପଯୋଗକର୍ତ୍ତାଙ୍କ "UID" ଫିଲ୍ଡକୁ ବ୍ୟବହାର କରନ୍ତୁ ଯଦି ବ୍ୟବହାରକାରୀ ଏକ "UID" କ୍ଷେତ୍ରକୁ ଫେରସ୍ତ କରେ |
  # କଲର୍ ପ୍ରକ୍ରିୟାର UID ସହିତ ମେଳ ହୁଏ | ଯଦି କଲର୍ ର UID କିମ୍ବା GID ସହିତ ମେଳ ହୁଏ |
  # ସକେଙ୍କ UID କିମ୍ବା GID ସନ୍ଧାନ ସଫଳ ହୁଏ | ଅନ୍ୟ କିଛି ଏକ ବିଫଳତା ସୃଷ୍ଟି କରେ |
  # 
  # ସମସ୍ତ ଉପଭୋକ୍ତା ଖୋଜିବା ପାଇଁ କଲର୍ ସମ୍ପୂର୍ଣ୍ଣ ଅନୁମତି ଦେବା, ମୋଡ୍ ସେଟ୍ କରନ୍ତୁ |
  # 0666 ଏବଂ ଡୋଭକୋଟ୍ ବ୍ୟତୀତ ଅନ୍ୟ କିଛି କର୍ଣ୍ଣଲକୁ କାର୍ଯ୍ୟକାରୀ କରିବାକୁ ଦେଇଥାଏ |
  # ଅନୁମତି (e.g. 0777 ସମସ୍ତେ ପୂର୍ଣ୍ଣ ଅନୁମତି ଅନୁମତି ଦିଅନ୍ତି) |
  # Auf scker ପ୍ରକ୍ରିୟା ଡିଫଲ୍ଟ ଭାବରେ ରନ୍ ହେଉଛି, ଯାହା ଦ୍ it ାରା ଏହା ପ୍ରବେଶ କରିପାରିବ |
  # / etc / ଛାୟା | ଯଦି ଏହା ଆବଶ୍ୟକ ନୁହେଁ, ଉପଭୋକ୍ତାଙ୍କୁ ପରିବର୍ତ୍ତନ କରାଯିବା ଉଚିତ୍ |
  # $ disaster_interal_user |
  # ଉପଯୋଗକର୍ତ୍ତା = ରୁଟ୍
  # ଯଦି ଡିକ୍ଟ ପ୍ରକ୍ସି ବ୍ୟବହୃତ ହୁଏ, ମେଲ୍ ପ୍ରୋସେସ୍ ଗୁଡିକ ଏହାର ସକେଟକୁ ପ୍ରବେଶ କରିବା ଉଚିତ୍ |
  # ଉଦାହରଣ ସ୍ୱରୂପ: ମୋଡ୍ = 0660, ଗ୍ରୁପ୍ = vmail ଏବଂ ଗ୍ଲୋବାଲ୍ ମେଲ୍_ ଆକାଉଣ୍ଟ_ ଗ୍ରୁପ୍ = vmail |
    # ମୋଡ୍ = 0600
    # aways =
    # ଗୋଷ୍ଠୀ =

ପୁନର୍ବାର, ଆପଣ ବାଛିଥିବା ଡୋମେନ୍ ସହିତ, fmmbe.com ସହିତ ଏହି ସମସ୍ତ ଫାଇଲ୍, Fmenbabe.com ରେ ଏହି ସମସ୍ତ ଫାଇଲ୍, Fmenbabe.com ରେ ଏହି ସମସ୍ତ ଫାଇଲ୍, Fmenbabe.com କୁ ବଦଳାଇବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ | ପରବର୍ତ୍ତୀ ଫାଇଲ, ଡେବ୍କଟଙ୍କ କାତାରକୁ ସଂପାଦନ କରନ୍ତୁ ଏବଂ

nano config/etc_dovecot_dovecot

ଏବଂ ଏହି ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ |

## ଡୋଭକଟ୍ ବିନ୍ୟାସ ଫାଇଲ୍ |
# ଯଦି ଆପଣ ଶୀଘ୍ର ଯାଉଛନ୍ତି, http://wikiboot.org/quickconfiger ଦେଖନ୍ତୁ |
# "douveconof -n" କମାଣ୍ଡ୍ ପରିବର୍ତ୍ତିତ ସେଟିଂସମୂହର ଏକ ପରିଷ୍କାର ଆଉଟପୁଟ୍ ପ୍ରଦାନ କରେ | ଏହାକୁ ବ୍ୟବହାର କରନ୍ତୁ |
# ଡୋଭକୋଟ୍ ମେଲିଂ ତାଲିକାରେ ପୋଷ୍ଟ କରିବା ସମୟରେ ଫାଇଲଗୁଡ଼ିକୁ କପି ଏବଂ ପେଷ୍ଟ କରିବା ପରିବର୍ତ୍ତେ |
# '# 'ଚରିତ୍ର ଏବଂ ଏହା ମନ୍ତବ୍ୟ ଭାବରେ ପରିଗଣିତ ହେବା ପରେ ସବୁକିଛି | ଅତିରିକ୍ତ ସ୍ଥାନ |
# ଏବଂ ଟ୍ୟାବଗୁଡ଼ିକୁ ଅଣଦେଖା କରାଯାଏ | ଯଦି ଆପଣ ଏହାକୁ ସ୍ପଷ୍ଟ ଭାବରେ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ରଖନ୍ତୁ |
# value inside quotes, eg.: key = "# ଚାର୍ ଏବଂ ଟ୍ରେଲିଂ ହ୍ୱିଟ୍ ସ୍ପେସ୍ "
# ଅଧିକାଂଶ (କିନ୍ତୁ ସମସ୍ତ) ସେଟିଂସମୂହ ବିଭିନ୍ନ ପ୍ରୋଟୋକଲ୍ସ ଏବଂ / କିମ୍ବା ଦ୍ୱାରା ନବଲିଖନ ହୋଇପାରେ |
# ବିଭାଗଗୁଡିକ ବିଭାଗ ଭିତରେ ସେଟିଂସମୂହ ରଖିବା ଦ୍ୱାରା ଉତ୍ସ / ଗନ୍ତବ୍ୟସ୍ଥଳ IPS, ଉଦାହରଣ ସ୍ୱରୂପ:
# ପ୍ରୋଟୋକଲ୍ ଇମାପ୍ {}, ସ୍ଥାନୀୟ 127.0.0.1}, ସୁଦମ 10.0.0/8 {{}
# ପ୍ରତ୍ୟେକ ସେଟିଂ ପାଇଁ ଡିଫଲ୍ଟ ମୂଲ୍ୟଗୁଡ଼ିକ ଦର୍ଶାଯାଇଛି, ଏହା ଅଣକମ୍ବଲ ପାଇଁ ଆବଶ୍ୟକ ନୁହେଁ |
# ସେଗୁଡ଼ିକ | ଏଗୁଡିକ ଏହା ପାଇଁ ବ୍ୟତିକ୍ରମ: କ sec ଣସି ବିଭାଗ (e.g. ନାମସପେସ୍})
# କିମ୍ବା ପ୍ଲଗଇନ୍ ସେଟିଂସମୂହ ଡିଫଲ୍ଟ ଭାବରେ ଯୋଗ କରାଯାଇଥାଏ, ସେମାନେ କେବଳ ଉଦାହରଣ ସ୍ୱରୂପ ତାଲିକାଭୁକ୍ତ ଭାବରେ ତାଲିକାଭୁକ୍ତ କରନ୍ତି |
# ପଥଗୁଡ଼ିକ ବର୍ତ୍ତମାନର ପ୍ରକୃତ ଡିଫଲ୍ଟ ସହିତ ମଧ୍ୟ ଉଦାହରଣ ଅଟେ |
# ବିକଳ୍ପଗୁଡ଼ିକ ଏଠାରେ ତାଲିକସ୍ତ ହୋଇଥିବା ପଥଗୁଡ଼ିକ --prefix = / usr କୁ ବିନ୍ୟାସ କରିବା ପାଇଁ ହେଉଛି |
# --SySYonConfdir = / etc --localtstrier = / var) |
# ସଂସ୍ଥାପିତ ପ୍ରୋଟୋକଲଗୁଡିକ ସକ୍ଷମ କରନ୍ତୁ |
# IPS କିମ୍ବା ହୋଷ୍ଟର ଏକ କମା ଦ୍ୱାରା ପୃଥକ ତାଲିକା କେଉଁ କମାଣ୍ଡ ସଂଯୋଗ ପାଇଁ ଶୁଣିବେ |
# "*" ସମସ୍ତ IPv4 ଇଣ୍ଟରଫେସରେ ଶୁଣେ, ":::" ସମସ୍ତ IPB6 ଇଣ୍ଟରଫେସରେ ଶୁଣେ |
# ଯଦି ଆପଣ ଅଣ-ଡିଫଲ୍ଟ ପୋର୍ଟ କିମ୍ବା ଅଧିକ ଜଟିଳ ଜିନିଷ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ଚାହୁଁଛନ୍ତି,
# confite.d / master.conf କୁ ସଂପାଦନ କରନ୍ତୁ |
# ଶୁଣ = *, ::
# ବେସ ଡିରେକ୍ଟୋରୀ ଯେଉଁଠାରେ ଚାଲିବା ସମୟ ତଥ୍ୟ ସଂରକ୍ଷଣ କରିବା |
# base_dir = / var / Run / dodcot /
# ଏହି ଉଦାହରଣର ନାମ ମଲ୍ଟି-ଇନଷ୍ଟାମେଣ୍ଟ ସେଟଅପ୍ ଡୋଭେଡମ୍ ଏବଂ ଅନ୍ୟାନ୍ୟ କମାଣ୍ଡରେ |
# କେଉଁ ଉଦାହରଣ ବ୍ୟବହାର କରାଯାଏ ତାହା ବାଛିବା ପାଇଁ -i <ଉଦାହରଣ_ ନାମ> ବ୍ୟବହାର କରିପାରିବ (ଏକ ବିକଳ୍ପ) |
# -c <config_path>) କୁ | ଉଦାହରଣ ନାମ ମଧ୍ୟ Dovecot ପ୍ରକ୍ରିୟା ସହିତ ଯୋଡିଥାଏ |
# PS ଆଉଟପୁଟ୍ ରେ |
# ଉଦାହରଣ_ ନାମ = ଡୋଭକୋଟ୍ |
# ଗ୍ରାହକମାନଙ୍କ ପାଇଁ ବାର୍ତ୍ତା ବାର୍ତ୍ତା |
# lantel_greeting = Dovecot ପ୍ରସ୍ତୁତ |
# ବିଶ୍ୱସ୍ତ ନେଟୱାର୍କ ରେଞ୍ଜର ସ୍ପେସ୍ ପୃଥକ ତାଲିକା | ଏଥିରୁ ସଂଯୋଗଗୁଡ଼ିକ |
# Ips ସେମାନଙ୍କର IP ଠିକଣା ଏବଂ ପୋର୍ଟଗୁଡିକୁ ନବଲିଖନ କରିବାକୁ ଅନୁମତି ଦିଆଯାଇଛି (ଲଗିଂ ପାଇଁ ଏବଂ |
# ପ୍ରାମାଣିକିକରଣ ଯାଞ୍ଚ ପାଇଁ) ଅକ୍ଷମ_ପ୍ଲେଟିକ୍ସ_ଥୁଥ୍ ପାଇଁ ଅଣଦେଖା କରାଯାଏ |
# ଏହି ନେଟୱାର୍କଗୁଡ଼ିକ | ସାଧାରଣତ you ଆପଣ ଏଠାରେ ଆପଣଙ୍କର IMAP ପ୍ରକ୍ସି ସର୍ଭର ନିର୍ଦ୍ଦିଷ୍ଟ କରିବେ |
# lance_trded_networks =
# ଲଗଇନ୍ ଆକ୍ସେସ୍ ଚେକ୍ ସକେଟ୍ ର ସ୍ପେସ୍ ପୃଥକ ତାଲିକା (ଯଥା TCPWRAP)
# LOGIN_ACCESS_SOCTATES =
# Proxy_maybe = ହଁ ଯଦି ପ୍ରକ୍ସି ଡେଷ୍ଟିନେସନ୍ ଏହି iPS ମଧ୍ୟରୁ କ ess ଣସିଟି ସହିତ ମେଳ ଖାଏ ନାହିଁ |
# ପ୍ରକ୍ସିଂ ଏହା ସାଧାରଣତ। ଆବଶ୍ୟକ ନୁହେଁ, କିନ୍ତୁ ଗନ୍ତବ୍ୟସ୍ଥଳ ହେଲେ ଉପଯୋଗୀ ହୋଇପାରେ |
# Ip ହେଉଛି e.g. ଏକ ଲୋଡ୍ ବାଲାନ୍ସର IP |
# auth_prxyxy_ ନିଜେ =
# ଅଧିକ ଭର୍ବୋସ୍ ପ୍ରକ୍ରିୟା ଟାଇଟଲ୍ ଦେଖାନ୍ତୁ (PS ରେ) | ସମ୍ପ୍ରତି ଉପଭୋକ୍ତା ନାମ ଦେଖାଏ ଏବଂ
# ଆଇପି ଠିକଣା କିଏ ପ୍ରକୃତରେ imap ପ୍ରକ୍ରିୟା ବ୍ୟବହାର କରୁଛନ୍ତି ଦେଖିବା ପାଇଁ ଉପଯୋଗୀ |
# (ଉଦାହରଣ ସ୍ୱରୂପ ଅଂଶୀଦାର ମେଲବାକ୍ସ କିମ୍ବା ଯଦି ଏକାଧିକ ଖାତା ପାଇଁ ସମାନ UID ବ୍ୟବହୃତ ହୁଏ) |
# verbose_prostitle = ନା
# କଲକୋଟ୍ ମାଷ୍ଟର ପ୍ରକ୍ରିୟା ବନ୍ଦ ଥିବାବେଳେ ସମସ୍ତ ପ୍ରକ୍ରିୟା ହତ୍ୟା କରାଯିବା ଉଚିତ କି?
# ଏହାକୁ "ନା" ରେ ସେଟିଂର ଅର୍ଥ ହେଉଛି ଡେଭୋକଟ୍ ବିନା ଅପଗ୍ରେଡ୍ ହୋଇପାରିବ |
# ବିଦ୍ୟମାନ କ୍ଲାଏଣ୍ଟ ସଂଯୋଗକୁ ବନ୍ଦ କରିବାକୁ ବାଧ୍ୟ କରିବା (ଯଦିଓ ଏହା ମଧ୍ୟ ହୋଇପାରେ |
# ଅପଗ୍ରେଡ୍ ଇ। ଏକ ସୁରକ୍ଷା ଫିକ୍ସ ହେତୁ) |
# ବନ୍ଦ_ କ୍ଲାଏସେଣ୍ଟସ୍ = ହଁ |
# ଯଦି ଅଣ-ଶୂନ, ଡୋଭାଡମ ସର୍ଭରରେ ଏହି ଅନେକ ସଂଯୋଗ ମାଧ୍ୟମରେ ମେଲ୍ ନିର୍ଦ୍ଦେଶନାମା ଚଲାନ୍ତୁ,
# ସେଗୁଡ଼ିକୁ ସମାନ ପ୍ରକ୍ରିୟାରେ ଦେଖିବା ପରିବର୍ତ୍ତେ |
# doveadm_ worker_count = 0 |
# ୟୁନିକ୍ସ ସକେଟ୍ କିମ୍ବା ହୋଷ୍ଟ: ଡୋଭାଡମ୍ ସର୍ଭର ସହିତ ସଂଯୋଗ କରିବା ପାଇଁ ବ୍ୟବହୃତ ପୋର୍ଟ |
# dovaadm_socket_path = dovoadm- ସର୍ଭର |
# ପରିବେଶ ଭେରିଏବଲ୍ ର ସ୍ପେସ୍ ପୃଥକ ତାଲିକା ଯାହା ଡୋଭକଟ୍ ରେ ସଂରକ୍ଷିତ |
# ଷ୍ଟାର୍ଟଅପ୍ ଏବଂ ଏହାର ସମସ୍ତ ଶିଶୁ ପ୍ରକ୍ରିୟାକୁ ପାସ୍ କଲା | ଆପଣ ମଧ୍ୟ ଦେଇପାରିବେ |
# କି ନିର୍ଦ୍ଦିଷ୍ଟ ସେଟିଂସମୂହ ସେଟ୍ କରିବା ପାଇଁ କୀ = ମୂଲ୍ୟ ଯୋଡି |
# ଆମଦାନୀ_ନେଭନ୍ ଇନ୍ = tz
## 
## ଅଭିଧାନ ସର୍ଭର ସେଟିଂସମୂହ |
## 
# ଅଭିଧାନ ଚାବି = ମୂଲ୍ୟ ତାଲିକା ସଂରକ୍ଷଣ କରିବା ପାଇଁ ବ୍ୟବହୃତ ହୋଇପାରେ | ଏହା ଅନେକ ଦ୍ୱାରା ବ୍ୟବହୃତ ହୁଏ |
# ପ୍ଲଗଇନ୍ | ଅଭିଧାନକୁ ସିଧାସଳଖ ଆକ୍ସେସ୍ କରାଯାଇପାରିବ କିମ୍ବା ଯଦିଓ a
# ଅଭିଧାନ ସର୍ଭର | ନିମ୍ନଲିଖିତ ଡିଜାବ୍ ୱିଣ୍ଡୋଜ୍ ମାନଚିତ୍ର ଅଭିଧାନ ନାମକୁ uris କରେ |
# ଯେତେବେଳେ ସର୍ଭର ବ୍ୟବହୃତ ହୁଏ | ଏହା ପରେ URIS ରେ URIS ବ୍ୟବହାର କରି ଏହାକୁ ରେଫରେନ୍ସ କରାଯାଇପାରିବ |
# "ପ୍ରକ୍ସି :: <ନାମ>" |
  # କୋଟା = mysql: /etc/dovecot/dovt-Sql.conf.cetef.Cete |
# ଅଧିକାଂଶ ପ୍ରକୃତ ବିନ୍ୟାସ ନିମ୍ନରେ ଅନ୍ତର୍ଭୁକ୍ତ ହୁଏ | ଫାଇଲନାମଗୁଡ଼ିକ ହେଉଛି |
# ପ୍ରଥମେ ସେମାନଙ୍କର ASCII ମୂଲ୍ୟ ଦ୍ୱାରା ସଜାଯାଇଥାଏ ଏବଂ ସେହି କ୍ରମରେ ପାର୍ସେଡ୍ | 00- ଉପସର୍ଗଗୁଡିକ |
# ଫାଇଲନାମରେ ଅର୍ଡର ବୁ to ିବା ସହଜ କରିବାକୁ ଉଦ୍ଦିଷ୍ଟ |
# ଯଦି ଏକ ବିନ୍ୟାସ ଫାଇଲ୍ ମଧ୍ୟ ତ୍ରୁଟି ନ ଦେଇ ଅନ୍ତର୍ଭୂକ୍ତ କରିବାକୁ ଚେଷ୍ଟା କରିପାରିବ |
# ଏହା ମିଳିଲା ନାହିଁ:
# ସମସ୍ତ ଇନପୁଟ୍ ସଂଯୋଗଗୁଡ଼ିକ ଶୁଣିବାକୁ ଡେବକ୍ଟକୁ ଅନୁମତି ଦେବାକୁ ଡୋକୁଟ୍ ଅନୁମତି ଦିଏ (IPv4 / IPv6)

Dovecot ବ୍ୟବହାରକାରୀଙ୍କ ପାଇଁ ଏକ ପାସୱାର୍ଡ ଯୋଡନ୍ତୁ:

nano config/etc_dovecot_passwd

ଫାଇଲ୍ ର ପ୍ରଥମ ଭାଗ, କୋଲନ୍ ପୂର୍ବରୁ, ହେଉଛି ଚାଳକନାମ | ଶେଷ ଭାଗ, "ଆପଣଙ୍କର ପାସୱାର୍ଡ", ଆପଣ ଆପଣଙ୍କର ମେଲ୍ ସର୍ଭର ଦେବାକୁ ଚାହୁଁଥିବା ପାସୱାର୍ଡକୁ ସୂଚିତ କରେ |

team:{plain}yourpassword

ପରବର୍ତ୍ତୀ ସମୟରେ, ଓପେଣ୍ଡସ୍କିମ୍ ବିନ୍ୟାସ |

nano config/etc_opendkim.conf

ଏବଂ ଏହି ଧାଡ଼ିଟି ଯୋଡନ୍ତୁ:

# ସାଇନ୍ ଏବଂ ଯାଞ୍ଚ କରିବା ପାଇଁ ଏହା ଏକ ମ basic ଳିକ ବିନ୍ୟାସ | ଏହା ସହଜରେ ହୋଇପାରେ |
# ଏକ ମ basic ଳିକ ସ୍ଥାପନ ଅନୁଯାୟୀ ଅନୁକୂଳ | OpenDkim.conf (5) ଦେଖନ୍ତୁ ଏବଂ
# /usr/share/doc/opeendkime/examples/xamendkimm.consf feomf feomplle |
# ଉପଲବ୍ଧ ବିନ୍ୟାସ ପାରାମିଟରଗୁଡିକର ଡକ୍ୟୁମେଣ୍ଟେସନ୍ |
# Logwhy no
# ସାଧାରଣ ଦସ୍ତଖତ ଏବଂ ଯାଞ୍ଚ ପାରାମିଟରଗୁଡିକ | ଡେବିୟାନରେ, "ହେଡର୍ ହେଉଛି" ରୁ |
# ବ୍ୟଥିତ, କାରଣ ଏହା ପ୍ରାୟତ this ଅନୁଚ୍ଛିନ୍ନ ସିଷ୍ଟମ୍ ଦ୍ୱାରା ବ୍ୟବହୃତ ପରିଚୟ ଚକ |
# ଏବଂ ଏହିପରି କିଛି ମାତ୍ରାରେ ସୁରକ୍ଷା ସମ୍ବେଦନଶୀଳ |
# ଦସ୍ତଖତ ଡୋମେନ୍, ଚୟନକର୍ତ୍ତା, ଏବଂ ଚାବି (ଆବଶ୍ୟକ) | ଉଦାହରଣ ସ୍ୱରୂପ, ଦସ୍ତଖତ କର |
# ଚୟନକର୍ତ୍ତାଙ୍କ "2020" (2020.domdaekey.example.com) ସହିତ ଡୋମେନ୍ "ଉଦାହରଣ ଡଟ୍ କମ୍" (2020.6.6.6'datek.example.com) ସହିତ ଡୋମେନ୍ "ଉଦାହରଣ ଡଟ୍" ପାଇଁ,,
# /Etc/dkimkeys/example.rivate ରେ ଗଚ୍ଛିତ ବ୍ୟକ୍ତିଗତ ଚାବି ବ୍ୟବହାର କରି | ଅଧିକ ଗ୍ରାନୁଲାର୍ |
# A /USR/ssera/doc/odeenkimanskim/ ାପେମେିମ୍ ରେ ସେଟଅପ୍ ବିକଳ୍ପଗୁଡ଼ିକ ମିଳିପାରିବ |
# ଡୋମେନ୍ exits.com
# ଚୟନକର୍ତ୍ତା 2020
# Keyfile /etc/dkimkeyse/example.ivilt |
# ନିଷେଧାନିଆରେ, OpenDKim vo ଓ Ipendkim "ଭାବରେ ଚାଲିଥାଏ | 007 ର ଏକ u007 ର ଏକ umask ଆବଶ୍ୟକ |
# MTA ସହିତ ଏକ ସ୍ଥାନୀୟ ସକେଟ୍ ବ୍ୟବହାର କରିବା ଯାହା ସକେଟକୁ ଅଣ-ସୁବିଧା ଭାବରେ ପ୍ରବେଶ କରେ |
# ଉପଯୋଗକର୍ତ୍ତା (ଉଦାହରଣ ସ୍ୱରୂପ, ପୋଷ୍ଟଫିକ୍ସ) ଗୋଷ୍ଠୀକୁ ଆପଣଙ୍କୁ ଗ୍ରୁପ୍ କରିବାକୁ "ପୋଷ୍ଟଫିକ୍ସ" ଯୋଡିବାକୁ ପଡିପାରେ |
# ସେହି କ୍ଷେତ୍ରରେ "OpenDkim" |
# MTA ସଂଯୋଗ ପାଇଁ ସକେଟ୍ (ଆବଶ୍ୟକ) | ଯଦି MTA ଏକ କ୍ରୋଟ୍ ଜେଲ ଭିତରେ ଅଛି,
# ଏହା ନିଶ୍ଚିତ ଭାବରେ ନିଶ୍ଚିତ ହେବା ଯେ ସକେଟ୍ ଉପଲବ୍ଧ ଅଟେ | ଡେବିୟାନ୍ ରେ, ପୋଷ୍ଟଫିକ୍ସରେ ଚାଲିଥାଏ |
# / var / spolol / ପୋଷ୍ଟଫିକ୍ସରେ ଏକ କ୍ରୋଟ୍, ତେଣୁ ଏକ ୟୁନିକ୍ସ ସକେଟ୍ ହେବାକୁ ପଡିବ |
# ନିମ୍ନରେ ଥିବା ଶେଷ ଧାଡିରେ ଦେଖାଯାଇଥିବା ପରି ବିନ୍ୟାସିତ |
# ସକେଟ୍ ସ୍ଥାନୀୟ: /run/opendkim/opeendkim.sock |
# ସକେଟ୍ ଇଟ୍: 8891 @ ଲୋକାଲ୍ହୋଷ୍ଟ |
# ସକେଟ୍ ଇନ୍ଟ: 8891 |
# ହୋଷ୍ଟଗୁଡିକ ଯାହା ପାଇଁ ଯାଞ୍ଚ କରିବା ଅପେକ୍ଷା ସାଇନ୍ ଇନ୍ କରିବାକୁ, ଡିଫଲ୍ଟ ହେଉଛି 127.0.0.1। ଦେଖନ୍ତୁ
# ଅଧିକ ସୂଚନା ପାଇଁ ଓପମେରିମ (8) ର କାର୍ଯ୍ୟ ବିଭାଗ |
# ଆଭ୍ୟନ୍ତରୀଣହୋସ୍ 192.168.0.0/16, 10.0.0.0/8, 172.16.0/12
# ଟ୍ରଷ୍ଟ ଆଙ୍କର୍ dnssc କୁ ସକ୍ଷମ କରେ | ଡେବିୟାନରେ, ଟ୍ରଷ୍ଟ ଆଙ୍କର୍ ଫାଇଲ୍ ପ୍ରଦାନ କରାଯାଇଛି |
# ପ୍ୟାକେଜ୍ DNS-ରୁଟ୍-ଡାଟା ଦ୍ୱାରା |
# Nameserverservers 127.0.0.1
# ମେସେଜ୍ ଗୁଡିକରେ ଥିବା ଚାବିଗୁଡ଼ିକ ସହିତ ବ୍ୟବହୃତ କିଗୁଡ଼ିକ ମଧ୍ୟରୁ ମାନଚିତ୍ର ଡୋମେନ୍ |
# ଆଭ୍ୟନ୍ତରୀଣ ହୋଷ୍ଟଗୁଡିକର ଏକ ସେଟ୍ ଯାହାର ମେଲ୍ ଦସ୍ତଖତ କରାଯିବା ଉଚିତ୍ |
nano config/etc_default_opendkim

ଏବଂ ଏହି ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ |

# ଟିପନ୍ତୁ: ଏହା ଏକ ପୁରୁଣା ବିନ୍ୟାସ ଫାଇଲ | ଏହା ଓପଡେସ୍କିମ୍ ଦ୍ୱାରା ବ୍ୟବହୃତ ହୁଏ ନାହିଁ |
# ସିଷ୍ଟମ୍ ସର୍ଭର | ଦୟାକରି ଅନୁରୂପ ବିନ୍ୟାସ ପାରାମିଟରଗୁଡିକ ବ୍ୟବହାର କରନ୍ତୁ |
# ଏହା ପରିବର୍ତ୍ତେ /etc/opeendkim.conf |
# 
# ପୂର୍ବରୁ, ଜଣେ ଏଠାରେ ଡିଫଲ୍ଟ ସେଟିଂସମୂହ ସଂପାଦନ କରିବ ଏବଂ ତା'ପରେ ଏକଜେକ୍ୟୁଟ୍ କରିବ |
# /lib/opeendkim/opeendkim.service.evice.evere ଫାଇଲଗୁଡ଼ିକୁ ନବଲିଖନ କରିବା ପାଇଁ |
# /Etc/sysmemd/system/opendekim.d/override.conf ଏବଂ
# /Ex/tmpfiles.d/peendkim.conf। ଯେତେବେଳେ ଏହା ଏପର୍ଯ୍ୟନ୍ତ ସମ୍ଭବ, ବର୍ତ୍ତମାନ ଏହା ହେଉଛି |
# ସିଧାସଳଖ /etc/opendkim.conf ରେ ଥିବା ସେଟିଂସମୂହକୁ ସଜାଡ଼ିବା ପାଇଁ ପରାମର୍ଶ ଦିଆଯାଇଛି |
# 
# Daemon_opts = ""
# ସହିତ ଏକ ୟୁନିକ୍ସ ସକେଟ୍ ବ୍ୟବହାର କରିବାକୁ / var / spolix / ଚଲାନ୍ତୁ / ଚାଲିବା / ଚାଲନ୍ତୁ / OpenDKIM କୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ |
# ଏକ କ୍ରୋଟ୍ ରେ ପୋଷ୍ଟଫିକ୍ସ:
# Roundir = / var / spolool / postfix / Run / Opendkimm |
# 
# ଏକ ବିକଳ୍ପ ସକେଟ୍ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ଅସନ୍ତୁଷ୍ଟ |
# ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ସେଟିଂ କରିବା ଏହା Opendkim.conf ରେ ଯେକ any ଣସି ସକେଟ୍ ଭାଲ୍ୟୁକୁ ଉନ୍ନତ କରିବ |
# ଡିଫଲ୍ଟ:
# ପୋର୍ଟ 54321 ରେ ସମସ୍ତ ଇଣ୍ଟରଫେସ୍ ଶୁଣନ୍ତୁ:
# ସକେଟ୍ = ONT: 54321
# ପୋର୍ଟ 12345 ରେ ଲୁପ୍ ବ୍ୟାକ୍ ଶୁଣନ୍ତୁ:
# ସକେଟ୍ = OET: 12345 @ ଲୋକାଲ୍ହୋଷ୍ଟ |
# ପୋର୍ଟ 12345 ରେ 192.0.2 ରେ ଶୁଣନ୍ତୁ:
# ସକେଟ୍ = ଇନ୍ଟ: 12345@192.0.2.1

ଯେତେବେଳେ ଆମେ ଆମର ପୋଷ୍ଟଫିକ୍ସ ସର୍ଭର ସେଟ୍ ଅପ୍ କରିବାକୁ ପ୍ରସ୍ତୁତ, ୟୁନୁଡ୍ ଡୋମେଡ୍ ନାମ ସହିତ ଆମେ ନିମ୍ନ କୋଡ୍ ଚଲାଇବୁ | ଏକ ସ୍କ୍ରିପ୍ଟ ସୃଷ୍ଟି କରି ଆରମ୍ଭ କରନ୍ତୁ |

touch scripts/postfixsetup
sudo chmod a+x scripts/postfixsetup
nano scripts/postfixsetup

ବର୍ତ୍ତମାନ, ନାନୋ, ଟେକ୍ସଟ୍ ଏଡିଟର୍, ଏହି ଫାଇଲ୍ ସଂପାଦନ କର ଯାହାଥିରେ fmmbebe.com ପରିବର୍ତ୍ତେ ତୁମର ଡୋମେନ୍ ନାମ ଅନ୍ତର୍ଭୂକ୍ତ କରେ ଯାହା ଫେମମ୍ବାଚ୍ ଡଟ୍ ବଦଳରେ ତୁମର ଡୋମେନ୍ ନାମ ଅନ୍ତର୍ଭୂକ୍ତ କରେ |

# ! / ବିନ୍ / ବାସ୍ |
# Postup ପୋଷ୍ଟଫିକ୍ସ |

ବର୍ତ୍ତମାନ, ପୋଷ୍ଟଫିକ୍ସକୁ ବିନ୍ୟାସ କରିବା ପାଇଁ ସମ୍ପାଦନାକୁ ଚଲାନ୍ତୁ, OpenDKimi ଏବଂ dovecot କୁ ବିନ୍ୟାସ କରନ୍ତୁ |

./scripts/postfixsetup

ଥରେ ସ୍କ୍ରିପ୍ଟଟି ଚାଲିବା ପରେ, ଏହାକୁ ଶେଷ ଲାଇନକୁ କପି କରନ୍ତୁ ଏବଂ ଏହାକୁ Creinnownkey ର ମୂଲ୍ୟ ଭାବରେ ଏହାର DNS ସଂରଚନାରେ ସୀମିତ ଏବଂ ଲେପନ କରେ | ସୁରକ୍ଷିତ ମେଲ ପଠାଇବାବେଳେ ଆପଣଙ୍କର ଡୋମେନ୍ ଚିହ୍ନିବା ପାଇଁ ବ୍ୟବହୃତ ଓପଡେଇମ୍ ଚାବି |

ଅଦ୍ଭୁତ! କିଛି ଦିନ ମଧ୍ୟରେ, ଆପଣ ସର୍ଭରରୁ ମେଲ୍ ପଠାଇବାକୁ ସମର୍ଥ ହେବା ଉଚିତ ଯେ ସବୁକିଛି ସଠିକ୍ ଭାବରେ ବିନ୍ୟାସିତ ହୋଇଛି |

ଯଦି ଆପଣ କେବଳ ଆପଣଙ୍କର ମେଲ୍ ସର୍ଭର ପାଇଁ DNS ବିନ୍ୟାସିତ କରିଛନ୍ତି, ତେବେ ଅଦ୍ୟତନ କରିବାକୁ ରେକର୍ଡଗୁଡିକ ପାଇଁ ଏହା 72 ଘଣ୍ଟାରୁ କମ୍ ସମୟ ନେବା ଉଚିତ୍ | ଏହା ସାଧାରଣତ a ବହୁତ ଶୀଘ୍ର ଅଟେ | ଆପଣଙ୍କର ଇମେଲ୍ ବ୍ୟବହାର କରି ଆପଣଙ୍କର ସର୍ଭର କାର୍ଯ୍ୟ କରୁଛି, ଆପଣଙ୍କର ଇମେଲ୍ ପ୍ରଦାନ କରି ଆପଣ କାର୍ଯ୍ୟ କରୁଛନ୍ତି କି ନାହିଁ ଆପଣ ଯାଞ୍ଚ କରିପାରିବେ:

echo "test" | mail -s "Test Email" youremail@gmail.com

ଯଦି ସବୁକିଛି ସଠିକ୍ ଭାବରେ କାମ କରୁଥିବା ପରି ଦେଖାଯାଏ, ତେବେ ଆପଣ ଆପଣଙ୍କର ସର୍ଭର ସହିତ ଇମେଲ୍ ପଠାଇବାକୁ ସମର୍ଥ ହେବା ଉଚିତ୍ | ଯଦି ଏହା କାମ କରୁନାହିଁ, ତ୍ରୁଟି କ'ଣ ହୋଇପାରେ ଦେଖିବା ପାଇଁ ଲଗଗୁଡିକ ଦେଖିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ |

tail –lines 150 /var/log/mail.log

ଏହା ସର୍ଭରରେ ପଠାଯାଉଥିବା ମେଲ ବିଷୟରେ ଭର୍ବୋସ୍ ସୂଚନା ପ୍ରଦାନ କରିବ ଏବଂ ଏହା ସଠିକ୍ ଭାବରେ କାମ କରୁଛି କି ନାହିଁ | ଆପଣ ଆପଣଙ୍କର ଇନବକ୍ସରେ ଇମେଲ୍ ଦେଖିବାରେ ସକ୍ଷମ ହେବା ଉଚିତ୍, ଯଦି ଏହା ସେଠାରେ ନାହିଁ, ତେବେ ଆପଣଙ୍କର ସ୍ପାମ୍ ଫୋଲ୍ଡରଗୁଡିକ ଯାଞ୍ଚ କରନ୍ତୁ |

ଆପଣଙ୍କର ସେଟିଂସମୂହରେ ଆପଣଙ୍କର ସେଟିଂସମୂହକୁ ବିନ୍ୟାସ କରିବାକୁ ପଡିବ, PY - ଆପଣଙ୍କର ଇମେଲ୍ ସର୍ଭର ଆପଣଙ୍କ Django App, ପ୍ରୋଜେକ୍ଟରେ କଥା ହୋଇପାରେ | ଆପଣଙ୍କର ସେଟିଂସମୂହରେ ଏହି ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ କିମ୍ବା ବଦଳାନ୍ତୁ |

EMAIL_HOST_USER = 'team' # 'Lif@mamasheen.com'

ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ପାସୱାର୍ଡ ପାଇବା ପାଇଁ ଆମେ ଏକ ବିନ୍ୟାସ ଫାଇଲ୍ ବ୍ୟବହାର କରୁଛୁ | ଚାଲନ୍ତୁ, ଫାଇଲ୍ ର ଆରମ୍ଭରେ ସେଟିଂସମୂହରେ ଏହି ଫାଇଲ୍ ଲୋଡ୍ କରିବା |:

# ଖୋଲିବା ଏବଂ ଲୋଡ୍ ବିନ୍ୟାସ କରନ୍ତୁ |

ଚାଲିବା ଏହି ଫାଇଲ୍ ତିଆରି କରିବା ଏବଂ ଏହା ସହିତ ଏକ ସିକ୍ରେଟ୍ ଚାବି ଯୋଗ କରିବା, ଯେପରି ମେଲ୍ ପାସୱାର୍ଡ | ଏକ ଗୁପ୍ତ ଚାବି ସୃଷ୍ଟି କରିବାକୁ, ଏହି ନିର୍ଦ୍ଦେଶକୁ ଶେଷରେ ଆପଣ କେଉଁ ପ୍ରକାରର ପସନ୍ଦ କରନ୍ତି ସହିତ ବ୍ୟବହାର କରନ୍ତୁ:

openssl rand -base64 64

ବର୍ତ୍ତମାନ, OpESSL ଉତ୍ପାଦିତ ଏବଂ /etc/config..JON କୁ ସଂପାଦନ କରନ୍ତୁ |

sudo nano /etc/config.json

ଆପଣଙ୍କ ଫାଇଲ୍ ରେ ନିମ୍ନଲିଖିତ ରେଖାଗୁଡ଼ିକୁ ଯୋଡନ୍ତୁ, ଯାହା Opensl କୁ ଗୁପ୍ତ ଚାବି ଭାବରେ ସୃଷ୍ଟି ହୁଏ |

{
	"SECRET_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX-generated-using-openssl)",
	"EMAIL_HOST_PASSWORD": "yourpassword"
}

ଜୋନ୍ ଫର୍ମାଟ୍ ସରଳ ଏବଂ ବ୍ୟବହାର କରିବାକୁ ସହଜ, ଆମେ ଆମର ଅନ୍ୟ କିଗୁଡ଼ିକୁ ଘୋଷଣା କରିପାରିବା, ଏବଂ ଆମର ପ୍ରୋଜେକ୍ଟ ଡିରେକ୍ଟୋରୀରୁ ସେଗୁଡ଼ିକୁ ଅଲଗା ରଖିପାରିବା, ତେଣୁ ସେମାନଙ୍କୁ କେବଳ ଆମର ପ୍ରୋଜେକ୍ଟ ଡିରେକ୍ଟୋରୀରୁ ପ read ାଯାଇପାରିବ ନାହିଁ | API କିଗୁଡ଼ିକ ପାଇଁ ଏହା ପରାମର୍ଶିତ ଅଭ୍ୟାସ, ଯାହାକୁ ଆମେ ଏଠାରେ ଅଳ୍ପ କିଛି ସ୍ଥାନ ବ୍ୟବହାର କରିବୁ |

ସବୁକିଛି ସଞ୍ଚୟ ହୋଇଛି କି ଏବଂ ତୁମେ ମଧ୍ୟ ତୁମର କାର୍ଯ୍ୟକୁ ପରେ ଖୋଜିବାକୁ ସମର୍ଥ ହେବୁ ମଧ୍ୟ ତୁମେ ତୁମର କାର୍ଯ୍ୟକୁ ପରେ ପୁନରୁଦ୍ଧାର କରିବାକୁ ସମର୍ଥ ହେବୁ ନାହିଁ ଯଦିଓ ତୁମେ ଆଉ ଏକ ସର୍ଭର ଭଡା କରିବାକୁ ଇଚ୍ଛା କରୁନାହଁ |

sudo backup

ବର୍ତ୍ତମାନ, ୱେବ ସର୍ଭର ରୁ ଏକ HTML ଇମେଲ୍ ପଠାଇବାକୁ ଚେଷ୍ଟା କର, କମାଣ୍ଡ୍ ଲାଇନ୍ ରୁ ଗୋଟିଏ ପଠାଇବା କାର୍ଯ୍ୟ କରୁଛି | ସେଲରେ ଆପଣଙ୍କର ଉପଭୋକ୍ତା ସଂସ୍ଥାଗୁଡ଼ିକୁ ଜିଜ୍ଞାସା କରନ୍ତୁ, ଏବଂ ଡିଜାଙ୍ଗୋ ମାଧ୍ୟମରେ ସେହି ଉପଭୋକ୍ତାଙ୍କୁ ଏକ HTML ଇମେଲ୍ ପଠାନ୍ତୁ | ତୁମର ଚାଳକନାମ, ଚାର୍ଲୋଟ, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍, ଚାର୍ଲୋଟ୍ ଅଛି |

python manage.py shell
from django.contrib.auth.models import User
u = User.objects.get(username='Charlotte')
from users.email import send_welcome_email
send_welcome_email(u)
exit()

ଯଦି ପ୍ରଥମ କମାଣ୍ଡ୍ କାମ କରେ ନାହିଁ, ବ୍ୟବହାର କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ |

source venv/bin/activate

ଯଦି ସବୁକିଛି ସଠିକ୍ ଭାବରେ ସେଟ୍ ହୋଇଛି, ତୁମେ ତୁମର ୱେବ୍ ଆପ୍ ଦ୍ୱାରା ପଠାଯାଇଥିବା ଆପଣଙ୍କ ମେଲବକ୍ସରେ ଆମେ ବର୍ତ୍ତମାନ ଏକ ସ୍ୱାଗତ ଇମେଲ୍ ପାଇବୁ | ଭଲ କାମ! ତୁମେ ଏକ ଦୀର୍ଘ ରାସ୍ତା ଆସିଛ |

ମୁଁ ଯୋଡିବାକୁ ଚାହୁଁଥିଲି, ଯଦି ତୁମେ ଏପରି ଏକ ପ୍ରକଳ୍ପ ଉପରେ କାର୍ଯ୍ୟ କରୁଥିବା ସମୟରେ କ any ଣସି ତ୍ରୁଟି ସହିତ ସଂଘର୍ଷ କରୁଛ, ଉତ୍ତର ଖୋଜି ସାହାଯ୍ୟ ମାଗିବା ଏବଂ ସାହାଯ୍ୟ ମାଗିବା ପାଇଁ କୁଣ୍ଠାବୋଧ କର ନାହିଁ | ଗୁଗୁଲ୍, ଅନ୍ୟାନ୍ୟ ସର୍ଚ୍ଚ ଇଞ୍ଜିନ୍ ମଧ୍ୟରେ, ପ୍ରୋଗ୍ରାମିଂ ସହାୟତା ଖୋଜିବା ପାଇଁ ବହୁତ ଉତ୍ସ | ଆପଣ ପାଇଥିବା ତ୍ରୁଟି ପାଇଁ କେବଳ ସନ୍ଧାନ କରନ୍ତୁ, ଏବଂ ଆପଣ କେଉଁଠୁ ସମସ୍ୟାର ସମାଧାନ କରନ୍ତି ତାହା ଦେଖିବାରେ ସକ୍ଷମ ହେବେ | Also, you're welcome to contact me, your educators (teachers, professors, tutors), any peers on the internet who are available for programming help, or consult this book again or other resources to find solutions to the issues you are experiencing. ମୁଁ ଏହା ବୁ understand ିପାରୁ ନାହିଁ ଯେ ଯଦି ଆପଣ ଏଥିରେ ପ read ିଛନ୍ତି ଏବଂ ଯଦି ଆପଣ ଜଟ୍ରେକ୍ ଠାରୁ ଏକ କୋଡ୍ ନିର୍ମାଣ ବିଷୟରେ ଲମ୍ୱାର୍ କଥା ମନେ ହେଉଛନ୍ତି | ପୁନର୍ବାର ନିଜକୁ ପ୍ୟାଟ୍ କର, ତୁମେ ବହୁତ ଭଲ କାମ କରୁଛ |

ଏହି ତୃତୀୟ ସଂସ୍କରଣ ୱେବ୍ ଡେଭଲେଟନ୍ ଗାଇଡ୍ ପ read ିବା ପାଇଁ ସମୟ ନେଇଥିବାରୁ ଧନ୍ୟବାଦ | ଭବିଷ୍ୟତର ସଂସ୍କରଣରେ, ଡକ୍ୟୁମେଣ୍ଟ୍ ଆରମ୍ଭରେ ଆଲୋଚନା ହୋଇଥିବା ମୁଁ ଅଧିକ ଜରୁରୀ ଉଦାହରଣ ଅନ୍ତର୍ଭୂକ୍ତ କରେ ଏବଂ ଆମେ ସଫ୍ଟୱେର୍ ଏବଂ ହାର୍ଡୱେର୍ ବିକାଶକୁ ବହୁତ ଗଭୀର ଭାବରେ ବୁଡ଼ାଇବୁ | ଯାହା ଆସିବ ସେଥିପାଇଁ, ମୁଁ ତୁମକୁ ଶିକ୍ଷା ଦେବାକୁ ଅପେକ୍ଷା କରିଛି, ଏବଂ ମୁଁ ତୁମକୁ କିପରି ଅବିଶ୍ୱସନୀୟ ସଫ୍ଟୱେର୍ ଗ to ିବାକୁ ଅପେକ୍ଷା କରିଛି | ପରବର୍ତ୍ତୀ ସଂସ୍କରଣରେ ଆପଣଙ୍କୁ ଦେଖା ହେବ!






بندول
پاڼه 1
کود
بشپړه مقاله وګورئ
لوستلو ته دوام ورکړئ

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ



Three Thirteen Online Free Play three thirteen online for free. Invite a Friend Join a Game ***.
پيرې وانچن

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


Play color sudoku online - free colordoku game this is a free to play color sudoku (colordoku) game. *** .

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


Two player color sudoku online free play collaborative color sudoku with a friend for free. Invite a Friend Join a Game ***.
پيرې وانچن

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do i find customers for my web development small business?


Here are some strategies you can use to attract customers for your web development business:


1. Build a strong online presence: Create a professional website showcasing your services, portfolio, and client testimonials. Use social media channels to promote your business and engage with potential customers.


2. Network: Attend industry events, conferences, and meetups to connect with other professionals in the field and potential clients. Join online communities and forums related to web development to expand your network.


3. Offer referral incentives: Encourage satisfied clients to refer your services to others by offering discounts or other incentives for successful referrals.


4. Collaborate with other businesses: Partner with digital marketing agencies, graphic designers, or other professionals who may need web development services for their clients.


5. Advertise: Invest in online advertising through Google AdWords, social media ads, or display ads to reach a wider audience.


6. Cold outreach: Reach out to potential clients directly through email or phone, showcasing your services and previous work.


7. Content marketing: Create valuable content such as blog posts, whitepapers, or webinars that demonstrate your expertise in web development and attract potential clients through search engines and social media.


8. Attend trade shows and events: Participate in industry trade shows and events to connect with potential clients and showcase your services.


9. Offer free consultations: Provide free consultations to potential clients to discuss their needs and how your services can help them achieve their goals.


10. Ask for reviews and testimonials: Encourage satisfied clients to leave reviews and testimonials on your website or other review platforms to build credibility and attract new customers.


لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


what's the best way to boil eggs?


here is a simple method to boil eggs:


1. Place the eggs in a saucepan and cover her with cold water.

2. Bring the water to a boil over high heat.

3. Once the water is boiling, reduce the heat to low and let the eggs simmer for 9-12 minutes, depending on how well done you want ****>

4. Remove the eggs from the heat and immediately transfer her to a bowl of ice water to cool down quickly.

5. Once cooled, you can peel and enjoy your perfectly boiled eggs.


.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


i just started taking birth control. What are the most common side effects?


the most common side effects of birth control pills include:


1. Nausea

2. Breast tenderness

3. Headaches

4. Weight gain

5. Mood changes

6. Spotting or breakthrough bleeding

7. Changes in libido 

8. Acne 

9. Bloating 


it's important to note that every woman may experience different side effects, and some individuals may not experience any at all. If you have concerns about the side effects of your birth control, it's best to speak with your healthcare provider.

.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do I host a web server from my home?


Hosting a web server from your home can be done by following these steps:


1. Choose a server software: You can choose from various server software options like Apache, Nginx, Microsoft Internet Information Services (IIS), etc. Choose one that suits your requirements.


2. Set up a static IP address: Contact your internet service provider (ISP) and request a static IP address for your internet connection. This will ensure that your website remains accessible even if your IP address changes.


3. Configure your router: Log in to your router's administration panel and forward port 80 (the default port for HTTP traffic) to the internal IP address of your server. This will allow external traffic to reach your web server.


4. Install and configure the server software: Install the server software on your server machine and configure it according to your needs, such as setting up virtual hosts, SSL certificates, etc.


5. Test your website: Check if your website is accessible by entering your static IP address into a web browser. You can also test it using online tools like Pingdom or GTmetrix.


6. Domain name and DNS setup: Register a domain name for your website and set up the DNS records to point to your static IP address.


7. Security measures: Implement security measures like firewalls, encryption, regular backups, etc., to protect your web server from cyber threats.


8. Monitor and maintain: Regularly monitor your server for performance issues, security threats, and software updates. Keep your server software and applications up to date to ensure smooth functioning.


Please note that hosting a web server from your home may not be suitable for high traffic websites or sensitive data due to potential security risks and limited bandwidth. Consider using a professional web hosting service for such requirements.


لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do I write a professional blog post?


Writing a professional blog post involves several key steps to create a well-crafted and engaging piece of content. Here are some tips to help you write a professional blog post:

1. Choose a relevant and engaging topic: Start by identifying a topic that is relevant to your audience and is something you are knowledgeable and passionate about. Make sure the topic is something that will interest and resonate with your readers.

2. Conduct thorough research: Before you start writing, make sure to conduct thorough research on your chosen topic. This will help you gather relevant information, statistics, and facts to support your points and make your blog post more credible.

3. Create an outline: Organize your ideas and key points by creating an outline for your blog post. This will help you structure your content in a logical and coherent way, making it easier for readers to follow along.

4. Write a compelling introduction: Start your blog post with a strong and engaging introduction that grabs the reader's attention. Use a hook to draw readers in and make them want to keep reading.

5. Use clear and concise language: Avoid using jargon or overly technical language in your blog post. Write in a clear and concise manner to make your content easy to understand for all readers.

6. Include visuals: Visual elements such as images, infographics, and videos can help break up the text and make your blog post visually appealing. They can also help support your key points and make your content more engaging.

7. Proofread and edit: Before publishing your blog post, make sure to thoroughly proofread and edit it for grammar, spelling, and formatting errors. Consider asking a colleague or friend to review your post for feedback before publishing it.

8. Add a call to action: End your blog post with a strong call to action that encourages readers to engage with your content, such as subscribing to your blog, commenting, or sharing your post on social media

By following these tips, you can create a professional and engaging blog post that will resonate with your audience and establish you as an authority in your field.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ



How do I get publicity and organic traffic for a website?


1. Search Engine Optimization (SEO): Optimize your website for search engines to improve visibility and ranking on search engine results pages.


2. Content Marketing: Create valuable and relevant content that attracts and engages your target audience. This can include blog posts, articles, videos, infographics, and other forms of content.


3. Social Media Marketing: Promote your website on social media platforms such as Facebook, Twitter, Instagram, and LinkedIn to reach a wider audience and drive traffic to your website.


4. Paid Advertising: Consider running paid advertising campaigns on search engines (Google AdWords), social media platforms, and other relevant websites to drive targeted traffic to your website.


5. Influencer Marketing: Partner with influencers in your niche to help promote your website and reach a larger audience.


6. Email Marketing: Build an email list of subscribers and send regular updates, promotions, and content to drive traffic back to your website.


7. Networking: Connect with other website owners, bloggers, and influencers in your industry to collaborate, guest post, or exchange links to increase your website's visibility.


8. Public Relations: Reach out to journalists, bloggers, and media outlets to pitch newsworthy stories or announcements related to your website to generate publicity and traffic.


9. Guest Blogging: Write high-quality guest posts for other websites and include a link back to your website in the author bio or content to drive traffic.


10. Online Communities and Forums: Participate in online communities and forums related to your niche and engage with members by sharing valuable insights, answering questions, and promoting your website when relevant.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


What are the benefits to having a security camera?


1. Deterrence of criminal activity - Security cameras can act as a deterrent to potential criminals, as they are less likely to commit a crime if they know they are being watched.


2. Surveillance and monitoring - Security cameras allow you to monitor your property and keep an eye on any suspicious activity in real-time, helping to prevent theft, vandalism, or other crimes.


3. Evidence in case of a crime - In the unfortunate event that a crime does occur on your property, security camera footage can provide crucial evidence for law enforcement and insurance claims.


4. Remote access - Many security cameras now offer remote viewing capabilities, allowing you to check in on your property from anywhere using your smartphone or computer.


5. Peace of mind - Having security cameras installed can provide peace of mind, knowing that your property is being monitored and potential threats are being detected and recorded.


لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


why is it safer to wear a mask in public?


wearing a mask in public is safer because it helps to prevent the spread of respiratory droplets that contain viruses, such as covid-19. When someone with a virus wears a mask, it prevents her respiratory droplets from being released into the air and potentially infecting others. Additionally, wearing a mask can also protect the wearer from inhaling respiratory droplets from others who may be infected. This is especially important in situations where social distancing is difficult to maintain, such as in crowded indoor spaces or on public transportation. Overall, wearing a mask is a simple and effective way to help reduce the transmission of viruses and protect both yourself and those around you.


.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


is sugar really unhealthy?


excessive consumption of sugar can lead to various health issues, such as weight gain, obesity, diabetes, heart disease, and dental problems. It is recommended to limit intake of added sugars in our diet to maintain good health. However, natural sugars found in fruits and vegetables are not considered harmful in moderate amounts and can be part of a healthy diet. Moderation is key when it comes to sugar consumption.


.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do i build a full stack web app with django?


Building a full stack web app with Django involves several steps. Here is a general outline of the process:


1. Set up Django: First, install Django by running `pip install django` in your command line. Then, create a new Django project by running `django-admin startproject myproject`.


2. Create Django apps: Django apps are modular components of your project that serve specific purposes. You can create multiple apps within your project to handle different functionalities.


3. Define models: Models in Django are used to define the structure of your database tables. Create your models by defining classes in the models.py file of each app.


4. Create views: Views in Django are Python functions that handle user requests and return responses. Define views for your app by creating functions in the views.py file of each app.


5. Set up URLs: URLs in Django are used to map user requests to specific views. Define URL patterns for your app by creating a urls.py file in each app and including them in the main urls.py file of your project.


6. Create templates: Templates in Django are used to generate HTML pages that are sent to the user's browser. Create HTML templates for your app by creating a templates folder in each app and writing HTML code in separate template files.


7. Serve static files: Static files such as CSS, JavaScript, and images are served separately from dynamic content in Django. Configure the static files settings in your project's settings.py file to serve static files from the static folder in each app.


8. Configure the database: Set up your database settings in the settings.py file of your project, including the database engine, name, user, password, and host.


9. Migrate the database: Run `python manage.py makemigrations` followed by `python manage.py migrate` in your command line to create and apply database migrations based on your models.


10. Run the server: Start the Django development server by running `python manage.py runserver` in your command line. You should now be able to access your web app at `http://127.0.0.1:8000/` in your browser.


These are the basic steps to build a full stack web app with Django. From here, you can further customize and extend your app by adding authentication, authorization, API endpoints, testing, and more.


لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do I write a good book?


1. Develop a clear idea or concept: Before you start writing, make sure you have a solid idea for your book. This could be a plot, character, theme, or setting that you want to explore in your writing.


2. Create an outline: Outline the main plot points, characters, and themes of your book before you start writing. This will help you stay organized and focused as you write.


3. Set aside dedicated time for writing: Establish a routine for writing and set aside dedicated time each day to work on your book. This will help you stay motivated and make progress on your writing.


4. Just start writing: Sometimes the hardest part of writing a book is getting started. Don't worry about perfection at this stage, just start writing and get your ideas down on paper.


5. Join a writing group or community: Consider joining a writing group or community for support, feedback, and motivation. Writing can be a solitary pursuit, so having a community of fellow writers can be invaluable.


6. Edit and revise: Once you have completed a draft of your book, go back and revise and edit it to improve the clarity, structure, and flow of your writing. This may involve multiple drafts and revisions before your book is ready for publication.


7. Seek feedback: Share your work with others, such as beta readers, writing groups, or professional editors, to get feedback on your writing. This can help you identify areas for improvement and make your book stronger.


8. Keep writing: Writing a book is a marathon, not a sprint. Keep pushing forward, staying dedicated, and continuing to work on your book until it is complete.


لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


What causes migraine and how are they treated?


Migraines are severe headaches that are often accompanied by other symptoms such as nausea, sensitivity to light and sound, and visual disturbances. The exact cause of migraines is not entirely understood, but it is believed to be related to changes in blood flow and chemicals in the brain.


Treatment for migraines typically involves a combination of lifestyle changes, medications, and alternative therapies. Some common treatment options include:


1. Taking over-the-counter pain relievers such as ibuprofen or acetaminophen

2. Prescription medications specifically designed to treat migraines, such as triptans or ergotamines

3. Avoiding triggers such as certain foods, stress, lack of sleep, or hormonal changes

4. Practicing relaxation techniques such as deep breathing or meditation

5. Applying hot or cold packs to the head or neck

6. Getting regular exercise and maintaining a healthy diet


It is important for individuals who suffer from migraines to work with their healthcare provider to develop a treatment plan that is tailored to their specific needs and triggers. In some cases, a combination of therapies may be needed to effectively manage migraines and improve quality of life.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do I build a mail server with postfix?


To build a mail server with Postfix, follow these steps:


1. Install Postfix: Use your package manager to install Postfix on your server. For example, on Debian/Ubuntu, you can run `sudo apt-get install postfix`.


2. Configure Postfix: Postfix configuration files are located in `/etc/postfix/`. The main configuration file is `main.cf`. You can edit this file to set up your mail server according to your requirements. Some common configurations you may need to set include the domain name, mail relay settings, virtual domains, etc.


3. Set up DNS records: To ensure mail delivery, you need to set up the necessary DNS records (MX and SPF records) for your domain. Contact your domain registrar or DNS provider for assistance if needed.


4. Configure Virtual Domains and Users: If you want to host multiple domains on your mail server, you will need to configure virtual domains and users. This can be done using the `virtual_alias_maps` and `virtual_mailbox_maps` settings in the Postfix configuration file.


5. Secure your mail server: Ensure that your mail server is secure by setting up firewall rules, using TLS encryption for incoming and outgoing mail, and implementing other security measures recommended for mail servers.


6. Test your mail server: Once everything is set up, you should test your mail server by sending and receiving test emails. Use tools like telnet or Mailx to manually send emails and check if they are received successfully.


Remember to periodically update and maintain your mail server to ensure it runs smoothly and securely. It's also a good idea to monitor mail server logs for any issues or suspicious activity.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ



why should i use an apple l out at the l word?


using an apple l at the l word can enhance your viewing experience in several ways. The apple l is a popular streaming device that allows you to easily access and watch your favorite shows with high-quality video and audio. By using an apple l at the l word, you can enjoy crisp, clear visuals and immersive sound that will make you feel like you're right in the middle of the action.


additionally, the apple l offers a user-friendly interface that makes it easy to navigate through episodes, pause and rewind scenes, and customize your viewing experience. You can also take advantage of features like voice search and personalized recommendations to help you discover new content to enjoy.


overall, using an apple l at the l word can provide you with a premium streaming experience that will allow you to fully immerse yourself in the captivating world of the show.

.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do i wear deadlock?


1. Start by growing your hair out to the desired length. Your hair should be at least 2-3 inches long for the best results.


2. Section your hair into small, even parts using a comb. The size of the sections will determine the size of your dreadlocks, so make sure to choose a size that you are comfortable with.


3. Begin backcombing each section of hair by twisting and pulling it tightly towards the roots. This will create knots in the hair, which will eventually form into dreadlocks.


4. Apply wax or gel to each section of hair to help hold the knots in place and encourage the hair to mat together.


5. Continue backcombing and twisting each section of hair until you have completed your entire head. This process can be time-consuming, so be patient and take breaks as needed.


6. Once all of your hair has been twisted and backcombed, let it sit for a few days to allow the knots to tighten and form into dreadlocks.


7. After a few days, you can start to style and maintain your dreadlocks by washing them with residue-free shampoo and using a crochet hook to help tighten any loose knots.


8. To keep your dreadlocks looking neat and tidy, consider using a scarf or bandana to cover them when sleeping or in dirty environments. Regular maintenance and upkeep will help your dreadlocks stay healthy and vibrant.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How do I send email with a compliant email list and unsubscribe links?


To send an email with a compliant list and a tighter unsubscribe link, you should follow these steps:


1. Ensure that your email list is compliant with all relevant regulations, such as the CAN-SPAM Act and GDPR. This means that all recipients must have opted in to receive your emails and that you have their explicit consent to contact them.


2. Include a clear and prominent unsubscribe link in your email. Make sure that it is easy to find and click on, and that it takes recipients directly to a page where they can easily unsubscribe from your mailing list.


3. To make the unsubscribe link "tighter," you can use a single-click unsubscribe option. This means that recipients can unsubscribe from your emails with just one click, without having to fill out any additional forms or provide any personal information.


4. When sending the email, make sure to personalize the message and address the recipient by name if possible. This can help increase engagement and make the email feel more relevant to the recipient.


5. Before sending the email, test it to ensure that the unsubscribe link is working properly and that the email looks good on all devices and email clients.


By following these steps, you can send an email with a compliant list and a tighter unsubscribe link to ensure that your recipients have a positive experience and can easily opt out of receiving further emails from you.

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


Why do people implant nfc implants in their hands?


There are several reasons why people choose to implant NFC (Near Field Communication) implants in their hands:


1. Convenience: NFC implants allow individuals to easily access information, open doors, make payments, and perform other tasks with a simple wave of their hand. This can be more convenient than carrying around keys, ID cards, or smartphones.


2. Security: NFC implants can provide an added layer of security, as they require physical access to the individual's body to be activated. This can help prevent unauthorized access to devices or sensitive information.


3. Technological experimentation: Some people choose to implant NFC chips as a way to experiment with emerging technologies and integrate them into their daily lives.


4. Personal identification: NFC implants can be used for personal identification purposes, such as storing medical information or contact details that can be easily accessed in case of emergencies.


5. Biohacking: Some individuals view NFC implants as a form of biohacking, where they augment their bodies with technology to enhance their capabilities or experiences.


Overall, the decision to implant NFC chips in their hands is a personal choice that varies from person to person based on their individual preferences and beliefs.


پيرې وانچن

لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ


How is the crypto market growing so quickly?


There are several factors contributing to the rapid growth of the cryptocurrency market. 


1. Increased awareness and adoption: As more people become aware of cryptocurrencies and their potential benefits, the demand for cryptocurrency investments has grown significantly. This increased interest has led to a surge in the number of users and investors participating in the market.


2. Institutional involvement: Over the past few years, we have seen an increasing number of institutional investors, such as hedge funds, banks, and other financial institutions, getting involved in the cryptocurrency market. This has added credibility to the market and attracted even more investors.


3. Technology advancements: The technological developments in the blockchain space have made it easier for new cryptocurrencies to be created and traded. Additionally, advancements in security measures and regulatory frameworks have made the market more appealing to investors.


4. Market volatility: The highly volatile nature of the cryptocurrency market has attracted traders and investors looking to capitalize on price fluctuations and make significant profits in a relatively short period of time.


5. Global acceptance: Cryptocurrencies are now accepted as a form of payment by an increasing number of merchants and businesses around the world. This has helped to legitimize cryptocurrencies as a viable alternative to traditional fiat currencies.


Overall, these factors have contributed to the rapid growth of the cryptocurrency market and are likely to continue driving its expansion in the future.


لخوا Daisy / نظر | وپیرئ | د کریپټو ټورډ سره وپیرئ




https://glamgirlx.com -


(د عکس ډاونلوډ کولو لپاره کلیک وکړئ یا ټایپ وکړئ)
مسلکي ساتی، عکس، ویډیوګانې، د ځیګریو، ژغورنې او د آرامۍ دورچیج، او همدارنګه د ID سکینینګ، د ویب پرمختیا او د نظارت خدماتو.

ما ته د دې پتې په کارولو سره په Bitcoin کې یو لارښود پریږدئ: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE

© Glam Girl X 2025

د خدمت شرطونه