server server .

server

نحوه نصب جاوا با Apt در اوبونتو 18.04

توسعه دهنده جاوا (JDK) را با استفاده از apt نصب خواهيد كرد. همچنين OpenJDK و بسته هاي رسمي را از Oracle نصب خواهيد كرد. سپس نسخه مورد نظر خود را براي پروژه هاي تان انتخاب خواهيد كرد. پس از اتمام كار ، مي توانيد از JDK براي توسعه نرم افزار يا استفاده از Java Runtime براي اجراي نرم افزار استفاده كنيد.پيش نيازهابراي دنبال كردن اين آموزش ، به موارد زير نياز داريد:• يك سرور مجازي Ubuntu 18.04 كه طبق آموزش راهنماي ستاپ اوليه سرور مجازي Ubuntu 18.04 تنظيم شده باشد و شامل يك كاربر sudo غير ريشه و فايروال باشد.نصب JRE / JDK پيش فرضساده ترين گزينه براي نصب جاوا استفاده از نسخه بسته بندي شده با اوبونتو است. به طور پيش فرض ، اوبونتو 18.04 شامل OpenJDK نسخه 11 است كه متغيري منبع باز از JRE و JDK ميباشد.براي نصب اين نسخه ، ابتدا ايندكس بسته را به روز كنيد:$ sudo apt updateسپس ، بررسي كنيد كه جاوا قبلاً نصب شده باشد:$ java -version
اگر جاوا در حال حاضر نصب نشده است ، خروجي زير را مشاهده خواهيد كرد:
OutputCommand ‘java’ not found, but can be installed with:
apt install default-jreapt install openjdk-11-jre-headlessapt install openjdk-8-jre-headlessدستور زير را براي نصب پيش فرض محيط اجراي جاوا (JRE) اجرا كنيد كه JRE را از OpenJDK 11 نصب خواهد كرد:$ sudo apt install default-jre
JRE به شما امكان مي دهد تقريباً تمام نرم افزارهاي جاوا را اجرا كنيد.با دستور زير نصب را تأييد كنيد:$ java -versionخروجي زير را مشاهده خواهيد كرد:Outputopenjdk version “11.0.7” 2020-04-14OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)
براي تهيه و اجراي برخي از نرم افزارهاي خاص مبتني بر جاوا ممكن است علاوه بر JRE به كيت توسعه جاوا (JDK) نياز داشته باشيد. براي نصب JDK ، دستور زير را اجرا كنيد ، كه JRE را نيز نصب مي كند:$ sudo apt install default-jdkبا بررسي نسخه javac ، كامپايلر جاوا ، JDK را نصب كنيد:$ javac -version
خروجي زير را مشاهده خواهيد كرد:Outputjavac 11.0.7
بعد ، بياييد ببينيم چگونه JDK و JRE رسمي Oracle را نصب كنيم.نصب Oracle JDK 11توافق مجوز Oracle براي جاوا اجازه نصب خودكار را از طريق مديران بسته نمي دهد. براي نصب Oracle JDK ، كه نسخه رسمي توزيع شده توسط Oracle است ، بايد يك حساب Oracle ايجاد كنيد و JDK را به صورت دستي دانلود كنيد تا يك مخزن بسته جديد براي نسخه مورد نظر خود اضافه كنيد. سپس مي توانيد با استفاده از apt و با كمك اسكريپت نصب شخص ثالث ، آن را نصب كنيد.نسخه JDK’s Oracle كه بايد دانلود كنيد بايد با نسخه اسكريپت نصب كننده مطابقت داشته باشد. براي اطلاع از اينكه به كدام نسخه نياز داريد ، به صفحه oracle-java11-installer مراجعه كنيد.بسته بندي مربوط به Bionic را پيدا كنيد ، همانطور كه در شكل زير نشان داده شده است:
در اين تصوير نسخه اسكريپت 11.0.7 است. در اين حالت ، به Oracle JDK 11.0.7 نياز خواهيد داشت. نيازي نيست چيزي را از اين صفحه دانلود كنيد. در ادامه اسكريپت نصب را به وسيله apt دانلود خواهيد كرد.سپس به صفحه دانلود ها مراجعه كرده و نسخه مورد نياز خود را پيدا كنيد.
بر روي دكمه JDK Download كليك كنيد و به صفحه اي منتقل مي شويد كه نسخه هاي موجود را نشان مي دهد. روي بسته .tar.gz براي لينوكس كليك كنيد.
صفحه اي نمايش داده مي شود كه از شما مي خواهد موافقت نامه مجوز Oracle را بپذيريد. كادر را انتخاب كنيد تا توافق نامه مجوز را بپذيريد و دكمه دانلود را فشار دهيد. دانلود شما شروع خواهد شد. شايد لازم باشد يك بار ديگر قبل از شروع دانلود به حساب Oracle خود وارد شويد.پس از دانلود فايل ، بايد آن را به سرور مجازي خود منتقل كنيد. در دستگاه محلي خود ، فايل را روي سرور مجازي خود بارگذاري كنيد. در maغير مجاز مي باشد ، لينوكس يا ويندوز كه از ساب سيستم ويندوز براي لينوكس استفاده مي كند ، از دستور scp براي انتقال فايل به ديركتوري اصلي كاربر sammy خود استفاده كنيد. دستور زير فرض مي كند كه شما فايل Oracle JDK را در پوشه دانلود دستگاه محلي خود ذخيره كرده ايد:$ scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~
پس از اتمام بارگذاري فايل ، به سرور مجازي خود برگرديد و مخزن شخص ثالث را اضافه كنيد كه به شما در نصب جاوا Oracle كمك مي كند.بسته software-properties-common را نصب كنيد كه دستور add-apt-repository را به سيستم شما اضافه مي كند :$ sudo apt install software-properties-common
در مرحله بعد ، كليد امضاي استفاده شده براي تأييد نرم افزاري را كه قصد نصب آن را داريد وارد كنيد:$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys EA8CACC073C3DB2A
اين خروجي را مشاهده خواهيد كرد:Outputgpg: key EA8CACC073C3DB2A: public key “Launchpad PPA for Linux Uprising” importedgpg: Total number processed: 1gpg: imported: 1
سپس از دستور add-apt-repository استفاده كنيد تا بتوانيد دوباره به ليست منابع بسته خود اضافه كنيد:$ sudo add-apt-repository ppa:linuxuprising/java
اين پيام را مشاهده خواهيد كرد:OutputOracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian.
Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required.
The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Created for users of https://www.linuxuprising.com/
Installation instructions (with some tips), feedback, suggestions, bug reports etc.:
. . .
Press [ENTER] to continue or ctrl-c to cancel adding it
براي ادامه نصب ، ENTER را فشار دهيد. ممكن است پيامي به صورت no valid OpenPGP data found مشاهده كنيد ، اما مي توانيد با اطمينان ان را ناديده بگيريد.ليست بسته هاي خود را به روز كنيد تا نرم افزار جديد براي نصب در دسترس باشد:$ sudo apt update
نصب كننده به دنبال Oracle JDK است كه شما در / var / cache / oracle-jdk11-installer-local دانلود كرده ايد. اين ديركتوري را ايجاد كنيد و بايگاني Oracle JDK را به آنجا جابجا كنيد:⦁ $ sudo mkdir -p /var/cache/oracle-jdk11-installer-local/⦁⦁ $ sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/⦁در آخر ، بسته را نصب كنيد:$ sudo apt install oracle-java11-installer-local
نصب كننده ابتدا از شما مي خواهد موافقت نامه مجوز Oracle را بپذيريد. توافق نامه را بپذيريد ، سپس نصب كننده، بسته جاوا را اكستركت و نصب ميكند.اكنون ببينيم كه چگونه نسخه اي از Java را كه مي خواهيد استفاده كنيد انتخاب نماييد.مديريت جاوامي توانيد چندين نصب جاوا روي يك سرور مجازي داشته باشيد. با استفاده از دستور update-alternatives مي توانيد پيكربندي كنيد كه كدام نسخه به طور پيش فرض در خط فرمان استفاده شود.$ sudo update-alternatives –config java
اگر در اين آموزش هر دو نسخه جاوا را نصب كنيد ، خروجي اينگونه خواهد بود:OutputThere are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status————————————————————0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
شماره مرتبط با نسخه جاوا را انتخاب كنيد تا به عنوان پيش فرض استفاده شود، يا ENTER را فشار دهيد تا تنظيمات فعلي به همان صورت خود باقي بماند.مي توانيد اين كار را براي ساير دستورات جاوا ، مانند كامپايلر (javac) انجام دهيد:$ sudo update-alternatives –config javac
دستورات ديگري كه مي توان اين دستور را برايشان اجرا كرد شامل موارد زير است:keytool, javadoc و jarsignerاما به همين فرمان ها محدود نمي شود.تنظيم متغير محيطي JAVA_HOMEبسياري از برنامه هايي كه با استفاده از جاوا نوشته شده اند از متغير محيط JAVA_HOME براي تعيين محل نصب جاوا استفاده مي كنند.براي تنظيم اين متغير محيط ، ابتدا تعيين كنيد جاوا در كجا نصب شود. از دستورupdate-alternatives استفاده كنيد:$ sudo update-alternatives –config java
اين دستور هر نصب جاوا را به همراه مسير نصب آن نشان مي دهد:OutputThere are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status————————————————————0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press to keep the current choice[*], or type selection number:
در اين حالت مسيرهاي نصب به شرح زير است:⦁ OpenJDK 11 در /usr/lib/jvm/java-11-openjdk-amd64/bin/java قرار ميگيرد.⦁ Oracle Java در /usr/lib/jvm/java-11-oracle/jre/bin/java قرار ميگيرد.مسير نصب مورد نظر خود را كپي كنيد. سپس با استفاده از nano يا ويرايشگر متن مورد علاقه خود /etc/environment را باز كنيد:$ sudo nano /etc/environment
در پايان اين فايل خط زير را اضافه كنيد ، مطمئن شويد كه مسير هايلايت شده را با مسير كپي شده خود جايگزين كنيد ، اما قسمت /bin را در مسير درج نكنيد:/etc/environmentJAVA_HOME=”/usr/lib/jvm/java-11-openjdk-amd64″
با تغيير اين فايل مسير JAVA_HOME براي همه كاربران سيستم شما تنظيم مي شود.فايل را ذخيره كرده و از ويرايشگر خارج شويد.اكنون اين فايل را مجدد لود كنيد تا تغييرات در بخش فعلي شما اعمال شود:$ source /etc/environment
تأييد كنيد كه متغير محيط تنظيم شده است:$ echo $JAVA_HOME
مسيري را كه تازه تعيين كرده ايد خواهيد ديد:Output/usr/lib/jvm/java-11-openjdk-amd64
ساير كاربران براي اجراي اين تنظيم نياز به اجراي فرمان source /etc/environment يا خروج از سيستم و ورود دوباره به سيستم دارند.نتيجهدر اين آموزش چندين نسخه جاوا را نصب كرديد و نحوه مديريت آنها را ياد گرفتيد. اكنون مي توانيد نرم افزاري را نصب كنيد كه بر روي جاوا اجرا مي شود ، مانند Tomcat ، Jetty ، Glassfish ، Cassandra يا Jenkins.
برچسب‌ها:APT, Java Runtime, OpenJDK


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۲:۱۴:۱۸ توسط:arash موضوع:

نحوه نصب Django و تنظيم محيط توسعه در اوبونتو 16.04

Django يك چارچوب وب آزاد و منبع باز است كه در پايتون نوشته شده است و از الگوي معماري نرم افزار نماي الگوي مدل (MTV) پيروي مي كند. الگوي MTV الگوي  model–view–controller (MVC) در Django است. طبق گفته بنياد نرم افزار Django ، اين مدل تنها منبع قطعي داده هاي شما است ، view  داده هايي كه از طريق يك عملكرد برگشتي Python به يك URL خاص به كاربر نشان داده مي شوند ، توصيف مي كند و template  چگونگي توليد Django HTML به صورت پويا ميباشد.
اصول اساسي Django مقياس پذيري ، قابليت استفاده مجدد و توسعه سريع است. همچنين به دليل پايداري چارچوب و كوپلينگ سست آن ، شناخته شده است و باعث مي شود اجزاي جداگانه از يكديگر مستقل باشند. برنامه نويسي Don’t repeat yourself (DRY) بخشي جدايي ناپذير از اصول Django است.
در اين آموزش محيط توسعه Django را تنظيم خواهيم كرد. ما Python 3، pip3 ، Django و virtualenv را نصب خواهيم كرد تا ابزار لازم براي توسعه برنامه هاي وب با Django را در اختيار شما قرار دهيم.
پيش نيازها
يك حساب كاربري غير ريشه با امتيازات sudo كه بر روي يك سرور مجازي Debian يا Ubuntu Linux تنظيم شده باشد. با دنبال كردن و تكميل ستاپ اوليه سرور مجازي براي Debian 8 يا مراحل 1-4 در ستاپ اوليه سرور مجازي براي آموزش اوبونتو 16.04 مي توانيد به اين پيش نيازها برسيد.
مرحله 1 – Python و pip را نصب كنيد
براي نصب پايتون ابتدا بايد مخزن محلي APT را به روز كنيم. در پنجره ترمينال خود ، فرمان زير را وارد خواهيم كرد. توجه داشته باشيد كه پرچم -y به درخواستهاي مربوط به فرآيند ارتقا پاسخهاي “بله” مي دهد. در صورت تمايل به روزرساني براي توقف هر اعلان ، پرچم را حذف كنيد.
⦁ $ sudo apt-get update && sudo apt-get -y upgrade

هنگامي كه از شما خواسته شد grub-pc را پيكربندي كنيد ، مي توانيد ENTER را فشار دهيد تا پيش فرض را بپذيرد ، يا مطابق دلخواه پيكربندي كند.
از طرف بنياد نرم افزار Django استفاده از پايتون 3 توصيه مي شود ، بنابراين پس از بروزرساني همه چيز ، مي توانيم پايتون 3 را با استفاده از دستور زير نصب كنيم:
⦁ $ sudo apt-get install python3

براي تأييد نصب موفق پايتون 3 ، يك بررسي نسخه را با دستور python3 اجرا كنيد:
⦁ $ python3 -V

خروجي حاصل شبيه به اين است:
Output
python 3.5.2

اكنون كه پايتون 3 را نصب كرديم ، براي نصب بسته هايي از PyPi ، مخزن بسته Python ، به pip نيز احتياج خواهيم داشت.
⦁ $ sudo apt-get install -y python3-pip

براي تأييد نصب موفقيت آميز pip ، دستور زير را اجرا كنيد:
⦁ $ pip3 -V

بايد خروجي مشابه اين را ببينيد:
Output
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

اكنون كه pip نصب كرديم ، اين توانايي را داريم كه به سرعت بسته هاي لازم ديگر را براي يك محيط پايتون نصب كنيم.
مرحله 2 – virtualenv را نصب كنيد
virtualenv يك محيط مجازي است كه مي توانيد نرم افزارها و بسته هاي Python را در يك فضاي توسعه يافته نصب كنيد ، كه اين نرم افزار و بسته هاي نصب شده را از بقيه محيط جهاني دستگاه شما جدا مي كند. اين جداسازي از تعامل بسته ها يا نرم افزار با يكديگر جلوگيري مي كند.
براي نصب virtualenv ، از دستور pip3 استفاده خواهيم كرد ، مانند زير:
⦁ $ pip3 install virtualenv

پس از نصب ، يك بررسي نسخه را اجرا كنيد تا تأييد كنيد كه نصب با موفقيت انجام شده است:
⦁ $ virtualenv –version

بايد خروجي زير يا مشابه آن را ببينيم:
Output
virtualenv 20.0.20 from /home/sammy/.local/lib/python3.5/site-packages/virtualenv/__init__.py

با موفقيت virtualenv را نصب كرده ايد.
در اين مرحله ، مي توانيم برنامه وب Django و متعلقات نرم افزاري مرتبط با آن را از ساير بسته ها يا پروژه هاي Python در سيستم خود جدا كنيم.
مرحله 3 – Django را نصب كنيد
سه راه براي نصب Django وجود دارد. ما از روش نصب pip اين آموزش استفاده خواهيم كرد ، اما همه گزينه هاي موجود براي شما را ارجاع مي دهيم.
• گزينه 1: نصب Django درون يك virtualenv
اين روش زماني ايده آل است كه نياز داريد نسخه Django جدا از محيط جهاني سرور مجازي باشد.
• گزينه 2: نصب Django از منبع
اگر جديدترين نرم افزار را مي خواهيد يا چيزي جديدتر از آنچه مخزن Ubuntu APT شما ارائه مي دهد ، مي توانيد مستقيماً از منبع آن رانصب كنيد. توجه داشته باشيد كه اگر مي خواهيد نسخه نرم افزار شما به روز باشد ، انتخاب اين روش مستلزم توجه و نگهداري مداوم است.
• گزينه 3: نصب Django به صورت جهاني با pip
روشي كه با آن همراه ميشويم ، pip 3 است زيرا نصب Django را در سطح جهاني انجام خواهيم داد.
ما مي خواهيم Django را با استفاده از pip در يك محيط مجازي نصب كنيم. براي راهنمايي بيشتر و اطلاع در مورد راه اندازي و استفاده از محيط هاي برنامه نويسي ، اين آموزش مربوط به تنظيم يك محيط مجازي را بررسي كنيد.
در ديركتوري هوم سرور مجازي ، بايد دايركتوري ايجاد كنيم كه شامل برنامه Django ما باشد. دستور زير را اجرا كنيد تا دايركتوري به نام django-apps يا نام ديگري به انتخاب خود ايجاد كنيد. سپس به داخل پوشه برويد.
⦁ $ mkdir django-apps

⦁ $ cd django-apps

درون ديركتوري django-apps ، محيط مجازي خود را ايجاد كنيد. بياييد آن را env بناميم.
⦁ $ virtualenv env
اكنون محيط مجازي را با دستور زير فعال كنيد:
⦁ $ . env/bin/activate

پس از تغيير پيشوند به (env) مطلع ميشويد كه فعال شده است ، كه بسته به اينكه در كدام ديركتوري قرار داريد ، مشابه زير خواهد بود:
(env) Sammy@ubuntu:$
در داخل محيط ، بسته Django را با استفاده از pip نصب كنيد. نصب Django به ما امكان مي دهد برنامه هاي Django را ايجاد و اجرا كنيم. براي كسب اطلاعات بيشتر در مورد Django ، سري آموزش هاي ما را در مورد توسعه Django را بخوانيد
⦁ (env) Sammy@ubuntu:$ pip install django

