شما برای مطالعه این مقاله فقط 10 دقیقه وقت نیاز دارید

install-apache-on-linux

آموزش نصب وب سرور apache در لینوکس اوبونتو و دبیان

5/5 - (1 امتیاز)

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

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

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

پس بیایید اولین قدم را با هم برداریم:

پیش نیازهای نصب آپاچی در لینوکس

پیش نیاز اصلی نصب این وب سرور، یک سرور لینوکس است. البته با اینکه نصب وب سرور آپاچی در ویندوز سرور هم امکان پذیر است ولی آپاچی و لینوکس از اجزای مهم یک وبسایت قدرتمند هستند و یکی از مهم ترین باید های پروسه نصب مجموعه نرم افزاری LAMP Server هستند.

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

بعد از اینکه خیالتان در مورد سرور راحت شد، باید پیش نیازهای زیر را هم برای نصب وب سرور apache در لینوکس فراهم کنید:

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

مراحل نصب وب سرور apache در لینوکس دبیان و اوبونتو

پروسه ای که قرار است برای نصب آپاچی در لینوکس طی کنیم در دبیان و اوبونتو تقریباً یکی است.

مرحله 1. آپدیت مخازن سیستم

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

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

sudo apt update

توجه داشته باشید که فقط یک کاربر دارای امتیازات sudo می تواند بسته ها را نصب، حذف یا بروزرسانی کند.

مرحله 2. نصب Apache2

بعد نوبت به نصب آپاچی در اوبونتو می رسد که برای این کار باید دستور زیر را اجرا کنید:

sudo apt install apache2

ممکن است سیستم برای تکمیل این پروسه از شما تایید (Y/N) بخواهد که برای این کار Y را وارد کنید و Enter را بزنید. بعد از این کار، آپاچی و تمام وابستگی های آن نصب خواهند شد.

اگر می خواهید وضعیت نصب یا نسخه آپاچی را بررسی کنید، می توانید از دستورات زیر استفاده کنید:

sudo systemctl status apache2

apache2 –version

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

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

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

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

sudo ufw app list

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

پروفایل های فایروال برای نصب apache در لینوکس

پروفایل های آپاچی با apache شروع می شود که هر کدام کاربرد خاص خود را دارند:

apache فقط پورت 80 را باز می کند که برای دریافت ترافیک عادی و بدون رمزگذاری تنظیم شده است.

apace Full هم پورت 80 و هم پورت 443 را باز می کند که پورت 80 برای ترافیک رمزگذاری نشده و پورت 443 برای ترافیک رمزگذاری شده TLS/SSL تنظیم شده است.

apache Secure فقط پورت 443 را باز می کند و امنیت بالاتری دارد.

اگر قبلاً نسبت به نصب و فعال سازی SSL در سرور اقدام کرده اید، بهترین کار این است که پروفایل FULL را انتخاب کنید تا کنترل کامل تری روی ترافیک داشته باشید. چون در این آموزش فرض ما بر این است که SSL را نصب نکرده اید، پس با دستور زیر apache را پیکربندی می کنیم.

sudo ufw allow 'Apache'

برای بررسی وضعیت فعلی فایروال می توانید از دستور زیر استفاده کنید:

sudo ufw status

وضعیت فایروال

مرحله 4. بررسی وب سرور آپاچی

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

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

sudo systemctl status apache2

وضعیت اچرای آپاچی

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

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

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

hostname –I

این دستور چند IP در اختیار شما قرار می دهد که می توانید تک تک آنها را در مرورگر تست کنید و ببینید که کار می کنند یا نه.

– یک روش دیگر هم این است که از ابزار icanhazip استفاده کنید و با مراجعه به این لینک، آدرس IP عمومی سرور خود را به عنوان خروجی دریافت کنید.

اگر تا الان ابزار curl را نصب نکرده اید، اول باید دستور زیر را اجرا کنید چون برای استفاده از ابزار icanhazip به آن نیاز دارید:

sudo apt install curl

بعد دستور زیر را اجرا کنید:

curl -4 icanhazip.com

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

http://your_server_ip

اگر سیستم عامل سرور شما دبیان است، صفحه خروجی به صورت زیر خواهد بود:

صفحه آپاچی دبیان

اگر از سیستم عامل اوبونتو استفاده می کنید، صفحه خروجی به صورت زیر خواهد بود:

صفحه آپاچی اوبونتو

