سرور مجازی

۱۱۰ مطلب در تیر ۱۳۹۹ ثبت شده است

  • ۰
  • ۰

Laravel یک چارچوب منبع باز PHP است که مجموعه ای از ابزارها و منابع را برای ساخت برنامه های کاربردی مدرن PHP فراهم می کند. محبوبیت Laravel به واسطه اکوسیستم کامل ویژگی های داخلی اش ، در چند سال گذشته به سرعت در حال رشد است و بسیاری از توسعه دهندگان آن را به عنوان چارچوب انتخاب خود برای یک فرایند توسعه کارآمد پذیرفته اند.
در این راهنما ، یک برنامه جدید Laravel را روی یک سرور مجازی Ubuntu 18.04 نصب و پیکربندی می کنید ، از Composer برای دانلود و مدیریت متعلقات چارچوب استفاده میکنید. پس از پایان کار ، یک برنامه آزمایشی کاربردی Laravel دارید که محتوا را از یک پایگاه داده MySQL بیرون می کشد.
پیش نیازها
برای تکمیل این راهنما ، ابتدا لازم است کارهای زیر را در سرور مجازی Ubuntu 18.04 خود انجام دهید:
⦁ یک کاربر Sudo ایجاد کنید و ufw را فعال کنید. برای انجام این کار ، می توانید راهنمای راه اندازی اولیه سرور مجازی در اوبونتو 18.04 را دنبال کنید.
⦁ یک پشته LEMP نصب کنید. اگر هنوز این کار را انجام نداده اید ، می توانید راهنمای ما درباره نحوه نصب Nginx ، MySQL و PHP را در اوبونتو 18.04 دنبال کنید.
⦁ composer را نصب کنید. برای نصب Laravel و متعلقات آن از Composer استفاده خواهیم کرد. می توانید Composer را با پیروی از راهنمای ما در مورد نحوه نصب Composer در اوبونتو 18.04 نصب کنید.
مرحله 1 – نصب ماژول های PHP مورد نیاز
قبل از نصب Laravel ، باید چند ماژول PHP را که مورد نیاز چارچوب است ، نصب کنید. ما برای نصب ماژول های php-mbstring ، php-xml و php-bcmath از PHP استفاده می کنیم. این پسوندهای PHP پشتیبانی بیشتری را برای مقابله با رمزگذاری کاراکترها ، XML و ریاضیات دقیق ارائه می دهند.
اگر اولین بار است که از apt در این بخش استفاده می کنید ، ابتدا باید دستور update را برای به روزرسانی حافظه نهان مدیر بسته اجرا کنید:
⦁ $ sudo apt update

اکنون می توانید بسته های مورد نیاز را با این دستور نصب کنید:
⦁ $ sudo apt install php-mbstring php-xml php-bcmath

اکنون سیستم شما آماده اجرای نصب Laravel از طریق Composer است ، اما قبل از انجام این کار ، به یک بانک اطلاعاتی برای برنامه خود نیاز دارید.
مرحله 2 – ایجاد یک بانک اطلاعاتی برای برنامه
برای نشان دادن نصب و به کار گیری ساده Laravel ، یک برنامه لیست سفر ایجاد می کنیم تا لیستی از مکانهایی را که کاربر می خواهد به آن سفر کند و لیستی از مکانهایی که قبلاً بازدید کرده است ، نشان دهیم. این می تواند در یک جدول places ساده با یک فیلد برای مکان هایی که نام را فراخوانی میکنیم و یک فیلد دیگر برای ذخیره آنها به عنوان بازدید شده یا بازدید نشده ذخیره شود ، که ما آن را بازدید شده مینامیم. علاوه بر این ، ما یک فیلد id برای شناسایی منحصر به فرد هر ورودی وارد خواهیم کرد.
برای اتصال به بانک اطلاعاتی از برنامه Laravel ، یک کاربر اختصاصی MySQL ایجاد خواهیم کرد و به این کاربر امتیازات کاملی نسبت به بانک اطلاعاتی Travel_list اعطا می کنیم.
برای شروع کار ، با دستور زیر به عنوان کاربر اصلی پایگاه داده به کنسول MySQL وارد شوید:
⦁ $ sudo mysql

برای ایجاد یک پایگاه داده جدید ، دستور زیر را از کنسول MySQL خود اجرا کنید:
⦁ Mysql> CREATE DATABASE travel_list;

اکنون می توانید یک کاربر جدید ایجاد کنید و در پایگاه داده سفارشی که اخیراً ایجاد کرده اید ، به آنها امتیاز بدهید. در این مثال ، ما یک کاربر با نام Travel_user و رمز عبور password ایجاد می کنیم ، اگرچه باید آن را با یک رمز عبور ایمن به انتخاب خود عوض کنید:
⦁ Mysql> GRANT ALL ON travel_list.* TO ‘travel_user’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

این کار به کاربر Travel_user امتیازات کامل نسبت به پایگاه داده Travel_list می دهد ، ضمن اینکه از ایجاد یا تغییر سایر پایگاه های داده دیگر روی سرور مجازی شما جلوگیری می کند.
پس از این ، از پوسته MySQL خارج شوید:
⦁ Mysql> exit

اکنون می توانید با ورود دوباره به کنسول MySQL ، این بار با استفاده از اعتبارات کاربر سفارشی ، آزمایش کنید که آیا کاربر جدید دارای مجوزهای مناسب است:
⦁ $ mysql -u travel_user -p

در این دستور ، به پرچم -p دقت کنید ، که پسورد استفاده شده هنگام ایجاد کاربر travel_userرا از شما میخواهد. پس از ورود به کنسول MySQL ، تأیید کنید که به بانک اطلاعاتی Travel_list دسترسی دارید:
⦁ Mysql> SHOW DATABASES;

خروجی زیر را به شما می دهد:
Output
+——————–+
| Database |
+——————–+
| information_schema |
| travel_list |
+——————–+
2 rows in set (0.01 sec)

در مرحله بعدی ، یک جدول با نام مکانها در بانک اطلاعاتی Travel_list ایجاد کنید. از کنسول MySQL عبارت زیر را اجرا کنید:
⦁ Mysql> CREATE TABLE travel_list.places (

Mysql> id INT AUTO_INCREMENT,

Mysql> name VARCHAR(255),

⦁ Mysql> visited BOOLEAN,

⦁ Mysql> PRIMARY KEY(id)

⦁ Mysql> );

اکنون ، جدول مکانها را با داده های نمونه ای پر کنید:
⦁ Mysql> INSERT INTO travel_list.places (name, visited)

⦁ Mysql> VALUES (“Tokyo”, false),

⦁ Mysql> (“Budapest”, true),

⦁ Mysql> (“Nairobi”, false),

⦁ Mysql> (“Berlin”, true),

⦁ Mysql> (“Lisbon”, true),

⦁ Mysql> (“Denver”, false),

⦁ Mysql> (“Moscow”, false),

⦁ Mysql> (“Olso”, false),

⦁ Mysql> (“Rio”, true),

⦁ Mysql> (“Cincinnati”, false),

⦁ Mysql> (“Helsinki”, false);

برای اینکه تأیید کنید داده ها با موفقیت در جدول شما ذخیره شده اند ، این دستور اجرا کنید:
⦁ Mysql> SELECT * FROM travel_list.places;

خروجی مشابه این را مشاهده خواهید کرد:
Output
+—-+———–+———+
| id | name | visited |
+—-+———–+———+
| 1 | Tokyo | 0 |
| 2 | Budapest | 1 |
| 3 | Nairobi | 0 |
| 4 | Berlin | 1 |
| 5 | Lisbon | 1 |
| 6 | Denver | 0 |
| 7 | Moscow | 0 |
| 8 | Oslo | 0 |
| 9 | Rio | 1 |
| 10 | Cincinnati| 0 |
| 11 | Helsinki | 0 |
+—-+———–+———+
11 rows in set (0.00 sec)

پس از تأیید اینکه داده های معتبری در جدول آزمون خود دارید ، می توانید از کنسول MySQL خارج شوید:
⦁ Mysql> exit

اکنون برای ایجاد برنامه و پیکربندی آن برای اتصال به پایگاه داده جدید آماده هستید.
مرحله 3 – ایجاد یک برنامه جدید Laravel
اکنون با استفاده از دستور composer create-project، یک برنامه جدید Laravel ایجاد خواهید کرد. این دستور Composer معمولاً برای راه اندازی برنامه های جدید بر اساس چارچوب های موجود و سیستم های مدیریت محتوا استفاده می شود.
در طول این راهنما ، از Travel_list به عنوان یک برنامه نمونه استفاده خواهیم کرد ، اما آزاد هستید که این مورد را به چیز دیگری تغییر دهید. برنامه travel_list لیستی از مکانهای دریافتی از یک سرور مجازی محلی MySQL را نشان می دهد ، که قصد دارد پیکربندی اساسی Laravel را توصیف کند و تأیید کند که شما قادر به اتصال به پایگاه داده هستید.
ابتدا به دیرکتوری هوم کاربر خود بروید:
⦁ $ cd ~

دستور زیر یک دیرکتوری جدید Travel_list را که شامل یک برنامه مختصر Laravel است بر اساس تنظیمات پیش فرض ایجاد می کند:
⦁ $ composer create-project –prefer-dist laravel/laravel travel_list

خروجی مشابه این را مشاهده خواهید کرد:
Output
Installing laravel/laravel (v5.8.17)
– Installing laravel/laravel (v5.8.17): Downloading (100%)
Created project in travel_list
> @php -r “file_exists(‘.env’) || copy(‘.env.example’, ‘.env’);”
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 80 installs, 0 updates, 0 removals
– Installing symfony/polyfill-ctype (v1.11.0): Downloading (100%)
– Installing phpoption/phpoption (1.5.0): Downloading (100%)
– Installing vlucas/phpdotenv (v3.4.0): Downloading (100%)
– Installing symfony/css-selector (v4.3.2): Downloading (100%)

پس از اتمام نصب ، به دیرکتوری برنامه دسترسی پیدا کنید و دستور artisan Laravel را اجرا کنید تا تأیید کنید که همه مؤلفه ها با موفقیت نصب شده اند:
⦁ $ cd travel_list

⦁ $ php artisan
خروجی مشابه این را مشاهده خواهید کرد:
Output
Laravel Framework 5.8.29

Usage:
command [options] [arguments]

Options:
-h, –help Display this help message
-q, –quiet Do not output any message
-V, –version Display this application version
–ansi Force ANSI output
–no-ansi Disable ANSI output
-n, –no-interaction Do not ask any interactive question
–env[=ENV] The environment the command should run under
-v|vv|vvv, –verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

(…)

این خروجی تأیید می کند که فایل های برنامه در دسترس هستند و ابزارهای خط فرمان Laravel همانطور که انتظار می رود کار می کنند. با این حال ، هنوز نیاز به پیکربندی برنامه برای تنظیم پایگاه داده و چند جزئیات دیگر داریم.
مرحله 4 – پیکربندی Laravel
فایل های پیکربندی Laravel در پوشه ای به نام config ، در دیرکتوری اصلی برنامه قرار دارند. علاوه بر این ، وقتی Laravel را با Composer نصب می کنید ، یک فایل محیط ایجاد می کند. این فایل شامل تنظیمات خاص برای محیط فعلی است که برنامه در آن اجرا می شود و بر مقادیر تعیین شده در فایل های پیکربندی منظم واقع در دیرکتوری پیکربندی تقدم می یابد. هر نصب بر روی یک محیط جدید نیاز به یک فایل متناسب با محیط دارد تا مواردی از قبیل تنظیمات اتصال بانک اطلاعاتی ، گزینه های اشکال زدایی ، URL برنامه را در میان موارد دیگر که ممکن است بسته به محیطی که برنامه اجرا میشود متفاوت باشد، تعریف کند.
هشدار: فایل پیکربندی محیط شامل اطلاعات حساس در مورد سرور مجازی، از جمله اطلاعات پایگاه داده و کلیدهای امنیتی است. به همین دلیل ، شما هرگز نباید این فایل را به صورت عمومی به اشتراک بگذارید.
اکنون برای سفارشی کردن گزینه های پیکربندی محیط برنامه فعلی ، فایل .env را ویرایش خواهیم کرد.
فایل .env را با استفاده از ویرایشگر خط فرمان خود انتخاب کنید. در اینجا ما از nano استفاده خواهیم کرد:
⦁ $ nano .env

حتی اگر متغیرهای پیکربندی زیادی در این فایل وجود داشته باشد ، لازم نیست اکنون همه آنها را تنظیم کنید. لیست زیر شامل نمای کلی از متغیرهایی است که نیاز به توجه فوری دارند:
⦁ APP_NAME: نام برنامه ، که برای اعلان ها و پیام ها استفاده می شود.
⦁ APP_ENV: محیط برنامه فعلی.
⦁ APP_KEY: برای تولید salts  و hashes استفاده میشود، این کلید منحصر به فرد هنگام نصب Laravel از طریق Composer به طور خودکار ایجاد می شود ، بنابراین نیازی به تغییر آن نیست.
⦁ APP_DEBUG: این که آیا اطلاعات اشکال زدایی را در سمت مشتری نشان دهد یا خیر.
⦁ APP_URL: URL پایه برای برنامه ، که برای تولید لینک های برنامه کاربردی استفاده می شود.
⦁ DB_DATABASE: نام بانک اطلاعاتی.
⦁ DB_USERNAME: نام کاربری برای اتصال به بانک اطلاعاتی.
⦁ DB_PASSWORD: رمز عبور برای اتصال به پایگاه داده.
به طور پیش فرض ، این مقادیر برای یک محیط توسعه محلی که از Homestead استفاده می کند ، (یک جعبه بسته بندی شده Vagrant ارائه شده توسط Laravel ) تنظیم شده است. ما این مقادیر را تغییر خواهیم داد تا منعکس کننده تنظیمات محیط فعلی برنامه مثال ما باشد.
در صورت نصب Laravel در یک محیط توسعه یا آزمایش ، می توانید گزینه APP_DEBUG را فعال کنید زیرا این کار هنگام آزمایش برنامه از یک مرورگر ، اطلاعات اشکال زدایی مهم را به شما می دهد. متغیر APP_ENV باید در این حالت روی development  یا testing  تنظیم شود.
در صورت نصب Laravel در یک محیط تولید ، باید گزینه APP_DEBUG را غیرفعال کنید ، زیرا اطلاعات حساس کاربر نهایی را درباره برنامه خود نشان می دهد. APP_ENV در این حالت باید روی production تنظیم شود.
فایل های .env زیر برنامه نمونه ما را برای development  تنظیم می کند:
توجه: متغیر APP_KEY حاوی یک کلید منحصر به فرد است که هنگام نصب Laravel از طریق Composer به صورت خودکار ایجاد شد. نیازی نیست این مقدار را تغییر دهید. اگر می خواهید یک کلید ایمن جدید تولید کنید ، می توانید از فرمان php artisan key:generate استفاده کنید.
/var/www/travel_list/.env
APP_NAME=TravelList
APP_ENV=development
APP_KEY=APPLICATION_UNIQUE_KEY_DONT_COPY
APP_DEBUG=true
APP_URL=http://domain_or_IP

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=travel_list
DB_USERNAME=travel_user
DB_PASSWORD=password


متغیرهای خود را بر این اساس تنظیم کنید. وقتی ویرایش به پایان رسید ، فایل را ذخیره کنید و ببندید تا تغییرات خود را حفظ کنید. اگر از nano استفاده می کنید ، می توانید این کار را با CTRL + X انجام دهید ، سپس Y و Enter انجام دهید.
برنامه Laravel شما اکنون تنظیم شده است ، اما ما هنوز باید سرور مجازی وب را پیکربندی کنیم تا بتوانیم از یک مرورگر به آن دسترسی پیدا کنیم. در مرحله بعدی ، Nginx را برای ارائه برنامه Laravel شما پیکربندی می کنیم.
مرحله 5 – راه اندازی Nginx
Laravel را در یک پوشه محلی در دیرکتوری اصلی کاربر از راه دور شما نصب کرده ایم ، و اگرچه این کار برای محیط های محلی توسعه مناسب است ، یک سرویس توصیه شده برای سرور مجازی های وب نیست که برای اینترنت عمومی باز باشد. پوشه برنامه را به / var / www که مکان معمول برنامه های وب است که در Nginx در حال اجرا هستند منتقل می کنیم.
ابتدا ، از دستور mv برای انتقال پوشه برنامه با تمام محتویات آن به / var / www / travel_list استفاده کنید:
⦁ $ sudo mv ~/travel_list /var/www/travel_list

حال باید به کاربر سرور مجازی وب به پوشه های storage  و cache  دسترسی دهیم ، یعنی جایی که Laravel فایل های تولید شده توسط برنامه را ذخیره می کند:
⦁ $ sudo chown -R www-data.www-data /var/www/travel_list/storage

⦁ $ sudo chown -R www-data.www-data /var/www/travel_list/bootstrap/cache

اکنون فایل های برنامه به ترتیب هستند ، اما برای ارائه محتوا هنوز باید پیکربندی Nginx را انجام دهیم. برای این کار ، ا یک فایل پیکربندی میزبان مجازی جدید را در /etc/nginx/sites-available ایجاد خواهیم کرد:
⦁ $ sudo nano /etc/nginx/sites-available/travel_list

فایل پیکربندی زیر شامل تنظیمات پیشنهادی برای برنامه های Laravel در Nginx است:
/etc/nginx/sites-available/travel_list
server {
listen 80;
server_name server_domain_or_IP;
root /var/www/travel_list/public;

add_header X-Frame-Options “SAMEORIGIN”;
add_header X-XSS-Protection “1; mode=block”;
add_header X-Content-Type-Options “nosniff”;

index index.html index.htm index.php;

charset utf-8;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }

error_page 404 /index.php;

location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ /\.(?!well-known).* {
deny all;
}
}

این محتوا را در فایل / etc / nginx / sites-available / travel_list خود کپی کنید و در صورت لزوم مقادیر هایلایت شده را تنظیم کنید تا با پیکربندی شما مطابقت داشته باشد. پس از پایان ویرایش ، فایل را ذخیره کنید و ببندید.
برای فعال کردن فایل پیکربندی میزبان مجازی جدید ، پیوندی نمادین به travel_list در sites-enabled بدهید:
⦁ $ sudo ln -s /etc/nginx/sites-available/travel_list /etc/nginx/sites-enabled/

توجه: اگر فایل میزبان مجازی دیگری دارید که قبلاً برای همان server_name استفاده شده در میزبان مجازی travel_list پیکربندی شده است ، ممکن است نیاز به غیرفعال کردن تنظیمات قدیمی با حذف پیوند نمادین مربوطه در داخل /etc/nginx/sites-enabled/ داشته باشید.
برای تأیید اینکه پیکربندی شامل هیچ خطای نحوی نیست ، می توانید از این دستور استفاده کنید:
⦁ $ sudo nginx -t

باید خروجی مانند این را مشاهده کنید:
Output
⦁ $ nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

⦁ $ nginx: configuration file /etc/nginx/nginx.conf test is successful

برای اعمال تغییرات ، دوباره Nginx را با دستور زیر لود کنید:
⦁ $ sudo systemctl reload nginx

اکنون به مرورگر خود بروید و با استفاده از نام دامنه یا آدرس IP سرور مجازی ، مطابق با دستور server_name در فایل تنظیمات خود ، به مرورگر خود بروید و به برنامه دسترسی پیدا کنید:
http://server_domain_or_IP
صفحه ای مانند این را مشاهده خواهید کرد:

این تأیید می کند که سرور مجازی Nginx شما به درستی پیکربندی شده است تا در خدمت Laravel باشد. از این مرحله ، می توانید برنامه خود را روی اسکلت ارائه شده توسط نصب پیش فرض شروع کنید.
در مرحله بعدی ، مسیر اصلی برنامه را برای جستجوی داده ها در پایگاه داده با استفاده از نمای DB Laravel اصلاح خواهیم کرد.
مرحله 6 – شخصی سازی صفحه اصلی
با فرض اینکه شما تاکنون تمامی مراحل این راهنما را رعایت کرده اید ، باید یک برنامه کاربردی Laravel و یک جدول بانک اطلاعاتی به نام palces داشته باشید که حاوی برخی از داده های نمونه است.
اکنون مسیر اصلی برنامه را برای جستجوی پایگاه داده ویرایش می کنیم و محتویات را به نمای برنامه باز می گردانیم.
فایل مسیر اصلی ، یعنی routes/web.php را باز کنید:
⦁ $ nano routes/web.php

این فایل به طور پیش فرض با محتوای زیر ارائه می شود:
routes/web.php
<?php

/*
|————————————————————————–
| Web Routes
|————————————————————————–
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the “web” middleware group. Now create something great!
|
*/

Route::get(‘/’, function () {
return view(‘welcome’);
});

مسیرها با استفاده از روش Route::get استاتیک دریافت می شوند که یک مسیر و یک عملکرد برگشتی را به عنوان آرگومان دریافت می کند.
کد زیر جایگزین عملکرد برگشتی مسیر اصلی است. با استفاده از پرچم visited  برای فیلتر نتایج ، 2 جستار به دیتابیس فرستاده میشود. این کار، نتایج را به نمایی به نام travel_list باز می گرداند ، که می خواهیم بعدا آن را ایجاد کنیم. این محتوا را در فایل مسیر / web.php خود کپی کنید و کدی را که قبلاً در آنجا قرار دارد جایگزین کنید:
routes/web.php
<?php

use Illuminate\Support\Facades\DB;

Route::get(‘/’, function () {
$visited = DB::select(‘select * from places where visited = ?’, [1]);
$togo = DB::select(‘select * from places where visited = ?’, [0]);

return view(‘travel_list’, [‘visited’ => $visited, ‘togo’ => $togo ] );
});

پس از پایان ویرایش ، فایل را ذخیره کنید و ببندید. اکنون نمایی را ایجاد می کنیم که نتایج دیتابیس را به کاربر ارائه می دهد. یک فایل نمای جدید در داخل resources/views ایجاد کنید:
⦁ $ nano resources/views/travel_list.blade.php

الگوی زیر بر اساس متغیرهای visited  و togo ، دو لیست از مکان ها ایجاد می کند. این محتوا را در فایل نمای جدید خود کپی کنید:
resources/views/travel_list/blade.php
<html>
<head>
<title>Travel List</title>
</head>

<body>
<h1>My Travel Bucket List</h1>
<h2>Places I’d Like to Visit</h2>
<ul>
@foreach ($togo as $newplace)
<li>{{ $newplace->name }}</li>
@endforeach
</ul>

<h2>Places I’ve Already Been To</h2>
<ul>
@foreach ($visited as $place)
<li>{{ $place->name }}</li>
@endforeach
</ul>
</body>
</html>

پس از پایان کار ، فایل را ذخیره کنید و ببندید. اکنون به مرورگر خود بروید و برنامه را مجدد لود کنید. صفحه ای را به این شکل مشاهده خواهید کرد:

اکنون یک برنامه کاربردی Laravel در حال واکشی محتوا از یک پایگاه داده MySQL دارید.
نتیجه
در این آموزش ، یک برنامه جدید Laravel را روی پشته LEMP (Linux ، Nginx ، MySQL و PHP) تنظیم کرده اید که روی یک سرور مجازی اوبونتو 18.04 اجرا می شود. همچنین مسیر پیش فرض خود را برای جستجوی محتوای پایگاه داده تنظیم کرده اید و نتایج را در نمای سفارشی به نمایش می گذارید.
از اینجا ، می توانید مسیرها و نماهای جدیدی را برای هر صفحه دیگری که برنامه شما به آن نیاز دارد ایجاد کنید. برای اطلاعات بیشتر در مورد مسیرها ، نماها و پشتیبانی از پایگاه داده ، مطالب رسمی Laravel را بررسی کنید. اگر به تولید مشغول هستید ، باید بخش بهینه سازی را نیز به چند روش مختلف بررسی کنید تا بتوانید عملکرد برنامه خود را بهبود بخشید.
برای افزایش امنیت ، باید نصب گواهینامه TLS / SSL را برای سرور مجازی خود در نظر بگیرید ، به این وسیله امکان ارائه محتوا از طریق HTTPS را فراهم میکنید. برای این منظور ، می توانید راهنمای ما در مورد چگونگی اطمینان از نصب Nginx با Let’s Encrypt در Ubuntu 18.04 را دنبال کنید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

پایتون یک زبان برنامه نویسی همه کاره است که می تواند برای بسیاری از پروژه های مختلف برنامه نویسی مورد استفاده قرار گیرد. تیم توسعه پایتون برای اولین بار در سال 1991 با نامی الهام گرفته از گروه طنز بریتانیایی مونتی پایتون منتشر شد ، و میخواستند پایتون را به زبانی تبدیل کنند که استفاده از آن بسیار جالب باشد. ستاپ آسان و سبک نسبتاً ساده و بازخورد فوری در مورد خطاها، پایتون را به یک انتخاب عالی برای مبتدیان و توسعه دهندگان با تجربه تبدیل کرده است. پایتون 3 جدیدترین نسخه این زبان است و آینده پایتون به حساب می آید.
این آموزش به شما کمک می کند تا Python 3 را روی CentOS 8 خود نصب کنید و یک محیط برنامه نویسی را از طریق خط فرمان تنظیم کنید.
پیش نیازها
شما به یک سرور مجازی CentOS 8 با یک حساب کاربری فوق کابری غیر ریشه نیاز خواهید داشت.
برای انجام این کار، می توانید راهنمای تنظیم اولیه سرور مجازی برای CentOS 8 را دنبال کنید.
مرحله 1 – آماده سازی سیستم
قبل از شروع نصب ، حتماً برنامه های پیش فرض سیستم را به روز کنید تا اطمینان حاصل کنید که آخرین نسخه ها را در دسترس دارید.
ما از ابزار مدیریت منبع باز DNF استفاده می کنیم ، که مخفف Dandified YUM نسخه نسل بعدی Yellowdog Updater ، اصلاح شده است (یعنی yum) . DNF مدیر بسته ای است که هم اکنون مدیر بسته پیش فرض سیستم های لینوکس مبتنی بر Red Hat مانند CentOS میباشد. به شما امکان می دهد بسته های نرم افزاری را بر روی سرور مجازی خود نصب ، به روز و حذف کنید.
بیایید ابتدا با اجرای این دستور مطمئن شویم که مدیر بسته ما به روز است:
$ sudo dnf update -y

پرچم -y برای هشدار به سیستم است مبنی بر اینکه ما آگاهیم که در حال ایجاد تغییر هستیم و از اعلان تأیید توسط ترمینال جلوگیری شود.
پس از نصب همه چیز ، ستاپ ما در جای خود قرار دارد و می توانیم به سراغ نصب پایتون 3 برویم.
مرحله 2 – نصب و راه اندازی پایتون 3
CentOS از RHEL (Red Hat Enterprise Linux) گرفته میشود، که ثبات آن تمرکز اصلی آن است. به همین دلیل ، نسخه های تست شده و پایدار برنامه ها همان چیزی است که بیشتر در سیستم و در بسته های قابل دانلود مشاهده می شود ، بنابراین با استفاده از مدیر بسته CentOS نسخه های قبلی پایتون نسبت به نسخه های جدید را مشاهده خواهید کرد.

$ sudo dnf install python3 -y

پس از اتمام این روند ، می توانیم با بررسی شماره نسخه آن با دستور python3 ، اطمینان حاصل کنیم که نصب موفقیت آمیز بوده است:
$ python3 -V

با یک نسخه پایتون 3 که با موفقیت نصب شده ، خروجی زیر را دریافت خواهیم کرد:
Output
Python 3.6.8
در مرحله بعدی ، ابزارهای توسعه CentOS را نصب خواهیم کرد ، که برای ایجاد و پیاده سازی نرم افزار از کد منبع استفاده می شوند:
$ sudo dnf -y groupinstall development

با نصب آن ، به چگونگی راه اندازی پروژه های توسعه پایتون در بخش بعدی خواهیم پرداخت.
مرحله 3 – تنظیم یک محیط مجازی
با نصب پایتون و راه اندازی سیستم خود ، می توانیم محیط برنامه نویسی خود را با venv ایجاد کنیم.
محیط های مجازی شما را قادر می سازند برای رایانه خود فضایی منزوی برای پروژه های پایتون داشته باشید ، اطمینان حاصل کنید که هر یک از پروژه های شما می توانند مجموعه ای از متعلقات خاص خود را داشته باشند که هیچ یک از پروژه های دیگر شما را مختل نمی کند.
تنظیم یک محیط برنامه نویسی ، کنترل بیشتری بر روی پروژه های Python و همچنین بسته ها و نسخه های مختلف را برای ما فراهم می کند. این امر به ویژه هنگام کار با بسته های شخص ثالث بسیار مهم است.
می توانید همانطور که می خواهید محیط های برنامه نویسی Python را تنظیم کنید. هر محیط در واقع یک فهرست یا پوشه ای در سرور مجازی شماست که دارای چند اسکریپت برای تنظیم آن به عنوان یک محیط است.
انتخاب کنید که می خواهید کدام دایرکتوری محل قرارگیری محیط های برنامه نویسی پایتون شما باشد یا یک دیرکتوری جدید با mkdir ایجاد کنید ، مانند:
$ mkdir environments

$ cd environments

وقتی در دایرکتوری قرار گرفتید که دوست دارید محیط برنامه نویسی در آن قرار بگیرد ، می توانید با اجرای دستور زیر محیطی ایجاد کنید. باید از نام محیطی استفاده کنید که برای شما معنی دارد ، در اینجا ما آن را my_env می نامیم.
$ python3 -m venv my_env

در این حالت محیط my_env است و این دیرکتوری جدید شامل چند آیتم است که در صورت استفاده از دستور ls در آن دیرکتوری می توانیم نمایش دهیم:
Output
bin include lib lib64 pyvenv.cfg

این فایلها با هم کار می کنند تا کار Python شما را از زمینه وسیع تر دستگاه محلی جدا کنند ، به گونه ای که فایل های سیستم و فایل های پروژه مخلوط نشوند. این روش خوبی برای کنترل نسخه و اطمینان از دسترسی هر یک از پروژه های شما به بسته های خاص مورد نیاز خود میباشد.
برای استفاده از این محیط ، باید آن را فعال کنید ، که می توانید با وارد کردن دستور زیر که اسکریپت فعال سازی را در دیرکتوری bin فراخوانی میکند ، این کار را انجام دهید:
$ source my_env/bin/activate

اعلان شما اکنون با نام محیط شما پیشوند داده می شود ، در این حالت به آن my_env گفته می شود:
(my_env) [Sammy@centosserver] environments]$
این پیشوند به ما اطلاع می دهد که محیط my_env در حال حاضر فعال است ، به این معنی که وقتی ما در اینجا برنامه هایی را ایجاد می کنیم آنها فقط از تنظیمات و بسته های خاص این محیط استفاده می کنند.
مدیر بسته pip پایتون از قبل نصب شده است. ابزاری برای استفاده با پایتون که برای نصب و مدیریت بسته های برنامه نویسی که ممکن است بخواهیم در پروژه های توسعه خود استفاده کنیم ، به کار گرفته میشود. می توانید بسته های پایتون را با تایپ کردن دستور زیر نصب کنید:
(my_env) [Sammy@centosserver] environments]$ sudo pip install package_name

در اینجا ، pack_name می تواند به هر بسته یا کتابخانه Python مانند Django برای توسعه وب یا NumPy برای محاسبات علمی ارجاع دهد. بنابراین اگر مایل هستید NumPy را نصب کنید ، می توانید با دستور pip install numpy این کار را انجام دهید.
توجه: در محیط مجازی می توانید به جای python3 از دستور python ، و به جای pip3 ازpip استفاده کنید. اگر خارج از محیط از Python 3 یا pip3 در دستگاه خود استفاده می کنید ، لازم است که منحصرا از دستورات python3 و pip3 استفاده کنید.

بعد از طی کردن این مراحل ، محیط مجازی شما آماده استفاده است.
مرحله 4 – ایجاد برنامه ” Hello, World! ”
اکنون که محیط مجازی ما تنظیم شده است ، بیایید ” Hello, World! ” معمول را ایجاد کنیم تا نصب خود را تست کنیم. این برنامه اطمینان حاصل خواهد کرد که محیط ما کار می کند و به ما این امکان را می دهد که اگر قبلاً با پایتون آشنایی نداشته ایم، با آن بیشتر آشنا شویم.
برای این کار ، یک ویرایشگر متن خط فرمان مانند vi را باز می کنیم و یک فایل جدید ایجاد می کنیم:
(my_env) [Sammy@localhost] environments]$ vi hello.py

هنگامی که فایل متنی در پنجره ترمینال ما باز شد ، برای وارد کردن حالت insert باید i را تایپ کنیم و سپس می توانیم اولین برنامه خود را بنویسیم:
print(“Hello, World!”)
Copy
اکنون ESC را فشار دهید تا حالت درج شود. در مرحله بعد ، x را تایپ کنید و enter بزنید تا فایل را ذخیره کرده و خارج شوید.
اکنون آماده اجرای برنامه خود هستیم:
(my_env) [Sammy@localhost] environments]$ python hello.py

برنامه hello.py که به تازگی ایجاد کرده اید باعث می شود ترمینال خروجی زیر را تولید کند:
Output
Hello, World!

برای ترک محیط ، فرمان را غیرفعال کنید و به دیرکتوری اصلی خود باز خواهید گشت.
نتیجه
در این مرحله شما یک محیط برنامه نویسی پایتون 3 در سرور مجازی CentOS 8 خود تنظیم کرده اید و می توانید یک پروژه رمزگذاری را شروع کنید!
با آماده شدن دستگاه برای توسعه نرم افزار ، می توانید با دنبال کردن مقاله نحوه کدنویسی در مجموعه های پایتون یا دانلود رایگان کتاب الکترونیکی نحوه کد نویسی در پایتون ، بیشتر بیاموزید.
به طور خاص برای جستجوی پروژه های یادگیری ماشین ، به کتابهای الکترونیکی پروژه های یادگیری ماشین Python مراجعه کنید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

سرور مجازی وب Apache از هاست های مجازی برای مدیریت دامنه های متعدد در یک مثال استفاده می کند. به طور مشابه ، PHP-FPM از یک Daemon برای مدیریت چندین نسخه PHP در یک نمونه واحد استفاده می کند. می توانید از Apache و PHP-FPM با هم برای میزبانی چند برنامه وب PHP استفاده کنید ، هر یک با استفاده از نسخه متفاوت PHP ، همه در یک سرور مجازی یکسان و همه به طور همزمان. این کار از آن جهت مفید است که برنامه های مختلف ممکن است به نسخه های مختلف PHP نیاز داشته باشند ، اما برخی از پشته های سرور مجازی ، مانند پشته LAMP که به طور مرتب پیکربندی شده است ، فقط می تواند یکی را مدیریت کند. ترکیب Apache با PHP-FPM نیز یک راه حل مقرون به صرفه تر نسبت به میزبانی هر برنامه به طور خاص است.
PHP-FPM همچنین گزینه های پیکربندی برای ورود به سیستم stderr و stdout ، ریستارت اضطراری و spawning روند تطبیقی ​​را ارائه می دهد ، که برای سایت های دارای بار سنگین مفید است. در حقیقت ، استفاده از Apache با PHP-FPM یکی از بهترین پشته ها برای میزبانی برنامه های PHP است ، به خصوص وقتی صحبت از عملکرد میشود.
در این آموزش دو سایت PHP را به صورت یکجا تنظیم خواهید کرد. هر سایت از دامنه خود استفاده می کند و هر دامنه نسخه PHP خود را مستقر می کند. اولی ، site1.your_domain ، PHP 7.0 را مستقر می کند. دومی ، site2.your_domain ، PHP 7.2 را مستقر می کند.
پیش نیازها
• یک سرور مجازی Debian 10 با حداقل 1 گیگابایت رم که طبق راهنمای راه اندازی سرور مجازی اولیه با Debian 10تنظیم شده باشد و شامل کاربر sudo غیر ریشه و فایروال تنظیم شده باشد.
• سرور مجازی وب Apache که با دنبال کردن نحوه نصب وب سرور مجازی Apache در Debian 10تنظیم و پیکربندی شده است.
• نام دامنه تنظیم شده که به سرور مجازی Debian 10 شما اشاره کند. برای اهداف این آموزش ، ما از دو زیر دامنه استفاده خواهیم کرد که هر یک با یک رکورد A در تنظیمات DNS ما مشخص شده اند: site1.your_domain و site2.your_domain.
مرحله 1 – نصب PHP نسخه های 7.0 و 7.2 با PHP-FPM
با تکمیل پیش نیازها، اکنون نسخه های PHP 7.0 و 7.2 و همچنین PHP-FPM و چندین پسوند اضافی را نصب خواهید کرد. اما برای تحقق این امر ، ابتدا باید مخزن Sury php را به سیستم خود اضافه کنید.
ابتدا چندین بسته مورد نیاز از جمله curl ، wget و gnupg2 را نصب کنید:
⦁ $ sudo apt-get install curl wget gnupg2 ca-certificates lsb-release apt-transport-https -y

بسته های فوق به شما امکان می دهد تا به مخزن Sury php دسترسی پیدا کنید و این کار را با اطمینان انجام دهید. sury php یک مخزن شخص ثالث یا PPA (بایگانی بسته های شخصی) است که PHP 7.4 ، 7.3 ، 7.2 ، 7.1 و 7.0 را برای سیستم عامل Debian ارائه می دهد. همچنین نسخه های به روز تر PHP را نسبت به مخازن رسمی Debian 10 ارائه می دهد و به شما امکان می دهد نسخه های مختلف PHP را روی همان سیستم نصب کنید.
سپس ، کلید بسته را وارد کنید:
⦁ $ wget https://packages.sury.org/php/apt.gpg

⦁ $ sudo apt-key add apt.gpg

اکنون مخزن Sury php را به سیستم خود اضافه کنید:
⦁ $ echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” | sudo tee /etc/apt/sources.list.d/php7.list

مخزن را به روز کنید:
⦁ $ sudo apt-get update -y

سپس ، php7.0 ، php7.0-fpm ، php7.0-mysql ، libapache2-mod-php7.0 و libapache2-mod-fcgid را با دستورات زیر نصب کنید:
⦁ php7.0 ابربسته ای است که می تواند برای اجرای برنامه های PHP استفاده شود.
⦁ php7.0-fpm مفسر مدیریت سریع فرآیند را فراهم می کند که به عنوان یک Daemon اجرا می شود و درخواست های سریع / CGI را دریافت می کند.
⦁ php7.0-mysql PHP را به پایگاه داده MySQL متصل می کند.
⦁ libapahce2-mod-php7.0 ماژول PHP را برای وب سرور مجازی Apache ارائه می دهد.
⦁ libapache2-mod-fcgid شامل یک mod_fcgid است که تعدادی از نمونه های برنامه CGI را برای رسیدگی به درخواست های همزمان شروع می کند.
حالا فرایند را برای نسخه PHP 7.2 تکرار کنید. php7.2 ، php7.2-fpm ، php7.2-mysql و libapache2-mod-php7.2 را نصب کنید.
⦁ $ sudo apt-get install php7.2 php7.2-fpm php7.2-mysql libapache2-mod-php7.2 -y

پس از نصب هر دو نسخه PHP ، سرویس php7.0-fpm را شروع کنید:
⦁ $ sudo systemctl start php7.0-fpm

بعد ، وضعیت سرویس php7.0-fpm را بررسی کنید:
⦁ $ sudo systemctl status php7.0-fpm

خروجی زیر را مشاهده خواهید کرد:
Output
● php7.0-fpm.service – The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-04-04 08:51:47 UTC; 1min 17s ago
Docs: man:php-fpm7.0(8)
Main PID: 13016 (php-fpm7.0)
Status: “Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec”
Tasks: 3 (limit: 1149)
Memory: 19.1M
CGroup: /system.slice/php7.0-fpm.service
├─13016 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
├─13017 php-fpm: pool www
└─13018 php-fpm: pool www

Apr 04 08:51:47 debian10 systemd[1]: Starting The PHP 7.0 FastCGI Process Manager…
Apr 04 08:51:47 debian10 systemd[1]: Started The PHP 7.0 FastCGI Process Manager.

با تکرار این روند ، اکنون سرویس php7.2-fpm را شروع کنید:
⦁ $ sudo systemctl start php7.2-fpm

و سپس وضعیت سرویس php7.2-fpm را بررسی کنید:
⦁ $ sudo systemctl status php7.2-fpm