پس از نصب ، با اجراي بررسي نسخه ، نصب Django خود را تأييد كنيد:
⦁ (env) Sammy@ubuntu:$ django-admin –version

نتيجه خروجي به صورت زير يا مشابه آن خواهد بود:
Output
2.2.12

با نصب Django بر روي سرور مجازي تان، مي توانيم به سراغ ايجاد يك پروژه آزمايشي برويم تا مطمئن شويم كه همه چيز به درستي كار مي كند.
مرحله 4 – ايجاد يك پروژه تست Django
براي تست نصب Django ، يك برنامه وب اسكلتي ايجاد مي كنيم.
تنظيم قوانين فايروال
در مرحله اول ، در صورت وجود ، بايد پورت مورد استفاده را در فايروال سرور مجازي خود باز كنيم. اگر از UFW استفاده مي كنيد (همانطور كه در راهنماي راه اندازي سرور مجازي اوليه توضيح داده شده است) ، مي توانيد پورت را با دستور زير باز كنيد:
⦁ (env) Sammy@ubuntu:$ sudo ufw allow 8000

شروع پروژه
اكنون مي توانيم با استفاده از django-admin ، ابزار خط فرمان براي كارهاي مديريتي در پايتون ، برنامه اي توليد كنيم. سپس مي توانيم از دستور startproject براي ايجاد ساختار دايركتوري پروژه براي وب سايت تستي خود استفاده كنيم.
در حالي كه در ديركتوري برنامه django هستيد ، دستور زير را اجرا كنيد:
⦁ (env) Sammy@ubuntu:$ django-admin startproject testsite

توجه: اجراي دستور django-admin startproject ، نام دايركتوري پروژه و بسته پروژه را مي نامد و پروژه را در دايركتوري كه در آن فرمان اجرا شده است ، ايجاد مي كند. اگر پارامتر اختياري ارائه شود ، Django از ديركتوري مقصد ارائه شده به عنوان دايركتوري پروژه استفاده مي كند ، و management.py و بسته پروژه را درون آن ايجاد مي كند.

حال مي توانيم ببينيم كه چه فايل هاي پروژه اي به تازگي ساخته شده اند. به فهرست راهنماي testite برويد و سپس محتويات آن ديركتوري را فهرست كنيد تا ببينيد چه فايل هايي ايجاد شده اند:
⦁ (env) Sammy@ubuntu:$ cd testsite

⦁ (env) Sammy@ubuntu:$ ls

Output
manage.py testsite

خروجي را مشاهده خواهيد كرد كه نشان مي دهد اين دايركتوري حاوي فايلي به نام manage.py و پوشه اي به نام testsite است. فايل manage.py شبيه django-admin است و بسته پروژه را در sys.path قرار مي دهد. همچنين متغير محيط DJANGO_SETTINGS_MODULE را تنظيم مي كند تا به فايل تنظيمات پروژه شما نشان دهد.
با اجراي دستور less مانند زير مي توانيد اسكريپت manage.py را در ترمينال خود مشاهده كنيد:
⦁ (env) Sammy@ubuntu:$ less manage.py

هنگامي كه خواندن اسكريپت را تمام كرديد ، براي خروج از فايل ، Q را فشار دهيد.
اكنون براي مشاهده ساير فايل هاي ايجاد شده به دايركتوري Testite برويد:
⦁ (env) Sammy@ubuntu:$ cd testsite/

سپس دستور زير را براي ليست كردن محتواي ديركتوري اجرا كنيد:
⦁ (env) Sammy@ubuntu:$ ls

چهار فايل را مشاهده خواهيد كرد:
Output
__init__.py settings.py urls.py wsgi.py

بياييد ببينيم هر يك از اين فايل ها چگونه اند:
⦁ __init__.py به عنوان نقطه ورود پروژه Python شما عمل مي كند.
⦁ settings.py تنظيمات نصب Django شما را توصيف مي كند و به Django اطلاع مي دهد كه كدام تنظيمات در دسترس است.
⦁ urls.py حاوي ليست urlpatterns است ، كه URL ها را به نماي آنها مسيريابي و نگاشت مي كند.
⦁ wsgi.py شامل پيكربندي مربوط به رابط گيت وب سرور مجازي است. رابط گيت وب سرور مجازي (WSGI) استاندارد پلتفرم پايتون براي استقرار سرور مجازي ها و برنامه هاي وب است.
توجه: اگرچه يك فايل پيش فرض ايجاد شده است ، اما شما هنوز هم مي توانيد wsgi.py را در هر زمان متناسب با نيازهاي استقرار خود تغيير دهيد.

وب سايت خود را شروع و مشاهده كنيد
اكنون مي توانيم سرور مجازي را راه اندازي كنيم و با اجراي دستور runserver ، وب سايت را بر روي هاست و پورت تعيين شده مشاهده كنيم.
بايد آدرس IP سرور مجازي شما را به ليست ALLOWED_HOSTS در فايل settings.py واقع در ~ / test_django_app / Testite / Testite / اضافه كنيم.
همانطور كه در مقاله هاي Django گفته شد ، متغير ALLOWED_HOSTS شامل “ليستي از رشته هاي نماينده هاست / دامنه هايي است كه اين سايت Django مي تواند ارائه كند. اين يك اقدام امنيتي براي جلوگيري از حملات هدر هاست HTTP است ، كه حتي در بسياري از تنظيمات سرور مجازي وب به ظاهر بي خطر امكان پذير است. ”
براي افزودن آدرس IP مي توانيد از ويرايشگر متن مورد علاقه خود استفاده كنيد. به عنوان مثال ، اگر از nano استفاده مي كنيد ، دستور زير را به سادگي اجرا كنيد:
⦁ (env) Sammy@ubuntu:$ nano ~/django-apps/testsite/testsite/settings.py

پس از اجراي فرمان ، بهتر است به بخش مجاز هاست ها برويد و آدرس IP سرور مجازي خود را درون براكت ها با يك يا دو كاما اضافه كنيد.
settings.py
“””
Django settings for testsite project.

Generated by ‘django-admin startproject’ using Django 2.0.

“””

# SECURITY WARNING: don’t run with debug turned on in production!
DEBUG = True

# Edit the line below with your server IP address
ALLOWED_HOSTS = [‘your-server-ip’]

مي توانيد با نگه داشتن كليدهاي CTRL + x و سپس فشار دادن كليد y ، تغييرات را ذخيره كنيد و از nano خارج شويد.
با انجام اين كار ، حتماً به دايركتوري كه management.py در آن قرار دارد برويد:
⦁ (env) Sammy@ubuntu:$ cd ~/django-apps/testsite/

اكنون در دستور زير your-server-ip را با IP سرور مجازي خود جايگزين كنيد:
⦁ (env) Sammy@ubuntu:$ python manage.py runserver your-server-ip:8000

در آخر ، مي توانيد به لينك زير برويد تا ببينيد وب سايت اسكلتي شما چگونه است ، دوباره متن هايلايت شده را با IP واقعي سرور مجازي خود جايگزين كنيد:
http://your-server-ip:8000/
پس از لود صفحه ، يك صفحه وب دريافت خواهيد كرد كه مشابه زير است:

اين تأييد مي كند كه Django به درستي نصب شده است و پروژه آزمايش ما به درستي كار مي كند.
هنگامي كه آزمايش برنامه تان به پايان رسيد ، مي توانيد CTRL + C را فشار دهيد تا دستور Runnerver متوقف شود. با اين كار به محيط برنامه نويسي خود باز خواهيد گشت.
هنگامي كه آماده ترك محيط Python خود هستيد ، مي توانيد دستور غيرفعال كردن را اجرا كنيد:
⦁ (env) Sammy@ubuntu:$ deactivate

غيرفعال كردن محيط برنامه نويسي، شما را به سمت فرمان نهايي ترمينال باز مي گرداند.
نتيجه
در اين آموزش شما با موفقيت آخرين نسخه پايتون 3 كه از طريق مخزن Ubuntu APT در دسترس شماست ، به روزرساني كرده ايد. همچنين pip 3 ، virtualenv و django را نصب كرديد.
اكنون ابزارهاي مورد نياز براي شروع ساخت برنامه هاي وب Django را در اختيار داريد.

 

برچسب‌ها:


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۲:۰۶:۴۲ توسط:arash موضوع:

نصب جنگو و تنظيم محيط توسعه در اوبونتو 20.04

جنگو يك چارچوب وب آزاد و منبع باز است كه در پايتون نوشته شده است و اصول اصلي آن مقياس پذيري ، قابليت استفاده مجدد و توسعه سريع است. همچنين به دليل قوام چارچوب و جفت شدن سست آن ، شناخته شده است و باعث مي شود اجزاي جداگانه از يكديگر مستقل باشند.
در اين آموزش ، ما يك محيط Django را براي اهداف توسعه بر روي سرور مجازي Ubuntu 20.04 تنظيم خواهيم كرد. براي يك وب سايت زنده ، ملاحظات ديگري از جمله اتصال به يك بانك اطلاعاتي ، تنظيم نام دامنه و اضافه كردن لايه هايي از امنيت را دراختيار خواهيد داشت. ما آموزشهاي مختلفي در مورد جنگو داريم كه مي توانيد در ساختن برچسب “جنگو” از شما در حمايت از شما كمك كند.
پيش نيازها
براي تكميل اين آموزش ، شما نياز داريد:
• يك حساب كاربري غير ريشه با امتيازات sudo ، كه مي توانيد با دنبال كردن و تكميل تنظيم اوليه سرور مجازي براي آموزش اوبونتو 20.04 به آن برسيد.
• پايتون 3 با يك محيط برنامه نويسي مجازي تنظيم شده است. مي توانيد اين كار را از طريق راهنماي نصب Python 3 دريافت كنيد.
مرحله 1 – نصب جنگو
روش هاي مختلفي براي نصب Django وجود دارد ، مدير بسته بسته پايتون در يك محيط مجازي.
در حالي كه در فهرست اصلي سرور مجازي هستيم ، دايركتوري ايجاد خواهيم كرد كه شامل برنامه Django ما باشد. دستور زير را اجرا كنيد تا دايركتوري به نام django-apps يا نام ديگري از انتخاب خود ايجاد كنيد. سپس به پوشه برويد.
در حالي كه درون فهرست برنامه django هستيد ، محيط مجازي خود را ايجاد كنيد. ما آن را محيط عمومي مي ناميم ، اما شما بايد از اسمي استفاده كنيد كه براي شما و پروژه شما معني دار باشد.
اكنون محيط مجازي را با دستور زير فعال كنيد:
شما مي دانيد پس از تغيير پيشوند به (env) فعال مي شود ، بسته به نوع فهرست شما در اين ليست شبيه به موارد زير خواهد بود:
در داخل محيط ، بسته Django را با استفاده از pip نصب كنيد. نصب Django به ما امكان مي دهد برنامه هاي Django را ايجاد و اجرا كنيم.
پس از نصب ، با اجراي نسخه نسخه ، نصب Django خود را تأييد كنيد:
اين يا چيزي مشابه نتيجه خروجي حاصل خواهد شد:
با نصب Django بر روي سرور مجازي شما ، مي توانيم به سمت ايجاد يك پروژه آزمايشي حركت كنيم تا مطمئن شويم كه همه چيز به درستي كار مي كند. ما يك برنامه وب اسكلت ايجاد خواهيم كرد.
مرحله 2 – تنظيمات تنظيمات فايروال
اگر آموزش اوليه راه اندازي سرور مجازي ما را دنبال كرده ايد يا فايروال در سرور مجازي خود را اجرا مي كنيد ، بايد پورت مورد نظر را در فايروال سرور مجازي خود باز كنيم. براي فايروال UFW مي توانيد پورت را با دستور زير باز كنيد:
اگر از vpsgol Firewalls استفاده مي كنيد ، مي توانيد HTTP را از بين قوانين ورودي انتخاب كنيد. مي توانيد در مورد vpsgol Firewalls بيشتر بخوانيد و با تغيير قوانين ورودي ، قوانيني را براي آنها ايجاد كنيد.
مرحله 3 – شروع پروژه
اكنون مي توانيم با استفاده از django-admin ، ابزار خط فرمان براي كارهاي مديريتي در پايتون ، برنامه اي توليد كنيم. سپس مي توانيم از دستور startproject براي ايجاد ساختار دايركتوري پروژه براي وب سايت آزمون خود استفاده كنيم.
در حالي كه در فهرست برنامه django هستيد ، دستور زير را اجرا كنيد:
توجه: در حال اجراي دستور django-admin startproject ، نام دايركتوري پروژه و بسته پروژه را مي ناميد و پروژه را در دايركتوري كه در آن فرمان اجرا شده است ، ايجاد مي كنيد. اگر پارامتر اختياري ارائه شود ، جنگو از فهرست مقصد ارائه شده به عنوان دايركتوري پروژه استفاده مي كند ، و management.py و بسته پروژه را درون آن ايجاد مي كند.

حال مي توانيم ببينيم كه پرونده هاي پروژه به تازگي ساخته شده اند. به فهرست راهنماي testite برويد و سپس محتويات آن فهرست را فهرست كنيد تا ببينيد چه پرونده هايي ايجاد شده اند:
شما خروجي را مشاهده خواهيد كرد كه نشان مي دهد اين دايركتوري حاوي پرونده اي به نام management.py و پوشه اي به نام testite است. پرونده management.py شبيه django-admin است و بسته پروژه را در sys.path قرار مي دهد. اين همچنين متغير محيط DJANGO_SETTINGS_MODULE را تنظيم مي كند تا به پرونده تنظيمات پروژه شما نشان دهد.
با اجراي دستور كمتر مانند مي توانيد اسكريپت management.py را در ترمينال خود مشاهده كنيد:
هنگامي كه خواندن اسكريپت را تمام كرديد ، براي ترك پرونده ، Q را فشار دهيد.
اكنون براي مشاهده ساير پرونده هاي ايجاد شده به دايركتوري Testite برويد:
سپس دستور زير را براي ليست كردن محتواي فهرست راهنما اجرا كنيد:
چهار پرونده را مشاهده خواهيد كرد:
بياييد به آنچه كه هر يك از اين پرونده ها هستند بپردازيم:
• __init__.py به عنوان نقطه ورود پروژه Python شما عمل مي كند.
• asgi.py شامل پيكربندي مربوط به استقرار اختياري در Asynchronous Server Gateway Interface يا ASGI است كه استانداردي را براي برنامه هاي همگام و ناهمزمان فراهم مي كند ، و جانشين WSGI محسوب مي شود (به تصوير زير مراجعه كنيد).
• settings.py تنظيمات نصب Django شما را توصيف مي كند و به Django اجازه مي دهد تا بدانيد كه كدام تنظيمات در دسترس است.
• urls.py حاوي ليست urlpatterns است ، كه URL ها را به نماي آنها مسيريابي و نقشه مي كند.
• wsgi.py شامل پيكربندي مربوط به رابط Gateway Web Server يا WSGI است كه استانداردي را براي برنامه هاي همزمان Python فراهم مي كند.
توجه: اگرچه پرونده هاي پيش فرض توليد مي شوند ، شما
هنوز هم مي توانيد فايل هاي asgi.py يا wsgi.py را هر وقت بخواهيد متناسب با نيازهاي استقرار خود تغيير دهيد.

مرحله 4 – پيكربندي جنگو
اكنون مي توانيم سرور مجازي را راه اندازي كنيم و با اجراي دستور runserver ، وب سايت را بر روي هاست و پورت تعيين شده مشاهده كنيم.
ما بايد آدرس IP سرور مجازي شما را به ليست ALLOWED_HOSTS در پرونده settings.py واقع در ~ / test_django_app / Testite / Testite / اضافه كنيم.
همانطور كه در اسناد جنگو گفته شد ، متغير ALLOWED_HOSTS شامل “ليستي از رشته هاي نماينده ميزبان / دامنه هايي است كه اين سايت جنگو مي تواند در خدمت آنها باشد. اين يك اقدام امنيتي براي جلوگيري از حملات هدر HTTP Host است ، كه حتي در بسياري از تنظيمات سرور مجازي وب به ظاهر بي خطر امكان پذير است. ”
براي افزودن آدرس IP مي توانيد از ويرايشگر متن مورد علاقه خود استفاده كنيد. به عنوان مثال ، اگر از nano استفاده مي كنيد ، دستور زير را اجرا كنيد:
پس از اجراي فرمان ، مي خواهيد به بخش مجاز ميزبان ها از سند برويد و آدرس IP سرور مجازي خود را درون براكت هاي مربع با قيمت هاي يك يا دو به اضافه كنيد.
مي توانيد با نگه داشتن كليدهاي CTRL + x و سپس فشار دادن كليد y ، تغيير و خروج نانو را ذخيره كنيد. در مرحله بعد ، ما به دسترسي به برنامه وب خود از طريق يك مرورگر ادامه خواهيم داد.
در آخر ، اجازه دهيد يك كاربر اداري ايجاد كنيم تا بتوانيد از رابط مدير Djano استفاده كنيد. بياييد اين كار را با دستور Creatuperuser انجام دهيم:
از شما خواسته مي شود يك نام كاربري ، يك آدرس ايميل و يك رمز عبور براي كاربر خود دريافت كنيد.
مرحله 5 – دسترسي به برنامه وب Django
با پيكربندي كامل ما ، حتماً به دايركتوري كه در آن management.py قرار دارد برويد:
اكنون دستور زير را جايگزين متن سرور مجازي-IP خود با IP سرور مجازي خود كنيد:
در آخر ، مي توانيد به پيوند زير برويد تا ببينيد وب سايت اسكلت شما چگونه است ، دوباره متن برجسته شده را با IP واقعي سرور مجازي خود جايگزين كنيد:
پس از بارگيري صفحه ، موارد زير را مشاهده خواهيد كرد:
اين تأييد مي كند كه Django به درستي نصب شده است و پروژه آزمايش ما به درستي كار مي كند.
براي دسترسي به رابط سرور مجازي ، / مدير / به انتهاي آدرس اينترنتي خود اضافه كنيد:
با اين كار شما به صفحه ورود به سيستم مي رويد:
اگر نام كاربري و رمز عبوري را كه به تازگي ايجاد كرده ايد وارد كنيد ، به بخش اصلي مدير سايت دسترسي خواهيد داشت:
براي كسب اطلاعات بيشتر در مورد كار با رابط كاربري Django ، لطفاً به “چگونه مي توان رابط كاربري Django Admin را فعال و وصل كرد.”
هنگامي كه شما با آزمايش برنامه خود به پايان رسيديد ، مي توانيد CTRL + C را فشار دهيد تا دستور Runnerver متوقف شود. اين شما را به محيط برنامه نويسي شما باز مي گرداند.
هنگامي كه آماده ترك محيط Python خود هستيد ، مي توانيد دستور غيرفعال كردن را اجرا كنيد:
غيرفعال كردن محيط برنامه نويسي شما را به سمت فرمان نهايي ترمينال باز مي گرداند.
نتيجه
در اين آموزش شما با موفقيت Django را نصب كرده ايد و يك محيط توسعه را براي شروع كار بر روي برنامه Django خود تنظيم كرده ايد.
اكنون پايه و اساس لازم براي شروع كار در ساخت برنامه هاي وب Django را داريد.


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۵۱:۳۲ توسط:arash موضوع:

نحوه ايجاد سرور Minecraft در اوبونتو 18.04

Minecraft يك بازي ويديويي محبوب sandbox است. در ابتدا در سال 2009 منتشر شد ، و امكان ساخت ، جستجو ، دستكاري ، و زنده ماندن در جهان توليد شده در بلوك سه بعدي را فراهم ميكند. از اواخر سال 2019 ، به دومين بازي ويديويي پرفروش در تمام دوران تبديل شد. در اين آموزش سرور مجازي Minecraft خود را ايجاد خواهيد كرد تا با دوستانتان بتوانيد بازي كنيد. به طور خاص ، بسته هاي نرم افزاري لازم را براي اجراي Minecraft ، پيكربندي سرور مجازي براي اجرا ، و سپس استقرار بازي نصب خواهيد كرد.
در اين آموزش از نسخه جاوا Minecraft استفاده شده است. اگر نسخه Minecraft خود را از طريق Microsoft App Store خريداري كرده باشيد ، نمي توانيد به اين سرور مجازي وصل شويد. اكثر نسخه هاي Minecraft خريداري شده در كنسول هاي بازي مانند PlayStation 4 ،Xbox One يا Nintendo Switch نيز نسخه مايكروسافت Minecraft هستند. اين كنسول ها همچنين قادر به اتصال به سرور مجازي ساخته شده در اين آموزش نيستند. مي توانيد نسخه جاوا Minecraft را از اينجا دريافت كنيد.

پيش نيازها
براي دنبال كردن اين راهنما ، به موارد زير نياز داريد:
⦁ سرور مجازي ي با نصب جديد اوبونتو 18.04 ، كاربر غير ريشه با امتيازات sudo و SSH فعال شده. براي راه اندازي سرور مجازي خود و انجام اين مراحل مي توانيد اين راهنما را دنبال كنيد. Minecraft مي تواند منابع فشرده اي داشته باشد ، بنابراين هنگام انتخاب اندازه سرور مجازي خود ، اين را بخاطر بسپاريد.
⦁ يك كپي از Minecraft Java Edition كه روي يك دستگاه محلي Mac ، Windows يا Linux نصب شده است.
مرحله 1 – نصب بسته هاي نرم افزاري لازم و پيكربندي فايروال
پس از مقداردهي اوليه سرور مجازي ، اولين قدم شما نصب جاوا ميباشد. براي اجراي Minecraft به آن احتياج خواهيد داشت.
ايندكس بسته بندي را براي مدير بسته APT به روز كنيد:
⦁ $ sudo apt update

در مرحله بعد ، نسخه OpenJDK 8 جاوا ، به طور خاص JRE را نصب كنيد. اين يك نسخه حداقل از جاوا است كه پشتيباني از برنامه هاي GUI را از بين مي برد. اين ويژگي آن را براي اجراي برنامه هاي جاوا بر روي سرور مجازي ايده آل ميكند:
⦁ $ sudo apt install openjdk-8-jre-headless

همچنين براي ايجاد بخش هاي متمايز سرور مجازي بايد از نرم افزاري به نام screen  استفاده كنيد. screen  به شما اجازه مي دهد تا يك بخش پايانه ايجاد كرده و از آن جدا شويد و اجازه دهيد روند كار روي آن شروع شود. اين مسئله از اين حيث مهم است كه اگر مي خواستيد سرور مجازي خود را راه اندازي كنيد و سپس ترمينال خود را ببنديد ، اين كار باعث مي شود بخش از بين برود و سرور مجازي شما متوقف شود. اكنون screen  را نصب كنيد:
⦁ $ sudo apt install screen

اكنون كه بسته هاي خود را نصب كرديد ، بايد فايروال را فعال كنيم تا ترافيك به سرور مجازي Minecraft وارد شود. در تنظيمات اوليه سرور مجازي كه انجام داده ايد ، فقط اجازه عبور از SSH را داده ايد. اكنون بايد اجازه دهيد تا ترافيك از طريق پورت 25565 وارد شود ، كه پورت پيش فرض مورد استفاده Minecraft براي اجازه اتصال است. با اجراي دستور زير ، قانون فايروال لازم را اضافه كنيد:
⦁ $ sudo ufw allow 25565

اكنون كه جاوا را نصب كرده ايد و فايروال خود را به درستي پيكربندي كرده است ، سرور مجازي Minecraft را از وب سايت Minecraft دانلود خواهيد كرد.
مرحله 2 – دانلود آخرين نسخه Minecraft
حال بايد نسخه فعلي سرور مجازي Minecraft را دانلود كنيد. مي توانيد با رفتن به وب سايت Minecraft و كپي كردن لينكي تحت عنوان Download minecraft_server.X.X.X.jar ، كه در آن X آخرين نسخه سرور است ، اين كار را انجام دهيد.
هم اكنون مي توانيد از wget و لينك كپي شده براي دانلود سرور مجازي استفاده كنيد:
⦁ $ wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

اگر قصد داريد سرور مجازي Minecraft خود را به روزرساني كنيد ، يا اگر مي خواهيد نسخه هاي مختلف Minecraft را اجرا كنيد ، سرور مجازي دانلود شده را به minecraft_server_1.15.2.jar تغيير نام دهيد ، كه مطابق با شماره هاي نسخه هايلايت شده با هر نسخه اي كه تازه دانلود كرده ايد:
⦁ $ mv server.jar minecraft_server_1.15.2.jar

اگر مي خواهيد نسخه قديمي تر Minecraft را دانلود كنيد ، مي توانيد آنها را در mcversions.net بايگاني كنيد. اما اين آموزش بر آخرين نسخه فعلي تمركز خواهد كرد. اكنون كه دانلود را انجام داده ايد، پيكربندي سرور مجازي Minecraft خود را شروع خواهيم كرد.
مرحله 3 – پيكربندي و اجراي سرور مجازي Minecraft
اكنون كه Minecraft jar را دانلود كرديد ، آماده اجراي آن هستيد.
ابتدا با اجراي دستور screen  يك بخش screen را شروع كنيد:
⦁ $ screen

پس از خواندن بنري كه ظاهر شده است ، نوار SPACE را فشار دهيد. screen به شما يك بخش ترمينال مانند حالت عادي ارائه مي دهد. اين بخش اكنون قابل جدا شدن است ، به اين معني كه مي توانيد يك فرمان را از اينجا شروع كنيد و آن را اجرا كنيد.
اكنون مي توانيد پيكربندي اوليه خود را انجام دهيد. وقتي اين دستور بعدي با خطا مواجه ميشود، نگران نشويد. Minecraft نصب خود را از اين طريق طراحي كرده است كه كاربران ابتدا بايد موافقت نامه مجوز شركت را قبول كنند. اين كار را در ادامه انجام خواهيد داد:
⦁ $ java -Xms1024M -Xmx1024M -jar minecraft_server_1.15.2.jar nogui

قبل از بررسي خروجي اين دستور ، اجازه دهيد نگاهي دقيق تر به همه اين آرگومان هاي خط فرمان بيندازيم، كه سرور مجازي شما را تنظيم ميكند:
⦁ Xms1024M – سرور مجازي را پيكربندي مي كند تا با اجراي 1024مگابايت يا 1 گيگابايت رم شروع به كار كند. اگر مي خواهيد سرور مجازي شما با RAM بيشتري شروع كند ، مي توانيد اين حد را بالا ببريد. هم M براي مگابايت و هم G براي گيگابايت گزينه هاي پشتيباني شده هستند. به عنوان مثال: Xms2G سرور را با 2 گيگابايت رم شروع مي كند.
⦁ Xmx1024M – سرور مجازي را براي ما پيكربندي مي كند، حداكثر 1024مگابايت رم . اگر مي خواهيد سرور مجازي تان در سايز بزرگتري اجرا شود و به بازيكنان بيشتري اجازه دهد، يا اگر احساس مي كنيد كه سرور شما به كندي كار مي كند مي توانيد اين حد را افزايش دهيد .
⦁ jar – اين پرچم مشخص مي كند كه كدام فايل jar سرور مجازي اجرا شود.
⦁ nogui – به سرور مجازي مي گويد كه GUI را راه اندازي نكند زيرا يك سرور مجازي است ، و شما رابط كاربري گرافيكي نداريد.
اولين باري كه اين دستور را اجرا مي كنيد ، كه به طور معمول سرور مجازي خود را راه اندازي مي كند ، خطاي زير را ايجاد مي كند:
Output
[22:05:31] [22:05:31] [main/ERROR]: Failed to load properties from file: server.properties
[22:05:31] [main/WARN]: Failed to load eula.txt
[22:05:31] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

اين خطاها به اين دليل ايجاد شده اند كه سرور مجازي نمي تواند دو فايل لازم براي اجرا را پيدا كند:EULA (توافق نامه مجوز كاربر نهايي) ، موجود در eula.txt ، و فايل پيكربندي server.properties. خوشبختانه از آنجا كه سرور مجازي قادر به يافتن اين فايل ها نبود ، آنها را در ديركتوري كاري فعلي شما ايجاد كرد.
ابتدا ، eula.txt را در nano يا ويرايشگر متن مورد علاقه خود باز كنيد:
⦁ $ nano eula.txt

در داخل اين فايل ، پيوندي با Minecraft EULA مشاهده خواهيد كرد. URL را كپي كنيد.
~/eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Tue Mar 24 22:05:31 UTC 2020
eula=false

URL را در مرورگر وب خود باز كنيد و توافق نامه را بخوانيد. سپس به ويرايشگر متن خود بازگرديد و آخرين خط را در eula.txt پيدا كنيد. در اينجا ، eula = false را به eula = true تغيير دهيد. اكنون فايل را ذخيره كنيد و ببنديد.
اكنون كه EULA را پذيرفتيد ، زمان آن رسيده است كه سرور مجازي را با مشخصات خود پيكربندي كنيد.
در ديركتوري كاري فعلي خود ، فايل جديد server.properties را نيز پيدا خواهيد كرد. اين فايل شامل همه گزينه هاي پيكربندي سرور مجازي Minecraft شما است. مي توانيد ليست مفصلي از كليه ويژگي هاي سرور مجازي را در Official Minecraft Wiki پيدا كنيد. قبل از شروع سرور مجازي خود ، اين فايل را با تنظيمات دلخواه خود تغيير دهيد. اين آموزش خصوصيات اساسي را شامل مي شود:
⦁ $ nano server.properties

فايل شما به اين صورت ظاهر مي شود:
~/server.properties
#Minecraft server properties
#Thu Apr 30 23:42:29 UTC 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-غير مجاز مي باشد-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false
بياييد نگاهي دقيق تر به برخي از مهمترين خصوصيات اين ليست بياندازيم:
⦁ difficulty (پيش فرض روي easy است) – سطح دشواري بازي را تعيين مي كند ، از جمله اينكه چه ميزان آسيب ايجاد شود و المان ها چگونه روي بازيكن شما تأثير بگذارند. گزينه هاي موجود peaceful, easy, normal, و hard به ترتيب به معني صلح آميز ، آسان ، عادي و سخت هستند.
⦁ gamemode (پيش فرض روي survival قرار دارد) – اين ويژگي حالت بازي را تنظيم مي كند. گزينه ها شامل survival, creative,adventure, و spectator به معني نجات ، خلاق ، ماجراجويي و تماشاگر هستند.
⦁ level-name (پيش فرض روي world) – نام سرور مجازي شما را نشان مي دهد كه در كلاينت ظاهر مي شود. ممكن است نياز به گذر از كاراكترهايي مانند آپوستروف با بك اسلش ( /) باشد.
⦁ motd (پيش فرض A Minecraft Server است) – پيامي كه در ليست سرور مجازي كلاينت Minecraft نمايش داده مي شود.
⦁ pvp (پيش فرض روي true) – بازيكن را در مقابل مبارزات فعال مي كند. در صورت تنظيم روي true ، بازيكنان قادر به درگيري و آسيب رساندن به يكديگر خواهند بود.
پس از تنظيم گزينه هاي مورد نظر ، فايل را ذخيره كنيد و ببنديد.
اكنون كه EULA را به true تغيير داده و تنظيمات خود را پيكربندي كرده ايد ، مي توانيد سرور مجازي خود را با موفقيت شروع كنيد.
مانند آخرين بار ، بياييد سرور مجازي را با 1024مگابايت رم شروع كنيم. در حال حاضر ، بياييد به Minecraft امكان استفاده تا 4 گيگ رم را در صورت نياز اعطا كنيم. به ياد داشته باشيد ، ميتوانيد اين شماره را متناسب با محدوديت هاي سرور مجازي يا نيازهاي كاربر خود تنظيم مي كنيد:
⦁ $ java -Xms1024M -Xmx4G -jar minecraft_server_1.15.2.jar nogui

به مقدمات چند لحظه زمان دهيد. به زودي سرور مجازي جديد Minecraft شما توليد خروجي شبيه به اين را آغاز مي كند:
Output
[21:08:14] [Server thread/INFO]: Starting minecraft server version 1.15.2
[21:08:14] [Server thread/INFO]: Loading properties
[21:08:14] [Server thread/INFO]: Default game type: SURVIVAL
[21:08:14] [Server thread/INFO]: Generating keypair
[21:08:15] [Server thread/INFO]: Starting minecraft server on *:25565

پس از به روزرساني و راه اندازي سرور مجازي ، خروجي زير را مشاهده خواهيد كرد:
Output
[21:15:37] [Server thread/INFO]: Done (30.762s)! For help, type “help”

اكنون سرور مجازي شما در حال اجرا است و شما به صفحه كنترل ادمين سرور مجازي وارد شده ايد. اكنون help را تايپ كنيد:
[21:15:37] [server thread/INFO] : help
خروجي مانند اين ظاهر مي شود:
Output
[21:15:37] [Server thread/INFO]: /advancement (grant|revoke)
[21:15:37] [Server thread/INFO]: /ban []
[21:15:37] [Server thread/INFO]: /ban-ip []
[21:15:37] [Server thread/INFO]: /banlist [ips|players]

از اين ترمينال مي توانيد دستورات ادمين را اجرا كرده و سرور مجازي Minecraft خود را كنترل كنيد. اكنون بياييد از screen  استفاده كنيم تا سرور مجازي جديد شما، حتي پس از ورود به سيستم در حال اجرا باشد. سپس مي توانيد به كلاينت Minecraft خود متصل شويد و يك بازي جديد را شروع كنيد.
مرحله 4 – در حال اجرا نگه داشتن سرور مجازي
اكنون كه سرور مجازي خود را در حال اجرا داريد ، مي خواهيد كه حتي پس از قطع شدن از بخش SSH خود ، همچنان كار خود را ادامه دهد. از آنجا كه قبلاً از screen  استفاده كرده ايد ، مي توانيد با فشار دادن Ctrl + A + Dاز اين بخش جدا شويد. اكنون به پوسته اصلي خود برگشته ايد.
براي ديدن همه بخ هاش screen خود اين دستور را اجرا كنيد:
⦁ $ screen -list

يك خروجي با شناسه بخش خود دريافت خواهيد كرد ، كه بايد آن بخش را از سر بگيريد:
Output
There is a screen on:
26653.pts-0.minecraft (03/25/20 21:18:31) (Detached)
1 Socket in /run/screen/S-root.

براي از سرگيري بخش ، پرچم -r را به فرمان screen  وارد كنيد و سپس شناسه بخش خود را وارد كنيد:
⦁ $ screen -r 26653

هنگامي كه آماده خروج از سرور مجازي خود هستيد ، حتماً با زدن Ctrl + A + D از بخش جدا شويد و سپس از سيستم خارج شويد.
مرحله 5 – اتصال به سرور مجازي تان از طريق كلاينت Minecraft
اكنون كه سرور مجازي شما در حال كار است ، اجازه دهيد از طريق كلاينت Minecraft به آن وصل شويم. سپس مي توانيد بازي كنيد!
كپي خود را از Minecraft Java Edition راه اندازي كنيد و Multiplayer را از منو انتخاب كنيد.

در مرحله بعد ، براي اتصال به يك سرور مجازي نياز داريد ، بنابراين بر روي دكمه Add Server كليك كنيد.

در صفحه ويرايش اطلاعات سرور مجازي كه نمايش داده ميشود ، نامي به سرور مجازي خود بدهيد و در آدرس IP سرور مجازي خود آن را تايپ كنيد. اين همان آدرس IP است كه براي اتصال از طريق SSH استفاده مي كنيد.

پس از وارد كردن نام سرور مجازي و آدرس IP خود ، به صفحه Multiplayer كه اكنون سرور مجازي شما در آن ليست شده است ، باز مي گرديد.

از اين پس ، سرور مجازي شما هميشه در اين ليست ظاهر مي شود. آن را انتخاب كرده و روي Join Server كليك كنيد.

شما در سرور مجازي خود قرار گرفتيد و آماده بازي هستيد!
نتيجه
اكنون يك سرور مجازي Minecraft در اوبونتو 18.04 در حال اجرا داريد كه با تمام دوستان خود بتوانيد بازي كنيد! با جستجو، نيرنگ زدن و تلاش براي بقا در دنياي خام سه بعدي لذت ببريد و به ياد داشته باشيد: مراقب grieferها باشيد.d

 

برچسب‌ها:


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۴۰:۵۳ توسط:arash موضوع:

نحوه راه اندازي يك پروژه Node با Typescript

Node يك محيط زمان اجرا ميباشد كه امكان نوشتن JavaScript در سمت سرور مجازي را ممكن مي كند. از زمان انتشار آن در سال 2011 به صورت گسترده پذيرفته شده است. نوشتن جاوا اسكريپت در سمت سرور مجازي مي تواند چالش برانگيز باشد زيرا پايه كد به دليل ماهيت زبان JavaScriptيعني تايپ ديناميك و سست گسترده مي شود.
توسعه دهندگان كه از زبان هاي ديگر به سراغ JavaScript مي آيند غالباً از عدم وجود تايپ استاتيك قوي شكايت دارند ، اما اينجاست كه TypeScript به كار مي آيد تا اين شكاف را برطرف كند.
TypeScript يك فوق مجموعه تايپ شده (اختياري) از JavaScript است كه مي تواند در ساخت و مديريت پروژه هاي بزرگ JavaScript كمك كند. مي تواند به عنوان JavaScript با ويژگيهاي اضافي مانند تايپ استاتيك قوي ، كامپايل و برنامه نويسي شي گرا در نظر گرفته شود.
توجه: از نظر فني TypeScript مجموعه اي فوق العاده از JavaScript است ، بدين معني كه كليه كد هاي JavaScript كدهاي TypeScript معتبر هستند.

در اينجا مزاياي استفاده از TypeScript آورده شده است:
1- تايپ استاتيك اختياري.
2- استنباط تايپ.
3- امكان استفاده از رابط ها.
در اين آموزش يك پروژه Node با TypeScript تنظيم مي كنيد. يك برنامه Express با استفاده از TypeScript ايجاد خواهيد كرد و آن را به كد JavaScript شسته و رفته و معتبر تبديل مي كنيد.
پيش نيازها
قبل از شروع اين راهنما ، به Node.js نصب شده بر روي دستگاه تان نياز خواهيد داشت. شما مي توانيد اين كار را با دنبال كردن آموزش نحوه نصب Node.js و ايجاد يك راهنماي توسعه محلي براي سيستم عامل خود انجام دهيد.
مرحله 1 – شروع يك پروژه npm
براي شروع ، يك پوشه جديد با نام node_project ايجاد كنيد و به آن ديركتوري برويد.
⦁ $ mkdir node_project

⦁ $ cd node_project

سپس ، آن را به عنوان يك پروژه npm آغاز كنيد:
⦁ $ npm init

بعد از اجراي npm init ، بايد اطلاعاتي در مورد پروژه خود به npm ارائه كنيد. اگر ترجيح مي دهيد npm پيش فرض هاي معقولي را تصور كند ، مي توانيد پرچم y را اضافه كنيد تا اعلان هاي درخواست اطلاعات بيشتر را رد كند:
⦁ $ npm init -y

اكنون كه فضاي پروژه شما تنظيم شده است ، آماده هستيد تا به نصب متعلقات لازم بپردازيد.
مرحله 2 – نصب متعلقات
با شروع يك پروژه npm برهنه ، مرحله بعدي نصب متعلقاتي است كه براي اجراي TypeScript لازم است.
براي نصب متعلقات دستورات زير را از ديركتوري پروژه خود اجرا كنيد:
⦁ $ npm install -D typescript@3.3.3

⦁ $ npm install -D tslint@5.12.1

پرچم -D ميانبر براي: –save-dev است. مي توانيد در مستندات npmjs اطلاعات بيشتري در مورد اين پرچم كسب كنيد.
اكنون زمان آن رسيده است كه فريم ورك Express را نصب كنيد:
⦁ $ npm install -S express@4.16.4

⦁ $ npm install -D ⦁ @types/express@4.16.1

دستور دوم انواع Express را براي پشتيباني TypeScript نصب مي كند. انواع در TypeScript فايلهايي هستند كه معمولاً داراي پسوند .d.ts هستند. از فايل ها براي تهيه نوع اطلاعات در مورد يك API ، در اين حالت چارچوب Express استفاده مي شود.
اين بسته لازم است زيرا TypeScript و Express بسته هاي مستقل هستند. بدون بسته @types/express ، هيچ راهي براي TypeScript براي اطلاع از انواع كلاس هاي Express وجود ندارد.
مرحله 3 – پيكربندي TypeScript
در اين بخش TypeScript را تنظيم مي كنيد و linting را براي TypeScript پيكربندي مي كنيد. TypeScript براي پيكربندي گزينه هاي كامپايلر براي يك پروژه از فايلي به نام tsconfig.json استفاده مي كند. يك فايل tsconfig.json را در ريشه دايركتوري پروژه ايجاد كنيد و در قسمت زير جايگذاري كنيد:
tsconfig.json
{
“compilerOptions”: {
“module”: “commonjs”,
“esModuleInterop”: true,
“target”: “es6”,
“moduleResolution”: “node”,
“sourceMap”: true,
“outDir”: “dist”
},
“lib”: [“es2015”]
}

بياييد برخي از كليدهاي موجود در قسمت JSON را بررسي كنيم:
⦁ module: روش توليد كد ماژول را مشخص مي كند. Node از Commonjs استفاده مي كند.
⦁ target: سطح زبان خروجي را مشخص مي كند.
⦁ moduleResolution: به كامپايلر كمك مي كند تا بفهمد ورودي به چه چيزي اطلاق مي شود. مقدار Node از مكانيزم وضوح ماژول Node تقليد مي كند.
⦁ outDir: مكان خروجي فايل هاي .js پس از transpilation است. در اين آموزش آن را به عنوان dist ذخيره مي كنيم.
جايگزيني براي ايجاد و پر كردن فايل tsconfig.json به صورت دستي اجراي دستور زير است:
⦁ tsc –init

اين دستور يك فايل tsconfig.json به خوبي كامنت شده را توليد مي كند.
براي كسب اطلاعات بيشتر در مورد گزينه هاي مقدار كليدي موجود ، اسناد رسمي TypeScript توضيحات مربوط به هر گزينه را ارائه مي دهد.
اكنون مي توانيد linting TypeScript را براي پروژه پيكربندي كنيد. در ترمينالي كه در ريشه دايركتوري پروژه شما اجرا ميشود ، و اين آموزش آن را با عنوان node_project بنا نهاده است ، دستور زير را براي توليد يك فايل tslint.json اجرا كنيد:
⦁ $ ./node_modules/.bin/tslint –init

فايل tslint.json تازه توليد شده را باز كنيد و قانون no-console را نيز بر اين اساس اضافه كنيد:
tslint.json
{
“defaultSeverity”: “error”,
“extends”: [“tslint:recommended”],
“jsRules”: {},
“rules”: {
“no-console”: false
},
“rulesDirectory”: []
}

به طور پيش فرض ،TypeScript linter مانع استفاده از اشكال زدايي با استفاده از عبارات console  مي شود ، از اين رو بايد صراحتا به linter گفته شود كه قانون پيش فرض no-console را باطل كند.
مرحله 4 – بروزرساني فايل pack.json
در اين مرحله از آموزش ، مي توانيد توابع را در ترمينال به صورت جداگانه اجرا كنيد ، يا يك اسكريپت npm براي اجراي آنها ايجاد كنيد.
در اين مرحله يك اسكريپت شروع مي كنيد كه كد TypeScript را كامپايل و transpile مي كند ، و سپس برنامه .js حاصل را اجرا مي كند.
فايل pack.json را باز كنيد و بر اين اساس آن را به روز كنيد:
package.json
{
“name”: “node-with-ts”,
“version”: “1.0.0”,
“description”: “”,
“main”: “dist/app.js”,
“scripts”: {
“start”: “tsc && node dist/app.js”,
“test”: “echo ”Error: no test specified” && exit 1″
},
“author”: “”,
“license”: “ISC”,
“devDependencies”: {
“@types/express”: “^4.16.1”,
“tslint”: “^5.12.1”,
“typescript”: “^3.3.3”
},
“dependencies”: {
“express”: “^4.16.4”
}
}

در قطعه كد بالا مسير اصلي را به روز كرديد و دستور start را به بخش اسكريپت ها اضافه كرديد. هنگام مشاهده فرمان شروع ، خواهيد ديد كه ابتدا دستور tsc اجرا مي شود ، و سپس دستور node. اين كار خروجي توليد شده را با node كامپايل و اجرا مي كند.
دستور tsc به TypeScript مي گويد كه برنامه را كامپايل كرده و خروجي توليد شده .js را همانطور كه در فايل tsconfig.json تنظيم شده است در ديركتوري پوشه outDir قرار دهد.
مرحله 5 – ايجاد و اجراي يك سرور مجازي اصلي اكسپرس
اكنون كه پيكربندي TypeScript و linter آن صورت گرفته است ، زمان آن رسيده كه يك سرور مجازي Node Express بسازيد.
ابتدا يك پوشه src در ريشه ديركتوري پروژه خود ايجاد كنيد:
⦁ $ mkdir src

سپس فايلي به نام app.ts را درون آن ايجاد كنيد:
⦁ $ touch src/app.ts

در اين مرحله ، ساختار پوشه بايد به شكل زير باشد:
├── node_modules/
├── src/
├── app.ts
├── package-lock.json
├── package.json
├── tsconfig.json
├── tslint.json

فايل app.ts را با يك ويرايشگر متن مورد نظر خود باز كنيد و در قسمت كد زير قرار دهيد:
src/app.ts
import express from ‘express’;

const app = express();
const port = 3000;
app.get(‘/’, (req, res) => {
res.send(‘The sedulous hyena ate the antelope!’);
});
app.listen(port, err => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

كد بالا Node Server را ايجاد مي كند كه پورت 3000 را براي درخواست ها گوش مي دهد. برنامه را با استفاده از دستور زير اجرا كنيد:
⦁ $ npm start

اگر با موفقيت اجرا شود ، پيامي به ترمينال وارد مي شود:
Output
⦁ $ server is listening on 3000

اكنون مي توانيد در مرورگر خود از http: // localhost: 3000 بازديد كنيد و بايد اين پيام را مشاهده كنيد:
Output
⦁ $ The sedulous hyena ate the antelope!

فايل dist / app.js را باز كنيد و نسخه تعويض شده كد TypeScript را پيدا خواهيد كرد:
dist/app.js
“use strict”;

var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { “default”: mod };
};
Object.defineProperty(exports, “__esModule”, { value: true });
const express_1 = __importDefault(require(“express”));
const app = express_1.default();
const port = 3000;
app.get(‘/’, (req, res) => {
res.send(‘The sedulous hyena ate the antelope!’);
});
app.listen(port, err => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

//# sourceMappingURL=app.js.map

در اين مرحله شما با موفقيت پروژه Node خود را براي استفاده از TypeScript تنظيم كرده ايد.
نتيجه
در اين آموزش ، آموختيد كه چرا TypeScript براي نوشتن كد قابل اعتماد JavaScript مفيد است . همچنين در مورد برخي از مزاياي كار با TypeScript اطلاعات كسب كرديد.
سرانجام ، يك پروژه Node را با استفاده از چارچوب Express تنظيم كرده ايد ، اما پروژه را با استفاده از TypeScript كامپايل و اجرا مي كنيد.

 

برچسب‌ها:


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۳۸:۰۹ توسط:arash موضوع:

نحوه نصب و پيكربندي VNC در اوبونتو 18.04

Virtual Network Computing يا VNC يك سيستم اتصال است كه به شما امكان مي دهد از صفحه كليد و ماوس خود براي تعامل با يك محيط دسكتاپ گرافيكي روي يك سرور مجازي از راه دور استفاده كنيد. اين امر باعث مي شود مديريت فايل ها ، نرم افزارها و تنظيمات روي يك سرور مجازي از راه دور براي كاربراني كه همچنان با خط فرمان احساس راحتي نميكنند ، آسانتر شود.
در اين راهنما ، سرور مجازي VNC را روي يك سرور مجازي اوبونتو 18.04 تنظيم كرده و از طريق يك تونل SSH با ايمني به آن وصل مي شويد. شما از TightVNC ، يك بسته كنترل از راه دور سريع و سبك استفاده مي كنيد. اين انتخاب اطمينان حاصل خواهد كرد كه اتصال VNC ما حتي در اتصالات اينترنت كندتر هموار و پايدار خواهد بود.
پيش نيازها
براي تكميل اين آموزش ، به موارد زير نياز داريد:
• يك سرور مجازي Ubuntu 18.04 كه طبق راهنماي ستاپ اوليه سرور مجازي Ubuntu 18.04 تنظيم شده باشد، شامل يك كاربر sudo غير ريشه و فايروال باشد.
• يك كامپيوتر محلي با يك كلاينت VNC نصب شده كه اتصالات VNC را از طريق تونل هاي SSH پشتيباني مي كند.
o در ويندوز ، مي توانيد از TightVNC ، RealVNC يا UltraVNC استفاده كنيد.
o در maغير مجاز مي باشد ، مي توانيد از برنامه داخلي اشتراك گذاري صفحه استفاده كنيد ، يا مي توانيد از يك برنامه cross-platform مانند RealVNC استفاده كنيد.
o در لينوكس ، مي توانيد گزينه هاي بسياري از جمله vinagre ، krdc ، RealVNC يا TightVNC را انتخاب كنيد.
مرحله 1 – نصب محيط دسكتاپ و سرور مجازي VNC
به طور پيش فرض ، يك سرور مجازي Ubuntu 18.04 با محيط دسكتاپ گرافيكي يا سرور مجازي VNC همراه نيست ، بنابراين ما با نصب آن ها كار را شروع خواهيم كرد. به طور خاص ، بسته هاي جديدترين محيط دسكتاپ Xfce و بسته TightVNC موجود در مخزن رسمي اوبونتو را نصب خواهيم كرد.
در سرور مجازي خود ليست بسته هاي خود را به روز كنيد:
⦁ $ sudo apt update

اكنون محيط دسكتاپ Xfce را روي سرور مجازي خود نصب كنيد:
⦁ $ sudo apt install xfce4 xfce4-goodies

پس از اتمام نصب ، سرور مجازي TightVNC را نصب كنيد:
⦁ $ sudo apt install tightvncserver

براي تكميل پيكربندي اوليه سرور مجازي VNC پس از نصب ، از دستور vncserver براي تنظيم گذرواژه ايمن و ايجاد فايل هاي پيكربندي اوليه استفاده كنيد:
⦁ $ vncserver

از شما خواسته مي شود يك رمز ورود را براي دسترسي از راه دور به دستگاه خود وارد كرده و تأييد كنيد:
Output
You will require a password to access your desktops.

Password:
Verify:

رمز عبور بايد بين شش تا هشت كاراكتر باشد. گذرواژه‌هاي بيش از 8 كاراكتر به صورت خودكار كوتاه خواهند شد.
پس از تأييد گذرواژه ، مي توانيد يك گذرواژه view-only ايجاد كنيد. كاربراني كه با رمز ورود view-only به سيستم وارد مي شوند ، قادر به كنترل نمونه VNC با ماوس يا صفحه كليد خود نخواهند بود. اگر مي خواهيد چيزي را با استفاده از سرور مجازي VNC خود به ديگران نشان دهيد ، اين گزينه مفيد ميباشد ، اما ضروري نيست.
سپس اين فرآيند فايلهاي پيكربندي پيش فرض لازم و اطلاعات اتصال را براي سرور مجازي ايجاد مي كند:
Output
Would you like to enter a view-only password (y/n)? n
xauth: file /home/sammy/.Xauthority does not exist

New ‘X’ desktop is your_hostname:1

Creating default startup script /home/sammy/.vnc/xstartup
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log

اكنون بگذاريد سرور مجازي VNC را پيكربندي كنيم.
مرحله 2 – پيكربندي سرور مجازي VNC
سرور مجازي VNC بايد بداند كه در هنگام راه اندازي چه دستوراتي را اجرا مي كند. به طور خاص ، VNC بايد بداند كه به كدام دسكتاپ گرافيكي وصل شود.
اين دستورات در يك فايل پيكربندي به نام xstartup در پوشه .vnc تحت ديركتوري هوم شما قرار دارند. اسكريپت راه اندازي هنگامي ايجاد شد كه در مرحله قبل vncserver را اجرا كرديد ، اما براي راه اندازي دسكتاپ Xfce ، اسكريپت خودمان را ايجاد خواهيم كرد.
هنگامي كه VNC براي اولين بار راه اندازي ميشود ، يك نمونه سرور مجازي پيش فرض را در پورت 5901 راه اندازي مي كند. اين پورت به عنوان پورت نمايشگر ناميده مي شود و توسط VNC به صورت :1 ارجاع داده مي شود. VNC مي تواند چندين نمونه در پورت هاي نمايشگر ديگر مانند: 2 ،: 3 و غيره راه اندازي كند.
از آنجا كه مي خواهيم نحوه پيكربندي سرور مجازي VNC را تغيير دهيم ، ابتدا نمونه سرور مجازي VNC را كه با استفاده از پورت 5901 در حال اجرا است با دستور زير متوقف كنيد:
⦁ $ vncserver -kill :1

خروجي بايد به اين شكل باشد ، اگرچه يك PID متفاوت را مشاهده خواهيد كرد:
Output
Killing Xtightvnc process ID 17648
قبل از تغيير فايل xstartup ، از نسخه اصلي نسخه پشتيبان تهيه كنيد:
⦁ $ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

اكنون يك فايل xstartup جديد ايجاد كرده و آن را در ويرايشگر متن خود باز كنيد:
⦁ $ nano ~/.vnc/xstartup

هر زمان كه سرور مجازي VNC را شروع يا ريستارت ميكنيد، دستورات موجود در اين فايل بطور خودكار اجرا ميشوند. براي شروع محيط دسكتاپ خود در صورتي كه از قبل شروع نشده است ، به VNC احتياج داريم. اين دستورات را به فايل اضافه كنيد:
~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

اولين دستورالعمل موجود در فايل ، xrdb $ HOME / .Xresource ، به چارچوب رابط كاربري گرافيكي VNC ميگويد فايل .Xresources كاربر سرور مجازي را بخواند. Xresource جايي است كه يك كاربر مي تواند تنظيمات خاصي از دسكتاپ گرافيكي ، مانند رنگ هاي ترمينال ، تم هاي مكان نما و رندر فونت ، تغييراتي ايجاد كند. دستور دوم به سرور مجازي مي گويد كه Xfce را راه اندازي كند ، در اين قسمت تمام نرم افزارهاي گرافيكي مورد نياز خود را براي مديريت راحت سرور مجازي خود پيدا خواهيد كرد.
براي اطمينان از اينكه سرور مجازي VNC قادر به استفاده صحيح از اين فايل راه اندازي جديد خواهد بود ، بايد آن را عملياتي كنيم.
⦁ $ sudo chmod +x ~/.vnc/xstartup

اكنون ، سرور مجازي VNC را رستارت كنيد.
⦁ $ vncserver

خروجي مشابه اين را مشاهده خواهيد كرد:
Output
New ‘X’ desktop is your_hostname:1

Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log

با پيكربندي موجود ، بياييد از دستگاه محلي خود به سرور مجازي وصل شويم.
مرحله 3 – اتصال ايمن به دسكتاپ VNC
VNC در هنگام اتصال از پروتكل هاي ايمن استفاده نمي كند. ما براي اتصال ايمن به سرور مجازي خود از يك تونل SSH استفاده خواهيم كرد و سپس به كلاينت VNC مي گوييم به جاي برقراري ارتباط مستقيم از آن تونل استفاده كند.
يك اتصال SSH را روي رايانه محلي خود ايجاد كنيد كه به طور ايمن به اتصال محلي براي VNC منتقل شود. شما مي توانيد اين كار را از طريق ترمينال در لينوكس يا maغير مجاز مي باشد با دستور زير انجام دهيد:
⦁ ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

سوئيچ -L اتصالات پورت را مشخص مي كند. در اين حالت ما پورت 5901 اتصال از راه دور را به پورت 5901 در دستگاه محلي شما وصل مي كنيم. سوئيچ -C فشرده سازي را قادر مي سازد ، در حالي كه سوئيچ -N به ssh مي گويد كه ما نمي خواهيم يك دستور از راه دور را اجرا كنيم. سوئيچ -l نام ورود از راه دور را مشخص مي كند.
به ياد داشته باشيد كه sammy و your_server_ip را با نام كاربري sudo غير ريشه و آدرس IP سرور مجازي خود جايگزين كنيد.
اگر از يك سرويس دهنده گرافيكي SSH استفاده مي كنيد ، مانند PuTTY ، از your_server_ip به عنوان IP اتصال استفاده كنيد و localhost: 5901 را به عنوان پورت جديد ارسال شده در تنظيمات تونل SSH برنامه تنظيم كنيد.
پس از راه اندازي تونل ، از يك سرويس دهنده VNC براي اتصال به localhost:5901 استفاده كنيد. از شما خواسته مي شود با استفاده از رمزعبور تنظيم شده در مرحله 1 ، تأييد اعتبار كنيد.
پس از اتصال ، ميزكار پيش فرض Xfce را مشاهده خواهيد كرد. بايد چيزي شبيه به اين باشد:

همانطور كه در اينجا مشاهده مي شود ، مي توانيد به فايلها در ديركتوري هوم خود با مدير فايل يا از خط فرمان دسترسي پيدا كنيد:

CTRL + C را در ترمينال خود فشار دهيد تا تونل SSH را متوقف كرده و به اعلان خود بازگرديد. اين كار بخش VNC شما را نيز قطع مي كند.
بگذاريد سرور مجازي VNC ما به عنوان سرويس تنظيم شود.
مرحله 4 – اجراي VNC به عنوان يك سرويس سيستم
در مرحله بعدي ، سرور مجازي VNC را به عنوان يك سرويس سيستمي تنظيم خواهيم كرد تا بتوانيم مانند هر سرويس ديگر ، آن را بنا به نياز ، راه اندازي ، متوقف و مجدداً راه اندازي كنيم. اين كار همچنين راه اندازي VNC در حين ريبوت سرور مجازي را تضمين مي كند.
ابتدا با استفاده از ويرايشگر متن مورد علاقه خود ، يك فايل واحد جديد با نام /etc/systemd/system/vncserver@.service ايجاد كنيد:
⦁ $ sudo nano /etc/systemd/system/vncserver@.service

نماد @ در انتهاي نام به ما اجازه مي دهد تا آرگوماني را كه مي توانيم در پيكربندي سرويس استفاده كنيم ، وارد كنيم. از آن براي مشخص كردن پورت نمايشگر VNC استفاده خواهيم كرد كه مي خواهيم هنگام مديريت سرويس استفاده كنيم .
خطوط زير را به فايل اضافه كنيد. حتماً مقدار كاربر ، گروه ، WorkingDirectory و نام كاربري را در مقدار PIDFILE تغيير دهيد تا با نام كاربري شما مطابقت داشته باشد:
/etc/systemd/system/vncserver@.service
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy

PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

فرمان ExecStartPre اگر قبلاً در حال اجرا باشد VNC را متوقف مي كند. دستور ExecStart ، VNC را شروع مي كند و عمق رنگ را به رنگ 24 بيتي با رزولوشن 1280×800 تنظيم مي كند. مي توانيد بنا به نيازهاي خود اين گزينه هاي راه اندازي را تغيير دهيد.
فايل را ذخيره كنيد و ببنديد.
سپس ، سيستم را از وجود فايل واحد جديد آگاه كنيد.
⦁ $ sudo systemctl daemon-reload

فايل واحد را فعال كنيد.
⦁ $ sudo systemctl enable vncserver@1.service

1 بعد از علامت @ نشان مي دهد كه كدام شماره نمايش سرويس بايد روي آن ظاهر شود ، در اين حالت پيش فرض : 1 است، همانطور كه در مرحله 2 بحث شد.
اگر هنوز نمونه فعلي سرور مجازي VNC در حال اجرا است آن را متوقف كنيد.
⦁ $ vncserver -kill :1

سپس آن را شروع كنيد همانطور كه هر سرويس سيستمي ديگري را شروع مي كنيد.
⦁ $ sudo systemctl start vncserver@1

با اين دستور مي توانيد تأييد كنيد كه شروع شده است:
⦁ $ sudo systemctl status vncserver@1

اگر به درستي شروع شود ، خروجي بايد به اين شكل باشد:
Output
● vncserver@1.service – Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/vncserver@.service; indirect; vendor preset: enabled)
Active: active (running) since Mon 2018-07-09 18:13:53 UTC; 2min 14s ago
Process: 22322 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :1 (code=exited, status=0/SUCCESS)
Process: 22316 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=0/SUCCESS)
Main PID: 22330 (Xtightvnc)