این صفحه نشان می دهد که آپاچی به درستی کار می کند و همچنین اطلاعات مهم دیگری در مورد فایل ها و دایرکتوری های آپاچی را هم در اختیار شما می گذارد.

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

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

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

sudo systemctl stop apache2

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

sudo systemctl start apache2

اگر قصد ری استارت سرویس آپاچی را دارید، از دستور زیر استفاده کنید:

sudo systemctl restart apache2

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

sudo systemctl disable apache2

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

sudo systemctl enable apache2

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

کلیک کنید  دستور fsck‌ در لینوکس برای رفع ارورهای فایل سیستم

نحوه راه اندازی هاست مجازی

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

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

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

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

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

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

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

sudo mkdir -p /var/www/Domain.info

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

sudo chown -R $USER:$USER

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

sudo chmod -R 755 /var/www/Domain.info
  1. ایجاد یک صفحه برای وبسایت

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

برای این کار می توانید از ویرایشگر 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 هم برای خروج از فایل استفاده کنید.

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

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

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

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

<VirtualHost *:80>
ServerAdmin [email protected]
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>

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

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

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

sudo a2ensite Domain.info.conf

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

sudo a2dissite 000-default.conf

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

sudo systemctl restart apache2
  1. تست خطاها

پس اینکه تمام تنظیمات را به درستی انجام دادید، می توانید خطاهای پیکربندی را تست کنید.

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

sudo apache2ctl configtest

اگر همه چیز مرتب باشد و خطایی وجود نداشته باشد، خروجی Syntax OK را دریافت خواهید کرد. در غیر این صورت بهتر است دوباره چک کنید و ببینید که کدام مرحله به درستی انجام نشده است.

مثلاً اگر موقع اجرای این دستور، خطای زیر را دریافت کردید:

خطای سرویس آپاچی

باید فایل servername.conf را ویرایش کنید.

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

sudo nano /etc/apache2/conf-available/servername.conf

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

ServerName Domain.info

فایل را ذخیره کرده و آن را ببندید.

دستور زیر را اجرا کنید تا این تغییر جدید در فایل پیکربندی اعمال شود.

sudo a2enconf servername

بعد مجدداً دستور زیر را اجرا کنید، به امید اینکه خروجی Syntax OK را ببینید.

sudo apache2ctl configtest

سرویس آپاچی بدون خطا

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

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

http://Domain.info

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

اجرای موفقت آمیز فایل ایندکس هاست مجازی بعد از نصب وب سرور apache در لینوکس

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

var/www/html/

محتوای صفحه پیش فرض آپاچی در این دایرکتوری قرار دارد که می توانید آن را با یک سری دستورات و تنظیمات تغییر دهید.

etc/apache2/

تمام فایل های پیکربندی آپاچی در این دایرکتوری قرار دارد.

etc/apache2/apache2.conf/

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

etc/apache2/ports.conf/

این فایل، پورت هایی را که آپاچی به آنها گوش می دهد را نشان می دهد. به طور پیش فرض، آپاچی به پورت 80 گوش می دهد و اگر گواهینامه SSL را هم برای سرور خود فعال کرده اید، پورت 443 هم برای آپاچی باز می شود.

البته، اگر تصمیم دارید از برای راه اندازی چند وبسایت از یک سرور استفاده کنید و گواهینامه SSL آنها را هم فعال کنید، با یک سری مشکلات روبرو خواهید شد که SNI پایانی برای این مشکلات است.

etc/apache2/sites-available/

این دایرکتوری، محل ذخیره سازی هاست های مجازی هر سایت است. آپاچی فقط زمانی از فایل های پیکربندی موجود در این دایرکتوری استفاده می کند که به دایرکتوری sites-enabled پیوند داده شده باشند.

معمولاً تمام پیکربندی های مربوط به بلوک های سرور در این دایرکتوری انجام می شود و سپس با استفاده از دستور a2ensite به دایرکتوری /sites-available پیوند داده شده و فعال می شوند.

etc/apache2/sites-enabled/

این دایرکتوری محل ذخیره سازی تمام هاست های مجازی فعال است. معمولاً این هاست ها زمانی فعال می شوند که فایل پیکربندی مربوط به آنها در دایرکتوری sites-available با استفاده از دستور a2ensite به این دایرکتوری لینک شوند.

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

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 استفاده کنید.

کلام آخر

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

از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.

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

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

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید