تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

آموزش نصب وب سرور آپاچی در دبیان


۲۹ فروردین ۱۴۰۴

آیا تا به‌حال به این فکر کرده‌اید که چه چیزی باعث می‌شود وب‌سایت‌ها روی اینترنت فعال و در دسترس باشند؟ آپاچی (َApache) یکی از پرطرفدارترین سرورهای وب در دنیای اینترنت است که بیش از نیمی از وب‌سایت‌های فعال جهان را میزبانی می‌کند، ویژگی هایی مثل پشتیبانی از اکثر سیستم عامل ها، پشتیبانی رسانه ای قدرتمند و قابلیت ادغام با نرم افزارهای پرکاربرد دیگر باعث شده اند که آپاچی به یک انتخاب ایده آل تبدیل شود. اگرچه وب‌سرورهای بسیاری وجود دارند که می‌توانند محتوای شما را در بستر اینترنت، نمایش دهند، اما آشنایی با نحوه عملکرد آپاچی به دلیل همه‌گیر بودن آن، مفید است. در این مقاله از لیارا، به شما نشان می‌دهیم که چرا آشنایی با نحوه عملکرد آپاچی می‌تواند برای هر کسی که می‌خواهد سایت خود را به بهترین شکل مدیریت کند، ضروری باشد. تا پایان با ما همراه باشید.

پیش‌نیازهای نصب آپاچی در دبیان

پیش نیاز اصلی نصب این وب‌سرور، یک سرور دیبان نسخه ۱۲ می‌باشد. با مراجعه به صفحه خرید سرور مجازی دبیان، پیش نیاز اصلی این وب‌سرور را فراهم کنید. بعد از اینکه خیالتان از جانب سرور راحت شد، باید پیش‌نیازهای زیر را هم برای نصب وب‌سرور آپاچی آماده کنید:

  • کاربر غیر ریشه با دسترسی sudo
  • فعال بودن فایروال برای مسدود کردن پورت های غیرضروری
آموزش نصب وب سرور آپاچی در دبیان

آنچه در ادامه می‌خوانید:

  • مرحله اول: نصب وب‌سرور Apache
  • مرحله دوم: پیکربندی فایروال
  • مرحله سوم: بررسی وب‌سرور
  • مرحله چهارم: مدیریت سرویس آپاچی
  • مرحله پنجم: راه‌اندازی یک هاست مجازی
  • مرحله ششم: آشنایی با فایل‌ها و دایرکتوری‌های مهم آپاچی
  • جمع‌بندی
  • سوالات متداول

همچنین برای درک کامل مقاله، توصیه می‌شود در ابتدا، به مطالعه و بررسی مقاله‌های زیر، بپردازید:

مرحله اول: نصب وب‌سرور Apache

آپاچی در مخازن پیش‌فرض دبیان در دسترس است، بنابراین می‌توانید آن را به‌راحتی با استفاده از دستورات زیر نصب کنید.

ابتدا با دستور زیر پکبج‌های محلی را به‌روزرسانی کنید تا آخرین تغییرات و نسخه‌ها از منابع رسمی دریافت شود:

sudo apt update

سپس، پکیج Apache2 را با دستور زیر نصب کنید:

sudo apt install apache2

پس از تایید نصب، ابزار apt، آپاچی و تمامی وابستگی‌های مورد نیاز آن را نصب خواهد کرد.

مرحله دوم: پیکربندی فایروال

قبل از تست آپاچی، بهتر است تنظیمات فایروال UFW که قبلا برای محدود کردن دسترسی‌ها به سرور پیکربندی کرده بودید را تغییر دهید تا بعضی از پورت‌ها باز شوند و امکان دسترسی خارجی به آن پورت‌ها فراهم شود.

هنگام نصب، آپاچی به‌طور خودکار در UFW ثبت می‌شود و چند پروفایل برای دسترسی به آپاچی از طریق فایروال ارائه می‌دهد. حالا شما باید یکی از این پروفایل‌ها را اننخاب کنید.

برای مشاهده پروفایل‌ها، دستور زیر را اجرا کنید:

sudo ufw app list

این دستور، لیست این پروفایل ها را در اختیار شما قرار می دهد:

Output
Available applications:
  AIM
  Bonjour
  CIFS
. . . 
 WWW
 WWW Cache
 WWW Full
 WWW Secure