سرور مجازي VNC شما هنگام ريبوت دستگاه ، اكنون در دسترس خواهد بود.
دوباره تونل SSH خود را شروع كنيد:
⦁ $ ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

سپس با استفاده از نرم افزار كلاينت VNC خود به localhost: 5901 اتصال جديدي برقرار كنيد تا به دستگاه خود متصل شويد.
نتيجه
اكنون يك سرور مجازي VNC امن در سرور مجازي Ubuntu 18.04 خود فعال و راه اندازي كرده ايد. در حال حاضر مي توانيد فايلها ، نرم افزارها و تنظيمات خود را با يك رابط گرافيكي آسان و كاربردي مديريت كنيد و قادر خواهيد بود نرم افزارهاي گرافيكي مانند مرورگرهاي وب را از راه دور اجرا كنيد.

 

برچسب‌ها:


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۳۴:۳۱ توسط:arash موضوع:

ايجاد يك برنامه Django و اتصال آن به يك بانك اطلاعاتي

به خاطر چارچوب وب آزاد و منبع باز كه در پايتون نوشته شده است ، Django امكان مقياس پذيري ، قابليت استفاده مجدد و توسعه سريع را فراهم مي آورد.
در اين آموزش مي بينيد كه چگونه پايه و اساس اوليه يك سايت وبلاگي با اتصال به يك پايگاه داده MySQL را تنظيم كنيد. اين امر شامل ايجاد ساختار اسكلت برنامه وبلاگ با استفاده از django-admin ، ايجاد بانك اطلاعاتي MySQL و سپس اتصال برنامه وب به ديتابيس خواهد بود.
توجه داشته باشيد كه اين امر محيط توسعه را براي شما فراهم مي كند تا بتوانيد در برنامه وبلاگ خود كار كنيد ، اما شما بايد قبل از اينكه وبلاگ خود را به صورت زنده در اينترنت قرار دهيد ، كارهاي ديگري انجام دهيد ، نام هاي دامنه را تعيين و لايه هاي امنيتي بيشتري اضافه كنيد.
پيش نيازها
بايد يك محيط Python در سرور مجازي خود تنظيم كنيد. در اين آموزش ، ما از سرور مجازي اوبونتو 20.04 استفاده خواهيم كرد ، اما از آنجا كه تمركز اين آموزش بر روي Django است ، اين اصول بايد براي ساير سيستم عامل ها نيز كاربرد داشته باشد.
براي راه اندازي پايتون ، آموزش نحوه نصب پايتون 3 و تنظيم يك محيط برنامه نويسي را در سرور مجازي اوبونتو 20.04 دنبال كنيد.
با قرارگيري پايتون در جاي خود ، مي توانيم به سراغ ايجاد برنامه خود برويم.
مرحله 1 – MySQL را نصب كنيد
ما از MySQL به عنوان بانك اطلاعاتي خود استفاده خواهيم كرد. ممكن است شما بخواهيد از بانك اطلاعاتي ديگري استفاده كنيد يا از قبل يك پايگاه داده نصب كرده باشيد ، در اين صورت بايد اين مرحله را رد كنيد.
براي نصب MySQL در سرور مجازي Ubuntu 20.04 ، دستور زير را تايپ كنيد:
⦁ $ sudo apt install mysql-server

بايد خروجي زير را دريافت كنيد:
Output
● mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-07 20:22:51 UTC; 3min 7s ago
Main PID: 2052 (mysqld)
Status: “Server is operational”
Tasks: 38 (limit: 1137)
Memory: 317.4M
CGroup: /system.slice/mysql.service
└─2052 /usr/sbin/mysqld

اطمينان حاصل كنيد كه بازخورد دريافتي بيانگر فعال بودن سرور مجازي MySQL شماست. پس از تاييد اين موضوع ، مي توانيد اين آموزش را ادامه دهيد.
مرحله 2 – اسكلت اوليه پروژه Django را ايجاد كنيد
به منظور ايجاد زمينه كاري براي برنامه خود ، بايد اسكلت پروژه را با استفاده از دستور django-admin توليد كنيم. اين پروژه توليد شده پايه و اساس برنامه وبلاگ ما خواهد بود.
به دايركتوري برويد كه مي خواهيد برنامه وبلاگ خود را بسازيد. در اين ديركتوري ، يك ديركتوري خاص براي ساخت برنامه ايجاد خواهيم كرد. براي برنامه اي كه در حال ساخت هستيد ، نام ديركتوري را چيزي معني دار در نظر بگيريد. به عنوان نمونه ، ما آن را my_blog_app مي ناميم.
⦁ $ mkdir my_blog_app

اكنون به پوشه تازه ايجاد شده برويد:
⦁ $ cd my_blog_app

در مرحله بعد ، وارد محيط برنامه نويسي شويد كه مي خواهيد براي كار در Django استفاده كنيد. مي توانيد از يك ديركتوري موجود استفاده كنيد يا يك ديركتوري جديد ايجاد كنيد. ما ديركتوري خود را env مي ناميم ، اما شما بايد از اسمي استفاده كنيد كه براي شما معني دارد. پس از ايجاد ، مي توانيد آن را فعال كنيد.
⦁ $ python3 -m venv env

⦁ . env/bin/activate
اگر قبلا Django را نصب نكرده ايد ، آن را در اين محيط نصب كنيد:
⦁ (env) Sammy@ubuntu:$ pip install django

در حالي كه در ديركتوري my_blog_app هستيم، با اجراي دستور زير ، پروژه اي را توليد مي كنيم:
⦁ (env) Sammy@ubuntu:$ django-admin startproject blog

با رفتن به دايركتوري blog/ تأييد كنيد كه كار كرده است:
⦁ (env) Sammy@ubuntu:$ cd blog

دايركتوريblog/ بايد پس از اجراي دستور قبلي django-admin در دايركتوري فعلي ، ~ / my_blog_app / ايجاد شود.
براي تأييد اينكه موارد لازم ايجاد شده است ، ls را اجرا كنيد. بايد يك ديركتوري وبلاگ و يك فايل management.py وجود داشته باشد:
Output
blog manage.py

اكنون كه دايركتوري پروژه را ايجاد كرده ايد كه شامل شروع اوليه برنامه وبلاگ شماست ، مي توانيم به مرحله بعدي برويم.
مرحله 3 – تنظيمات را ويرايش كنيد
از آنجا كه ما پروژه اسكلت را توليد كرده ايم ، اكنون يك فايل settings.py داريم.
براي اينكه وبلاگ ما زمان صحيحي با ناحيه ما ارتباط داشته باشد ، فايل settings.py را ويرايش مي كنيم تا از منطقه زماني فعلي شما استفاده كند. مي توانيد از اين ليست مناطق زماني به عنوان مرجع استفاده كنيد. به عنوان مثال ، ما از وقت America/New_York استفاده خواهيم كرد.
مي خواهيم فايل را ويرايش كنيم ، بنابراين بياييد مسير فايل را با ويرايشگر متن مورد نظر خود باز كنيم. در اينجا ، ما از nano استفاده خواهيم كرد.
⦁ (env) Sammy@ubuntu:$ nano ~/my_blog_app/blog/blog/settings.py

از آنجا كه ما در حال ويرايش قسمت TIME_ZONE هستيم ، مانند زير به قسمت پايين فايل خواهيم رفت.
settings.py

# Internationalization
# https://docs.djangoproject.com/en/2.0/topics/i18n/

LANGUAGE_CODE = ‘en-us’

TIME_ZONE = ‘UTC’

USE_I18N = True

USE_L10N = True

USE_TZ = True

ما مي خواهيم خط TIME_ZONE را طوري تغيير دهيم كه در منطقه زماني فعلي شما تنظيم شود. در اين مثال از منطقه زماني نيويورك استفاده خواهيم كرد:
settings.py

# Internationalization
# https://docs.djangoproject.com/en/2.0/topics/i18n/

LANGUAGE_CODE = ‘en-us’

TIME_ZONE = ‘America/New_York’

USE_I18N = True

بياييد فايل را باز نگه داريم زيرا بايد مسيري را براي فايل هاي استاتيك خود اضافه كنيم. فايلهايي كه از برنامه وب Django شما دريافت مي شوند به فايل هاي استاتيك شناخته مي شوند. اين فايل ها مي تواند شامل تمام فايل هاي لازم براي ارائه كامل صفحه وب از جمله JavaScript ، CSS و تصاوير باشد.
به انتهاي فايل تنظيمات برويد و مطابق شكل زير STATIC_ROOT را اضافه كنيد:
settings.py

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.0/howto/static-files/

STATIC_URL = ‘/static/’
STATIC_ROOT = os.path.join(BASE_DIR, ‘static’)

اكنون كه منطقه زماني و مسير فايل هاي استاتيك را اضافه كرده ايم ، بايد IP بعدي خود را به ليست هاست هاي مجاز اضافه كنيم. به خط فايل settings.pyبرويد. جايي كه ALLOWED_HOSTS نوشته شده، در قسمت بالاي فايل settings.py خواهد بود.
settings.py

# SECURITY WARNING: don’t run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = [‘your server IP address’]

# Application definition

آدرس IP سرور مجازي خود را بين براكت و علامت تك نقل قول اضافه كنيد.
پس از رضايت از تغييراتي كه ايجاد كرده ايد ، فايل را ذخيره كنيد. اگر در حال استفاده از nano هستيد ، مي توانيد اين كار را با فشار دادن CTRL + X و سپس y براي تأييد تغييرات انجام دهيد.
شما فايل settings.pyخود را با موفقيت ويرايش كرده ايد تا منطقه زماني مناسب پيكربندي شده باشد. همچنين مسير فايل هاي استاتيك خود را اضافه كرده ايد و آدرس IP را براي برنامه خود ALLOWED_HOST قرار داده ايد.
در آخر ، اجازه دهيد يك كاربر ادمين ايجاد كنيم تا بتوانيد از رابط مدير Djano استفاده كنيد. بياييد اين كار را با دستور Creatuperuser انجام دهيم:
⦁ (me_env) $ python manage.py createsuperuser

از شما يك نام كاربري ، يك آدرس ايميل و رمز عبور براي كاربر خواسته مي شود.
در اين مرحله مي توانيم به تنظيم اتصال بانك اطلاعاتي خود بپردازيم.
مرحله 4 – اتصال دهنده پايگاه داده MySQL را نصب كنيد
براي استفاده از MySQL با پروژه خود ، به يك كتابخانه اتصال دهنده پايگاه داده Python 3 كه سازگار با Django است ، نياز خواهيم داشت. بنابراين ، ما اتصال ديتابيس را نصب خواهيم كرد ، mysqlclient ، كه يك نسخه forked از MySQLdb است.
ابتدا اطمينان حاصل كنيد كه python3-dev را نصب كرده ايد. با اجراي دستور زير مي توانيد python3-dev را نصب كنيد:
⦁ (env) Sammy@ubuntu:$ sudo apt install python3-dev

اكنون مي توانيم هدرها و كتابخانه هاي توسعه Python و MySQL را نصب كنيم:
⦁ (env) Sammy@ubuntu:$ sudo apt install python3-dev libmysqlclient-dev default-libmysqlclient-dev

براي پذيرش نصب ، y و ENTER را فشار دهيد.
پس از اتمام نصب ، از pip3 براي نصب كتابخانه mysqlclient از PyPi استفاده خواهيم كرد. از آنجا كه نسخه pip به pip3 اشاره مي كند ، مي توانيم از pip استفاده كنيم.
⦁ (env) Sammy@ubuntu:$ pip install mysqlclient

خروجي مشابه اين را دريافت خواهيد كرد ، تأييد ميكند كه به درستي در حال نصب است:
successfully installed mysqlclient

Successfully installed mysqlclient-1.4.6
اكنون با استفاده از كتابخانه اتصال دهنده mysqlclient PyPi با موفقيت MySQL را نصب كرديم.
مرحله 5 – ايجاد بانك اطلاعاتي
اكنون كه اسكلت برنامه Django شما راه اندازي شده است و mysqlclient و mysql-server نصب شده اند ، بايد براي سازگاري MySQL ، backend Django را پيكربندي كنيم.
به صورت ريشه MySQL با دستور زير وارد شويد:
⦁ (env) Sammy@ubuntu:$ sudo mysql -u root