خروجی زیر را مشاهده خواهید کرد:
Output
● php7.2-fpm.service – The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-04-04 08:52:52 UTC; 1min 32s ago
Docs: man:php-fpm7.2(8)
Process: 22207 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.2/fpm/pool.d/www.conf 72 (code=exite
Main PID: 22204 (php-fpm7.2)
Status: “Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec”
Tasks: 3 (limit: 1149)
Memory: 12.0M
CGroup: /system.slice/php7.2-fpm.service
├─22204 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
├─22205 php-fpm: pool www
└─22206 php-fpm: pool www

Apr 04 08:52:52 debian10 systemd[1]: Starting The PHP 7.2 FastCGI Process Manager…
Apr 04 08:52:52 debian10 systemd[1]: Started The PHP 7.2 FastCGI Process Manager.

در آخر ، باید چندین ماژول را فعال کنید تا سرویس Apache2 شما بتواند با چندین نسخه PHP کار کند:
⦁ $ sudo a2enmod actions fcgid alias proxy_fcgi

⦁ actions برای اجرای اسکریپت های CGI بر اساس نوع رسانه یا روش درخواست استفاده می شود.
⦁ fcgid یک جایگزین با کارایی بالا برای mod_cgi است که تعداد کافی از نمونه های برنامه CGI را برای رسیدگی به درخواست های همزمان شروع می کند.
⦁ alias برای نگاشت قسمت های مختلف سیستم فایل میزبان در درخت سند و هدایت URL ارائه میشود.
⦁ proxy_fcgi به Apache امکان می دهد تا درخواست ها را به PHP-FPM ارسال کند.
اکنون سرویس Apache را مجدداً راه اندازی کنید تا تغییرات خود را اعمال کنید:
⦁ $ sudo systemctl restart apache2

در این مرحله شما دو نسخه PHP را روی سرور مجازی خود نصب کرده اید. در مرحله بعد ، برای هر وب سایتی که می خواهید مستقر شوید ، یک ساختار دایرکتوری ایجاد خواهید کرد.
مرحله 2 – ایجاد ساختارهای دیرکتوری برای هر دو وب سایت
در این بخش ، یک دایرکتوری اصلی اسناد و صفحه فهرست برای هر دو وب سایت خود ایجاد می کنید.
ابتدا دایرکتوری های اصلی سند را برای site.your_domain و site2.your_domain ایجاد کنید:
⦁ $ sudo mkdir /var/www/site1.your_domain

⦁ $ sudo mkdir /var/www/site2.your_domain

به طور پیش فرض ، وب سرور مجازی Apache به عنوان یک کاربر www-data و گروه www-data به کار می رود. برای اطمینان از مالکیت صحیح و مجوزهای دیرکتوری های root وب سایت خود ، دستورات زیر را اجرا کنید:
⦁ $ sudo chown -R www-data:www-data /var/www/site1.your_domain

⦁ $ sudo chown -R www-data:www-data /var/www/site2.your_domain

⦁ $ sudo chmod -R 755 /var/www/site1.your_domain

⦁ $ sudo chmod -R 755 /var/www/site2.your_domain

در مرحله بعد یک فایل info.php را در داخل هر دیرکتوری اصلی وب سایت ایجاد می کنید. با این کار اطلاعات نسخه PHP هر وب سایت نمایش داده می شود. با site1 شروع کنید:
⦁ $ sudo nano /var/www/site1.your_domain/info.php

خط زیر را اضافه کنید:
/var/www/site1.your_domain/info.php
<?php phpinfo(); ?>

فایل را ذخیره کنید و ببندید. اکنون فایل info.php که در سایت2 ایجاد کرده اید را کپی کنید:
⦁ $ sudo cp /var/www/site1.your_domain/info.php /var/www/site2.your_domain/info.php

اکنون وب سرور مجازی شما باید دیرکتوری های ریشه اسناد را که هر سایت برای ارائه اطلاعات به بازدید کنندگان نیاز دارد در اختیار داشته باشد. در مرحله بعدی ، وب سرور مجازی Apache خود را پیکربندی خواهید کرد تا با دو نسخه مختلف PHP کار کند.
مرحله 3 – پیکربندی Apache برای هر دو وب سایت
در این بخش دو فایل پیکربندی میزبان مجازی ایجاد خواهید کرد. با این کار دو وب سایت شما قادر خواهند بود همزمان با دو نسخه مختلف PHP کار کنند.
برای اینکه Apache بتواند این محتوا را ارائه دهد ، باید یک فایل میزبان مجازی با بخشنامه های صحیح ایجاد کنید. به جای تغییر فایل پیکربندی پیش فرض واقع در /etc/apache2/sites-available/000-default.conf ، دو فایل جدید را در دیرکتوری / etc / apache2 / سایتهای موجود ایجاد خواهید کرد.
ابتدا یک فایل پیکربندی میزبان مجازی جدید برای وب سایت site1.your_domain ایجاد کنید. در اینجا شما Apache را به ارائه محتوا با استفاده از php7.0 هدایت می کنید:
⦁ $ sudo nano /etc/apache2/sites-available/site1.your_domain.conf

محتوای زیر را اضافه کنید. اطمینان حاصل کنید که مسیر دیرکتوری وب سایت ، نام سرور مجازی و نسخه PHP با تنظیمات شما مطابقت دارد:
/etc/apache2/sites-available/site1.your_domain.conf

<VirtualHost *:80>
ServerAdmin admin@site1.your_domain
ServerName site1.your_domain
DocumentRoot /var/www/site1.your_domain
DirectoryIndex info.php

<Directory /var/www/site1.your_domain>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

<FilesMatch \.php$>
# For Apache version 2.4.10 and above, use SetHandler to run PHP as a fastCGI process server
SetHandler “proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost”
</FilesMatch>

ErrorLog ${APACHE_LOG_DIR}/site1.your_domain_error.log
CustomLog ${APACHE_LOG_DIR}/site1.your_domain_access.log combined
</VirtualHost>

در این فایل ، DocumentRoot را به دایرکتوری جدید و ServerAdmin را به ایمیلی که ادمین سایت your_domain می تواند به آن دسترسی داشته باشد ، به روز کرده اید. همچنین ServerName را به روز کرده اید ، که دامنه پایه را برای این پیکربندی میزبان مجازی ایجاد می کند ، و یک دستورالعمل SetHandler برای اجرای PHP به عنوان سرور مجازی فرآیند fastCGI اضافه کرده اید.
فایل را ذخیره کنید و ببندید.
در مرحله بعدی ، یک فایل پیکربندی میزبان مجازی جدید برای وب سایت site2.your_domain ایجاد کنید. برای استقرار php7.2 این زیر دامنه را مشخص می کنید:
⦁ $ sudo nano /etc/apache2/sites-available/site2.your_domain.conf

محتوای زیر را اضافه کنید. دوباره مطمئن شوید که مسیر دیرکتوری وب سایت ، نام سرور مجازی و نسخه PHP با اطلاعات منحصر به فرد شما مطابقت دارد:
/etc/apache2/sites-available/site2.your_domain.conf
<VirtualHost *:80>
ServerAdmin admin@site2.your_domain
ServerName site2.your_domain
DocumentRoot /var/www/site2.your_domain
DirectoryIndex info.php

<Directory /var/www/site2.your_domain>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

<FilesMatch \.php$>
# For Apache version 2.4.10 and above, use SetHandler to run PHP as a fastCGI process server
SetHandler “proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost”
</FilesMatch>

ErrorLog ${APACHE_LOG_DIR}/site2.your_domain_error.log
CustomLog ${APACHE_LOG_DIR}/site2.your_domain_access.log combined
</VirtualHost>

پس از اتمام فایل را ذخیره و ببندید. سپس فایل پیکربندی Apache را برای هرگونه خطای نحوی بررسی کنید:
⦁ $ sudo apachectl configtest

خروجی زیر را مشاهده خواهید کرد:
Output
Syntax OK
سپس ، هر دو فایل پیکربندی میزبان مجازی را فعال کنید:
⦁ $ sudo a2ensite site1.your_domain

⦁ $ sudo a2ensite site2.your_domain

اکنون سایت پیش فرض را غیرفعال کنید ، زیرا به آن نیاز نخواهید داشت:
⦁ $ sudo a2dissite 000-default.conf

در آخر ، سرویس Apache را مجدداً اجرا کنید تا تغییرات خود را به اجرا درآورید:
⦁ $ sudo systemctl restart apache2

اکنون که Apache را برای سرویس دهی به هر سایت پیکربندی کرده اید ، آنها را آزمایش می کنید تا مطمئن شوید که نسخه های مناسب PHP در حال اجرا هستند.
مرحله 4 – آزمایش هر دو وب سایت
در این مرحله ، شما برای اجرای دو نسخه مختلف از PHP ، دو وب سایت پیکربندی کرده اید. حالا نتایج را آزمایش کنید.
مرورگر وب خود را باز کنید و از هر دو سایت http: //site1.your_domain و http: //site2.your_domain بازدید کنید. دو صفحه را مشاهده خواهید کرد که به شکل زیر است:

عناوین را یادداشت کنید. صفحه اول نشان می دهد که site1.your_domain نسخه 7.0 PHP را مستقر کرده است. دومی نشان می دهد که site2.your_domain نسخه 7.2 PHP را مستقر کرده است.
اکنون که سایت های خود را آزمایش کرده اید ، فایل های info.php را حذف کنید. از آنجا که حاوی اطلاعات حساس در مورد سرور مجازی شما هستند و برای کاربران غیرمجاز قابل دسترس میباشند ، یک تهدید امنیتی به حساب خواهند آمد. برای حذف هر دو فایل ، دستورات زیر را اجرا کنید:
⦁ $ sudo rm -rf /var/www/site1.your_domain/info.php

⦁ $ sudo rm -rf /var/www/site2.your_domain/info.php

اکنون یک سرور مجازی Debian 10 منزوی دارید که دارای دو وب سایت با دو نسخه مختلف PHP است. با این حال PHP-FPM به این یک برنامه محدود نمی شود.
نتیجه
اکنون میزبان های مجازی و PHP-FPM را برای ارائه خدمات به چندین وب سایت و نسخه های مختلف PHP در یک سرور مجازی واحد ترکیب کرده اید. تنها محدودیت عملی روی تعداد سایت های PHP و نسخه های PHP که سرویس Apache شما قادر به کنترل آن است قدرت پردازش نمونه شماست.
از اینجا ممکن است به بررسی ویژگیهای پیشرفته تر PHP-FPM بپردازید ، مانند فرآیند spawning تطبیقی آن یا اینکه چگونه می تواند sdtout و stderr را وارد کند. از طرف دیگر ، اکنون می توانید وب سایت های خود را ایمن کنید. برای انجام این کار ، می توانید آموزش ما در مورد چگونگی تأمین امنیت سایتهای خود با مجوزهای رایگان TLS / SSL را از Let’s Encrypt دنبال کنید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

در حالی که بسیاری از کاربران به عملکرد سیستم مدیریت دیتابیس مانند MySQL احتیاج دارند ، ممکن است از تعامل با سیستم فقط از طریق MySQL احساس راحتی نداشته باشند.
phpMyAdmin به گونه ای ایجاد شده است که کاربران بتوانند از طریق یک رابط وب با MySQL در تعامل باشند. در این راهنما ، ما در مورد نحوه نصب و ایمن سازی phpMyAdmin بحث خواهیم کرد تا بتوانید با اطمینان از آن استفاده کنید تا پایگاه های داده خود را بر روی سیستم Ubuntu 18.04 مدیریت کنید.
پیش نیازها
قبل از شروع کار با این راهنما ، باید مراحل پایه ای را انجام دهید.
ابتدا فرض خواهیم کرد که سرور مجازی شما دارای کاربر غیر ریشه ای با امتیازات sudo و همچنین فایروال پیکربندی شده با ufw است ، همانطور که در راهنمای اولیه تنظیم سرور مجازی برای اوبونتو 18.04 شرح داده شده است.
همچنین فرض خواهیم کرد که نصب LAMP (Linux ، Apache ، MySQL و PHP) را روی سرور مجازی Ubuntu 18.04 خود انجام داده اید. اگر این کار هنوز کامل نشده است ، می توانید در مورد نصب پشته LAMP در اوبونتو 18.04 این راهنما را دنبال کنید.
سرانجام ، هنگام استفاده از نرم افزارهایی مانند phpMyAdmin ملاحظات امنیتی مهمی وجود دارد ، زیرا:
⦁ به طور مستقیم با نصب MySQL شما ارتباط برقرار میکند
⦁ احراز هویت را با استفاده از اعتبار MySQL انجام می دهد
⦁ نتایج را برای جستارهای SQL دلخواه اجرا می کند و برمیگرداند
به همین دلایل ، و از آنجا که یک برنامه PHP با استقرار گسترده است که غالباً مورد حمله قرار می گیرد ، هرگز نباید phpMyAdmin را روی سیستم های از راه دور از طریق اتصال HTTP ساده اجرا کنید. اگر دامنه موجود را با گواهی SSL / TLS پیکربندی نکرده اید ، می توانید این راهنما را در زمینه ایمن سازی Apache با Let’s encrypt در Ubuntu 18.04 دنبال کنید. با این کار شما نیاز به ثبت نام دامنه ، ایجاد رکوردهای DNS برای سرور مجازی خود و تنظیم یک میزبان مجازی Apache دارید.
پس از اتمام این مراحل ، برای ادامه کار با این راهنما آماده هستید.
مرحله 1 – نصب phpMyAdmin
برای شروع ، phpMyAdmin را از مخازن پیش فرض اوبونتو نصب خواهیم کرد.
این کار با به روز کردن فهرست بسته سرور مجازی شما و سپس با استفاده از سیستم بسته بندی apt برای دریافت پرونده ها و نصب آنها روی سیستم شما انجام می شود:
⦁ $ sudo apt update

⦁ $ sudo apt install phpmyadmin php-mbstring php-gettext

به منظور پیکربندی صحیح نصب ، سؤالاتی از شما پرسیده میشود.
هشدار: هنگامی که اعلان ظاهر می شود ، “apache2” هایلایت می شود ، اما انتخاب نشده است. اگر برای انتخاب Apache ، SPACE نزنید ، نصب کننده هنگام نصب ، فایلهای لازم را منتقل نمی کند. برای انتخاب Apache ، کلید SPACE ، TAB و سپس ENTER را بزنید.

• برای انتخاب سرور مجازی ، apache2 را انتخاب کنید
• وقتی از شما سؤال شد که آیا از dbconfig-Common برای راه‌اندازی پایگاه داده استفاده کنید ، yes را انتخاب کنید
• سپس از شما خواسته می شود رمزعبور برنامه MySQL را برای phpMyAdmin انتخاب و تأیید کنید
فرآیند نصب فایل پیکربندی phpMyAdmin Apache را به دیرکتوری / etc / apache2 / conf-enabled / اضافه می کند ، جایی که به طور خودکار خوانده می شود. تنها کاری که شما باید انجام دهید فعال کردن صریح پسوند mbstring PHP است که می توانید با تایپ کردن این دستور آن را انجام دهید:
⦁ $ sudo phpenmod mbstring

پس از آن ، Apache را مجدداً راه اندازی کنید تا تغییرات شما به رسمیت شناخته شود:
⦁ $ sudo systemctl restart apache2

اکنون phpMyAdmin نصب و پیکربندی شده است. با این حال ، قبل از ورود به سیستم و شروع به تعامل با بانکهای اطلاعاتی MySQL ، باید اطمینان حاصل کنید که کاربران MySQL از امتیازات لازم برای تعامل با برنامه برخوردار هستند.
مرحله 2 – تنظیم تأیید اعتبار و امتیازات کاربر
وقتی phpMyAdmin را بر روی سرور مجازی خود نصب کردید ، به طور خودکار کاربر پایگاه داده ای به نام phpmyadmin ایجاد کرد که فرآیندهای پایه خاصی را برای این برنامه انجام می دهد. به جای اینکه به عنوان این کاربر با گذرواژه اداری که در حین نصب تنظیم کرده اید وارد شوید ، توصیه می شود که به عنوان کاربر ریشه MySQL یا به عنوان کاربر اختصاصی برای مدیریت پایگاه داده از طریق رابط phpMyAdmin وارد شوید.
پیکربندی دسترسی رمز ورود برای حساب ریشه MySQL
در سیستم های اوبونتو که MySQL 5.7 را اجرا می کند (و نسخه های بعدی) ، تأیید اعتبار کاربر ریشه MySQL با استفاده از افزونه auth_socket بصورت پیش فرض و نه با گذرواژه تنظیم شده است. این امر امکان امنیت و قابلیت استفاده بیشتر را در بسیاری از موارد فراهم می کند ، اما همچنین می تواند مواردی را پیچیده تر کند که شما نیاز به دسترسی به یک برنامه خارجی – مانند phpMyAdmin – برای دسترسی به کاربر دارید.
برای ورود به سایت phpMyAdmin به عنوان کاربر ریشه MySQL ، اگر قبلاً این کار را نکرده اید ، باید روش تأیید اعتبار آن را از auth_socket به mysql_native_password تغییر دهید. برای این کار ، اعلان MySQL را از پایانه خود باز کنید:
⦁ $ sudo mysql

سپس ، بررسی کنید که کدام روش تأیید اعتبار هر یک از حسابهای کاربری MySQL خود را با دستور زیر استفاده کنید:
⦁ Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
5 rows in set (0.00 sec)

در این مثال ، می بینید که کاربر اصلی با استفاده از افزونه auth_socket ، در واقع تأیید اعتبار می کند. برای پیکربندی حساب اصلی برای تأیید اعتبار با یک رمز عبور ، دستور ALTER USER زیر را اجرا کنید. حتما گذرواژه را به رمز عبور قوی تغییر دهید:
⦁ Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

سپس ، FLUSH PRIVILEGES را اجرا کنید که به سرور مجازی می گوید جداول امتیازدهی را دوباره لود کند و تغییرات جدید خود را به مرحله اجرا برساند:
⦁ Mysql> FLUSH PRIVILEGES;

روش های تأیید اعتبار استفاده شده توسط هر یک از کاربران خود را دوباره بررسی کنید تا تأیید کنید که root دیگر با استفاده از افزونه auth_socket احراز هویت نمی کند:
⦁ Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
5 rows in set (0.00 sec)

می توانید از این خروجی مشاهده کنید که کاربر اصلی با استفاده از یک رمز عبور تأیید اعتبار می کند. اکنون می توانید
به عنوان کاربر اصلی خود با گذرواژه ای که در اینجا برای آن تنظیم کرده اید وارد رابط phpMyAdmin شوید.
پیکربندی دسترسی رمز ورود برای یک کاربر اختصاصی MySQL
از طرف دیگر ، برخی ممکن است عقیده داشته باشند که اتصال به phpMyAdmin با یک کاربر اختصاصی ، بیشتر با گردش کار آن ها تناسب دارد. برای انجام این کار ، یکبار دیگر پوسته MySQL را باز کنید:
⦁ $ sudo mysql

توجه: اگر تأیید اعتبار را فعال کرده اید ، همانطور که در قسمت قبل توضیح داده شد ، برای دسترسی به پوسته MySQL باید از دستور دیگری استفاده کنید. دستور زیر کلاینت MySQL شما را با حق امتیاز منظم کاربر اجرا می کند و شما فقط با تأیید اعتبار ، امتیازات ادمین را در بانک اطلاعات دریافت خواهید کرد:
⦁ $ mysql -u root -p
⦁ •
از آنجا ، یک کاربر جدید ایجاد کرده و یک رمزعبور قوی به آن بدهید:
⦁ Mysql> CREATE USER ‘sammy’@’localhost’ IDENTIFIED BY ‘password’;

سپس به کاربر جدید خود امتیازات مناسب اعطا کنید. به عنوان مثال ، شما می توانید امتیازات کاربر را به تمام جداول موجود در دیتابیس و همچنین توانایی اضافه کردن ، تغییر و حذف امتیازهای کاربر را با این دستور اعطا کنید:
⦁ Mysql> GRANT ALL PRIVILEGES ON *.* TO ‘sammy’@’localhost’ WITH GRANT OPTION;

پس از آن ، از پوسته MySQL خارج شوید:
⦁ Mysql> exit

اکنون می توانید با مراجعه به نام دامنه سرور مجازی یا آدرس IP عمومی و به دنبال آن / phpmyadmin به رابط وب دسترسی پیدا کنید:
http://your_domain_or_IP/phpmyadmin

به عنوان روت یا با نام کاربری و رمزعبور جدیدی که پیکربندی کرده اید ، وارد رابط شوید.
وقتی وارد سیستم می شوید ، رابط کاربری را مشاهده خواهید کرد که چیزی شبیه به این خواهد بود:

اکنون که می توانید با phpMyAdmin ارتباط برقرار کرده و با آنها تعامل داشته باشید ، تمام کار باقی مانده این است که امنیت سیستم های خود را برای محافظت از آن در مقابل مهاجمان بالا ببرید.
مرحله 3 – ایمن سازی نمونه phpMyAdmin
phpMyAdmin به دلیل فراگیر بودن آن ، یک هدف محبوب برای مهاجمین است و برای جلوگیری از دسترسی غیرمجاز باید مراقبت بیشتری کنید. یکی از ساده ترین راه های انجام این کار ، قرار دادن یک دروازه در جلوی کل برنامه با استفاده از ویژگی های تأیید اعتبار داخلی .htaccessو توابع اختیاراتی است.
برای این کار ابتدا با ویرایش پرونده پیکربندی apache، استفاده از فایل.htaccess را فعال کنید.
پرونده لینک شده را که در دیرکتوری تنظیمات Apache شما قرار دارد ویرایش کنید:
⦁ $ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

یک دستورالعمل AllowOverride All را در بخش <Directory / usr / share / phpmyadmin> پرونده پیکربندی ، مانند این اضافه کنید:
/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .

وقتی این خط را اضافه کردید ، پرونده را ذخیره کنید و ببندید.
برای اجرای تغییراتی که ایجاد کرده اید ، Apache را مجدداً راه اندازی کنید:
⦁ $ sudo systemctl restart apache2

اکنون که استفاده از .htaccess را برای برنامه خود فعال کرده اید ، باید یک مورد از آن را ایجاد کنید تا در واقع برخی از اقدامات امنیتی را پیاده سازی کنید. برای موفقیت در این امر ، پرونده باید در دیرکتوری برنامه کاربردی ایجاد شود. با تایپ کردن این دستور می توانید فایل لازم را ایجاد کرده و در ویرایشگر متن خود با امتیازات اصلی باز کنید:

⦁ $ sudo nano /usr/share/phpmyadmin/.htaccess

در این پرونده اطلاعات زیر را وارد کنید:
/usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName “Restricted Files”
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

در اینجا منظور از هریک از این خطوط آورده شده است:
⦁ AuthType Basic: در این خط نوع تأیید هویت مورد استفاده شما مشخص می شود. این نوع، تأیید اعتبار رمز عبور را با استفاده از یک فایل رمز عبور پیاده سازی می کند.
⦁ AuthName: پیام را برای کادر گفتگوی تأیید اعتبار تنظیم می کند. شما باید آن سری نگه دارید تا کاربران غیرمجاز هیچ اطلاعاتی درباره آنچه محافظت می شود کسب نکنند.
⦁ AuthUserFile: مکان فایل رمز عبور را که برای تأیید اعتبار استفاده می شود ، تعیین می کند. باید خارج از دایرکتوری هایی باشد که ارائه می شوند. به زودی این پرونده را ایجاد خواهیم کرد.
⦁ Require valid-user : مشخص می کند که فقط کاربران معتبر باید به این منبع دسترسی داشته باشند. همان چیزی است که در واقع ورود کاربران غیرمجاز را متوقف می کند.
پس از اتمام ، پرونده را ذخیره کنید و ببندید.
محلی که برای پرونده رمز عبور خود انتخاب کردید /etc/phpmyadmin/.htpasswd بود. اکنون می توانید این پرونده را ایجاد کرده و آن را به عنوان کاربر اولیه با ابزار htpasswd وارد کنید:
⦁ $ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

از شما خواسته می شود یک رمز عبور برای کاربر مورد نظر خود انتخاب و تأیید کنید. پس از آن ، پرونده با رمز عبور hashed که وارد کرده اید ایجاد می شود.
اگر می خواهید یک کاربر اضافی وارد کنید ، باید بدون پرچم -c این کار را انجام دهید ، مانند این:
⦁ $ sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

اکنون ، هنگامی که به زیرشاخه phpMyAdmin خود دسترسی پیدا می کنید ، از شما خواسته می شود نام و رمز اکانت دیگری را که اخیراً پیکربندی کرده اید وارد کنید:
https://domain_name_or_IP/phpmyadmin

پس از وارد کردن شناسه Apache ، برای وارد کردن اعتبار MySQL به صفحه تأیید صحت phpMyAdmin منتقل می شوید. این تنظیم، لایه امنیتی بیشتری را اضافه می کند ، که از آنجایی که phpMyAdmin در گذشته از آسیب پذیری رنج می برد ، مطلوب خواهد بود.
نتیجه
اکنون باید phpMyAdmin را در سرور مجازی Ubuntu 18.04 خود تنظیم و آماده استفاده کرده باشید. با استفاده از این رابط ، می توانید به راحتی پایگاه داده ، کاربران ، جداول و غیره ایجاد کرده و عملیات معمول مانند حذف و اصلاح ساختارها و داده ها را انجام دهید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

Node.js یک محیط زمان اجرای جاواسکریپت منبع باز است که می توانید برنامه های شبکه و سرور مجازی را به راحتی بسازید. این پلتفرم روی لینوکس ، OS X ، FreeBSD و ویندوز اجرا می شود و برنامه های آن به زبان JavaScript نوشته شده اند. برنامه های Node.js را می توان در خط فرمان اجرا کرد اما ما به شما یاد می دهیم که چگونه آنها را به عنوان یک سرویس اجرا کنید ، بنابراین به صورت خودکار در هنگام ریبوت یا خرابی مجدداً راه اندازی می شوند ، و می توانید از آنها در یک محیط تولید استفاده کنید.
در این آموزش ، تنظیم محیط Node.js آماده تولید را که از دو سرور مجازی CentOS 7 تشکیل شده است ، پوشش خواهیم داد. یک سرور مجازی برنامه های Node.js را مدیریت می کند که توسط PM2 اداره می شود ، و دیگری دسترسی به برنامه را از طریق یک پروکسی معکوس Nginx به سرور مجازی برنامه فراهم می کند.
نسخه اوبونتو این آموزش را می توان در این لینک پیدا کرد.
پیش نیازها
این راهنما از دو سرور مجازی CentOS 7 با شبکه خصوصی (در یک مرکز داده) استفاده می کند. شبکه های خصوصی را می توان در هنگام ایجاد (در بخش Select additional options) روی سرور مجازی های جدید پیکربندی کرد. با نامهای زیر را به آنها میدهیم:
app: سرور مجازی ی که در آن Node.js ، برنامه Node.js و PM2 را نصب خواهیم کرد .
web: سرور مجازیی که در آن سرور مجازی وب Nginx را نصب خواهیم کرد ، که به عنوان یک پروکسی معکوس برای برنامه شما عمل می کند. کاربران برای دریافت برنامه Node.js شما به آدرس IP عمومی این سرور مجازی دسترسی پیدا می کنند.
توجه: -گر قصد دارید از یک سرور مجازی موجود که در حال حاضر شبکه های خصوصی پیکربندی شده ندارد ، استفاده کنید، به مستندات vpsgol تحت عنوان نحوه فعال سازی شبکه خصوی روی دراپلت مراجعه کنید .
قبل از شروع این راهنما ، باید یک کاربر معمولی غیر ریشه داشته باشید که دارای امتیازات sudo و روی هر دو سرور مجازی شما تنظیم شده باشد – این همان کاربری است که باید با آن به سرور مجازی خود وارد شوید. با پیروی از راهنمای تنظیم اولیه سرور مجازی CentOS 7 می توانید نحوه پیکربندی یک حساب کاربری معمولی را یاد بگیرید.
دستورات اجرا شده بر روی سرور مجازی app:
⦁ $ an_example_command_on_app

دستورات اجرا شده بر روی سرور مجازی web:
⦁ $ an_example_command_on_web

استفاده از یک سرور مجازی واحد برای این آموزش امکان پذیر است ، اما باید در طول مسیر چند تغییر ایجاد کنید. هر جایی که از آدرس IP خصوصی سرور مجازی app استفاده میشود، به سادگی از آدرس IP localhost ، یعنی 127.0.0.1 استفاده کنید.
در اینجا نموداری از تنظیمات شما پس از دنبال کردن این آموزش آورده شده است:

اگر می خواهید به جای آدرس IP عمومی آن ، از طریق نام دامنه به سرور مجازی وب خود دسترسی پیدا کنید ، یک نام دامنه خریداری کنید و سپس این آموزش ها را دنبال کنید:
• نحوه تنظیم نام میزبان با vpsgol
• چگونه از ثبت کنندگان دامنه به نام سرور مجازی vpsgol اشاره کنیم
بیایید با نصب ران تایم Node.js در سرور مجازی app شروع کنیم.
مرحله 1 – نصب Node.js
آخرین نسخه LTS Node.js را بر روی سرور مجازی app نصب خواهیم کرد.
با استفاده از کاربر معمولی و غیر ریشه با امتیازات sudo به سرور مجازی app خود SSH کنید.
در سرور مجازی app ، اجازه دهید برای دانلود فایل پیکربندی مخزن NodeSource RPM از Curl استفاده کنیم:
⦁ $ curl -L -o nodesource_setup.sh https://rpm.nodesource.com/setup_10.x

CURL از پروتکل HTTPS برای دانلود اسکریپت ستاپ بر روی سرور مجازی شما استفاده می کند ، و خروجی شامل اطلاعات مربوط به دانلود میباشد:
Output
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11109 100 11109 0 0 70128 0 –:–:– –:–:– –:–:– 70757

در مرحله بعد ، باید محتوای اسکریپت را بازرسی کنید. دستور زیر اسکریپت راه اندازی NodeSource را در کنسول سرور مجازی های شما باز می کند ، که می توانید با استفاده از اسکریپت راه اندازی NodeSource (از مخزن Github توزیع های NodeSource) برای تأیید صحت اسکریپتی که به درستی دانلود کرده است ، cross-reference انجام دهید:
⦁ $ vi nodesource_setup.sh

پس از رضایت از فایل ، با تایپ کردن: q از vi خارج شوید تا به خط فرمان بازگردید.
اکنون بیایید اسکریپت تنظیم را اجرا کنیم تا مخزن NodeSource RPM را نصب کنیم. این کار ما را قادر می سازد از داخل مدیر بسته yum به مخزن NodeSource دسترسی پیدا کنیم:
⦁ $ sudo -E bash nodesource_setup.sh

اسکریپت برای مرجع ما اطلاعات مربوط به ستاپ را صادر می کند:
Output
## Installing the NodeSource Node.js 10.x repo…

## Inspecting system…

+ rpm -q –whatprovides redhat-release || rpm -q –whatprovides centos-release || rpm -q –whatprovides cloudlinux-release || rpm -q –whatprovides sl-release
+ uname -m

## Confirming “el7-x86_64” is supported…

+ curl -sLf -o /dev/null ‘https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm’

## Downloading release setup RPM…

+ mktemp
+ curl -sL -o ‘/tmp/tmp.2aCcULVx8n’ ‘https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm’

## Installing release setup RPM…

+ rpm -i –nosignature –force ‘/tmp/tmp.2aCcULVx8n’

## Cleaning up…

+ rm -f ‘/tmp/tmp.2aCcULVx8n’

## Checking for existing installations…

+ rpm -qa ‘node|npm’ | grep -v nodesource

## Run `sudo yum install -y nodejs` to install Node.js 10.x and npm.
## You may also need development tools to build native addons:
sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn

قبل از نصب Node.js مهم است که تمام اطلاعات ذخیره شده از yum را پاک کنید. پاک کردن حافظه نهان اطمینان حاصل خواهد کرد که yum از اتصال شبکه برای دریافت Node.js از مخازن جدید NodeSource ما استفاده می کند (که از بروز هرگونه درگیری احتمالی ناشی از بسته های منسوخ شده جلوگیری می کند):
⦁ $ sudo yum clean all

در مرحله بعد همه ابرداده ها را برای repo های yum فعال شده دانلود و استفاده خواهیم کرد. این کار اطمینان حاصل می کند که جستارهای yum ما در اسرع وقت تکمیل میشوند:
⦁ $ sudo yum makecache fast

برای کامپایل و نصب add-ons بومی از npm نیز باید ابزارهای ساخت را نصب کنیم:
⦁ $ sudo yum install -y gcc-c++ make

اکنون می توانیم آخرین نسخه بسته Node.js را نصب کنیم:
⦁ $ sudo yum install -y nodejs

با بررسی نسخه خود با این دستور ، تأیید کنید که Node نصب شده است:
⦁ $ node -v

خروجی شما شماره نسخه شما را نشان می دهد:
اکنون ران تایم Node.js نصب شده است و آماده اجرای یک برنامه است. بیایید یک برنامه Node.js بنویسیم.
مرحله 2 – ایجاد برنامه Node.js
اکنون یک برنامه Hello World ایجاد خواهیم کرد که به سادگی “Hello World” را به هر درخواست HTTP باز می گرداند. این یک برنامه نمونه است که به شما در راه اندازی Node.js کمک می کند ، که می توانید برنامه خود را جایگزین آن کنید فقط مطمئن شوید که برنامه خود ر به گونه ای اصلاح کرده اید که به آدرس های IP و پورت های مناسب گوش دهید.
از آنجا که می خواهیم برنامه Node.js ما درخواستهایی را که از سرور مجازی پروکسی معکوس (web) می آیند ، ارائه کند ، ما از رابط شبکه خصوصی سرور مجازی app خود برای ارتباطات بین سرور مجازی استفاده خواهیم کرد. آدرس شبکه خصوصی سرور مجازی app خود را جستجو کنید.
اگر از یک دراپلت vpsgol به عنوان سرور مجازی خود استفاده می کنید ، می توانید آدرس IP خصوصی سرور مجازی را از طریق سرویس Metadata جستجو کنید. در سرور مجازی app ، از دستور curl برای بازیابی آدرس IP استفاده کنید:
⦁ $ curl -sw “\n” http://169.254.169.254/metadata/v1/interfaces/private/0/ipv4/address

بهتر است خروجی (آدرس IP خصوصی) را کپی کنید ، زیرا برای پیکربندی برنامه Node.js استفاده خواهد شد.
در مرحله بعد ، برنامه Node.js خود را برای ویرایش ایجاد و باز کنید. برای این آموزش از vi برای ویرایش یک برنامه نمونه به نام hello.js استفاده خواهیم کرد:
⦁ $ vi hello.js

کد زیر را در فایل وارد کنید و حتما آدرس IP خصوصی سرور مجازی app را برای هر دو مورد هایلایت شده APP_PRIVATE_IP_ADDRESS جایگزین کنید. در صورت تمایل ، می توانید در هر دو مکان ، پورت هایلایت شده ، 8080 را جایگزین کنید (حتما از پورت غیر ادمین ، یعنی 1024 یا بالاتر استفاده کنید):
hello.js
var http = require(‘http’);
http.createServer(function (req, res) {
res.writeHead(200, {‘Content-Type’: ‘text/plain’});
res.end(‘Hello World\n’);
}).listen(8080, ‘APP_PRIVATE_IP_ADDRESS’);
console.log(‘Server running at http://APP_PRIVATE_IP_ADDRESS:8080/’);

اکنون با فشار دادن ESC برای خروج از حالت –INSERT—فایل را ذخیره کنید و از آن خارج شوید ، و پس از آن: wq را برای نوشتن و ترک برنامه در یک فرمان واحد وارد کنید.
این برنامه Node.js به سادگی آدرس و پورت IP مشخص شده را دنبال می دهد و “Hello World” را با یک کد موفقیت 200 HTTP برمی گرداند. بدان معنا که برنامه فقط از سرور مجازی های همان شبکه خصوصی مانند سرور مجازی وب ما قابل دسترسی است.
اگر می خواهید تست کنید که برنامه شما کار می کند ، این دستور node را روی سرور مجازی app اجرا کنید:
⦁ $ node hello.js

توجه: اجرای یک برنامه Node.js به این روش ، دستورات اضافی را مسدود می کند تا اینکه با فشار دادن CTRL + C ، برنامه بسته شود.

اگر برای اولین بارآزمایش کنیم که سرور مجازی web ما قادر به برقراری ارتباط با برنامه Node.js در app است ، مقدار زیادی از اشکال زدایی Nginx ذخیره می شود.
برای تست برنامه ، بخش ترمینال دیگری را باز کرده و به سرور مجازی web خود متصل شوید. از آنجا که سرور مجازی web در همان شبکه خصوصی قرار دارد ، باید بتواند با استفاده از curl به آدرس IP خصوصی سرور مجازی app برسد. حتماً در آدرس IP سرور مجازی app ، APP_PRIVATE_IP_ADDRESS و پورت را در صورت تغییر جایگزین کنید:
⦁ $ curl http://APP_PRIVATE_IP_ADDRESS:8080

اگر خروجی زیر را مشاهده کنید ، برنامه به درستی کار می کند و آدرس و پورت IP مناسب را گوش می دهد:
Node Application Output
Hello World

اگر خروجی مناسب را نمی بینید ، مطمئن شوید که برنامه Node.js شما در حال اجرا است و برای گوش دادن به آدرس IP و درگاه مناسب پیکربندی شده است.
در سرور مجازی app ، با فشار دادن CTRL + C ، برنامه را به اجبار ببندید.
مرحله 3 – نصب و استفاده از PM2
اکنون PM2 را نصب خواهیم کرد که یک مدیر پروسه برای برنامه های Node.js است. PM2 روشی آسان برای مدیریت و daemon کردن برنامه ها (اجرای آنها به عنوان یک سرویس) فراهم می کند.
ما برای نصب PM2 روی سرور مجازی app خود از ماژول های بسته بندی شده Node (NPM) استفاده خواهیم کرد که در واقع یک مدیر بسته برای ماژول های Node است که با Node.js نصب می کند. برای نصب PM2 از این دستور استفاده کنید:
⦁ $ sudo npm install pm2@latest -g

ما چند کاربرد اصلی PM2 را پوشش خواهیم داد.
اولین کاری که باید انجام دهید اینست که از دستور pm2 start برای اجرای برنامه خود ، hello.js ، در پس زمینه استفاده کنید:
⦁ $ pm2 start hello.js

این کار همچنین برنامه شما را به لیست فرآیند PM2 اضافه می کند ، که با هر بار شروع برنامه، خروجی به بیرون میفرستد:
Output
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ hello │ 0 │ fork │ 30099 │ online │ 0 │ 0s │ 14.227 MB │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘

همانطور که مشاهده می کنید ، PM2 بطور خودکار نام برنامه (بر اساس نام فایل ، بدون پسوند .js) و شناسه PM2 را اختصاص می دهد. PM2 همچنین اطلاعات دیگری مانند PID روند ، وضعیت فعلی آن و استفاده از حافظه را نگه میدارد.
برنامه هایی که تحت PM2 در حال اجرا هستند در صورت خراب شدن برنامه یا بسته شدن برنامه به صورت خودکار مجدداً راه اندازی می شوند ، اما برای شروع برنامه (بوت یا ریبوت)، باید یک گام دیگر انجام شود. خوشبختانه ، PM2 با فرمان startup  راهی آسان برای انجام این کار فراهم می کند.
فرمان فرعی startup  برای راه اندازی PM2 و فرآیندهای مدیریت شده آن روی بوت های سرور مجازی ، یک اسکریپت راه اندازی ایجاد و پیکربندی می کند. در مورد مثال ما ، باید سیستم اولیه در حال اجرا که systemd است را مشخص کنید:
⦁ $ sudo pm2 startup systemd

خروجی مانند زیر را مشاهده خواهید کرد ، که نشان می دهد سرویس PM2 نصب شده است:
Output
[PM2] Generating system init script in /etc/systemd/system/pm2.service
[PM2] Making script booting at startup…
[PM2] -systemd- Using the command:
su root -c “pm2 dump && pm2 kill” && su root -c “systemctl daemon-reload && systemctl enable pm2 && systemctl start pm2”
[PM2] Dumping processes
[PM2] Stopping PM2…
[PM2] All processes have been stopped and deleted
[PM2] PM2 stopped
[PM2] Done.

برای اطمینان از اینکه PM2 می داند از چه برنامه هایی برای شروع کار استفاده می کند ، باید لیست روند فعلی را ذخیره کنیم. برای ذخیره لیست:
⦁ $ pm2 save

خروجی مانند زیر را مشاهده خواهید کرد ، که نشان می دهد لیست فرآیند PM2 ذخیره شده است:
Output
[PM2] Saving current process list…
[PM2] Successfully saved in /home/deployer/.pm2/dump.pm2

اکنون برنامه های مدیریت شده PM2 شما باید بطور خودکار در بوت شروع شوند.
PM2 فرمان های فرعی زیادی را در اختیار شما قرار می دهد تا بتوانید اطلاعات مربوط به برنامه های خود را مدیریت و جستجو کنید. توجه داشته باشید که اجرای PM2 بدون هیچگونه آرگومانی ، صفحه راهنمایی شامل استفاده مثال را نمایش می دهد که استفاده از PM2 را با جزئیات بیشتر از این بخش از آموزش پوشش می دهد.
یک برنامه را با این دستور متوقف کنید (نام برنامه یا شناسه PM2 برنامه را مشخص کنید):
⦁ $ pm2 stop example

برنامه را با این دستور مجدداً راه اندازی کنید (نام برنامه یا شناسه PM2 برنامه را مشخص کنید):
⦁ $ pm2 restart example

لیست برنامه هایی که در حال حاضر توسط PM2 مدیریت می شوند را می توان با فرمان فرعی list جستجو کرد:
⦁ $ pm2 list

با استفاده از فرمان فرعی info می توانید اطلاعات بیشتری در مورد یک برنامه خاص را پیدا کنید (نام یا شناسه برنامه PM2 را مشخص کنید):
⦁ $ pm2 info example

مانیتور فرآیند PM2 را می توان با فرمان فرعی monit انجام داد. این کار وضعیت برنامه ، CPU و استفاده از حافظه را نشان می دهد:
⦁ $ pm2 monit

توجه: اجرای دستور monit PM2 دستورات اضافی را مسدود می کند تا برنامه با فشار دادن CTRL + C بسته شود.
اکنون که برنامه Node.js شما در حال اجرا و توسط PM مدیریت می شود، بیایید پروکسی معکوس را تنظیم کنیم.
مرحله 4 – تنظیم سرور مجازی پروکسی معکوس Nginx
اکنون که برنامه شما در حال اجراست و یک آدرس IP خصوصی را شنود میکنید، باید راهی برای دسترسی کاربران خود تنظیم کنید. ما یک سرور مجازی وب Nginx را به عنوان یک پروکسی معکوس برای این منظور تنظیم می کنیم. این آموزش یک سرور مجازی Nginx را از scratchتنظیم می کند. اگر قبلاً تنظیمات سرور مجازی Nginx را انجام داده اید ، می توانید فقط بلوک location را در بلوک سرور مجازی مورد نظر خود کپی کنید (اطمینان حاصل کنید که location با هیچ بخشی از محتوای موجود سرور مجازی وب شما مغایرت نداشته باشد).
در سرور مجازی web ، بیایید بسته epel-releaseرا با استفاده از yum نصب کنیم:
⦁ $ sudo yum install epel-release

سپس Nginx را نصب کنید:
⦁ $ sudo yum install nginx

اکنون فایل پیکربندی Nginx را برای ویرایش باز کنید:
⦁ $ sudo vi /etc/nginx/nginx.conf

ابتدا خطی را که server_name تعریف شده است ، در بلوک پیش فرض سرور مجازی پیدا کنید. باید چیزی شبیه به این باشد:
nginx.conf excerpt — server_name (before)
server_name _;

نام سرور مجازی را به روز کنید تا زیرنویس (_) را با نام دامنه خود برای دستور server_name جایگزین کنید (یا اگر آدرس دامنه ندارید آدرس IP را جایگزین کنید).
nginx.conf excerpt — server_name (after)
server_name your-domain;

سپس خطی را که location/ تعریف شده است (معمولاً چند خط زیر server_name) ، در همان بلوک پیش فرض سرور مجازی پیدا کنید. باید چیزی شبیه به این باشد:
nginx.conf excerpt — location / (before)
location / {
}

آن را با بلوک کد زیر جایگزین کنید و مطمئن شوید آدرس IP خصوصی سرور مجازی app را جایگزین APP_PRIVATE_IP_ADDRESS کنید. علاوه بر این ، در صورت تنظیم برنامه برای گوش دادن به پورت های مختلف، پورت (8080) را تغییر دهید:
/etc/nginx/nginx.conf excerpt — location / (after)
location / {
proxy_pass http://APP_PRIVATE_IP_ADDRESS:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

این کار سرور مجازی web را پیکربندی می کند تا به عنوان ریشه به درخواست ها پاسخ دهد. با فرض اینکه سرور مجازی ما در your-domain موجود است ، دسترسی به http://your-domain/ از طریق یک مرورگر وب ، درخواست را به آدرس IP خصوصی سرور مجازی app در پورت 8080 ارسال می کند ، که توسط Node.js دریافت و به آن پاسخ داده میشود.
برای دسترسی به سایر برنامه ها در همان سرور مجازی web ، می توانید بلوک های location بیشتری را به همان سرور مجازی اضافه کنید. به عنوان مثال ، اگر برنامه node.js دیگری را در سرور مجازی app در پورت 8081 اجرا کرده اید ، می توانید این بلوک location را اضافه کنید تا از طریق http: // your-domain / app2 به آن دسترسی داشته باشید:
Nginx Configuration — Additional Locations
location /app2 {
proxy_pass http://APP_PRIVATE_IP_ADDRESS:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

پس از انجام ویرایش بلوک (های) مکان برای برنامه (های) خود ، آن را ذخیره کنید با فشار دادن ESC از حالت –INSERT– ، خارج شوید ، به دنبال آن: wq را برای نوشتن و ترک کردن در یک فرمان واحد تایپ کنید.
در سرور مجازی وب ، Nginx را مجدداً راه اندازی کنید:
$ sudo systemctl start nginx

سپس می خواهیم اطمینان حاصل کنیم که Nginx هر زمان که سرور مجازی ریستارت شود ، اجرا خواهد شد:
⦁ $ sudo systemctl enable nginx

دستور enable باید خروجی زیر را ارائه دهد
Output
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

همچنین با درخواست وضعیت آن از systemctl می توانید تأیید کنید که Nginx در حال اجرا و فعال است.
⦁ $ sudo systemctl status nginx

دستور وضعیت اطلاعات پیکربندی را برای سرویس Nginx ارائه می دهد
Output
● nginx.service – The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2019-10-14 09:37:23 UTC; 3min 29s ago
Main PID: 12818 (nginx)
CGroup: /system.slice/nginx.service
├─12818 nginx: master process /usr/sbin/nginx
└─12819 nginx: worker process

Oct 14 09:37:23 centos-s-1vcpu-1gb-sgp1-01 systemd[1]: Starting The nginx HTTP and reverse proxy server…
Oct 14 09:37:23 centos-s-1vcpu-1gb-sgp1-01 nginx[12814]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Oct 14 09:37:23 centos-s-1vcpu-1gb-sgp1-01 nginx[12814]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Oct 14 09:37:23 centos-s-1vcpu-1gb-sgp1-01 systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument
Oct 14 09:37:23 centos-s-1vcpu-1gb-sgp1-01 systemd[1]: Started The nginx HTTP and reverse proxy server.

سرانجام ، امکان انتقال مجدد ترافیک از طریق لینوکس با امنیت بالا (SELinux) را به Nginx ارائه میدهد. SELinux یک لایه امنیتی را فراهم می کند که کنترل دسترسی اجباری (MAC) را در هسته لینوکس پیاده سازی می کند. هر شیء سیستم عامل (پردازش ، توصیف کننده فایل ، فایل و غیره) با یک مفهوم SELinux برچسب گذاری شده است که مجوزها و عملکردهایی را که شی می تواند انجام دهد ، مشخص می کند.
Nginx با متن httpd_t برچسب گذاری شده است و در نتیجه ، پیکربندی هایی دارد توسط SELinux مسدود شده است ، مگر اینکه صریحاً مجاز باشد. برای نشان دادن این مسئله، دستور زیر را اجرا کنید تا تأیید کنید که سرویس Nginx دارای برچسب httpd_t است:
⦁ $ ps -eZ

این دستور اطلاعات مربوط به وضعیت فرآیند را ارائه می دهد ، اطلاعات مربوط به فرآیند خاص Nginx را برای دیدن برچسب جستجو میکند. شما httpd_t را به روشی مشابه زیر مشاهده خواهید کرد:
Output

system_u:system_r:httpd_t:s0 10208 ? 00:00:00 nginx
system_u:system_r:httpd_t:s0 10209 ? 00:00:00 nginx

اکنون بیایید وضعیت بولی های پیش فرض (متغیر دو بایتی) مربوط به برچسب httpd_t SELinux را بررسی کنیم. می توانیم با اجرای دستور زیر این اطلاعات را نشان دهیم:
⦁ $ $ getsebool -a

برای این آموزش فقط به بولی های مربوط به httpd علاقه مند هستیم:
Output

httpd_anon_write –> off
httpd_builtin_scripting –> on
httpd_can_check_spam –> off
httpd_can_connect_ftp –> off
httpd_can_connect_ldap –> off
httpd_can_connect_mythtv –> off
httpd_can_connect_zabbix –> off
httpd_can_network_connect –> off
httpd_can_network_connect_cobbler –> off
httpd_can_network_connect_db –> off
httpd_can_network_memcache –> off
httpd_can_network_relay –> off
httpd_can_sendmail –> off
httpd_dbus_avahi –> off
httpd_dbus_sssd –> off
httpd_dontaudit_search_dirs –> off
httpd_enable_cgi –> on
httpd_enable_ftp_server –> off
httpd_enable_homedirs –> off
httpd_execmem –> off
httpd_graceful_shutdown –> on
httpd_manage_ipa –> off
httpd_mod_auth_ntlm_winbind –> off
httpd_mod_auth_pam –> off
httpd_read_user_content –> off
httpd_run_ipa –> off
httpd_run_preupgrade –> off
httpd_run_stickshift –> off
httpd_serve_cobbler_files –> off
httpd_setrlimit –> off
httpd_ssi_exec –> off
httpd_sys_script_anon_write –> off
httpd_tmp_exec –> off
httpd_tty_comm –> off
httpd_unified –> off
httpd_use_cifs –> off
httpd_use_fusefs –> off
httpd_use_gpg –> off
httpd_use_nfs –> off
httpd_use_openstack –> off
httpd_use_sasl –> off
httpd_verify_dns –> off

این دو بولی خاص ، httpd_can_network_connect و httpd_can_network_relay هستند. مستندات Redhat جزئیات مربوط به هر یک از بولی های httpd و عملکرد مرتبط با آنها را ارائه می دهد (در صورتی که تمایل به کسب اطلاعات بیشتر در مورد هر بولی دارید) ، اگرچه در زیر توضیحات دو بولی که مربوط به این آموزش است آورده شده است:

httpd_can_network_connect: When disabled, this Boolean prevents HTTP scripts and modules from initiating a connection to a network or remote port. Enable this Boolean to allow this access.
httpd_can_network_relay: Enable this Boolean when httpd is being used as a forward or reverse proxy.

از آنجا که پیکربندی ما فقط ترافیک را رله می کند ، فقط باید به SELinux بگوییم که سرور مجازی httpd ، در مورد ما Nginx ، می تواند از شبکه برای رله ترافیک در پیکربندی پروکسی معکوسی که تنظیم کرده ایم استفاده کند. ما از پرچم -P استفاده خواهیم کرد ، تا اطمینان حاصل شود که تغییرات دائمی هستند (حذف این پرچم منجر به بازگشت httpd_can_network_relay به حالت پیش فرض آن ، یعنی خاموش ، با راه اندازی مجدد سرور مجازی خواهد شد):
⦁ $ sudo setsebool -P httpd_can_network_relay on

با فرض اینکه برنامه Node.js شما در حال اجرا است ، و برنامه شما و تنظیمات Nginx صحیح هستند ، باید بتوانید از طریق پروکسی معکوس سرور مجازی web به برنامه خود دسترسی پیدا کنید. با دسترسی به URL سرور مجازی web خود (آدرس IP عمومی یا نام دامنه) آن را امتحان کنید.
توجه: اگر همچنین قصد داشتید از سرور مجازی web خود برای میزبانی سایتهای دیگر (به عنوان میزبان مجازی معمولی) استفاده کنید ، لازم است که httpd_can_network_connect را روشن کنید.

نتیجه
اکنون برنامه Node.js شما در پس یک پروکسی معکوس Nginx در حال اجرا است. این تنظیم پروکسی معکوس به اندازه کافی انعطاف پذیر است تا دسترسی کاربران شما به دیگر برنامه ها یا محتوای وب استاتیک را که می خواهید به اشتراک بگذارید ، فراهم نماید.
همچنین اگر به دنبال انتقالات رمزگذاری شده بین سرور مجازی وب و کاربران خود هستید ، در اینجا آموزشی مطرح شده است که به شما کمک می کند تا پشتیبانی HTTPS (TLS / SSL) را تنظیم کنید

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

Let’s Encrypt یک مجوز صدور گواهینامه (CA) است که روشی آسان برای به دست آوردن و نصب مجوزهای رایگان TLS / SSL فراهم می کند ، از این طریق HTTPS رمزگذاری شده را روی سرورهای وب فعال می کند. در واقع با ارائه یک کلاینت نرم افزاری ، Certbot ، که سعی در خودکارسازی اکثر مراحل لازم میکند ، فرایند را ساده می کند. در حال حاضر ، کل مراحل اخذ و نصب گواهینامه هم در Apache و هم در Nginx کاملا به صورت اتوماتیک انجام می شود.
در این آموزش از Certbot برای دریافت گواهینامه رایگان SSL برای Apache روی Debian 10 استفاده می کنید و گواهی خود را برای تمدید خودکار تنظیم می کنید.
در این آموزش به جای فایل پیکربندی پیش فرض از یک فایل میزبان مجازی Apache جداگانه استفاده خواهد شد. توصیه می کنیم برای هر دامنه فایل های جدید میزبان مجازی Apache ایجاد کنید زیرا این امر به جلوگیری از اشتباهات رایج کمک می کند و فایل های پیش فرض را به عنوان پیکربندی برگشت پذیر حفظ می کند.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک سرور Debian 10 که با دنبال کردن راهنمای ستاپ اولیه سرور برای Debian 10 تنظیم شده و شامل یک کاربر غیر root با امتیازات sudo و فایروال باشد.
• نام دامنه کاملاً ثبت شده. در این آموزش ، از your_domain به عنوان نمونه استفاده می شود. می توانید نام دامنه را در Namecheap خریداری کنید ، یکی از آنها را به صورت رایگان در Freenom دریافت کنید ، یا از ثبت دامنه مورد نظر خود استفاده کنید.
• هر دو فایل DNS زیر که برای سرور شما تنظیم شده اند. برای انجام این کار ، می توانید دستورالعمل های اضافه کردن دامنه ها و سپس دستورالعمل های ایجاد رکوردهای DNS را دنبال کنید.
o یک رکورد A با your_domain که به آدرس IP عمومی سرور شما اشاره کند.
o یک رکورد A با www.your_domain که به آدرس IP عمومی سرور شما اشاره کند.
• Apache که با دنبال کردن نحوه نصب Apache در Debian 10 نصب شده باشد. مطمئن شوید که یک فایل میزبان مجازی برای دامنه خود تنظیم کرده اید. در این آموزش از /etc/apache2/sites-available/your_domain.conf به عنوان نمونه استفاده می شود.
مرحله 1 – نصب Certbot
اولین قدم برای استفاده از Let’s Encrypt جهت دریافت گواهینامه SSL ، نصب نرم افزار Certbot در سرور شماست.
در حال حاضر ، Certbot به طور پیش فرض از مخازن نرم افزار Debian در دسترس نیست. برای دانلود نرم افزار با استفاده از apt ، باید مخازن backport را به فایل Source.list خود اضافه کنید که apt به دنبال منابع بسته میباشد. backport ها بسته هایی از تست دبیان و توزیع های ناپایدار هستند که دوباره کامپایل می شوند بنابراین بدون کتابخانه های جدید در توزیع های دبیان پایدار اجرا می شوند.
برای اضافه کردن مخزن backports ، فایل sources.list را در دیرکتوری / etc / apt / خود باز کنید (یا ایجاد کنید):
$ sudo nano /etc/apt/sources.list

در انتهای فایل خط زیر را اضافه کنید:
/etc/apt/sources.list.d/sources.list
. . .
deb http://mirrors.vpsgol.com/debian buster-backports main
deb-src http://mirrors.vpsgol.com/debian buster-backports main
deb http://ftp.debian.org/debian buster-backports main

شامل بسته های اصلی می باشد که سازگار با دستورالعمل های نرم افزار رایگان Debian (DFSG) و همچنین مولفه های non-free و contrib هستند که خود یا مطابق DFSG نیستند و یا متعلقاتی در این دسته دارند.
فایل را با فشار دادن CTRL + X ، Y ، سپس enter ، ذخیره کرده و ببندید ، سپس لیست بسته های خود را به روز کنید:
$ sudo apt update

سپس Certbot را با دستور زیر نصب کنید. توجه داشته باشید که گزینه -t به apt میگوید که با جستجوی مخزن backports که اخیراً اضافه کردید به دنبال بسته باشد:
$ sudo apt install python-certbot-apache -t buster-backports

Certbot اکنون آماده استفاده است اما برای اینکه SSL برای Apache پیکربندی شود ، باید تأیید کنیم که Apache به درستی پیکربندی شده است.
مرحله 2 – تنظیم گواهی SSL
Certbot باید بتواند میزبان مجازی صحیح را در پیکربندی Apache شما پیدا کند تا SSL را به صورت خودکار پیکربندی کند. به طور خاص ، این کار را با جستجوی یک دستورالعمل ServerName انجام می دهد که با دامنه ای مطابق است که میخواهید برای آن مجوز بگیرید.
اگر مرحله آموزش میزبان مجازی را در آموزش نصب Apache دنبال کردید ، باید یک بلوک VirtualHost برای دامنه خود در /etc/apache2/sites-available/your_domain.conf با دستورالعمل ServerName که قبلاً به طور مناسب تنظیم شده است، داشته باشید.
برای بررسی ، فایل میزبان مجازی را برای دامنه خود با استفاده از nano یا ویرایشگر متن مورد علاقه خود باز کنید:
$ sudo nano /etc/apache2/sites-available/your_domain.conf

خط ServerName موجود را پیدا کنید. باید مانند این به نظر برسد و نام دامنه شما به جای your_domain قرار بگیرد:
/etc/apache2/sites-available/your_domain.conf

ServerName your_domain;

اگر قبلاً این کار را انجام نداده اید ، دستورالعمل ServerName را به روز کنید تا به نام دامنه شما اشاره کنید. سپس فایل را ذخیره کنید ، از ویرایشگر خود خارج شوید و ترکیب ویرایش های پیکربندی خود را تأیید کنید:
$ sudo apache2ctl configtest

اگر خطایی در نحو وجود نداشته باشد ، آن را در خروجی خود مشاهده خواهید کرد:
Output
Syntax OK

اگر خطایی رخ داد ، فایل میزبان مجازی را مجدداً باز کنید و هرگونه اشتباه تایپی یا کاراکتر جا افتاده را بررسی کنید. پس از اینکه ترکیب فایل پیکربندی شما صحیح شد ، Apache را مجدد لود کنید تا پیکربندی جدید بارگیری شود:
sudo systemctl reload apache2

Certbot اکنون می تواند بلوک صحیح VirtualHost را پیدا کرده و آن را به روز کند.
در مرحله بعد ، بیایید فایروال را به روز کنیم تا امکان ترافیک HTTPS را بدهیم.
مرحله 3 – اجازه دادن به HTTPS از طریق فایروال
اگر فایروال ufw را فعال کرده باشید ، همانطور که توسط راهنماهای پیش نیاز توصیه شده است ، برای تنظیم ترافیک HTTPS ، باید تنظیماتی را انجام دهید. خوشبختانه ، وقتی روی Debian نصب شده باشد ، ufw با چند پروفایل بسته بندی می شود که به ساده کردن روند تغییر قوانین فایروال برای ترافیک HTTP و HTTPS کمک می کند.
با تایپ دستور زیر می توانید تنظیم فعلی را مشاهده کنید:
$ sudo ufw status

اگر از مرحله 2 راهنمای ما در مورد چگونگی نصب Apache در Debian 10 استفاده کرده باشید، خروجی دستور اینگونه خواهد بود ، نشان می دهد که فقط ترافیک HTTP به سرور وب مجاز است:
Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)

برای اجزاه ترافیک HTTPS بیشتر، به پروفایل “WWW Full” مجوز بدهید و بخش اضافی “WWW” را حذف کنید:
$ sudo ufw allow ‘WWW Full’

$ sudo ufw delete allow ‘WWW’

وضعیت شما اکنون باید به این شکل باشد:
$ sudo ufw status

Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)

سپس ، بیایید Certbot را اجرا کنیم و گواهینامه هایمان را دریافت کنیم.
مرحله 4 – اخذ گواهینامه SSL
Certbot روشهای مختلفی برای گرفتن گواهینامه های SSL از طریق افزونه ها ارائه می دهد. افزونه Apache از تنظیم مجدد Apache و بارگیری مجدد تنظیمات در صورت لزوم مراقبت خواهد کرد. برای استفاده از این افزونه ، دستور زیر را تایپ کنید:
$ sudo certbot –apache -d your_domain -d www.your_domain

این کار Certbot را با افزونه –apache با استفاده از -d برای مشخص کردن نام هایی که معتبر آن هستند اجرا میکند.
اگر این اولین بار است که Certbot را اجرا میکنید ، از شما خواسته می شود که آدرس ایمیل را وارد کنید و با شرایط سرویس ها موافقت کنید. علاوه بر این ، از شما سؤال خواهد کرد که آیا می خواهید آدرس ایمیل خود را با بنیاد الکترونیکی Frontier ، یک سازمان غیرانتفاعی که از حقوق دیجیتال دفاع می کند و همچنین سازنده Certbot است به اشتراک بگذارید یا خیر. برای اشتراک آدرس ایمیل Y و برای رد این اعلان N را وارد کنید.
بعد از انجام این کار ، certbot با سرور Let’S Encrypt ارتباط برقرار می کند ، سپس برای تأیید اینکه دامنه مورد نظر خود را کنترل می کنید ، یک چالش اجرا کنید.
اگر موفقیت آمیز باشد ، certbot از شما می پرسد که چگونه می خواهید تنظیمات HTTPS خود را پیکربندی کنید:
Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
——————————————————————————-
1: No redirect – Make no further changes to the webserver configuration.
2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you’re confident your site works on HTTPS. You can undo this
change by editing your web server’s configuration.
——————————————————————————-
Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):

گزینه خود را انتخاب کنید و سپس ENTER بزنید. پیکربندی به طور خودکار به روز می شود ، و Apache برای انتخاب تنظیمات جدید مجدد لود می شود. certbot با پیغامی همراه خواهد بود که به شما می گوید روند موفقیت آمیز بوده و گواهی نامه های شما در کجا ذخیره شده است:
Output
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your_domain/privkey.pem
Your cert will expire on 2019-10-20. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the “certonly” option. To non-interactively renew *all* of
your certificates, run “certbot renew”
– Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
– If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

گواهینامه های شما دانلود ، نصب و لود می شوند. سعی کنید وب سایت خود را با استفاده از https: // مجدد لود کنید و به نشانگر امنیتی مرورگر خود توجه کنید. باید نشان دهد که سایت به طور صحیح ایمن است ، معمولاً با نماد قفل سبز انجام میشود. اگر سرور خود را با استفاده از SSL Labs Server Test آزمایش کنید ، درجه A دریافت می کند.
بیایید با آزمایش روند تجدید کار را به پایان برسانیم.
مرحله 5 – تأیید تمدید خودکار Certbot
گواهی های Let’s Encrypt فقط برای نود روز اعتبار دارند. این امر برای ترغیب کاربران به اتوماسیون کردن فرایند تجدید گواهینامه میباشد. بسته certbot که نصب کردیم با اضافه کردن یک اسکریپت تجدید به /etc/cron.d از این امر مراقبت می کند. این اسکریپت روزانه دو بار اجرا می شود و به طور خودکار هر مدرکی را که کمتر از سی روز از انقضای آن مانده ، تمدید می کند.
برای آزمایش فرایند تجدید ، می توانید با استفاده از certbot این دستور را اجرا کنید:
$ sudo certbot renew –dry-run

اگر خطایی نمی بینید ، همه تنظیمات انجام شده است. در صورت لزوم ، Certbot گواهی های شما را تمدید کرده و Apache را مجدد لود می کند تا تغییرات را اعمال کند. اگر فرایند تمدید خودکار زمانی از کار نافتد ، Let’s Encrypt پیامی را به ایمیلی که مشخص کرده اید ، ارسال می کند و به شما هشدار می دهید که گواهی شما رو به پایان است.
نتیجه
در این آموزش ، کلاینت lets Encrypt certbot را نصب کردید ، گواهینامه های SSL را برای دامنه خود دانلود کردید ، Apache را برای استفاده از این گواهینامه ها پیکربندی کرده و تمدید خودکار گواهی نامه را فعال نمودید. اگر سؤال دیگری در مورد استفاده از Certbot دارید ، مراجعه به مطالب مربوطه آنها توصیه میشود.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

ماژول mod_rewrite در Apache به شما امکان می دهد URL ها را با روشی تمیزتر بازنویسی کنید ، مسیرهای قابل خواندن توسط انسان را به رشته های جستار سازگار با کد تبدیل کنید. همچنین به شما امکان می دهد URL ها را بر اساس شرایط بازنویسی کنید.
فایل .htaccess به شما امکان می دهد بدون دسترسی به فایلهای پیکربندی سرور مجازی ، قوانین بازنویسی را ایجاد و اعمال کنید. با قرار دادن فایل .htaccess در ریشه وب سایت خود ، می توانید بازنویسی ها را بر اساس هر سایت یا هر دایرکتوری مدیریت کنید.
در این آموزش ، شما می توانید mod_rewrite را فعال کرده و از فایلهای .htaccess برای ایجاد یک تغییر مسیر URL اصلی استفاده کنید و سپس چند مورد استفاده پیشرفته را جستجو کنید.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
یک سرور مجازی Debian 10 با دنبال کردن راهنمای ستاپ اولیه سرور مجازی Debian 10 تنظیم شده باشد، و شامل کاربر sudo غیر ریشه و یک فایروال باشد.
Apache که طبق مراحل 1 و 2 نحوه نصب وب سرور مجازی Apache در Debian 10 نصب شده باشد.

مرحله 1 – فعال کردن mod_rewrite
برای اینکه Apache بتواند قوانین بازنویسی را درک کند ، ابتدا باید mod_rewrite را فعال کنیم. قبلاً نصب شده است ، اما در نصب پیش فرض Apache غیرفعال است. برای فعال کردن ماژول از دستور a2enmod استفاده کنید:
$ sudo a2enmod rewrite

با این کار ماژول فعال می شود یا به شما هشدار می دهد که ماژول از قبل فعال شده است. برای اجرای این تغییرات ، Apache را مجدداً راه اندازی کنید:
$ sudo systemctl restart apache2

اکنون mod_rewrite کاملاً فعال است. در مرحله بعدی یک فایل .htaccess را برای تعریف قوانین بازنویسی برای تغییر مسیرها تنظیم خواهیم کرد.
مرحله 2 – تنظیم .htaccess
فایل .htaccess به ما امکان می دهد قوانین بازنویسی خود را بدون دسترسی به فایل های پیکربندی سرور مجازی اصلاح کنیم. به همین دلیل ، .htaccess برای امنیت برنامه وب شما بسیار مهم است. زمانی که پیش از نام فایل وجود دارد، اطمینان می دهد که فایل پنهان شده است.

توجه: هر قانونی که بتوانید در یک فایل .htaccess قرار دهید ، می تواند مستقیماً در فایل های پیکربندی سرور مجازی قرار گیرد. در حقیقت ، مطالب رسمی Apache توصیه می کند از فایل های پیکربندی سرور مجازی به جای .htaccess به دلیل زمان پردازش سریعتر استفاده کنید.
با این حال ، در این مثال ساده ، افزایش عملکرد ناچیز خواهد بود. علاوه بر این ، تنظیم قوانین در .htaccess راحت است ، به خصوص با چندین وب سایت در همان سرور مجازی. نیازی به راه اندازی مجدد سرور مجازی برای ایجاد تغییرات یا اعمال امتیازات اصلی برای ویرایش قوانین ، ساده سازی نگهداری و روند ایجاد تغییرات با یک حساب بدون امتیاز نیست. نرم افزارهای منبع باز محبوب مانند WordPress و Joomla برای ایجاد تغییرات و قوانین اضافی در صورت تقاضا به فایلهای .htaccess متکی هستند.
قبل از شروع استفاده از فایل های .htaccess ، باید تنظیمات دیگری را تنظیم و ایمن کنید.
به طور پیش فرض ، Apache با استفاده از فایل .htaccess اعمال قوانین بازنویسی را ممنوع می کند ، بنابراین ابتدا باید تغییراتی در فایل اعمال کنید. فایل پیش فرض پیکربندی Apache را با استفاده از nano یا ویرایشگر متن مورد علاقه خود باز کنید:
$ sudo nano /etc/apache2/sites-available/000-default.conf

در داخل آن فایل ، بلوک <VirtualHost *: 80> را که از خط اول شروع می شود ، پیدا خواهید کرد. در داخل آن بلوک ، بلوک جدید زیر را اضافه کنید تا فایل پیکربندی شما مانند زیر شود. مطمئن شوید که همه بلوک ها به درستی قرار گرفته اند:
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

. . .
</VirtualHost>

فایل را ذخیره کنید و ببندید. اگر از nano استفاده کرده اید ، این کار را با فشار دادن CTRL + X ، Y ، سپس enter انجام دهید.
سپس ، پیکربندی خود را بررسی کنید:
$ sudo apache2ctl configtest

اگر خطایی وجود ندارد ، Apache را مجدداً راه اندازی کنید تا تغییرات خود را به مرحله اجرا برسانید:
$ sudo systemctl restart apache2

اکنون ، یک فایل .htaccess را در ریشه وب ایجاد کنید:
$ sudo nano /var/www/html/.htaccess

این خط را در بالای فایل جدید اضافه کنید تا موتور بازنویسی فعال شود.
var/www/html/.htaccess
RewriteEngine on

فایل را ذخیره کرده و خارج شوید.
اکنون یک فایل .htaccess عملیاتی دارید که می توانید از آن استفاده کنید تا قوانین مسیریابی برنامه وب خود را کنترل کنید. در مرحله بعد ، یک فایل وب سایت نمونه را ایجاد خواهیم کرد که برای نشان دادن قوانین بازنویسی استفاده خواهیم کرد.
مرحله 3 – پیکربندی بازنویسی URL
در اینجا ، یک بازنویسی URL پایه را تنظیم می کنیم که URL های زیبا را به مسیرهای واقعی به صفحات تبدیل می کند. به طور خاص ، ما به کاربران این امکان را می دهیم که به http: // your_server_ip / about دسترسی پیدا کنند و صفحه ای به نام about.html را به نمایش بگذارند.
با ایجاد فایلی با نام about.html در ریشه وب شروع کنید:
$ sudo nano /var/www/html/about.html

کد HTML زیر را در فایل کپی کنید ، سپس آن را ذخیره کرده و ببندید.
/var/www/html/about.html
<html>
<head>
<title>About Us</title>
</head>
<body>
<h1>About Us</h1>
</body>
</html>

شما می توانید به این صفحه به آدرس http: //your_server_ip/about.html دسترسی پیدا کنید ، اما توجه داشته باشید که اگر سعی کنید به http: // your_server_ip / About دسترسی پیدا کنید ، خطای 404 Not Found  را مشاهده خواهید کرد. در عوض برای دسترسی به صفحه با استفاده از /about، یک قانون بازنویسی ایجاد خواهیم کرد.
همه RewriteRules از این قالب پیروی می کنند:
General RewriteRule structure
RewriteRule pattern substitution [flags]

RewriteRule دستورالعمل را مشخص می کند
patternیک عبارت معمولی است که رشته مورد نظر را از URL مطابقت می دهد ، همان چیزی است که بیننده در مرورگر تایپ می کند.
substitution مسیر URL واقعی است ، یعنی مسیر فایلی که Apache ارائه می کند.
flags پارامترهای اختیاری هستند که می توانند نحوه عملکرد قانون را تغییر دهند.
بیایید قانون بازنویسی URL را ایجاد کنیم. فایل .htaccess را باز کنید:
$ sudo nano /var/www/html/.htaccess

بعد از اولین خط ، RewriteRule زیر را اضافه کنید و فایل را ذخیره کنید:
/var/www/html/.htaccess
RewriteEngine on
RewriteRule ^about$ about.html [NC]

در این حالت ، ^about$ الگو است ، about.html جایگزین است ، و [NC] یک پرچم است. مثال ما از چند کاراکتر با معنی خاص استفاده می کند:
^ شروع URL را نشان می دهد ، بعد از your_server_ip /.
$ نشانگر پایان URL است.
about با رشته “درباره” منطبق میشود
About.html فایل واقعی است که کاربر به آن دسترسی پیدا می کند.
[NC] یک پرچم است که قانون را نسبت به نمونه غیر حساس می کند.
اکنون می توانید به مرورگر خود به http: // your_server_ip / about دسترسی پیدا کنید. در حقیقت ، با این قانون که در بالا نشان داده شده است ، آدرس های اینترنتی زیر به about.html نیز اشاره می کنند:
http: // your_server_ip / about ، به دلیل تعریف قانون.
http: // your_server_ip / About ، چون این قانون حساسیتی ندارد.
http: //your_server_ip/about.html ، زیرا نام اصلی فایل همیشه کار خواهد کرد.
با این حال ، موارد زیر کار نخواهد کرد:
http: // your_server_ip / about / ، زیرا این قانون به صراحت بیان می کند که ممکن است هیچ چیز دیگری بعد از about وجود نداشته باشد ، زیرا کاراکتر $ بعد از آن ظاهر می شود.
http: // your_server_ip / contact ، زیرا با رشته about در قانون مطابقت ندارد.
اکنون یک فایل .htaccess عملیاتی با یک قانون پایه دارید که می توانید نیازهای خود را تغییر داده و گسترش دهید. در بخش های بعدی ، دو نمونه دیگر از دستورالعمل های متداول را نشان خواهیم داد.
مثال 1 – ساده سازی رشته های پرس و جو با RewriteRule
برنامه های وب اغلب از رشته های پرس و جو استفاده می کنند ، که با استفاده از علامت سؤال (؟) بعد از آدرس به URL اضافه می شوند. پارامترهای جداگانه با استفاده از ampersand (&) محدود می شوند. رشته های پرس و جو ممکن است برای انتقال داده های اضافی بین صفحات برنامه فردی استفاده شود.
به عنوان مثال ، یک صفحه نتیجه جستجو که به زبان PHP نوشته شده است ، می تواند از URL مانند http://example.com/results.php?item=shirt&season=summer استفاده کند. در این مثال ، دو پارامتر اضافی به اسکریپت نرم افزار result.php موهومی منتقل می شود: item ، با مقدار shirt ، و season با مقدار summer. برنامه ممکن است از اطلاعات رشته پرس و جو برای ایجاد صفحه مناسب برای بازدید کننده استفاده کند.
قوانین بازنویسی Apache اغلب برای ساده کردن پیوندهای طولانی و ناخوشایند به عنوان مثال URL فوق به URLهای مناسب تر که تایپ و تفسیر بصری آسان تری دارند ، به کار می روند. در این مثال ، ما می خواهیم لینک بالا را ساده کنیم تا به http://example.com/shirt/summer تبدیل شود. مقادیر پارامتر shirt و summer هنوز در آدرس هستند ، اما بدون نام رشته و نام اسکریپت.
در اینجا یک قانون برای انجام این کار وجود دارد:
Simple substition
RewriteRule ^shirt/summer$ results.php?item=shirt&season=summer [QSA]

summer / shirt به طور واضح در آدرس درخواستی مطابقت دارد و به Apache گفته می شود که به جای results.php?item=shirt&season=summer را ارائه دهد.
پرچم های [QSA] معمولاً در قوانین بازنویسی استفاده می شوند. آنها به Apache می گویند هر رشته درخواست اضافی را در URL ارائه شده اضافه کند ، بنابراین اگر بازدید کننده http://example.com/shirt/summer?page=2 را تایپ کند، سرور مجازی با results.php?item=shirt&season=summer&page=2 پاسخ می دهد. بدون آن ، رشته پرس و جو اضافی دور ریخته می شود.
در حالی که این روش به جلوه مطلوب دست می یابد ، هم نام آیتم و هم فصل به طور خاص کدگذاری می شوند. این بدان معنی است که این قانون برای سایر موارد ، مانند pants ، یا فصول دیگر مانند winter کار نخواهد کرد.
برای عمومی تر کردن این قاعده ، می توانیم از عبارات منظم برای مطابقت با قسمت های آدرس اصلی استفاده کنیم و از آن قسمت ها در الگوی جایگزین استفاده کنیم. قانون اصلاح شده به این شکل در خواهد آمد:
Simple substition
RewriteRule ^([A-Za-z0-9]+)/(summer|winter|fall|spring) results.php?item=$1&season=$2 [QSA]

اولین گروه عبارت معمول در پرانتز با رشته ای حاوی حروف الفبا و اعدادی مانند shirt یا pants مطابقت دارد و بخش منطبق را به عنوان متغیر $1 ذخیره می کند. دومین گروه عبارت معمول در پرانتز دقیقاً summer ، winter ، fall یا spring را مطابقت میدهد و به همین ترتیب بخش سازگار را به عنوان $2 ذخیره می کند.
بخش های منطبق پس از آن در URL نتیجه به صورت متغیرهای item و season به جای مقادیر shirt و summer استفاده می شوند.
موارد فوق مثلاً http://example.com/pants/summer را به http://example.com/results.php?item=pants&season=summer تبدیل می کند. این مثال همچنین مناسب آینده است ، به شما امکان می دهد چندین مورد و فصل را به طور صحیح با استفاده از یک قانون واحد بازنویسی کنید.
مثال 2 – اضافه کردن شرایط با منطق با استفاده از RewriteConds
قوانین بازنویسی الزاماً همیشه یک به یک و بدون محدودیت ارزیابی نمی شوند. دستورالعمل RewriteCond به ما امکان می دهد شرایطی را برای قوانین بازنویسی خود اضافه کنیم تا کنترل کنیم چه زمانی این قوانین پردازش می شوند. کلیه RewriteConds با فرمت زیر عمل می کنند:
General RewriteCond structure
RewriteCond TestString Condition [Flags]

RewriteCond دستورالعمل RewriteCond را مشخص می کند.
TestString رشته ای است که باید در برابر آن آزمایش کنید.
Condition الگو یا شرط مطابقت است.
Flags پارامترهای اختیاری هستند که ممکن است شرایط و قوانین ارزیابی را تغییر دهند.
اگر نتیجه ارزیابی RewriteCond درست باشد ، RewriteRule بعدی در نظر گرفته می شود. اگر درست نباشد ، این قانون کنار گذاشته می شود. چندین RewriteConds ممکن است یکی پس از دیگری مورد استفاده قرار گیرند ، اگرچه همه باید برای ارزیابی قانون بعدی درست باشند.
به عنوان نمونه ، فرض می کنیم شما می خواهید به جای نشان دادن صفحه خطای استاندارد  404 Not Found ، همه درخواست ها را به فایل ها یا دیرکتوری های غیر موجود در سایت خود برگردانید. این امر با قوانین زیر حاصل میشود:
Redirect all requests to non-existent files and directories to home page
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /

%{REQUEST_FILENAME} رشته ای برای بررسی است. در این حالت ، نام فایل درخواستی است ، که متغیر سیستمی برای هر درخواست میباشد.
-f یک شرایط داخلی است که تأیید می کند که آیا نام درخواست شده در دیسک وجود دارد و یک فایل است. ! یک عامل منفی کننده است. ترکیب! -f فقط درصورتی که نام مشخص شده وجود نداشته باشد یا فایل نباشد ، درست ارزیابی می شود.
• به طور مشابه ،! -d فقط درصورتی که نام مشخص شده وجود نداشته باشد یا دیرکتوری نباشد ، درست ارزیابی می شود.
RewriteRule در خط نهایی فقط برای درخواست به فایل ها یا دایرکتوری های غیر موجود وارد خواهد شد. خود RewriteRule بسیار ساده است و هر درخواستی را به ریشه / وب سایت هدایت می کند.
نتیجه
mod_rewrite به شما امکان می دهد URL های قابل خواندن توسط انسان ایجاد کنید. در این آموزش ، یاد گرفتید که چگونه از دستورالعمل RewriteRule برای هدایت URL ها استفاده کنید ، از جمله آنهایی که رشته های پرس و جو دارند. همچنین یاد گرفتید که چگونه URL ها را با استفاده از دستورالعمل RewriteCond به صورت مشروط هدایت کنید.
اگر می خواهید در مورد mod_rewrite اطلاعات بیشتری کسب کنید ، به mod_rewrite Introduction و مستندات رسمی Apache برای mod_rewrite نگاهی بیندازید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

سرور مجازی Apache HTTP پرکاربردترین وب سرور مجازی در جهان است. این سرور مجازی بسیاری از ویژگی های قدرتمند از جمله ماژول های قابل بارگیری پویا ، پشتیبانی رسانه ای قوی و ادغام گسترده با سایر نرم افزارهای محبوب را ارائه می دهد.
در این راهنما نحوه نصب یک وب سرور مجازی Apache را در سرور مجازی Debian 10 شما توضیح خواهیم داد.
پیش نیازها
قبل از شروع این راهنما ، باید یک کاربر معمولی و غیر ریشه با امتیازات sudo در سرور مجازی خود داشته باشید. علاوه بر این ، باید یک فایروال پایه را فعال کنید تا پورت های غیر ضروری را مسدود نمایید. با پیروی از راهنمای تنظیم اولیه سرور مجازی برای Debian 10 می توانید نحوه پیکربندی یک حساب کاربری معمولی و تنظیم فایروال را برای سرور مجازی خود بیاموزید.
هنگامی که یک حساب کاربری در اختیار گرفتید ، به عنوان کاربر غیر ریشه خود وارد شوید.
مرحله 1 – نصب Apache
Apache در مخازن پیش فرض نرم افزار Debian موجود است و امکان نصب آن با استفاده از ابزارهای مدیریت بسته معمولی امکان پذیر است.
بیایید با به روز کردن فهرست بسته محلی شروع کنیم تا آخرین تغییرات بالادست را منعکس کنیم:
⦁ $ sudo apt update

سپس بسته apache2 را نصب کنید:
⦁ $ sudo apt install apache2

پس از تأیید نصب ، apt و تمام متعلقات مورد نیاز را نصب می کند.
مرحله 2 – تنظیم فایروال
قبل از آزمایش Apache ، لازم است تنظیمات فایروال را اصلاح کنید تا دسترسی خارجی به پورت های پیش فرض وب را بدهید. با فرض اینکه دستورالعمل های پیش نیاز را رعایت کرده باشید ، باید فایروال UFW را تنظیم کرده تا دسترسی به سرور مجازی شما محدود شود.
در حین نصب ، Apache خود را با UFW ثبت می کند تا چند پروفایل برنامه ارائه دهد که می تواند برای فعال یا غیرفعال کردن دسترسی به Apache از طریق فایروال استفاده شود.
پروفایل برنامه ufw را با تایپ کردن دستور زیر لیست کنید:
⦁ $ sudo ufw app list

لیستی از پروفایل های برنامه را مشاهده خواهید کرد:
Output
Available applications:
AIM
Bonjour
CIFS
. . .
WWW
WWW Cache
WWW Full
WWW Secure
. . .

پروفایل های Apache با WWW آغاز می شود:
WWW: این نمایه فقط پورت 80 را باز می کند (ترافیک وب عادی و بدون رمزگذاری)
WWW Cache: این نمایه فقط پورت 8080 را باز می کند (گاهی اوقات برای ذخیره سازی و پروکسی های وب استفاده می شود)
WWW Full: این نمایه هر دو پورت 80 (ترافیک وب عادی ، بدون رمزگذاری) و پورت 443 (ترافیک رمزگذاری شده TLS / SSL) را باز می کند
WWW Secure: این نمایه فقط پورت 443 را باز می کند (ترافیک رمزگذاری شده TLS / SSL)
توصیه می شود محدودترین نمایه ای را که امکان ترافیک پیکربندی شده شما را فراهم می کند ، فعال کنید. از آنجا که ما هنوز در این راهنما SSL را برای سرور مجازی خود پیکربندی نکرده ایم ، فقط نیاز به ترافیک در بندر 80 داریم:
⦁ $ sudo ufw allow ‘WWW’

می توانید تغییر را با تایپ دستور زیر تأیید کنید:
⦁ $ sudo ufw status

باید ترافیک HTTP مجاز در خروجی نمایش داده شده را مشاهده کنید:
Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)

همانطور که مشاهده می کنید ، نمایه برای دسترسی به سرور مجازی وب فعال شده است.
مرحله 3 – بررسی سرور مجازی وب خود
در پایان مراحل نصب ، Debian 10 ، Apache را شروع می کند. اکنون وب سرور مجازی باید راه اندازی و در حال اجرا باشد.
با سیستم init systemed بررسی کنید تا مطمئن شوید این سرویس در حال اجراست ، دستور زیر را تایپ کنید:
⦁ $ sudo systemctl status apache2

Output
● apache2.service – The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-07-19 15:33:01 UTC; 4min 13s ago
Docs: https://httpd.apache.org/docs/2.4/

. . .

Jul 19 15:33:01 debssh systemd[1]: Starting The Apache HTTP Server…
Jul 19 15:33:01 debssh apachectl[2791]: AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive global
Jul 19 15:33:01 debssh systemd[1]: Started The Apache HTTP Server.

همانطور که از این خروجی می بینید ، به نظر می رسد این سرویس با موفقیت شروع شده است. با این حال ، بهترین راه برای آزمایش، درخواست یک صفحه از Apache است.
برای تأیید صحت اجرای نرم افزار از طریق آدرس IP خود ، می توانید به صفحه فرود پیش فرض Apache دسترسی پیدا کنید. اگر آدرس IP سرور مجازی خود را نمی دانید ، می توانید آن را به چند راه مختلف از خط فرمان دریافت کنید.
سعی کنید این را در خط فرمان سرور مجازی خود تایپ کنید:
⦁ $ hostname -I

چند آدرس که با فاصله از هم جدا شده اند، دریافت می کنید. می توانید هرکدام را در مرورگر وب خود امتحان کنید تا ببینید که آیا کار می کنند.
راه دیگر استفاده از ابزار curl است که باید آدرس IP عمومی خود را همانطور که از مکان دیگری در اینترنت مشاهده می شود به شما بدهد.
ابتدا ، curl را با استفاده از aptنصب کنید:
⦁ $ sudo apt install curl

سپس از curl برای بازیابی icanhazip.com به کمک IPv4 استفاده نمایید.
⦁ $ curl -4 icanhazip.com

هنگامی که آدرس IP سرور مجازی خود را دارید ، آن را در نوار آدرس مرورگر خود وارد کنید:

http://your_server_ip

باید صفحه وب پیش فرض Debian 10 Apache را ببینید:

این صفحه نشان می دهد که Apache درست کار می کند. این برنامه همچنین شامل برخی از اطلاعات اولیه در مورد فایل های مهم Apache و مکان های فهرست بندی است.
مرحله 4 – مدیریت فرایند Apache
اکنون که سرور مجازی وب خود را فعال و راه اندازی کرده اید ، اجازه دهید برخی از دستورات مدیریت اصلی را مرور کنیم.
برای متوقف کردن سرور مجازی وب خود ، تایپ کنید:
⦁ $ sudo systemctl stop apache2

برای شروع سرور مجازی وب وقتی متوقف شده است ، تایپ کنید:
⦁ $ sudo systemctl start apache2

برای متوقف کردن و شروع مجدد سرویس ، تایپ کنید:
⦁ $ sudo systemctl restart apache2

اگر به سادگی تغییرات پیکربندی را انجام می دهید ، Apache اغلب می تواند بدون افت اتصالات مجدد لود شود. برای انجام این کار ، از این دستور استفاده کنید:
⦁ $ sudo systemctl reload apache2

به طور پیش فرض ، Apache به گونه ای پیکربندی می شود که به طور خودکار با بوت شدن سرور مجازی شروع به کار کند. اگر این چیزی نیست که شما می خواهید ، با تایپ کردن این دستور آن را غیرفعال کنید:
⦁ $ sudo systemctl disable apache2

برای فعال کردن مجدد سرویس در هنگام بوت ، این دستور را تایپ کنید:
⦁ $ sudo systemctl enable apache2

با شروع مجدد بوت شدن سرویس دهنده ، اکنون Apache باید به طور خودکار شروع کند.
مرحله 5 – تنظیم میزبان های مجازی (توصیه می شود(
هنگام استفاده از وب سرور مجازی Apache ، می توانید از هاست های مجازی (مشابه بلوک های سرور مجازی در Nginx ) برای محصور کردن جزئیات پیکربندی و میزبانی بیش از یک دامنه از یک سرور مجازی واحد استفاده کنید. در دستورات زیر ، your_domain را با نام دامنه خود جایگزین کنید. برای کسب اطلاعات بیشتر در مورد تنظیم نام دامنه با vpsgol ، به مقدمه ما در vpsgol DNS مراجعه کنید.
Apache در Debian 10 دارای یک بلوک سرور مجازی است که به طور پیش فرض فعال شده است تا اسناد را از دیرکتوری / var / www / html. ارائه دهد.اگرچه این برای یک سایت واحد به خوبی کار می کند ، اما اگر میزبان چندین سایت باشید ، می تواند با مشکل روبه رو شود. به جای اصلاح / var / www / html ، بیایید یک ساختار دایرکتوری در / var / www برای سایت your_domain ایجاد کنیم ، در این صورت / var / www / html را به عنوان دایرکتوری پیش فرض قرار می دهیم که در صورتی که درخواست کلاینت با هیچ سرویسی مطابقت نداشته باشد، ارائه شود.
با استفاده از پرچم -p ، برای ایجاد هر دیرکتوری لازم ، دیرکتوری را برای your_domain به صورت زیر ایجاد کنید:
sudo mkdir -p /var/www/your_domain
سپس ، مالکیت دایرکتوری را با متغیر محیطی $ USER اختصاص دهید:
⦁ $ sudo chown -R $USER:$USER /var/www/your_domain

در صورتی که مقدار unmask خود را تغییر نداده اید ، مجوزهای ریشه وب شما باید صحیح باشد ، اما می توانید با تایپ دستور زیر مطمئن شوید:
⦁ $ sudo chmod -R 755 /var/www/your_domain

سپس ، با استفاده از nano یا ویرایشگر مورد علاقه خود ، صفحه index.html نمونه را ایجاد کنید:
⦁ $ nano /var/www/your_domain/index.html

در داخل ، HTML نمونه زیر را اضافه کنید:
/var/www/your_domain/index.html
<html>
<head>
<title>Welcome to your_domain!</title>
</head>
<body>
<h1>Success! The your_domain virtual host is working!</h1>
</body>
</html>

پس از اتمام فایل را ذخیره کنید و ببندید.
برای اینکه Apache بتواند این محتوا را ارائه دهد ، باید یک فایل میزبان مجازی با بخشنامه های صحیح ایجاد کنید. به جای تغییر فایل پیکربندی پیش فرض واقع در /etc/apache2/sites-available/000-default.conf ، اجازه دهید فایل جدیدی را در /etc/apache2/sites-available/your_domain.conf ایجاد کنیم:
⦁ $ sudo nano /etc/apache2/sites-available/your_domain.conf

در بلوک پیکربندی زیر که مشابه پیش فرض است ، پیست کنید اما برای دیرکتوری جدید و نام دامنه آن را به روز کنید:
/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
ServerAdmin admin@your_email_domain
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

توجه کنید که ما DocumentRoot را در دایرکتوری جدید خود و ServerAdmin را به ایمیلی که به مدیر سایت your_domain دسترسی دارد ، به روز کرده ایم. همچنین دو دستورالعمل اضافه کرده ایم: ServerName ، که دامنه پایه ای را که باید برای این تعریف میزبان مجازی مطابقت داشته باشد منتشر میکند، و ServerAlias ​​، که نامهای دیگری را تعریف می کند که باید مطابق با نام اصلی باشند.
پس از اتمام فایل را ذخیره کنید و ببندید.
بیایید فایل را با ابزار a2ensite فعال کنیم:
⦁ $ sudo a2ensite your_domain.conf

سایت پیش فرض تعریف شده در 000-default.conf را غیرفعال کنید.
⦁ $ sudo a2dissite 000-default.conf

سپس ، خطاهای پیکربندی را آزمایش کنید:
⦁ $ sudo apache2ctl configtest

باید خروجی زیر را مشاهده کنید:
Output
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
Syntax OK

برای اجرای تغییرات مجدد Apache را راه اندازی کنید.
⦁ $ sudo systemctl restart apache2

اکنون Apache باید در خدمت نام دامنه شما باشد. می توانید با رفتن به http: // your_domain آن را تست کنید، در آن جا باید چیزی شبیه به این را مشاهده کنید :

مرحله ششم – آشنایی با فایل ها و دیرکتوری های Apache
اکنون که می دانید چگونه خود سرویس Apache را مدیریت کنید ، باید چند دقیقه وقت بگذارید تا با چند دیرکتوری و فایل مهم آشنا شوید.
Content (محتوا)
/ var / www / html: محتوای وب واقعی ، که به طور پیش فرض فقط شامل صفحه پیش فرض Apache است که قبلاً دیدید ، از دیرکتوری / var / www / html ارائه می شود. با تغییر فایل های پیکربندی Apache می توان این مورد را تغییر داد.
Server Configuration )پیکربندی سرور مجازی (
/ etc / apache2: دیرکتوری تنظیمات Apache است. همه فایل های پیکربندی Apache در اینجا قرار دارند.
/etc/apache2/apache2.conf: فایل اصلی پیکربندی Apache که می تواند برای ایجاد تغییر در پیکربندی جهانی Apache اصلاح شود. این فایل وظیفه لود بسیاری از فایل های دیگر را در دیرکتوری تنظیمات دارد.
/etc/apache2/ports.conf: این فایل پورت هایی را که Apache در آن گوش خواهد داد را مشخص می کند. به طور پیش فرض ، Apache درگاه 80 را گوش می دهد و علاوه بر این در هنگام فعال کردن ماژول قابلیت های SSL ، درگاه 443 را نیز پیگیری میکند.
/ etc / apache2 / sites-available /: دایرکتوری که میزبان مجازی در هر سایت در آن قابل ذخیره است. Apache از فایل های پیکربندی موجود در این دیرکتوری استفاده نمی کند مگر اینکه به دیرکتوری sites-enabled مرتبط باشند. به طور معمول ، تمام پیکربندی بلوک سرور مجازی در این دایرکتوری انجام می شود ، و سپس با پیوند به دیرکتوری دیگر با دستور a2ensite فعال می شوید.
/ etc / apache2 / sites-enabled /: دایرکتوری که میزبان مجازی فعال در هر سایت را ذخیره میکند. به طور معمول ، با پیوند دادن به فایل های پیکربندی موجود در دیرکتوری sites-available به a2ensite ایجاد می شوند. Apache هنگام راه اندازی یا لود مجدد ، فایل های پیکربندی و پیوندهای موجود در این دیرکتوری را می خواند تا یک پیکربندی کامل را کامپایل کند.
/ etc / apache2 / conf-available /، / etc / apache2 / conf-enabled /: این دایرکتوری ها همانند دایرکتوری های sites-available و sites-enabled ارتباط دارند ، اما برای ذخیره بخش هایی از پیکربندی که به میزبان مجازی تعلق ندارد ، استفاده می شوند. فایل های موجود در دیرکتوری conf-available با استفاده از دستور a2enconf می توانند فعال شوند و با دستور a2disconf غیرفعال گردند.
/ etc / apache2 / mods-available /، / etc / apache2 / mods-enabled /: این دیرکتوری ها به ترتیب شامل ماژول های موجود و فعال هستند. فایل هایی که به.load ختم میشوند شامل بخش هایی برای بارگذاری ماژول های خاص هستند ، در حالی که فایل های منتهی به .conf شامل پیکربندی برای این ماژول ها هستند. ماژول ها را می توان با استفاده از دستور a2enmod و a2dismod فعال و غیرفعال کرد.
Server Logs (ورود ها به سرور مجازی )
/var/log/apache2/access.log: به طور پیش فرض ، هر درخواستی به سرور مجازی وب شما در این فایل log ثبت می شود ، مگر اینکه Apache پیکربندی شده باشد که کاری غیر از این را انجام دهد.
/var/log/apache2/error.log: به طور پیش فرض ، همه خطاها در این فایل ثبت می شوند. دستورالعمل LogLevel در پیکربندی Apache مشخص می کند که چه تعداد جزئیات ثبت خطا را شامل می شود.
نتیجه
اکنون که سرور مجازی وب خود را نصب کرده اید ، گزینه های بسیاری برای نوع محتوایی که می توانید ارائه کنید و فن آوری هایی که می توانید از آنها استفاده کنید دارید تا یک تجربه غنی تر را ایجاد کنید.
اگر می خواهید یک برنامه کاربردی کاملتر ایجاد کنید ، می توانید به این مقاله در مورد نحوه پیکربندی پشته LAMP در Debian 10 نگاهی بیندازید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

Apache Tomcat یک سرور مجازی وب و کانتینر servlet است که برای ارائه برنامه های جاوا استفاده می شود. Tomcat یک اجرای منبع باز از فناوری های Java Servlet و JavaServer Pages است که توسط بنیاد نرم افزار Apache منتشر شده است. این آموزش شامل نصب اولیه و برخی از تنظیمات آخرین نسخه Tomcat 9 در سرور مجازی Debian 10 میباشد.
پیش نیازها
قبل از شروع این راهنما ، باید یک کاربر غیر ریشه با امتیازات sudo در سرور مجازی خود داشته باشید. می توانید با تکمیل راهنمای تنظیم اولیه سرور مجازی Debian 10 ما این کار را یاد بگیرید.
مرحله 1 – جاوا را نصب کنید
Tomcat نیاز دارد که جاوا را روی سرور مجازی نصب باشد تا هر کد برنامه وب جاوا قابل اجرا باشد. ما می توانیم با نصب OpenJDK با apt ، این نیاز را برآورده سازیم.
ابتدا ایندکس بسته apt خود را به روز کنید:
⦁ $ sudo apt update

سپس بسته توسعه جاوا را با apt نصب کنید:
⦁ $ sudo apt install default-jdk

اکنون که جاوا نصب شده است ، می توانیم یک کاربر tomcat ایجاد کنیم که برای اجرای سرویس Tomcat استفاده خواهد شد.
مرحله 2 – ایجاد کاربر Tomcat
برای اهداف امنیتی ، Tomcat باید به عنوان یک کاربر بدون امتیازات اجرا شود (یعنی root نباشد). ما یک کاربر و گروه جدید ایجاد خواهیم کرد که سرویس Tomcat را اجرا کند.
ابتدا ، یک گروه tomcat جدید ایجاد کنید:
⦁ $ sudo groupadd tomcat

سپس ، یک کاربر جدید Tomcat ایجاد میکنیم. این کاربر را عضو گروه Tomcat میکنیم با دیرکتوری هوم / opt / tomcat (جایی که Tomcat را نصب خواهیم کرد) و یک پوسته / bin / false (تا هیچ کس نتواند وارد حساب شود):
⦁ $ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

اکنون که کاربر Tomcat ما تنظیم شده است ، اجازه دهید Tomcat را دانلود و نصب کنیم.
مرحله 3 – Tomcat را نصب کنید
بهترین راه برای نصب Tomcat 9 دانلود آخرین نسخه باینری و سپس پیکربندی دستی آن است.
آخرین نسخه Tomcat 9 را در صفحه دانلود Tomcat 9 پیدا کنید. در زمان نوشتن این مقاله، آخرین نسخه 9.0.27 است ، اما در صورت وجود باید از نسخه پایدار بعدی استفاده کنید. در زیر بخش توزیع های باینری ، و سپس در زیر لیست Core  ، لینک “tar.gz” را کپی کنید.
در مرحله بعدی ، به بخش SSH خود بازگردید و به دیرکتوری / tmp در سرور مجازی خود بروید. این یک دیرکتوری خوب برای دانلود موارد زودگذر است ، مانند تاربال Tomcat ، که ما پس از اکسترکت مطالب Tomcat نیازی به آن نداریم:
⦁ $ cd /tmp

برای دانلود تاربال از ابزار خط فرمان curl استفاده خواهیم کرد. curl را نصب کنید:
⦁ $ sudo apt install curl

اکنون ، برای دانلود پیوندی که از وب سایت Tomcat کپی کرده اید ، از curl استفاده کنید:
⦁ $ curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.11/bin/apache-tomcat-9.0.11.tar.gz

ما Tomcat را در دیرکتوری / opt / tomcat نصب خواهیم کرد. این دایرکتوری را ایجاد کنید ، سپس بایگانی را با این دستورات در آن اکسترکت کنید:
⦁ $ sudo mkdir /opt/tomcat

⦁ $ sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat –strip-components=1

در مرحله بعد ، مجوزهای کاربری مناسب را برای نصب خود تنظیم خواهیم کرد.
مرحله 4 – به روز رسانی مجوزها
کاربر Tomcat که ایجاد کردیم نیاز به دسترسی به نصب Tomcat دارد. اکنون آن را تنظیم خواهیم کرد.
به دایرکتوری بروید که در آن نصب Tomcat را باز نکردیم:
⦁ $ cd /opt/tomcat

مالکیت گروه tomcat را به کل دیرکتوری نصب بدهید:
⦁ $ sudo chgrp -R tomcat /opt/tomcat

در مرحله بعد ، به گروه tomcat دسترسی به دیرکتوری conf و کلیه محتویات آن بدهید و دسترسی به دیرکتوری خود را اجرا کنید:
⦁ $ sudo chmod -R g+r conf

⦁ $ sudo chmod g+x conf

کاربر Tomcat را به مالک دیرکتوری های webapps, work, temp, و  logs تبدیل کنید:
⦁ $ sudo chown -R tomcat webapps/ work/ temp/ logs/

اکنون که مجوزهای مناسب تنظیم شده است ، یک فایل سرویس systemd را برای مدیریت فرایند Tomcat ایجاد خواهیم کرد.
مرحله 5 – یک فایل خدمات systemd ایجاد کنید
ما می خواهیم بتوانیم Tomcat را به عنوان یک سرویس اجرا کنیم ، بنابراین فایل سرویس systemd را تنظیم خواهیم کرد.
Tomcat باید بداند جاوا در کجا نصب شده است. این مسیر معمولاً به JAVA_HOME اشاره می کند. آسانترین راه برای جستجوی آن مکان با اجرای این دستور است:
⦁ $ sudo update-java-alternatives -l

Output
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64

JAVA_HOME شما خروجی آخرین ستون است (در بالا هایلایت شده است). با توجه به مثال بالا ، JAVA_HOME صحیح برای این سرور مجازی به این صورت خواهد بود:
AVA_HOME
/usr/lib/jvm/java-1.11.0-openjdk-amd64

JAVA_HOME شما ممکن است متفاوت باشد.
با این اطلاعات می توانیم فایل سرویس systemd را ایجاد کنیم. با تایپ دستور زیر فایلی به نام tomcat.service در دیرکتوری / etc / systemd / system باز کنید:
⦁ $ sudo nano /etc/systemd/system/tomcat.service

محتوای زیر را در فایل سرویس خود پیست کنید. در صورت لزوم مقدار JAVA_HOME را اصلاح کنید تا با مقدار یافت شده در سیستم شما مطابقت داشته باشد. همچنین بهتر است تنظیمات تخصیص حافظه را که در CATALINA_OPTS مشخص شده است اصلاح کنید:
/etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment=’CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC’
Environment=’JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom’

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

پس از اتمام ، فایل را ذخیره کنید و ببندید.
سپس ، Daemon systemd را مجدد لود کنید تا از تغییرات فایل سرویس ما مطلع شود:
⦁ $ sudo systemctl daemon-reload

سرویس Tomcat را با تایپ دستور زیر شروع کنید:
⦁ $ sudo systemctl start tomcat

با تایپ دستور زیر مجدد بررسی کنید که بدون خطا شروع شده است:
⦁ $ sudo systemctl status tomcat

باید خروجی مشابه زیر را ببینید:
Output
● tomcat.service – Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2019-10-24 17:18:11 UTC; 4s ago
Process: 5962 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 5970 (java)
Tasks: 44 (limit: 2377)
Memory: 184.2M
CGroup: /system.slice/tomcat.service
└─5970 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.u

Oct 24 17:18:10 tomcat systemd[1]: Starting Apache Tomcat Web Application Container…
Oct 24 17:18:11 tomcat startup.sh[5962]: Tomcat started.
Oct 24 17:18:11 tomcat systemd[1]: Started Apache Tomcat Web Application Container.

این خروجی تأیید می کند که Tomcat در سرور مجازی شما فعال و در حال اجرا است.
مرحله 6 – فایروال را تنظیم کرده و سرور مجازی Tomcat را تست کنید
اکنون که سرویس Tomcat آغاز شده است ، می توانیم آزمایش کنیم تا مطمئن شویم که صفحه پیش فرض در دسترس است.
قبل از انجام این کار ، باید فایروال را تنظیم کنیم تا درخواست های ما بتوانند به این سرویس برسند. اگر پیش نیازها را رعایت کرده باشید ، در حال حاضر یک فایروال ufw فعال شده دارید.
Tomcat از پورت 8080 برای پذیرش درخواستها استفاده می کند. با تایپ کردن دستور زیر اجازه دسترسی به آن پورت را بدهید:
⦁ $ sudo ufw allow 8080

با اصلاح فایروال ، می توانید با رفتن به دامنه یا آدرس IP خود پس از 8080: در مرورگر وب، به صفحه splash پیش فرض دسترسی پیدا کنید:
Open in web browser
http://server_domain_or_IP:8080

علاوه بر اطلاعات دیگر ، صفحه پیش فرض Tomcat splash را نیز خواهید دید. با این حال ، اگر به عنوان مثال روی پیوندها برای برنامه Manager کلیک کنید ، از دسترسی محروم خواهید شد. ما میتوانیم این دسترسی را در مرحله بعد پیکربندی کنیم.
اگر توانستید با موفقیت به Tomcat دسترسی پیدا کنید ، اکنون زمان مناسبی برای فعال کردن فایل خدمات است به گونه ای که Tomcat به طور خودکار از بوت شروع شود:
⦁ $ sudo systemctl enable tomcat

مرحله 7 – رابط مدیریت وب Tomcat را پیکربندی کنید
برای استفاده از برنامه وب منیجر که همراه Tomcat است ، باید وارد سرور مجازی Tomcat خود شویم. این کار را با ویرایش فایل tomcat-users.xml انجام خواهیم داد:
⦁ $ sudo nano /opt/tomcat/conf/tomcat-users.xml

بهتر است کاربری را اضافه کنید که بتواند به manager-gui و admin-gui دسترسی پیدا کند (برنامه های وب که با Tomcat همراه هستند). شما می توانید این کار را با تعریف یک کاربر ، مشابه مثال زیر ، بین برچسب های tomcat-users انجام دهید. حتماً نام کاربری و رمز عبور را به چیزی امن تغییر دهید:
tomcat-users.xml
<tomcat-users>
. . .
<user username=”admin” password=”password” roles=”manager-gui,admin-gui”/>
</tomcat-users>

پس از اتمام فایل را ذخیره کنید و ببندید.
به طور پیش فرض ، نسخه های جدیدتر Tomcat دسترسی به برنامه های Manager و Host Manager را به اتصالات سرور مجازی خود محدود می کند. از آنجا که ما روی یک دستگاه از راه دور آن را نصب می کنیم ، احتمالاً می خواهید این محدودیت را حذف کنید یا تغییر دهید. برای تغییر محدودیت های آدرس IP در این مورد ، فایل های مناسب.xml را باز کنید.
برای برنامه منیجر ، تایپ کنید:
⦁ $ sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

برای برنامه هاست منیجر ، تایپ کنید:
⦁ $ sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

در داخل ، محدودیت آدرس IP را باطل کنید تا از هرجای دیگر بتوانید اتصالات برقرار کنید. از طرف دیگر ، اگر مایل هستید به اتصالات حاصل از آدرس IP شخصی خود دسترسی بدهید، می توانید آدرس IP عمومی خود را به این لیست اضافه کنید:
context.xml files for Tomcat webapps
<Context antiResourceLocking=”false” privileged=”true” >
<!–<Valve className=”org.apache.catalina.valves.RemoteAddrValve”
allow=”127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1″ />–>
</Context>

پس از اتمام ، فایل ها را ذخیره کنید و ببندید.
برای اعمال تغییرات خود ، سرویس Tomcat را مجدداً راه اندازی کنید:
⦁ $ sudo systemctl restart tomcat

مرحله 8 – دسترسی به رابط وب
اکنون که یک کاربر ایجاد کرده ایم ، می توانیم دوباره در یک مرورگر وب به رابط مدیریت وب دسترسی پیدا کنیم. یک بار دیگر ، می توانید با وارد کردن نام دامنه سرور مجازی یا آدرس IP همراه با پورت 8080 در مرورگر خود ، به رابط صحیح برسید:
Open in web browser
http://server_domain_or_IP:8080

صفحه ای که می بینید باید همان صفحه ای باشد که هنگام آزمایش قبلی به شما نشان داده شده است:

بیایید نگاهی به برنامه منیجر بیندازیم که از طریق لینک یا http: // server_domain_or_IP: 8080 / manager / html قابل دسترسی است. لازم است اعتبارات حساب که به فایل tomcat-users.xml اضافه کردید را وارد نمایید. پس از آن ، باید صفحه ای را مشاهده کنید که به شکل زیر است:

Web Application Manager برای مدیریت برنامه های جاوا استفاده می شود. می توانید در اینجا اقدام به شروع ، توقف ، بارگیری مجدد ، استقرار و عدم استقرار نمایید. همچنین می توانید برخی از تشخیص ها را در برنامه های خود اجرا کنید (مثلا پیدا کردن نشت حافظه). در آخر ، اطلاعات مربوط به سرور مجازی شما در انتهای همین صفحه موجود است.
حال اجازه دهید، از طریق لینک یا http://server_domain_or_IP:8080/host-manager/html/ نگاهی به هاست منیجر بیندازیم.

از صفحه Virtual Host Manager ، می توانید میزبان های مجازی را برای ارائه برنامه های خود اضافه کنید.
نتیجه
نصب شما از Tomcat پایان یافته است! اکنون می توانید برنامه های وب جاوا خود را مستقر کنید.
در حال حاضر ، نصب Tomcat شما کاربردی است ، اما کاملاً بدون رمزگذاری میباشد. این بدان معنی است که تمام داده ها ، از جمله موارد حساس مانند گذرواژه‌ها ، با متن ساده ارسال می شوند که توسط طرفین دیگر در اینترنت قابل رهگیری و خواندن هستند. برای جلوگیری از وقوع این اتفاق ، اکیداً توصیه می شود که اتصالات خود را با SSL رمزگذاری کنید. با پیروی از این راهنما می توانید نحوه رمزگذاری اتصالات خود با Tomcat را یاد بگیرید (توجه داشته باشید: این راهنما رمزگذاری Tomcat 8 را در Ubuntu 16.04 پوشش می دهد).

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi
  • ۰
  • ۰

هنگامی که شما برای اولین بار یک سرور مجازی Debian 10 جدید ایجاد می کنید ، چند مرحله پیکربندی وجود دارد که باید آنها را به عنوان بخشی از ستاپ اولیه انجام دهید. این کار باعث افزایش امنیت و قابلیت استفاده سرور مجازی شما می شود و پایه و اساس محکمی را برای اقدامات بعدی به شما می دهد.
در این آموزش یاد خواهیم گرفت که چگونه به عنوان کاربر اصلی وارد سرور مجازی خود شویم ، کاربر جدیدی با امتیازات ادمین ایجاد کنیم و یک فایروال پایه تنظیم کنیم.
مرحله 1 – ورود به عنوان Root
برای ورود به سرور مجازی خود ، باید آدرس IP عمومی سرور مجازی خود را بدانید. در صورت نصب کلید SSH برای تأیید اعتبار ، یعنی کلید خصوصی برای حساب کاربر root، به گذرواژه نیز احتیاج دارید. اگر قبلاً به سرور مجازی خود وارد نشده اید ، ممکن است بخواهید راهنمای ما در مورد نحوه اتصال به دراپلت خود را با SSH دنبال کنید ، که این لینک روند را با جزئیات پوشش می دهد.
اگر قبلاً به سرور مجازی خود وصل نشده اید ، پیش بروید و با استفاده از دستور زیر به عنوان کاربر اصلی وارد سیستم شوید (بخش هایلایت شده فرمان را با آدرس IP عمومی سرور مجازی خود جایگزین کنید):
$ ssh root@your_server_ip

در صورت وجود هشدار درباره تایید صحت میزبان آن را بپذیرید. اگر از تأیید اعتبار گذرواژه استفاده می کنید ، رمز ورود ریشه خود را وارد کنید. اگر از یک کلید SSH استفاده می کنید که عبارت عبور آن محافظت شده است ، ممکن است اولین باری که از هر کلید استفاده می کنید از شما خواسته شود کلمه عبور را وارد کنید. اگر اولین بار است که با گذرواژه وارد سرور مجازی می شوید ، ممکن است از شما خواسته شود رمزعبور root را تغییر دهید.
درباره ریشه
کاربر ریشه کاربر ادمین در محیط لینوکس است که امتیازات بسیار گسترده ای دارد. به دلیل امتیازات زیاد حساب ریشه ، استفاده منظم از آن توصیه نمیشود. این امر به این دلیل است که بخشی از قدرت ذاتی حساب ریشه ، توانایی ایجاد تغییرات بسیار مخرب ، حتی به طور تصادفی است.
قدم بعدی راه اندازی یک حساب کاربری جایگزین با حوزه تاثیرات کمتر برای کارهای روزانه است. بعداً ، توضیح خواهیم داد که چگونه می توانید در مواقعی که به آنها احتیاج دارید ، امتیازات بیشتری را دریافت کنید.
مرحله 2 – ایجاد یک کاربر جدید
پس از ورود به عنوان root ، آماده هستیم تا حساب کاربری جدیدی را اضافه کنیم که از این پس برای ورود به سیستم استفاده خواهیم کرد .
این مثال یک کاربر جدید به نام sammy ایجاد می کند ، اما شما باید آن را با نام کاربری که دوست دارید جایگزین کنید:
# adduser sammy

با شروع رمز ورود به حساب ، چند سؤال از شما پرسیده خواهد شد.
یک رمز عبور قوی وارد کنید و به صورت اختیاری ، هر یک از اطلاعات اضافی را که می خواهید پر کنید. این مورد نیاز نیست و می توانید ENTER را در هر زمینه ای که مایل به عبور هستید ، بزنید.
در مرحله بعدی ، این کاربر جدید را با امتیازات ادمین تنظیم خواهیم کرد.
مرحله 3 – اعطای امتیازات ادمین
اکنون ، ما یک حساب کاربری جدید با امتیازات معمول حساب ایجاد کرده ایم. با این حال ، ممکن است گاهی اوقات نیاز به انجام کارهای اجرایی با آن داشته باشیم.
برای جلوگیری از خروج از حساب کاربری عادی و ورود به سیستم به عنوان حساب اصلی ، می توانیم برای حساب عادی خود چیزی به اسم superuser ایجاد کنیم یا امتیازات اصلی را به آن بدهیم. این کار به کاربر عادی ما امکان می دهد با قرار دادن کلمه sudo قبل از دستور ، دستوراتی را با امتیازات ادمین اجرا کند.
برای افزودن این امتیازات به کاربر جدید خود ، باید کاربر جدید را به گروه sudo اضافه کنیم. به طور پیش فرض ، در Debian 10 ، کاربرانی که به گروه sudo تعلق دارند مجاز به استفاده از دستور sudo هستند.
به عنوان root ، این دستور را اجرا کنید تا کاربر جدید خود را به گروه sudo اضافه کنید (کلمه هایلایت شده را با کاربر جدید خود جایگزین کنید):
# usermod -aG sudo sammy

اکنون ، هنگامی که به عنوان کاربر معمولی خود وارد سیستم شدید ، می توانید قبل از دستورات sudo را تایپ کنید تا دستور را با امتیازات superuser اجرا کنید.
مرحله 4 – تنظیم فایروال پایه
سرور مجازی های دبیان می توانند از فایروال ها استفاده کنند تا اطمینان حاصل شود که فقط اتصالات خاصی به سرویس های خاص مجاز هستند. در این راهنما ، فایروال UFW را برای کمک به تنظیم رویکرد فایروال و مدیریت استثناعات، نصب و استفاده خواهیم کرد.
می توانیم از مدیر بسته apt برای نصب UFW استفاده کنیم. فهرست محلی را به روز کنید تا آخرین اطلاعات در مورد بسته های موجود را بازیابی کنید و سپس با تایپ کردن دستور زیر نرم افزار فایروال UFW را نصب کنید:
# apt update

# apt install ufw

توجه: اگر سرور مجازی های شما روی vpsgol در حال اجرا هستند ، می توانید به طور اختیاری به جای فایروال UFW از فایروال های vpsgol Cloud استفاده کنید. توصیه می کنیم فقط از یک فایروال به طور هم زمان استفاده کنید تا از قوانین متناقض برای اشکال زدایی جلوگیری شود.

پروفایل های فایروال به UFW اجازه می دهد مجموعه ای از قوانین فایروال را برای برنامه های نصب شده مدیریت کند. پروفایل برخی از نرم افزارهای رایج بصورت پیش فرض با UFW همراه شده و بسته ها می توانند پروفایل های اضافی را با UFW در طی مراحل نصب ثبت کنند. OpenSSH ، سرویسی که به ما امکان اتصال کنونی به سرور مجازی خود را می دهد ، دارای پروفایل فایروال است که می توانیم از آن استفاده کنیم.
با تایپ کردن دستور زیر تمام پروفایل های موجود را لیست می کنید:
# ufw app list

Output
Available applications:
. . .
OpenSSH
. . .

باید اطمینان حاصل کنیم که فایروال امکان اتصالات SSH را می دهد تا بتوانیم دفعه دیگر وارد سیستم شویم. می توانیم با تایپ این دستور اجازه این اتصالات را فراهم کنیم:
# ufw allow OpenSSH

پس از آن ، می توانیم با تایپ کردن دستور زیر فایروال را فعال کنیم:
# ufw enable

y را تایپ کرده و ENTER را برای ادامه فشار دهید. با تایپ کردن دستور زیر می توانید ببینید که اتصالات SSH هنوز مجاز هستند:
# ufw status

Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

از آنجا که فایروال در حال حاضر همه اتصالات به جز SSH را مسدود می کند ، در صورت نصب و پیکربندی سرویس های اضافی ، باید تنظیمات فایروال را برای ایجاد ترافیک قابل قبول را تنظیم کنید. شما می توانید برخی از عملیات معمول UFW را در راهنمای ضروریات UFW بیاموزید.
مرحله 5 – فعال کردن دسترسی خارجی برای کاربر معمولی شما
اکنون که ما یک کاربر معمولی برای استفاده روزانه داریم ، باید اطمینان حاصل کنیم که می توانیم مستقیماً SSH را وارد حساب کاربری خود کنیم.
توجه: تا زمانی که تأیید نکنید که می توانید با کاربر جدید خود وارد سیستم شوید و از sudo استفاده کنید ، توصیه می کنیم به عنوان root وارد شوید. به این ترتیب ، اگر مشکل دارید می توانید به عنوان ریشه عیب یابی کرده و هرگونه تغییر لازم را انجام دهید. اگر از Droplet vpsgol استفاده می کنید و در ارتباط با اتصال SSH ریشه خود مشکل دارید ، می توانید با استفاده از کنسول vpsgol وارد Droplet شوید.

روند پیکربندی دسترسی SSH برای کاربر جدید شما به این بستگی دارد که آیا حساب اصلی سرور مجازی شما از رمز عبور یا کلیدهای SSH برای تأیید اعتبار استفاده می کند.
اگر حساب Root از احراز هویت رمز عبور استفاده می کند
اگر با استفاده از گذرواژه وارد حساب اصلی خود شده اید ، تأیید رمز عبور برای SSH فعال می شود. با باز کردن بخش ترمینال جدید و استفاده از SSH با نام کاربری جدید خود می توانید به حساب کاربری جدید، SSH کنید:
$ ssh sammy@your_server_ip

بعد از وارد کردن رمزعبور معمولی کاربر ، وارد سیستم می شوید. به یاد داشته باشید اگر نیاز به اجرای یک فرمان با امتیازات اداری دارید ، قبل از این کار sudo را تایپ کنید:
$ sudo command_to_run

برای اولین بار در هر بخش (و به صورت دوره ای بعد از آن) رمزعبور کاربر معمولی از شما خواسته می شود.
برای تقویت امنیت سرور مجازی خود ، به شدت توصیه می کنیم به جای استفاده از احراز هویت رمز عبور ، کلیدهای SSH را تنظیم کنید. برای یادگیری نحوه پیکربندی احراز هویت مبتنی بر کلید ، راهنمای ما در مورد تنظیم کلیدهای SSH در Debian 10 را دنبال کنید.
اگر حساب Root از احراز هویت کلید SSH استفاده می کند
اگر با استفاده از کلیدهای SSH به حساب اصلی خود وارد شده اید ، تأیید رمز عبور برای SSH غیرفعال است. برای ورود موفقیت آمیز به سیستم ، باید یک نسخه از کلید عمومی محلی خود را در فایل ~/.ssh/authorized_keys کاربر جدید اضافه کنید.
از آنجا که کلید عمومی شما قبلاً در فایل ~/.ssh/authorized_keys حساب ریشه در سرور مجازی است ، می توانیم در بخش موجود با دستور cp آن فایل و ساختار دیرکتوری را در حساب کاربری جدید خود کپی کنیم. پس از آن ، می توانیم مالکیت فایل ها را با استفاده از دستور chown تنظیم کنیم.
اطمینان حاصل کنید که قسمت هایلایت شده فرمان زیر را تغییر دهید تا با نام کاربر معمولی شما مطابقت داشته باشد:
# cp -r ~/.ssh /home/sammy

#
chown -R sammy:sammy /home/sammy/.ssh

دستور cp -r کل دایرکتوری را در دیرکتوری هوم کاربر جدید کپی می کند ، و دستور chown -R صاحب آن دیرکتوری (و هر چیزی را که در داخل آن است) را به username:groupname مشخص شده تغییر می دهد (دبیان به طور پیش فرض گروهی را با همین نام کاربری شما ایجاد می کند).
اکنون ، یک بخش ترمینال جدید را باز کرده و از طریق SSH با نام کاربری جدید خود وارد شوید:
$ ssh sammy@your_server_ip

بدون استفاده از رمز ورود باید به حساب کاربری جدید وارد شوید. به یاد داشته باشید ، اگر نیاز به اجرای یک فرمان با امتیازات ادمین دارید ، sudo را قبل از آن تایپ کنید:
$ sudo command_to_run

برای اولین بار در هر بخش (و به صورت دوره ای بعد از آن) رمزعبور کاربر معمولی از شما خواسته می شود.
از اینجا به کجا برویم؟
در این مرحله ، شما یک پایه محکم برای سرور مجازی خود دارید. اکنون می توانید هرکدام از نرم افزارهای مورد نیاز خود را بر روی سرور مجازی خود نصب کنید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان – 

 

برچسب‌ها:

  • behnam gol mohamadi