. . . 

پروفایل‌های آپاچی با 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 مجاز را نمایش خواهد داد:

Status: active

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

همانطور که در خروجی مشاهده کردید، پروفایل شما فعال شده است تا دسترسی به وب‌سرور آپاچی را امکان‌پذیر کند.

بیشتر بخوانید: نحوه تنظیم سرور وب آپاچی روی سرور مجازی لینوکس (VPS)

مرحله سوم: بررسی وب‌سرور

در پایان فرایند نصب، دبیان آپاچی را راه‌اندازی می‌کند و اکنون وب‌سرور باید فعال و در حال اجرا باشد. برای اطمینان از فعال بودن سرویس، دستور زیر را اجرا کنید:

sudo systemctl status apache2

خروجی:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: active (running) since Wed 2022-07-06 22:05:45 UTC; 23s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2796 (apache2)
      Tasks: 55 (limit: 9509)
     Memory: 21.0M
        CPU: 67ms
     CGroup: /system.slice/apache2.service
             ├─2796 /usr/sbin/apache2 -k start
             ├─2798 /usr/sbin/apache2 -k start
             └─2799 /usr/sbin/apache2 -k start

خروجی بالا تائید می‌کند که سرویس با موفقیت راه‌اندازی شده است. اما بهترین روش برای تست این‌است که صفحه‌ای از آپاچی درخواست کنید.

برای این کار ،دستور زیر را در خط فرمان سرور خود وارد کنید:

hostname -I

بعد از اجرای دستور بالا، شما چندین آدرس دریافت خواهید کرد که با فاصله از هم جدا شده‌اند. می‌توانید هرکدام را در مرورگر وب خود امتحان کنید تا مطمئن شوید کار می‌کنند یا خیر.

روش دیگر استفاده از ابزار icanhazip.com است. این سایت با بازشدن، آدرس IP عمومی سرور شما را از طریق اینترنت به شما نمایش می‌دهد. اگر ابزار curl را قبلا نصب نکرده‌اید، می‌توانید آن را با استفاده از دستور زیر نصب کنید:

sudo apt install curl

سپس از دستور curl برای دریافت آدرس IP عمومی خود از طریق icanhazip.com با استفاده از IPv4 استفاده کنید:

curl -4 icanhazip.com

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

http://your_server_ip

در آخر باید صفحه پیش‌فرض آپاچی Debian 12 را مشاهده کنید:

بررسی وب‌سرور آپاچی

این صفحه نشان می‌دهد که آپاچی به ‌درستی کار می‌کند.

همچنین بخوانید: نحوه نصب انجین ایکس، MySQL و پی اچ پی (LEMP) بر روی سرور مجازی لینوکس

مرحله چهارم: مدیریت سرویس آپاچی

تقریباً در مراحل پایانی نصب وب سرور آپاچی هستیم ولی بهتر است قبل از انجام پیکربندی های نهایی، وضعیت سرویس آپاچی را بررسی کنید.

با دستور زیر از فعال بودن سرویس آپاچی مطمئن شوید:

sudo systemctl stop apache2

خروجی:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since [timestamp]
     Docs: https://httpd.apache.org/docs/2.4/
  Process: [process_id] ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: [main_pid] (apache2)
    Tasks: [task_count]
   Memory: [memory_usage]
   CGroup: /system.slice/apache2.service
           ├─[main_pid] /usr/sbin/apache2 -k start
           ├─[worker_pid] /usr/sbin/apache2 -k start
           └─[worker_pid] /usr/sbin/apache2 -k start

خروجی بالا تایید می کند که سرویس با موفقیت اجرا شده است، اما بهترین راه برای تست سرویس آپاچی این است که با استفاده از مرورگر، صفحه پیش فرض آپاچی را درخواست کنید چون اگر این صفحه برای شما باز شود، می توانید مطمئن باشید که این سرویس از طریق IP شما به درستی اجرا می شود.

حالا برای راه‌اندازی وب‌سرور زمانی که متوقف شده است، دستور زیر را اجرا کنید:

sudo systemctl start apache2

سپس برای توقف سرویس و سپس راه‌اندازی مجدد آن، دستور زیر را وارد کنید:

sudo systemctl restart apache2

اگر فقط در حال اعمال تغییرات پیکربندی هستید، آپاچی معمولاً می‌تواند بدون قطع ارتباطات مجدداً بارگذاری شود. برای این کار، از دستور زیر استفاده کنید:

sudo systemctl reload apache2

به‌طور پیش‌فرض، آپاچی طوری پیکربندی شده است که به‌طور خودکار موقع راه‌اندازی سرور شروع به‌کار کند. اگر نمی‌خواهید اینطور شود، می‌توانید با اجرای دستور زیر این ویژگی را غیرفعال کنید:

sudo systemctl disable apache2

سپس برای فعال‌سازی مجدد سرویس به‌منظور شروع خودکار هنگام راه‌اندازی سرور، دستور زیر را وارد کنید:

sudo systemctl enable apache2

اکنون آپاچی به‌طور خودکار هنگام راه‌اندازی مجدد سرور شروع به کار خواهد کرد.

همچنین بخوانید: مقایسه وب‌سرور Apache و NGINX؛ کدام را انتخاب کنیم؟

مرحله پنجم: راه‌اندازی یک هاست مجازی

وب‌سرور آپاچی این امکان را به شما می‌دهد که از هاست مجازی استفاده کنید. هاست مجازی تقریبا مشابه بلوک‌های سرور در وب‌سرور Nginx است و اگر بخواهید جزئیات پیکربندی را به صورت جداگانه مدیریت کرده و سرور شما میزبان بیش از یک دامنه باشد، استفاده از هاست مجازی پیشنهاد می‌شود.

در این آموزش از دامنه Domain.info استفاده می‌کنیم، اما شما باید نام دامنه خودتان را جایگزین کرده و بخش‌هایی که از Domain.info استفاده کرده‌ایم را با نام دامنه خودتان تغییر دهید. برای ایجاد هاست مجازی مراحل زیر را دنبال کنید.

ایجاد یک دایرکتوری برای دامنه

آپاچی به طور پیش‌فرض یک بلوک سرور فعال دارد که برای ارائه داکیومنت‌های موجود در دایرکتوری /var/www/html پیکربندی شده است. این پیکربندی برای زمانی که تنها یک سایت روی سرور دارید کاملاً مناسب است.

اما اگر قصد دارید چندین وب‌سایت را روی سرور خود راه‌اندازی کنید، ممکن است اوضاع کمی پیچیده شود. پس بهتر است این پیچیدگی‌ها را به سادگی حل کنیم.

کافی است در مسیر /var/www یک دایرکتوری جدید برای سایت Domain.info ایجاد کنید و بگذارید /var/www/html به عنوان دایرکتوری پیش‌فرض باقی بماند، تا در صورتی که سایت‌های دیگر نتواستند به درخواست کاربر پاسخ دهند، این دایرکتوری به‌عنوان پیش‌فرض ارائه شود.

برای ایجاد دایرکتوری دامنه، دستور زیر را اجرا کنید:

sudo mkdir -p /var/www/your_domain

سپس با استفاده از دستور زیر، مالکیت دایرکتوری را به کاربر فعلی تغییر دهید:

sudo chown -R $USER:$USER /var/www/your_domain

اگر تا الان مقدار umask را تغییر نداده اید، پروسه مجوزدهی به فایل‌های root وبسایت به درستی انجام خواهد شد. اما برای اطمینان از این موضوع، بهتر است مجوزهای لازم برای خواندن، نوشتن و اجرای فایل های این دایرکتوری را با دستور زیر لحاظ کنید:

sudo chmod -R 755 /var/www/your_domain

همچنین بخوانید: نحوه نصب وب سرور آپاچی Apache روی سرور مجازی لینوکس Linux یا VPS

ایجاد یک صفحه برای وب‌سایت

تا الان هاست جدید را راهاندازی کردهاید و مجوزهای آن را هم به درستی تنظیم کرده‌اید. حالا باید یک صفحه برای این وب‌سایت ایجاد کنید.

برای این کار می‌توانید از ویرایشگر nano یا هر ویرایشگر دلخواه دیگر استفاده کنید.

sudo nano /var/www/Domain.info/index.html

کد html زیر را کپی کرده و در فایل index پیست کنید:

<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain virtual host is working!</h1>
    </body>
</html>

بعد، آن را ذخیره کرده و ببندید. اگر از ویرایشگر nano استفاده کردید، از Ctrl+O برای ذخیره و سپس از Ctrl+X هم برای خروج از فایل استفاده کنید.