وقتي اعلان تغيير مي كند مي دانيم كه در سرور مجازي MySQL قرار داريم:
Mysql>
بگذاريد پايگاه داده هاي فعلي را با دستور زير بررسي كنيم:
⦁ Mysql> SHOW DATABASES;

با فرض اينكه هنوز هيچ پايگاه داده اي ايجاد نكرده ايد ، خروجي مشابه زير را مشاهده خواهيد كرد:
Output
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| sys |
+——————–+
4 rows in set (0.00 sec)

توجه: اگر هنگام تلاش براي اتصال با خطايي مواجه شديد ، تأييد كنيد كه رمزعبورتان درست است و MySQL را به درستي نصب كرده ايد. در غير اينصورت آموزش نحوه نصب و پيكربندي MySQL را دوباره مرور كنيد.

به طور پيش فرض ، شما 4 پايگاه داده را تاكنون ايجاد كرده ايد ، data_schema ، MySQL ، performance_schema و sys. نيازي به اتصال به اين موارد نداريم ، زيرا حاوي اطلاعاتي مهم براي خود سرور مجازي MySQL هستند.
اكنون ، كه با موفقيت به سرور مجازي MySQL خود وارد شده ايد ، بانك اطلاعاتي اوليه را ايجاد مي كنيم كه داده ها را براي وبلاگ مان نگه مي دارد.
براي ايجاد يك پايگاه داده در MySQL ، دستور زير را با استفاده از يك اسم معني دار براي پايگاه داده خود اجرا كنيد:
⦁ Mysql> CREATE DATABASE blog_data;

پس از ايجاد موفقيت آميز پايگاه داده ، خروجي زير را مشاهده خواهيد كرد:
Output
Query OK, 1 row affected (0.00 sec)
توجه: اگر خروجي زير را مشاهده مي كنيد:
database creation failed
ERROR 1007 (HY000): Can’t create database blog_data; database exists

يعني ، همانطور كه خطا بيان مي كند ، يك بانك اطلاعاتي با نام blog_data از قبل وجود دارد.
و اگر خطاي MySQL زير را مشاهده كرديد ، به اين معني است كه يك خطاي نحوي MySQL وجود دارد. بررسي كنيد كه فرمان را دقيقاً مطابق با اين آموزش وارد كرده ايد.
database creation failed
ERROR 1064 (42000): You have an error in your SQL syntax;

سپس ، تأييد كنيد كه اكنون پايگاه داده در ليست پايگاههاي داده موجود شما قرار دارد:
⦁ $ SHOW DATABASES;

بايد ببينيد كه پايگاه داده blog_data در ميان پايگاه داده هاي موجود در خروجي است:
output
+——————–+
| Database |
+——————–+
| information_schema |
| blog_data |
| mysql |
| performance_schema |
| sys |
+——————–+
5 rows in set (0.00 sec)

در مرحله بعد ، قصد داريم يك حساب كاربري MySQL جداگانه ايجاد كنيم كه ما بطور انحصاري براي كار با بانك اطلاعات جديد خود استفاده خواهيم كرد. ايجاد بانكهاي اطلاعاتي و حسابهاي خاص مي تواند ما را از منظر مديريتي و امنيتي پشتيباني كند. ما در اين راهنما از نام djangouser استفاده خواهيم كرد ، اما شما ميتوانيد از هر نامي استفاده كنيد.
ما قصد داريم اين حساب را ايجاد كنيم ، رمزعبور راتنظيم كنيم و به ديتابيس ايجاد شده دسترسي پيدا كنيم. مي توانيم با تايپ دستور زير اين كار را انجام دهيم. به ياد داشته باشيد يك رمزعبور قوي براي كاربر پايگاه داده خود در جايي كه password را داريم انتخاب كنيد:
⦁ Mysql> CREATE USER ‘djangouser’@’%’ IDENTIFIED WITH mysql_native_password BY ‘password’;

در مرحله بعد ، به ديتابيس اطلاع دهيد كه djangouser ما بايد دسترسي كامل به ديتابيسي كه ايجاد ميكنيم داشته باشد:
⦁ Mysql> GRANT ALL ON blog_data.* TO ‘djangouser’@’%’;

اكنون يك بانك اطلاعاتي و يك حساب كاربري داريد كه هركدام به طور خاص براي Django ساخته شده است. بايد امتيازات را flush كنيم تا نمونه فعلي MySQL از تغييرات اخير ما اطلاع يابد:
⦁ Mysql> FLUSH PRIVILEGES;

با اتمام آن ، مي توانيد با وارد كردن EXIT يا با فشار دادن CTRL + D از سرور مجازي MySQL خارج شويد.
مرحله 6 – اتصال پايگاه داده MySQL را به برنامه خود اضافه كنيد
سرانجام ، اعتبارات اتصال بانك اطلاعاتي را به برنامه Django شما اضافه خواهيم كرد.
توجه: لازم است به ياد داشته باشيد كه تنظيمات اتصال ، مطابق مستندات Django ، به ترتيب زير استفاده مي شوند:
OPTIONS
– NAME, USER, PASSWORD, HOST, PORT
– MySQL option files.
بياييد تغييرات لازم را براي اتصال برنامه وبلاگ Django به MySQL ايجاد كنيم.
به فايل settings.py برويد و خطوط فعلي DATABASES را با موارد زير جايگزين كنيد. ما ديكشنري پايگاه داده شما را پيكربندي خواهيم كرد تا بداند كه از MySQL به عنوان backend ديتابيس شما استفاده كند و از چه فايلي براي خواندن اعتبارات اتصال بانك اطلاعاتي شما استفاده كند.
⦁ (env) Sammy@ubuntu:$ nano ~/my_blog_app/blog/blog/settings.py

خطوط موجود را در آنجا پاك كرده و آن را با خطوط زير جايگزين كنيد ، حتماً تعداد مناسب پرانتز را حفظ كنيد.
settings.py

# Database
# https://docs.djangoproject.com/en/3.0/ref/settings/#databases

DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘OPTIONS’: {
‘read_default_file’: ‘/etc/mysql/my.cnf’,
},
}
}

فايل را ذخيره كنيد و ببنديد.
سپس ، اجازه دهيد فايل پيكربندي را ويرايش كنيم تا اعتبارات MySQL شما را داشته باشد. براي ويرايش فايل و افزودن اطلاعات زير از nano به عنوان sudo استفاده كنيد:
⦁ (env) Sammy@ubuntu:$ sudo nano /etc/mysql/my.cnf

خطوط زير را اضافه كنيد و اطلاعات مربوط به خود را درج كنيد.
my.cnf

[client]
database = blog_data
user = djangouser
password = your_actual_password
default-character-set = utf8

توجه خواهيد كرد كه utf8 به عنوان رمزگذاري پيش فرض تنظيم شده است ، كه يك روش معمول براي رمزگذاري داده هاي تك كد در MySQL است. وقتي مطمئن شديد كه جزئيات شما صحيح است ، فايل را ذخيره كنيد و ببنديد.
پس از ويرايش فايل ، لازم است كه MySQL را مجدداً راه اندازي كنيم تا تغييرات به مرحله اجرا درآيند.
⦁ (env) Sammy@ubuntu:$ sudo systemctl daemon-reload

⦁ (env) Sammy@ubuntu:$ sudo systemctl restart mysql

لطفاً توجه داشته باشيد كه راه اندازي مجدد MySQL چند ثانيه طول مي كشد ، بنابراين لطفاً صبور باشيد.
مرحله 7 – اتصال MySQL به برنامه را آزمايش كنيد
لازم است تأييد كنيم كه تنظيمات موجود در Django سرور مجازي MySQL را به درستي تشخيص مي دهد. ما مي توانيم اين كار را با اجراي سرور مجازي انجام دهيم. در صورت عدم موفقيت ، اين بدان معني است كه اتصال به درستي كار نمي كند. در غير اين صورت ، اتصال معتبر است.
بياييد ابتدا تغييرات خود را در django با دستور زير اعمال كنيم:
⦁ (env) Sammy@ubuntu:$ python manage.py migrate

بايد به ديركتوري زير برويم:
⦁ (env) Sammy@ubuntu:$ cd ~/my_blog_app/blog/

از آنجا ، مي توانيم دستور زير را اجرا كنيم:
⦁ (env) Sammy@ubuntu:$ python manage.py runserver your-server-ip:8000

اكنون خروجي مشابه زير را مشاهده خواهيد كرد:
Output
Performing system checks…

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run ‘python manage.py migrate’ to apply them.

January 4, 2018 – 15:45:39
Django version 2.0.1, using settings ‘blog.settings’
Starting development server at http://your-server-ip:8000/
Quit the server with CONTROL-C.

توجه: در خروجي خواهيد ديد كه جابه جايي هاي بي رويه داشته ايد. اما نگران نباشيد ، در آموزش هاي بعدي به اين موضوع پرداخته مي شود. اين مسئله بر تنظيم اوليه برنامه ما تأثير نمي گذارد. لطفا پيش برويد.

دستورالعمل هاي خروجي را دنبال كنيد و پيوند پيشنهادي ، http: // your-server-ip: 8000 / را دنبال كنيد تا برنامه وب خود را مشاهده كنيد و تأييد كنيد كه به درستي كار مي كند.

اگر صفحه شما شبيه به تصوير بالا ظاهر مي شود ، برنامه Django شما مطابق آنچه انتظار مي رود كار مي كند!
هنگامي كه آزمايش برنامه تان به پايان رسيد ، مي توانيد CTRL + C را فشار دهيد تا دستور Runnerver متوقف شود. با اين كار شما به محيط برنامه نويسي خود باز خواهيد گشت.
هنگامي كه آماده ترك محيط Python خود هستيد ، مي توانيد دستور غيرفعال كردن را اجرا كنيد:
⦁ (env) Sammy@ubuntu:$ deactivate

غيرفعال كردن محيط برنامه نويسي شما را به سمت فرمان نهايي ترمينال باز مي گرداند.
نتيجه
در اين آموزش پايه و اساس اوليه وبلاگ Django خود را ايجاد كرده ايد. MySQL را نصب و پيكربندي كرده و به backend Django وصل كرده ايد. همچنين برخي از اطلاعات مهم مانند TIME_ZONE و ALLOWED_HOSTS را به فايل تنظيمات برنامه خود اضافه كرده ايد.
اكنون كه اين تنظيمات و پيكربندي هاي اوليه كامل شده است ، مي توانيد شروع به توسعه مدل ها و اعمال برنامه هاي جابه جايي در برنامه Django خود كنيد.


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۳۱:۳۵ توسط:arash موضوع:

نصب و پيكربندي VNC در اوبونتو 20.04

Virtual Network Computing يا VNC يك سيستم اتصال است كه به شما امكان مي دهد از صفحه كليد و ماوس خود براي تعامل با يك محيط دسكتاپ گرافيكي روي يك سرور مجازي از راه دور استفاده كنيد. اين امر باعث مي شود مديريت فايل ها ، نرم افزارها و تنظيمات روي يك سرور مجازي از راه دور براي كاربراني كه همچنان با خط فرمان احساس راحتي نميكنند ، آسانتر شود.
در اين راهنما ، با TightVNC يك سرور مجازي VNC را روي سرور مجازي اوبونتو 20.04 تنظيم كرده و از طريق يك تونل SSH با ايمني به آن وصل مي شويد. سپس از يك برنامه كلاينت VNC بر روي دستگاه محلي خود استفاده ميكنيد تا از طريق محيط دسكتاپ گرافيكي با سرور مجازي خود ارتباط برقرار كنيد.
پيش نيازها
براي تكميل اين آموزش ، به موارد زير نياز داريد:
• يك سرور مجازي Ubuntu 20.04 شامل يك كاربر ادمين غير ريشه و فايروال تنظيم شده با UFW .
• يك كامپيوتر محلي با يك كلاينت VNC نصب شده . كلاينتVNC كه استفاده ميكنيد بايد از طريق تونل هاي SSH اتصالات را پشتيباني كند.
o در ويندوز ، مي توانيد از TightVNC ، RealVNC يا UltraVNC استفاده كنيد.
o در maغير مجاز مي باشد ، مي توانيد از برنامه داخلي اشتراك گذاري صفحه استفاده كنيد ، يا مي توانيد از يك برنامه cross-platform مانند RealVNC استفاده كنيد.
o در لينوكس ، مي توانيد گزينه هاي بسياري از جمله vinagre ، krdc ، RealVNC يا TightVNC را انتخاب كنيد.
مرحله 1 – نصب محيط دسكتاپ و سرور مجازي VNC
به طور پيش فرض ، يك سرور مجازي Ubuntu 20.04 با محيط دسكتاپ گرافيكي يا سرور مجازي VNC همراه نيست ، بنابراين ما با نصب آن ها كار را شروع خواهيم كرد.
براي انتخاب سرور مجازي VNC و محيط دسك تاپ گزينه هاي بسياري براي شما وجود دارد. در اين آموزش بسته هايي را براي جديدترين محيط دسك تاپ Xfce و بسته TightVNC موجود از مخزن رسمي اوبونتو نصب خواهيد كرد. Xfce و TightVNC هر دو به دليل وزن كم و سرعت شناخته شده اند كه اطمينان حاصل مي كند اتصال VNC حتي در اتصالات كندتر اينترنت هموار و پايدار خواهد بود.
بعد از اتصال به سرور مجازي با SSH ، ليست بسته هاي خود را به روز كنيد:
⦁ $ sudo apt update

اكنون Xfce را به همراه بسته xfce4-goodies نصب كنيد ، كه حاوي چند تغيير براي محيط دسك تاپ است:
⦁ $ sudo apt install xfce4 xfce4-goodies

در حين نصب ، ممكن است از شما خواسته شود يك مدير نمايشگر پيش فرض براي Xfce انتخاب كنيد. مدير نمايشگر برنامه اي است كه به شما امكان مي دهد از طريق يك رابط گرافيكي وارد يك محيط دسك تاپ شويد. فقط هنگام اتصال با كلاينت VNC از Xfce استفاده خواهيد كرد و در اين بخش هاي Xfce از قبل به عنوان كاربر غير ريشه اوبونتو وارد سيستم مي شويد. بنابراين براي اهداف اين آموزش ، انتخاب شما براي مدير صفحه نمايش اهميتي ندارد. يكي را انتخاب كنيد و ENTER را فشار دهيد.
پس از اتمام نصب ، سرور مجازي TightVNC را نصب كنيد:
⦁ $ sudo apt install tightvncserver

در مرحله بعدي ، دستور vncserver را براي تنظيم رمز ورود دسترسي VNC ، ايجاد فايل هاي پيكربندي اوليه و شروع يك مثال سرور مجازي VNC اجرا كنيد:
$ vncserver

از شما خواسته مي شود يك رمز ورود را براي دسترسي از راه دور به دستگاه خود وارد كرده و تأييد كنيد:
Output
You will require a password to access your desktops.

Password:
Verify:

رمز عبور بايد بين شش تا هشت كاراكتر باشد. گذرواژه‌هاي بيش از 8 كاراكتر به صورت خودكار كوتاه خواهند شد.
پس از تأييد گذرواژه ، مي توانيد يك گذرواژه view-only ايجاد كنيد. كاربراني كه با رمز ورود view-only به سيستم وارد مي شوند ، قادر به كنترل نمونه VNC با ماوس يا صفحه كليد خود نخواهند بود. اگر مي خواهيد چيزي را با استفاده از سرور VNC خود به ديگران نشان دهيد ، اين گزينه مفيد ميباشد ، اما ضروري نيست.
سپس اين فرآيند فايلهاي تنظيمات پيش فرض لازم و اطلاعات اتصال را براي سرور ايجاد مي كند. علاوه بر اين ، يك نمونه سرور پيش فرض را در پورت 5901 راه اندازي مي كند. اين پورت ، پورت نمايشگر گفته مي شود و توسط VNC به :1 شناخته ميشود. VNC مي تواند چندين نمونه را در ساير پورت هاي نمايش راه اندازي كند: :2 به پورت 5902 و :3 به 5903 اشاره ميكند و به همين ترتيب:
Output
Would you like to enter a view-only password (y/n)? n
xauth: file /home/sammy/.Xauthority does not exist

New ‘X’ desktop is your_hostname:1

Creating default startup script /home/sammy/.vnc/xstartup
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log

توجه داشته باشيد كه اگر هر زمان خواستيد رمزعبور خود را تغيير دهيد يا يك رمز ورود view-only اضافه كنيد ، مي توانيد با دستور vncpasswd اين كار را انجام دهيد:
⦁ $ vncpasswd

در اين مرحله ، سرور مجازي VNC نصب و راه اندازي مي شود. اكنون بياييد آن را پيكربندي كنيم تا Xfce را راه اندازي كرده و از طريق يك رابط گرافيكي به سرور مجازي دسترسي داشته باشيم.
مرحله 2 – پيكربندي سرور مجازي VNC
سرور مجازي VNC بايد بداند كه در هنگام راه اندازي چه دستوراتي را اجرا كند. به طور خاص ، VNC بايد بداند كه به كدام دسكتاپ گرافيكي وصل شود.
اين دستورات در يك فايل پيكربندي به نام xstartup در پوشه .vnc تحت ديركتوري هوم شما قرار دارند. اسكريپت راه اندازي هنگامي ايجاد شد كه در مرحله قبل vncserver را اجرا كرديد ، اما براي راه اندازي دسكتاپ Xfce ، اسكريپت خودمان را ايجاد خواهيم كرد.
از آنجا كه مي خواهيم نحوه پيكربندي سرور مجازي VNC را تغيير دهيم ، ابتدا نمونه سرور مجازي VNC را كه با استفاده از پورت 5901 در حال اجرا است با دستور زير متوقف كنيد:
⦁ $ vncserver -kill :1

خروجي بايد به اين شكل باشد ، اگرچه يك PID متفاوت را مشاهده خواهيد كرد:
Output
Killing Xtightvnc process ID 17648
قبل از تغيير فايل xstartup ، از نسخه اصلي نسخه پشتيبان تهيه كنيد:
⦁ $ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

اكنون يك فايل xstartup جديد ايجاد كرده و آن را در ويرايشگر متن خود باز كنيد:
⦁ $ nano ~/.vnc/xstartup

خطوط زير را به فايل اضافه كنيد:
~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

