نصب وب سرور Apache در Debian 10

۷۷ بازديد

پركاربردترين وب سرور مجازي در جهان است. اين سرور مجازي بسياري از ويژگي هاي قدرتمند از جمله ماژول هاي قابل بارگيري پويا ، پشتيباني رسانه اي قوي و ادغام گسترده با ساير نرم افزارهاي محبوب را ارائه مي دهد.
در اين راهنما نحوه نصب يك وب سرور مجازي 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


Welcome to your_domain!


Success! The your_domain virtual host is working!



پس از اتمام فايل را ذخيره كنيد و ببنديد.
براي اينكه 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

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

توجه كنيد كه ما 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 نگاهي بيندازيد.

 

 

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

استفاده از nsh براي دستورات از راه دور اوبونتو 18 –  ميزباني وب سايت با Caddy اوبونتو 18

تنظيم سرور ذخيره سازي آبجكت با استفاده از Minio در اوبونتو 18  –  ضبط و اشتراك گذاري ترمينال با Terminalizer اوبونتو

تنظيم مسيريابي شرطي و پاسخگو با React Router v4  –  ايجاد يك URL كوتاه كننده با Django و GraphQL

يك برنامه رديابي سلامت را با React ،GraphQL و Okta –  ساخت برنامه ******** زمان حقيقي React و GraphQL

به روزرساني فيلترهاي مرتب سازي Angular (زاويه اي) –  با استفاده از React ، Superagent و API اينستاگرام

نحوه ساختن يك برنامه جهاني با Nuxt.js و Django –  دكمه دانلود با ريزتعاملات با CSS ، anime.js و segment.js

نحوه اضافه كردن عكسهاي پيشرفته در Node و Express  –  با Vue ،GraphQL و Apollo Client يك وبلاگ ساخت

يك برنامه SSR با روتر Preact ، Unistore و Preact بسازيد  –  ساخت برنامه هاي وب پيشرونده با Angular

اشكال زدايي JavaScript در توليد با نقشه هاي منبع  –  مي توان با Koa برنامه “سلام جهاني” ساخت

ساختن يك برنامه با Node ، React ، Okta  –   مديريت حالت فرم در React با Redux Form

نحوه تنظيم Laravel ، Nginx و MySQL  –  ارتقاء از AngularJS به Angular با ngUpgrade

استفاده از ويژوال استوديو از راه دور  –  احراز هويت API با JSON Web Tokens و Passport

راه اندازي يك پروژه React با Parcel  –  ايجاد Swiper مانند Netflix را در Vue

ساختن يك ربات تلگرام با Laravel و BotMan  –  استفاده از map، filter، و reduce در جاوااسكريپت

چگونه مي توان موتور جستجوي زمان واقعي را با Vue  –  ساختن سيستم مستندات (Documentation) با Vue و VuePress

استفاده از اشتراك زنده با كد ويژوال استوديو  –  ساخت يك مقياس اندازه گيري قدرت رمز عبور را در React

شروع عملي GraphQL با Node.js و Express  –  ساخت يك برنامه آب و هوا در Django

نحوه نصب Discourse روي Ubuntu 18  –  تأييد رمز عبور با استفاده از درخواست فرم Laravel

نحوه نصب MySQL در CentOS 8  –  استفاده از پسوند PDO PHP براي انجام تراكنش MySQL

نصب و پيكربندي SNMP Daemon و Client در Ubuntu 18  –  نصب Linux، Nginx، MariaDB،PHP در Debian 10

 

 

كلمات كليدي خريد سرور

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

 

برچسب‌ها:Apache, Apache HTTP, Debian 10

تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در رویا بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.