همین الان، بدون کمترین پیچیدگی، سرور مجازی خودتون رو در کمتر از ۳۰ ثانیه، راه‌اندازی کنید.
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه به‌صرفه
خرید سرور مجازی ابری

ایجاد فایل پیکربندی هاست مجازی

برای اینکه آپاچی بتواند محتویات این فایل را ارائه دهد باید یک فایل پیکربندی هاست مجازی ایجاد کنید که برای این کار می‌توانید از دستور زیر استفاده کنید:

sudo nano /etc/apache2/sites-available/Domain.info.conf

سپس، متن زیر را در این فایل کپی کنید و Domain.info را با اسم دامنه خود جایگزین کنید.

VirtualHost *:80>
ServerAdmin admin@Domain.info
ServerName Domain.info
ServerAlias Domain.info
DocumentRoot /var/www/Domain.info/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

بعد از اتمام این کار، فایل را ذخیره کرده و آن را ببندید.

فعال‌سازی فایل پیکربندی هاست مجازی

برای فعال سازی این فایل با استفاده از ابزار a2ensite، دستور زیر را اجرا کنید:

sudo a2ensite Domain.info.conf

حالا نوبت این است که فایل پیکربندی مجازی پیش فرض (000-default-conf) را غیرفعال کنید:

sudo a2dissite 000-default.conf

در آخر، آپاچی را ری‌استارت کنید تا تغییرات جدید اعمال شوند:

sudo systemctl restart apache2

تست هاست مجازی

در حال حاضر آپاچی آماده ارائه دامنه شما است و کافیست مرورگر خود را باز کنید و http://your_domain خود را جستجو کنید.

تست هاست مجازی

مشاهده صفحه ایندکس نشان دهنده این است که سرور آپاچی کار خود را به‌درستی انجام داده است.

مرحله ششم: آشنایی با فایل‌ها و دایرکتوری‌های مهم آپاچی

حالا که با نحوه مدیریت سرویس آپاچی آشنا شدید، بهتر است چند دقیقه وقت بگذارید و با برخی از دایرکتوری‌ها و فایل‌های مهم آن آشنا شوید. این آشنایی به شما کمک می‌کند تا در آینده راحت‌تر بتوانید تنظیمات و پیکربندی‌های لازم را انجام دهید.

محتوا:

  • /var/www/html: محتوای اصلی وب که به‌طور پیش‌فرض فقط شامل صفحه پیش‌فرض آپاچی است که قبلاً مشاهده کردید، از دایرکتوری /var/www/html ارائه می‌شود. این مسیر با تغییر فایل‌های پیکربندی آپاچی قابل تغییر است.

پیکربندی سرور:

  • /etc/apache2: دایرکتوری پیکربندی آپاچی که تمام فایل‌های پیکربندی این وب‌سرور در آن قرار دارند.
  • /etc/apache2/apache2.conf: فایل اصلی پیکربندی آپاچی که برای تغییرات پیکربندی جهانی آپاچی استفاده می‌شود. این فایل مسئول بارگذاری بسیاری از فایل‌های دیگر موجود در دایرکتوری پیکربندی است.
  • /etc/apache2/ports.conf: این فایل پورت‌هایی را که آپاچی بر روی آن‌ها گوش می‌دهد مشخص می‌کند. به‌طور پیش‌فرض، آپاچی بر روی پورت 80 گوش می‌دهد و در صورت فعال بودن ماژولی برای پشتیبانی از SSL، بر روی پورت 443 نیز گوش می‌دهد.
  • /etc/apache2/sites-available/: دایرکتوری که هاست‌های مجازی هر سایت در آن ذخیره می‌شود. آپاچی فقط زمانی از این فایل‌ها استفاده می‌کند که به دایرکتوری sites-enabled لینک شوند. معمولاً تمام پیکربندی‌های سرور بلاک در این دایرکتوری انجام شده و سپس با دستور a2ensite به دایرکتوری دیگر لینک می‌شوند.
  • /etc/apache2/sites-enabled/: دایرکتوری که هاست‌های مجازی فعال هر سایت در آن ذخیره می‌شود. معمولاً این‌ها با استفاده از دستور a2ensite به فایل‌های پیکربندی در دایرکتوری sites-available لینک می‌شوند. آپاچی هنگام شروع یا بارگذاری مجدد، فایل‌ها و لینک‌های موجود در این دایرکتوری را برای تدوین یک پیکربندی کامل می‌خواند.
  • /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 فعال یا غیرفعال شوند.

لاگ‌های سرور:

  • /var/log/apache2/access.log: به‌طور پیش‌فرض، هر درخواست به وب‌سرور شما در این فایل لاگ ثبت می‌شود مگر اینکه آپاچی طوری پیکربندی شده باشد که خلاف این عمل کند.
  • /var/log/apache2/error.log: به‌طور پیش‌فرض، تمام خطاها در این فایل ثبت می‌شوند. دستور LogLevel در پیکربندی آپاچی مشخص می‌کند که چه میزان جزئیات در لاگ‌های خطا قرار می‌گیرد.

سرور مجازی دبیان بدون پیچیدگی، در چند ثانیه آماده استفاده است. همین الان با سادگی تمام، شروع به کار با آن کنید!
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه به‌صرفه
خرید سرور مجازی دبیان

جمع‌بندی

آپاچی یکی از پرکاربردترین وب‌سرورهایی است که تقریبا در ۶۸ درصد وب‌سایت‌ها استفاده می‌شود. مراحل نصب وب‌سرور آپاچی در اوبونتو و دبیان تقریبا مشابه است و اگر مراحل نصب و پیکربندی این وب‌سرور را به همان ترتیبی که در این مقاله توضیح دادیم، دنبال کنید، قطعاً با مشکلی مواجه نخواهید شد. از اینکه تا انتهای مقاله همراه ما بودید، سپاسگزاریم.

سوالات متداول

وب سرور آپاچی فقط مناسب سرورهای لینوکسی است؟

خیر، البته اکثر سرورهای لینوکسی از وب‌سرور آپاچی استفاده می‌کنند اما برای نصب آپاچی روی ویندوز نیز هیچ محدودیتی ندارید.

چگونه می‌توانم وضعیت سرویس Apache را بررسی کنم؟

با استفاده از دستور sudo systemctl status apache2 می‌توانید وضعیت اجرای Apache را بررسی کنید.

چگونه Apache را مجدداً بارگذاری کنم بدون قطع ارتباطات فعال؟

از دستور sudo systemctl reload apache2 استفاده کنید تا تغییرات پیکربندی اعمال شده و سرویس بدون قطع ارتباطات جاری به‌روزرسانی شود.

فایل‌های پیکربندی Apache در کجا قرار دارند؟

فایل‌های اصلی پیکربندی در دایرکتوری /etc/apache2 قرار دارند. به عنوان مثال، فایل apache2.conf فایل اصلی تنظیمات است.

چگونه می‌توانم یک هاست مجازی (Virtual Host) برای چندین دامنه تنظیم کنم؟

دایرکتوری‌های sites-available و sites-enabled در /etc/apache2/ برای مدیریت هاست‌های مجازی استفاده می‌شوند. ابتدا فایل پیکربندی هاست مجازی خود را در sites-available ایجاد و سپس با دستور a2ensite آن را فعال کنید.

چطور می‌توانم یک دایرکتوری متفاوت برای ارائه وب‌سایت‌ام تنظیم کنم؟

به جای استفاده از دایرکتوری پیش‌فرض /var/www/html، می‌توانید یک دایرکتوری جدید مثلاً /var/www/your_domain ایجاد کرده و در فایل‌های پیکربندی Apache به آن ارجاع دهید.

ماژول‌های Apache چگونه مدیریت می‌شوند؟

ماژول‌های موجود در دایرکتوری‌های mods-available و mods-enabled قرار دارند. با استفاده از دستورات a2enmod و a2dismod می‌توانید ماژول‌ها را فعال یا غیرفعال کنید.

لاگ‌های Apache در کجا ذخیره می‌شوند؟

لاگ‌های دسترسی در فایل /var/log/apache2/access.log و لاگ‌های خطا در فایل /var/log/apache2/error.log ثبت می‌شوند.

چگونه Apache را به صورت خودکار در زمان راه‌اندازی سرور فعال یا غیرفعال کنم؟

برای فعال‌سازی خودکار Apache در زمان راه‌اندازی سرور از دستور sudo systemctl enable apache2 و برای غیرفعال کردن آن از دستور sudo systemctl disable apache2 استفاده کنید.

به اشتراک بگذارید