خط اول يك  shebangاست. در فايل هاي قابل اجراي متن ساده در پلتفرم هاي * nix ، يك shebang به سيستم مي گويد كه چه مفسري را براي انتقال آن فايل براي اجرا وارد مي كند. در اين حالت ، شما فايل را به مفسر Bash ارائه مي دهيد. اين امر به شما امكان مي دهد كه هر خط پي در پي را به صورت دستوراتي اجرا كنيد.
اولين دستورالعمل موجود در فايل ، xrdb $ HOME / .Xresource ، به چارچوب رابط كاربري گرافيكي VNC ميگويد فايل .Xresources كاربر سرور مجازي را بخواند. Xresource جايي است كه يك كاربر مي تواند تنظيمات خاصي از دسكتاپ گرافيكي ، مانند رنگ هاي ترمينال ، تم هاي مكان نما و رندر فونت ، تغييراتي ايجاد كند. دستور دوم به سرور مجازي مي گويد كه Xfce را راه اندازي كند ، در اين قسمت تمام نرم افزارهاي گرافيكي مورد نياز خود را براي مديريت راحت سرور مجازي خود پيدا خواهيد كرد.
پس از افزودن اين خطوط ، فايل را ذخيره كنيد و ببنديد. اگر از nano استفاده كرده ايد ، اين كار را با فشار دادن CTRL + X ، Y ، سپس enter انجام دهيد.
براي اطمينان از اينكه سرور مجازي VNC قادر به استفاده صحيح از اين فايل راه اندازي جديد خواهد بود ، بايد آن را عملياتي كنيم.
⦁ $ chmod +x ~/.vnc/xstartup

اكنون ، سرور مجازي VNC را رستارت كنيد.
⦁ $ vncserver -localhost

توجه كنيد كه اين بار اين دستور شامل گزينه -localhost است كه سرور مجازي VNC را به رابط حلقه برگشت سرور مجازي شما متصل مي كند. اين امر باعث مي شود VNC فقط اتصالات منبعي را كه روي آن نصب شده است مجاز بداند.
در مرحله بعد ، شما يك تونل SSH بين دستگاه محلي و سرور مجازي خود ايجاد مي كنيد ، در واقع VNC را فريب ميدهيد كه اتصال حاصل از دستگاه محلي شما را از سمت سرور مجازي تان بداند. اين استراتژي يك لايه امنيتي بيشتر در اطراف VNC اضافه خواهد كرد ، زيرا تنها كاربراني كه قادر به دستيابي به آن هستند ، كساني هستند كه از قبل دسترسي به SSH به سرور مجازي شما دارند.
خروجي مشابه اين را مشاهده خواهيد كرد:
Output
New ‘X’ desktop is your_hostname:1

Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log

با پيكربندي موجود ، آماده هستيد از دستگاه محلي خود به سرور مجازي VNC وصل شويد.
مرحله 3 – اتصال ايمن به دسكتاپ VNC
VNC در هنگام اتصال از پروتكل هاي ايمن استفاده نمي كند. ما براي اتصال ايمن به سرور مجازي خود از يك تونل SSH استفاده خواهيم كرد و سپس به كلاينت VNC مي گوييم به جاي برقراري ارتباط مستقيم از آن تونل استفاده كند.
يك اتصال SSH را روي رايانه محلي خود ايجاد كنيد كه به طور ايمن به اتصال محلي براي VNC منتقل شود. شما مي توانيد اين كار را از طريق ترمينال در لينوكس يا maغير مجاز مي باشد با دستور SSH زير انجام دهيد:
⦁ $ ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip

در اينجا منظور از گزينه هاي اين دستور ssh چيست:
⦁ -L 59000: localhost: 5901: سوئيچ -L مشخص مي كند كه پورت داده شده در رايانه محلي (59000) بايد به هاست داده شده و پورت روي سرور مجازي مقصد (localhost: 5901) يعني پورت 5901 در مقصد كه به your_server_ip شناخته ميشود، ارسال گردد. توجه داشته باشيد كه پورت محلي كه مشخص كرده ايد تا حدودي دلخواه است؛ تا زماني كه پورت به سرويس ديگري متصل نشده باشد ، مي توانيد از آن به عنوان پورت انتقال براي تونل خود استفاده كنيد.
⦁ -C: اين پرچم فشرده سازي را فعال مي كند كه مي تواند در به حداقل رساندن مصرف منابع و سرعت بخشيدن مفيد باشد.
⦁ -N: اين گزينه به ssh مي گويد كه شما نمي خواهيد دستورات راه دور را اجرا كنيد. اين تنظيم هنگامي مفيد است كه شما فقط مي خواهيد پورت ها را ارسال كنيد.
⦁ -l sammy your_server_ip: سوئيچ -l به شما امكان مي دهد تا به محض اتصال به سرور مجازي ، كاربر مورد نظر خود را وارد كنيد. حتماً sammy و your_server_ip را با نام كاربر غير ريشه و آدرس IP سرور مجازي خود جايگزين كنيد.
توجه: اين دستور يك تونل SSH ايجاد مي كند كه از طريق پورت 22 در هر دستگاه ، يعني پورت پيش فرض براي SSH ، اطلاعات را از پورت 5901 در سرور مجازي VNC شما به پورت 59000 در دستگاه محلي شما منتقل مي كند. با فرض اينكه از راهنماي پيش نياز ستاپ اوليه سرور مجازي اوليه براي اوبونتو 20.04 پيروي كرده باشيد ، يك قانون UFW اضافه كرده ايد تا امكان اتصال به سرور مجازي خود را از طريق OpenSSH فراهم كند.
اين كار نسبت به باز كردن فايروال سرور مجازي شما براي اتصال به پورت 5901 ايمن تر است ، زيرا اين امر به هر كسي امكان دسترسي به سرور مجازي شما از طريق VNC را مي دهد. با اتصال به يك تونل SSH ، دسترسي VNC به ماشين هايي كه از قبل دسترسي به SSH به سرور مجازي دارند را محدود مي كنيد.
اگر از PuTTY براي اتصال به سرور مجازي خود استفاده مي كنيد ، مي توانيد با كليك راست روي نوار بالاي پنجره ترمينال ، يك تونل SSH ايجاد كنيد و سپس بر روي گزينه Change Settings… كليك كنيد:

شاخه CONNECTION را در منوي درختي در سمت چپ پنجره PuTTY Reconfiguration پيدا كنيد. شاخه SSH را باز كرده و بر روي Tunnels كليك كنيد. در صفحه Options controlling SSH port forwarding ،59000 را به عنوان Port Source و localhost: 5901 به عنوان مقصد وارد كنيد ، مانند اين:

سپس براي اجراي تونل بر روي دكمه Add و سپس دكمه Apply كليك كنيد.
پس از راه اندازي تونل ، از يك كلاينت VNC براي اتصال به localhost:59000استفاده كنيد. از شما خواسته مي شود با استفاده از رمزعبور تنظيم شده در مرحله 1 ، تأييد اعتبار كنيد.
پس از اتصال ، ميزكار پيش فرض Xfce را مشاهده خواهيد كرد. بايد چيزي شبيه به اين باشد:

همانطور كه در اينجا مشاهده مي شود ، مي توانيد در ديركتوري هوم خود با مدير فايل يا از خط فرمان به فايلها دسترسي پيدا كنيد:

CTRL + C را در ترمينال محلي خود زده تا تونل SSH را متوقف كرده و به حالت عادي خود بازگرديد. اين كار بخش VNC شما را نيز قطع مي كند.
اكنون مي توانيد سرور مجازي VNC خود را پيكربندي كنيد تا به عنوان يك سرويس سيستمي اجرا شود.
مرحله 4 – اجراي VNC به عنوان يك سرويس سيستم
در مرحله بعدي ، سرور مجازي VNC را به عنوان يك سرويس سيستمي تنظيم خواهيم كرد تا بتوانيم مانند هر سرويس ديگر ، آن را بنا به نياز ، راه اندازي ، متوقف و مجدداً راه اندازي كنيم. اين كار همچنين راه اندازي VNC در حين ريبوت سرور مجازي را تضمين مي كند.
ابتدا با استفاده از ويرايشگر متن مورد علاقه خود ، يك فايل واحد جديد با نام /etc/systemd/system/vncserver@.service ايجاد كنيد:
⦁ $ sudo nano /etc/systemd/system/vncserver@.service

نماد @ در انتهاي نام به ما اجازه مي دهد تا آرگوماني را كه مي توانيم در پيكربندي سرويس استفاده كنيم ، وارد كنيم. از آن براي مشخص كردن پورت نمايشگر VNC استفاده خواهيم كرد كه مي خواهيم هنگام مديريت سرويس استفاده كنيم .
خطوط زير را به فايل اضافه كنيد. حتماً مقدار كاربر ، گروه ، WorkingDirectory و نام كاربري را در مقدار PIDFILE تغيير دهيد تا با نام كاربري شما مطابقت داشته باشد:
/etc/systemd/system/vncserver@.service
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy

PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

فرمان ExecStartPre اگر قبلاً در حال اجرا باشد VNC را متوقف مي كند. دستور ExecStart ، VNC را شروع مي كند و عمق رنگ را به رنگ 24 بيتي با رزولوشن 1280×800 تنظيم مي كند. مي توانيد بنا به نيازهاي خود اين گزينه هاي راه اندازي را تغيير دهيد. همچنين توجه داشته باشيد كه فرمان ExecStart  دوباره شامل گزينه -localhost ميباشد.
فايل را ذخيره كنيد و ببنديد.
سپس ، سيستم را از وجود فايل واحد جديد آگاه كنيد.
⦁ $ sudo systemctl daemon-reload

فايل واحد را فعال كنيد.
⦁ $ sudo systemctl enable vncserver@1.service

1 بعد از علامت @ نشان مي دهد كه كدام شماره نمايش سرويس بايد روي آن ظاهر شود ، در اين حالت پيش فرض : 1 است، همانطور كه در مرحله 2 بحث شد.
اگر هنوز نمونه فعلي سرور مجازي VNC در حال اجرا است آن را متوقف كنيد.
⦁ $ vncserver -kill :1

سپس آن را شروع كنيد همانطور كه هر سرويس سيستمي ديگري را شروع مي كنيد.
⦁ $ sudo systemctl start vncserver@1

با اين دستور مي توانيد تأييد كنيد كه شروع شده است:
⦁ $ sudo systemctl status vncserver@1

اگر به درستي شروع شود ، خروجي بايد به اين شكل باشد:
Output
● vncserver@1.service – Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-07 17:23:50 UTC; 6s ago
Process: 39768 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
Process: 39772 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :1 (code=exited, status=0/SUCCESS)
Main PID: 39795 (Xtightvnc)

سرور مجازي VNC شما اكنون آماده است تا هر زمان كه سرور مجازي تان بوت ميشود ، استفاده گردد و مي توانيد آن را با دستورات systemctl مانند ساير سرويس هاي سيستمي مديريت كنيد.
با اين حال ، هيچ تفاوتي در طرف كلاينت وجود نخواهد داشت. براي اتصال مجدد ، دوباره تونل SSH خود را شروع كنيد:
⦁ $ ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip

سپس با استفاده از نرم افزار كلاينت VNC خود اتصالي به localhost: 59000 برقرار كنيد تا به سرور مجازي خود متصل شويد.
نتيجه
اكنون يك سرور مجازي VNC امن در سرور مجازي Ubuntu 20.04 خود فعال و راه اندازي كرده ايد. در حال حاضر مي توانيد فايلها ، نرم افزارها و تنظيمات خود را با يك رابط گرافيكي آسان و كاربردي مديريت كنيد و قادر خواهيد بود نرم افزارهاي گرافيكي مانند مرورگرهاي وب را از راه دور اجرا كنيد.

 

برچسب‌ها:


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۲۶:۲۹ توسط:arash موضوع:

نصب MariaDB در اوبونتو 20.04

MariaDB يك سيستم مديريت پايگاه داده منبع باز است كه معمولاً به عنوان جايگزيني براي MySQL به عنوان بخش ديتابيس LAMP محبوب (Linux ، Apache ، MySQL ، PHP / Python / Perl) استفاده مي شود. درواقع به عنوان جايگزيني براي MySQL در نظر گرفته شده است.
نسخه كوتاه اين راهنماي نصب شامل اين سه مرحله است:
• ايندكس بسته خود را با استفاده از APT به روز كنيد
• پكيج mariadb-server را با استفاده از APT نصب كنيد. اين بسته همچنين ابزارهاي مرتبط را براي تعامل با MariaDB در نظر مي گيرد
• اسكريپت امنيتي شامل mysql_secure_installation را اجرا كنيد تا دسترسي به سرور مجازي محدود شود
$ sudo apt update

$ sudo apt install mariadb-server

$ sudo mysql_secure_installation

در اين آموزش نحوه نصب MariaDB در سرور مجازي Ubuntu 20.04 توضيح داده خواهد شد و تأييد مي شود كه در حال اجرا است و از پيكربندي اوليه ايمن برخوردار است.
پيش نيازها
براي دنبال كردن اين آموزش ، به يك سرور مجازي Ubuntu 20.04 نياز داريد. اين سرور مجازي بايد شامل يك كاربر ادمين غير ريشه و فايروال پيكربندي شده با UFW باشد. ميتوانيد طبق راهنماي ستاپ اوليه سرور مجازي اين تنظيمات را انجام دهيد.
مرحله 1 – نصب MariaDB
در زمان نوشتن اين مقاله، مخازن APT پيش فرض Ubuntu 20.04 شامل نسخه 10.3 MariaDB است.
براي نصب آن ، ايندكس بسته را بر روي سرور مجازي خود با apt به روز كنيد:
$ sudo apt update

سپس بسته را نصب كنيد:
$ sudo apt install mariadb-server

اين دستورات MariaDB را نصب مي كنند ، اما از شما خواسته نمي شود كه رمز عبوري را تنظيم كنيد يا تغييرات ديگري در پيكربندي ايجاد كنيد. از آنجا كه پيكربندي پيش فرض، نصب MariaDB را ناايمن مي كند ، ما از اسكريپتي استفاده خواهيم كرد كه بسته mariadb-server براي محدود كردن دسترسي به سرور مجازي و حذف حساب هاي بلااستفاده فراهم مي كند.
مرحله 2 – پيكربندي MariaDB
براي نصب هاي جديد MariaDB ، مرحله بعدي اجراي اسكريپت امنيتي گنجانده شده است. اين اسكريپت برخي از گزينه هاي پيش فرض بدون ايمني را تغيير مي دهد. ما از آن براي مسدود كردن ورود به سيستم ريشه از راه دور و حذف كاربران استفاده نشده پايگاه داده استفاده خواهيم كرد.
اسكريپت امنيتي را اجرا كنيد:
$ sudo mysql_secure_installation

اين دستور مجموعه اي از اعلان ها را به شما نشان ميدهد كه مي توانيد در گزينه هاي امنيتي نصب MariaDB خود تغييراتي ايجاد كنيد. اولين دستور از شما مي خواهد رمز ورود ريشه داده فعلي را وارد كنيد. از آنجا كه ما هنوز تنظيم نكرديم ، ENTER را فشار دهيد تا “none” را نشان دهد.
Output
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):

اعلان بعدي از شما سؤال مي كند كه آيا مي خواهيد رمزعبور ريشه ديتابيس را تنظيم كنيد يا خير. در اوبونتو ، حساب اصلي براي MariaDB با نگهداري سيستم خودكار گره خورده است ، بنابراين ما نبايد روشهاي تأييد صحت تنظيم شده را براي آن حساب تغيير دهيم. با اين كار امكان به روزرساني بسته با حذف دسترسي به حساب ادمين باعث مي شود سيستم به روزرساني بسته شود. . N را تايپ كرده و ENTER را فشار دهيد.
Output
. . .
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] N

اگر تاييد هويت سوكت براي مورد شما مناسب نيست، در ادامه نحوه تنظيم حساب كاربري ادمين اضافه براي دسترسي به پسورد را پوشش خواهيم داد.
از آنجا ، مي توانيد Y و سپس ENTER را فشار دهيد تا جواب پيش فرض همه سؤالات بعدي را بپذيريد. اين كار برخي از كاربران ناشناس و بانك اطلاعاتي آزمايشي حذف مي كند ، ورود به سيستم ريشه از راه دور را غيرفعال مي كند و اين قوانين جديد را بارگذاري مي كند تا MariaDB سريعاً تغييراتي را كه ايجاد كرده ايد به مرحله اجرا برساند.
با اين كار، پيكربندي ايمن اولي را به پايان ميرسانيد. مرحله بعدي يك مرحله اختياري است، با اين حال اگر ترجيح ميدهيد با پسورد تاييد هويت را به سرور مجازي MariaDB انجام دهيد، آن را دنبال كنيد.
مرحله 3 – تنظيم تأييد اعتبار كاربر و امتيازات (اختياري)
در سيستم هاي اوبونتو كه MariaDB 10.1 در حال اجرا است ، كاربر اصلي MariaDB با استفاده از افزونه unix_socket به طور پيش فرض و نه با رمز عبور ، تأييد اعتبار را انجام مي دهد. اين امر امكان امنيت و قابليت استفاده بيشتري را در بسياري از موارد فراهم مي كند ، اما در صورت نياز به دادن امتيازات اجرايي به يك برنامه خارجي (به عنوان مثال ، phpMyAdmin) مي تواند كار را پيچيده تر كند.
از آنجا كه سرور مجازي از حساب root براي كارهايي مانند گردش ورود به سيستم و شروع و متوقف كردن سرور مجازي استفاده مي كند ، بهتر است جزئيات تأييد اعتبار حساب root را تغيير ندهيد. تغيير اعتبار در فايل پيكربندي /etc/mysql/debian.cnf ممكن است در ابتدا كار كند ، اما به روزرساني هاي بسته به طور بالقوه مي توانند آن تغييرات را بازنويسي كنند. به جاي تغيير حساب اصلي ، نگهدارندگان بسته توصيه مي كنند يك حساب ادمين جداگانه براي دسترسي مبتني بر رمز عبور ايجاد كنيد.
براي اين كار ، يك حساب كاربري جديد با نام admin با همان قابليت هاي root ايجاد مي كنيم ، كه براي احراز هويت رمز عبور پيكربندي شده است. براي انجام اين كار ، اعلان MariaDB را از پايانه خود باز كنيد:
$ sudo mariadb

اكنون كاربر جديدي با امتيازات اصلي و دسترسي مبتني بر رمز عبور ايجاد خواهيم كرد. نام كاربري و رمز عبور را براي مطابقت با موارد برگزيده خود تغيير دهيد:
mariaDB [(none)]> GRANT ALL ON *.* TO ‘admin’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

براي اطمينان از ذخيره و در دسترس بودن آنها در بخش كنوني ، امتيازات را فلاش كنيد:
mariaDB [(none)]> FLUSH PRIVILEGES;

پس از اين ، از پوسته MariaDB خارج شويد:
mariaDB [(none)]> exit

در آخر ، بياييد نصب MariaDB را آزمايش كنيم.
مرحله 4 – تست MariaDB
هنگام نصب از مخازن پيش فرض ، MariaDB بايد به صورت خودكار شروع به كار كند. براي آزمايش اين موضوع ، وضعيت آن را بررسي كنيد.
$ sudo systemctl status mariadb

خروجي مشابه زير را دريافت خواهيد كرد:
Output
● mariadb.service – MariaDB 10.3.22 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 25914 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 31 (limit: 2345)
Memory: 65.6M
CGroup: /system.slice/mariadb.service
└─25914 /usr/sbin/mysqld
. . .
اگر MariaDB در حال اجرا نيست، ميتوانيد با دستور sudo systemctl start mariadb آن را راه اندازي كنيد.
براي بررسي بيشتر ، مي توانيد با استفاده از ابزار mysqladmin ، كه يك كلاينت است و به شما امكان اجراي دستورات ادمين را مي دهد ، به پايگاه داده وصل شويد. براي مثال ، اين دستور مي گويد كه به عنوان root به MariaDB وصل شويد و با استفاده از سوكت يونيكس نسخه را برگردانيد:
$ sudo mysqladmin version

بايد خروجي مشابه اين دريافت كنيد:
Output
mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version 10.3.22-MariaDB-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 4 min 49 sec

Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615

اگر يك كاربر ادمين جداگانه را با تأييد اعتبار رمزگذاري كرده ايد ، مي توانيد همان كار را با تايپ كردن اين دستور انجام دهيد:
$ mysqladmin -u admin -p version

اين بدان معناست كه MariaDB در حال كار است و كاربر شما قادر به تأييد هويت موفقيت آميز ميباشد.
نتيجه
در اين راهنما سيستم مديريت پايگاه داده رابطه اي MariaDB را نصب كرده و با استفاده از اسكريپت mysql_secure_installation كه با آن همراه است ، آن را ايمن كرديد. همچنين اين گزينه را داشتيد كه قبل از تست عملكرد سرور مجازي MariaDB ، يك كاربر جديد ادمين ايجاد كنيد كه از تأييد اعتبار مبتني بر پسورد استفاده كند.
اكنون كه سرور مجازي MariaDB را در حال اجرا و ايمن داريد ، در اينجا چند نمونه از مراحل بعدي كه مي توانيد براي كار با سرور مجازي انجام دهيد ، آورده شده است:
آموزش نحوه ورود و خروج بانكهاي اطلاعاتي
تمرين اجراي پرس و جوهاي SQL
گنجاندن MariaDB ذر يك پشته برنامه بزرگتر

 

برچسب‌ها:


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۲۲:۲۴ توسط:arash موضوع:

فعال سازي و اتصال رابط كاربري Django

اگر مجموعه هاي توسعه Django را دنبال كرده باشيد ، يك برنامه Django را راه اندازي كرده ، برنامه خود را به MySQL وصل كرده و مدل هاي ديتابيس را براي داده هاي Posts و Comments  در برنامه وب وبلاگ خود ايجاد كرده ايد.
در اين آموزش ، ما به سايت ادمين Django وصل شده و آن را فعال مي كنيم تا بتوانيد وبلاگ خود را مديريت كنيد. سايت مدير Django با يك رابط كاربري ساخته شده است كه به گونه اي طراحي شده كه به شما و ساير افراد قابل اعتماد امكان مديريت محتواي وب سايت را مي دهد.
شايان ذكر است كه مطالب رسمي Django اشاره مي كند كه اگرچه اين براي استفاده داخلي يك سازمان ايده آل است ، اما ساخت يك برنامه وب حول يك رابط كاربري ادمين Django با توليد خودكار توصيه نمي شود. اگر ديديد كه رابط كاربري شما لازم است پردازش محورتر باشد يا ثابت شد كه جزئيات اجراي جداول و فيلدهاي بانك اطلاعاتي را ابستركت مي كند ، بهتر است نظرات خود را براي سمت ادمين بنويسيد.
پيش نيازها
اين آموزش بخشي از مجموعه هاي توسعه Django است و ادامه آن مجموعه ها به حساب مي آيد.
اگر اين مجموعه ها را دنبال نكرده ايد ، فرضيات زير مطرح مي شود:
• شما نسخه 3 يا بالاتر Django را نصب كرده ايد.
• برنامه Django خود را به يك پايگاه داده وصل كرده ايد. ما از MySQL استفاده مي كنيم ، و مي توانيد با دنبال كردن قسمت دوم مجموعه Django ، “چگونگي ايجاد يك برنامه Django و اتصال آن به يك بانك اطلاعاتي” ، اين كار را انجام دهيد.
• شما با يك سيستم عامل مستقر در يونيكس كار مي كنيد ، ترجيحاً با سرور مجازي ابري اوبونتو 20.04 زيرا اين سيستمي است كه ما روي آن آزمايش كرده ايم. اگر مي خواهيد Django را در محيطي مشابه تنظيم كنيد ، لطفاً به آموزش ما ، “نحوه نصب Django و ايجاد يك محيط توسعه در اوبونتو 20.04” مراجعه كنيد.
از آنجا كه اين آموزش تا حد زيادي با رابط كاربري ادمين Django سروكار دارد ، حتي در صورت وجود ستاپ كمي متفاوت ، احتمالا ميتوانيد آن را دنبال كنيد.
مرحله 1 – ادمين را فعال كنيد
هر وقت كار را در Python و Django شروع كرديم ، بايد محيط مجازي Python خود را فعال كرده و به ديركتوري اصلي برنامه خود برويم. اگر مجموعه ها را دنبال كرده باشيد ، مي توانيد با تايپ كردن دستور زير به اين هدف برسيد.
⦁ $ cd ~/my_blog_app

⦁ $ . env/bin/activate

براي فعال كردن مدير Django ، بايد اطمينان حاصل كنيم كه برنامه ما بخشي از ليست INSTALLED_APPS در فايل settings.py است.
به ديركتوري فايل تنظيمات برويد:
⦁ (env) Sammy@ubuntu:$ cd ~/my_blog_app/blog/blog/

از اينجا ، فايل settings.py را باز كنيد. اگر در حال حاضر وجود نداشته باشد ، django.contrib.admin را با استفاده از ويرايشگر متني مانند nano به ليست INSTALLED_APPS اضافه كنيد.
⦁ (env) Sammy@ubuntu:$ nano settings.py

بخش INSTALLED_APPS فايل بايد مشابه فايل زير باشد. برنامه ما در ليست يكي از برنامه هاي موجود در بالا ، blogsite است ، اما اگر برنامه اي با نام ديگري ايجاد كرده ايد ، اطمينان حاصل كنيد كه آن برنامه همانطور كه نشان داده شده است در اين فايل ليست شده است.
settings.py

# Application definition
INSTALLED_APPS = [
‘blogsite’,
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.mesغير مجاز مي باشدes’,
‘django.contrib.staticfiles’,
]

در صورت ايجاد تغيير ، حتما فايل را ذخيره كنيد و ببنديد. در nano مي توانيد اين كار را با تايپ كردن CTRL و X سپس Y و ENTER انجام دهيد.
اكنون مي توانيم فايل urls.py را دوباره با nano يا ويرايشگر متن ديگر باز كنيم.
⦁ (env) Sammy@ubuntu:$ nano urls.py

در زير كامنت بالا ، فايل بايد به صورت زير باشد.
urls.py

“””
from django.contrib import admin
from django.urls import path

urlpatterns = [
path(‘admin/’, admin.site.urls),
]

اگر فايل با آنچه در بالا آمده است متفاوت است ، خطوط بالا را در فايل urls.py خود كپي و پيست كنيد.
اكنون كه اطمينان حاصل كرديم كه پروژه وب Django ما داراي كد مناسب در فايل هاي settings.py و urls.py است ، مي دانيم كه برنامه ما به مدل هاي ادمين و رابط كاربري ادمين دسترسي خواهد داشت.
مرحله 2 – تأييد كنيد كه Admin يك برنامه نصب شده است
بايد مدلهاي بعدي را به پايگاه داده انتقال دهيم تا مدلهاي Admin را كه به تازگي اضافه شده است انتخاب كند.
به دايركتوري كه فايل management.py در آن قرار دارد برويد.
⦁ (env) Sammy@ubuntu:$ cd ~/my_blog_app/blog

به ياد داشته باشيد هر زمان كه تغيير در مدل ها انجام مي دهيد فرمان migrate  را اجرا كنيد، مانند اين:
⦁ (env) Sammy@ubuntu:$ python manage.py migrate

اگر در فايل هاي فوق هيچ تغييري ايجاد نمي كرديم ، هنگام اجراي دستور migrate بايد خروجي مشابه زير را دريافت ميكرديم.
Output
Operations to perform:
Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
No migrations to apply.

در غير اين صورت ، خروجي بايد نشان دهد كه Django جابه جايي هاي لازم براي پشتيباني از برنامه ما را انجام داده است.
اكنون مي توانيم سرور مجازي را با اجراي دستور زير شروع كنيم. مي توانيد 0.0.0.0 را با آدرس IP خود جايگزين كنيد.
⦁ (env) Sammy@ubuntu:$ python manage.py runserver 0.0.0.0:8000

سپس در يك مرورگر مورد نظر خود به URL پنل ادمين برويد. حتماً آدرس IP سرور مجازي خود را وارد كنيد.
http://your-server-ip:8000/admin/

يك صفحه ورود به سيستم شبيه به اين دريافت خواهيد كرد.

مشاهده اين صفحه به ما اطلاع مي دهد كه برنامه مديريت را با موفقيت فعال كرده ايم.
اگرچه اين برنامه را فعال كرده ايم ، ممكن است هنوز حساب مديريت Django را تنظيم نكرده باشيم. مي توانيم براي ورود به مرحله بعد ، حساب ادمين ايجاد كنيم.
مرحله 3 – ايجاد حساب فوق كاربري Admin
اگر قبلاً يك حساب ادمين تنظيم كرده ايد و مي توانيد وارد صفحه ادمين خود شويد ، مي توانيد از اين مرحله عبور كنيد.
يك ترمينال جديد را براي اتصال به سرور مجازي باز كنيد ، يا برنامه Django را با فشار دادن CTRL و C غيرفعال كنيد تا بتوانيم در محيط برنامه نويسي ترمينال سرور مجازي خود كار كنيم.
Django به شما امكان مي دهد تا يك حساب فوق كاربري توليد كنيد ، كه مي توانيم با اجراي فايل manage.py فرآيند ايجاد ابركاربر را شروع كنيم.
⦁ (env) Sammy@ubuntu:$ python manage.py createsuperuser

پس از انجام اين كار ، از شما خواسته مي شود تا جزئيات نام كاربري ، ايميل و رمز عبور خود را وارد كنيم. در اين آموزش ، ما با نام كاربري admin_user ، و ايميل sammy@example.com و پسوردadmin123 يك حساب ادمين ايجاد خواهيم كرد. شما بايد اين اطلاعات را با تنظيمات برگزيده خودتان پر كنيد و حتماً از يك رمز عبور ايمن استفاده كنيد كه آن را به خاطر ميسپاريد.
Output
Username (leave blank to use ‘root’): admin_user
Email address: sammy@example.com

سپس هنگامي كه اعلان گذرواژه را مي بينيد ، رمز عبور خود را دو بار وارد كنيد. هنگام وارد كردن آن ، و با زدن كليدهاي رمز عبور خروجي دريافت نخواهيد كرد. براي تأييد گذرواژه ، Enter را فشار دهيد.
Output
Password:
Password (again):

در اين مرحله ، اكنون يك حساب كاربري ادمين با نام كاربري admin_user و رمز عبور admin123 داريم.
بياييد وارد آن شده و بررسي كنيم كه چه چيزي در صفحه ادمين ما وجود دارد.
در صورت لزوم ، مجدداً برنامه Django را با Python manage.py runserver 0.0.0.0:8000 اجرا كنيد و سپس براي مشاهده صفحه ورود به سيستم يك بار ديگر به آدرس http://your-server-ip:8000/admin/ برويد. سپس با نام كاربري و رمز عبور و پسوردي كه تازه ايجاد كرده ايد وارد شويد.
پس از ورود موفق به سيستم ، صفحه زير را دريافت خواهيد كرد.

در مرحله بعد ، بايد روي اتصال برنامه وبلاگ خود به پنل ادمين كار كنيم.
مرحله 4 – ايجاد الگوهاي URL براي پست و كامنت
در مرحله قبل ، با موفقيت وارد رابط كاربري شديم ، اما شايد متوجه شده باشيد كه برنامه وبلاگ ما هنوز در دسترس نيست. براي ايجاد رابط ادمين با برنامه وبلاگ ، بايد آن را با مدل هاي مرتبط پست و كامنت اضافه و ثبت كنيم.
براي اين كار ، يك فايل خالي به نام urls.py ، در ديركتوري وبلاگ ها ايجاد مي كنيم ، مانند اين:
⦁ (env) Sammy@ubuntu:$ touch ~/my_blog_app/blog/blogsite/urls.py

در اين فايل الگوي URL را براي برنامه وبلاگ خود اضافه خواهيم كرد تا بتوانيم از طريق رابط ادمين به آن دسترسي پيدا كنيم.
به مكان آن فايل urls.py كه به تازگي ايجاد كرديم برويد.
⦁ (env) Sammy@ubuntu:$ cd ~/my_blog_app/blog/blogsite/
سپس به عنوان نمونه فايل را با nano باز كنيد.

⦁ (env) Sammy@ubuntu:$ nano urls.py

خطوط كد زير را به فايل اضافه كنيد.
urls.py
from django.urls import path
from . import views
urlpatterns = [
path(‘$/’, views.posts, name=’posts’),
path(‘$/’, views.comments, name=’comments’),
]

اين ها عبارتهاي الگوي URL مورد نياز براي دسترسي به views  براي Posts و Comments هستند. ما هنوز آن views  را ايجاد نكرده ايم ، اما اين مورد را بعداً در اين مجموعه پوشش خواهيم داد.
مرحله 5 – برنامه وبلاگ را به مدير وصل كنيد
اتصال وبلاگ ما به رابط ادمين به ما اين امكان را مي دهد كه پيوندها را براي Posts و Comments در داشبورد ادمين مشاهده كنيم. در حال حاضر ، داشبورد فقط لينك ها را براي گروه ها و كاربران نمايش مي دهد.
براي اتصال اين دو به يكديگر ، بايد مدل هاي پست ها و كامنت هاي خود را در داخل فايل blogsite ادمين ثبت كنيم.
به ديركتوري blogsite برويد:
⦁ (env) Sammy@ubuntu:$ cd ~/my_blog_app/blog/blogsite

سپس فايل admin.py را در ويرايشگر متن مورد نظر خود باز كنيد.
⦁ (env) Sammy@ubuntu:$ nano admin.py

فايل با عبارت ورود و يك كامنت پر مي شود.
admin.py
from django.contrib import admin

# Register your models here.

براي پشتيباني از برنامه خود بايد فايل را طوري ويرايش كنيد كه كد زير را در خود جاي دهد.
admin.py
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment

admin.site.register(Post)
admin.site.register(Comment)

هنگامي كه از فايل راضي هستيد ، آن را ذخيره كنيد و خارج شويد.
اكنون مدل هاي پست و كامنت را در داخل پنل ادمين ثبت كرده ايد. اين كار باعث مي شود تا رابط كاربري اين مدل ها را انتخاب كرده و به كاربراني كه وارد سيستم شده اند و داشبورد ادمين را مشاهده مي كنند ، نشان دهد.
مرحله 6 – بررسي كنيد كه برنامه وبلاگ به ادمين اضافه شده است
اكنون كه كد مربوط به Python را اضافه كرده ايد ، سرور مجازي را اجرا كنيد. http: // your-server-ip: 8000 / admin را باز كنيد و اگر از قبل وارد سيستم نشده ايد ، با استفاده از اطلاعات خود به صورت ادمين وارد شويد. در اين آموزش ، با نام كاربري admin_user و رمز عبور admin123 وارد سيستم شده ايم.
اكنون كه به سيستم وارد شده ايد ، بايد صفحه وب زير به شما ارائه شود. اگر از قبل تغيير نكرده باشد ، ممكن است لازم باشد مرورگر خود را ريفرش كنيد.

اين تأييد مي كند كه ما اكنون برنامه ، blogsite را به داشبورد مدير Django وصل كرده ايم.
هنگامي كه آزمايش برنامه شما به پايان رسيد ، مي توانيد CTRL + C را فشار دهيد تا سرور مجازي Django متوقف شود. اين كار شما را به محيط برنامه نويسي تان باز مي گرداند.
هنگامي كه آماده ترك محيط Python خود هستيد ، مي توانيد دستور غيرفعال كردن را اجرا كنيد:
⦁ (env) Sammy@ubuntu:$ deactivate

غيرفعال كردن محيط برنامه نويسي، شما را به سمت فرمان نهايي ترمينال باز مي گرداند.
نتيجه
در اين آموزش شما با موفقيت رابط كاربري ادمين را فعال كرده ايد ، يك ورود به سيستم به عنوان ادمين ايجاد كرده ايد و مدل هاي پست و كامنت را با ادمين ثبت كرده ايد.
رابط ادمين Django به اين صورت است كه شما قادر خواهيد بود تا پست هاي خود را ايجاد كنيد و نظرات را با وبلاگ خود نظارت كنيد.
با ورود به اين مجموعه ها، views  را براي برنامه وبلاگ ايجاد خواهيم كرد.

 

برچسب‌ها:


برچسب: ،
ادامه مطلب
امتیاز:
 
بازدید:
+ نوشته شده: ۲۹ ارديبهشت ۱۳۹۹ساعت: ۱۱:۱۸:۳۲ توسط:arash موضوع: