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

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

در این مقاله آموزشی در مورد آموزش نصب آپاچی در centos7 و نحوه نصب تصویری مقاله تهیه میکنیم و با اجزای کامل سیستمی و توضیحات کامل برای نصب آپاچی در cent os 7 64 bit در خدمت شما هستیم از وبلاگ فاما سرور.

 

آپاچی چیست؟

apache یکی از وب سرور های محبوب و قدرتمند دنیا میباشد که ۶۷ درصد از webserver های فعال کل دنیا را شامل میشود. در مقالات قبلی در مورد Nginx و لایت اسپید و… صحبت کردیم و در این مقاله قصد داریم تا آموزش نصب آپاچی در centos7 آموزش دهیم و به همین منظور در مورد آپاچی صحبت میکنیم مقدمه مقاله را.

apache توسط شرکت Apache Software Foundation توسعه داده شده و بی تردید یکی از شماره یک های وب سرور میباشد . در پست های قبلی در مورد تفاوت وب سرور لایت اسپید با Nginx صحبت کردیم و در تمام این مقالات اشاره ای به آپاچی قطعا شده است.

خیلی از متخصصین دنیای شبکه و سرور مجازی بر این باورند که سرعت وبسرور لایت اسپید ۶ برابر آپاچی میباشد همینطور وب سرور انجینیکس ۵ برابر آپاچی میباشد که دقیقا درست بیان کردند این موضوع رو ولی اگر متخصصین در ضمینه های کانفیگ آپاچی ورود پیدا کنند میتوان گفت این وبسرور بهترین میباشد و در خیلی از موارد مثل سرور های دانلود و میرور لینک های اوبونتو و cent os از آپاچی برای مدیریت بهتر منابع و جلوگیری از هدر رفتن منابع استفاده کرد زیرا این وبسرور پرطرفدار بصورت یک نرم افزار Open Source عرضه شده و در صورتی که برنامه نویس یا مدیر سرور تخصص کافی را در این ضمینه داشته باشد میتوان لقب پرچمدار را به این وبسرور داد.

آپاچی چیست؟

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

مقدمه

 

وب سرور Apache HTTP پرکاربردترین وب سرور در جهان است. این نرم افزار بسیاری از ویژگی های قدرتمند از جمله ماژول های قابل بارگیری پویا ، پشتیبانی رسانه ای قوی و ادغام گسترده با سایر نرم افزارهای محبوب را ارائه می دهد.

در این راهنما ، یک سرور وب آپاچی با سرور مجازی  روی سیستم عامل  CentOS 7 خود نصب خواهید کرد.
پیش نیازها

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

سرور مجازی لینوکس cent os 7
فایروال نصب شده یا فایروال پیشفرض سیستم عامل

نصب Apache

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

همانطور که کاربر sudo غیر ریشه در پیش شرط ها پیکربندی شده است ، فهرست بسته محلی httpd Apache را به روز کنید تا آخرین تغییرات بالادست را منعکس کند:

sudo yum update httpd

پس از به روزرسانی بسته ها ، بسته Apache را نصب کنید:

sudo yum install httpd

پس از تأیید نصب ، yum آپاچی و تمام وابستگی های لازم را نصب می کند.

اگر راهنمای موارد اضافی را برای سرورهای جدید CentOS 7 ذکر شده در بخش پیش نیازها ، تکمیل کرده باشید ، فایروال را بر روی سرور خود نصب کرده اید و باید پورت ۸۰ را باز کنید تا به Apache امکان ارائه درخواست از طریق HTTP را فراهم کند. اگر قبلاً این کار را نکرده اید ، می توانید این سرویس را با فعال کردن سرویس http firewalld با دستور زیر انجام دهید:

sudo firewall-cmd --permanent --add-service=http

اگر قصد دارید پیکربندی Apache را برای ارائه محتوا از طریق HTTPS تنظیم کنید ، می خواهید با فعال کردن سرویس https ، پورت ۴۴۳ را نیز باز کنید:

sudo firewall-cmd --permanent --add-service=https

بعد ، فایروال را بارگیری مجدد کنید تا این قوانین جدید به مرحله اجرا در بیایند:

sudo firewall-cmd --reload

پس از بارگیری مجدد فایروال ، شما آماده برای شروع سرویس و بررسی سرور وب هستید.

 

بررسی Web Server سرور

مرحله دوم

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

sudo systemctl start httpd

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

sudo systemctl status httpd

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

خروجی
Redirecting to /bin/systemctl status httpd.service
● httpd.service – The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2019-02-20 01:29:08 UTC; 5s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 1290 (httpd)
Status: “Processing requests…”
CGroup: /system.slice/httpd.service
├─۱۲۹۰ /usr/sbin/httpd -DFOREGROUND
├─۱۲۹۱ /usr/sbin/httpd -DFOREGROUND
├─۱۲۹۲ /usr/sbin/httpd -DFOREGROUND
├─۱۲۹۳ /usr/sbin/httpd -DFOREGROUND
├─۱۲۹۴ /usr/sbin/httpd -DFOREGROUND
└─۱۲۹۵ /usr/sbin/httpd -DFOREGROUND

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

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

برای این کار میتوانید در صفحه مرورگر خود آدرس آیپی سرور را وارد کنید یا در خط فرمان لینوکستان دستور زیر را وارد کنید:

hostname -I

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

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

curl -4 icanhazip.com

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

http://your_server_ip

صفحه پیشفرض وب سرور آپاچی:

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

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

این صفحه نشان می دهد که Apache درست کار می کند. این برنامه همچنین شامل برخی از اطلاعات اولیه در مورد پرونده های مهم Apache و مکان های فهرست بندی است. اکنون که سرویس نصب و راه اندازی شده است ، اکنون می توانید از دستورات مختلف systemctl برای مدیریت سرویس استفاده کنید.

 

مدیریت فرایند Apache

مرحله سوم

اکنون که سرور وب خود را فعال و کار می کنید ، اجازه دهید برخی از دستورات مدیریت اصلی را مرور کنیم.در زیر لیستی از دستورات پر کاربرد apache را مشاهده میکنید.(دستورات وب سرور آپاچی در cent os 7)

۱-برای متوقف کردن سرور وب خود

sudo systemctl stop httpd

۲-برای شروع سرور وب بعد از متوقف کردن

sudo systemctl start httpd

۳-برای متوقف کردن سپس شروع مجدد یا reastart کردن پروسه آپاچی

sudo systemctl restart httpd
۴- برای اینکه بدون افت و قطع شدن اتصالات فعال شده یا به عبارتی بدون اینکه اتفاقی در اتصالات رخ دهد میتوانید پروسه را reaload کنید
sudo systemctl reload httpd

۵- برای غیر فعال کردن پروسه یا وب سرور apache 

sudo systemctl disable httpd

۶-برای فعال کردن مجدد سرویس در راه اندازی

sudo systemctl enable httpd

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

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

 

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

مرحله چهارم

هنگام استفاده از وب سرور Apache ، می توانید از میزبان های مجازی (مشابه بلوک های سرور در Nginx) برای محصور کردن جزئیات پیکربندی و میزبانی بیش از یک دامنه از یک سرور واحد استفاده کنید. در این مرحله دامنه ای به نام famaserver.ir را تنظیم می کنید ، اما باید این را با نام دامنه خود جایگزین کنید.

Apache در CentOS 7 دارای یک بلوک سرور است که بصورت پیش فرض فعال شده است تا برای ارائه اسناد از فهرست /var/www/html پیکربندی شود. اگرچه این یک سایت واحد به خوبی کار می کند ، اگر میزبان چندین سایت باشید ، می تواند ناخوشایند شود. به جای تغییر /var/www/html ، شما یک ساختار دایرکتوری را در سایت  var/www برای سایت famaserver.ir ایجاد می کنید ، در صورت درخواست مشتری از فهرست  var/www/html به عنوان دایرکتوری پیش فرض استفاده می شود. با هر سایت دیگری مطابقت دارد.

دایرکتوری html را برای famaserver.ir به شرح زیر بسازید ، با استفاده از پرچم -p برای ایجاد فهرستهای لازم

 

sudo mkdir -p /var/www/famaserver.ir/html

دایرکتوری دیگری را برای ذخیره پرونده های ورود به سایت ایجاد کنید:

sudo mkdir -p /var/www/famaserver.ir/log

بعد ، مالکیت دایرکتوری html را با متغیر محیطی US USER اختصاص دهید:

sudo chown -R $USER:$USER /var/www/famaserver.ir/html

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

sudo chmod -R 755 /var/www

بعد ، با استفاده از vi یا ویرایشگر مورد علاقه خود ، صفحه index.html نمونه را ایجاد کنید:

sudo vi /var/www/famaserver.ir/html/index.html

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

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

در صورتی که بخواهید با ویرایشگر nano کار کنید بجای دستور vi از nano استفاده کنید و اگر با ارور و خطا مواجه شدید به این معنا میباشد که ویرایشگر nano نصب نمیباشد و با دستور زیر میتوانید ویرایشگر nano را نصب کنید و سپس دستور قبلی را جایگزین و اجرا کنید.

yum install nano

اگر از ویرایشگر vi  استفاده میکنید مراحل زیر را دنبال کنید در غیر اینصورت بجای وارد کردن کلید i در ویرایشگر نانو ادامه مراحل را طی کنید:

i را فشار دهید تا به حالت INSERT بروید و نمونه HTML زیر را به پرونده اضافه کنید:

<html>
<head>
<title>Welcome to famaserver.ir!</title>
</head>
<body>
<h1>Success! The famaserver.ir virtual host is working!</h1>
</body>
</html>

با فشردن ESC ، تایپ: wq و فشار دادن ENTER پرونده را ذخیره و بسته کنید.

و اگر با ویرایشگر nano کار میکنید با فشردن کلید ترکیبی ctrl+x و تایپ کلید y بمعنای تایید کلید اینتر را بزنید تا ذخیره شود.

 

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

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


sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

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

sudo vi /etc/httpd/conf/httpd.conf

این خط را به انتهای پرونده اضافه کنید:

IncludeOptional sites-enabled/*.conf

هنگام افزودن آن خط ، پرونده را ذخیره و بسته کنید. اکنون که دایرکتوری هاست مجازی خود را در اختیار دارید ، پرونده میزبان مجازی خود را ایجاد خواهید کرد.

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

sudo vi /etc/httpd/sites-available/famaserver.ir.conf

بلوک پیکربندی زیر را اضافه کنید ، و دامنه   xample.com را به نام دامنه خود تغییر دهید:

<VirtualHost *:80>
ServerName www.famaserver.ir
ServerAlias famaserver.ir
DocumentRoot /var/www/famaserver.ir/html
ErrorLog /var/www/famaserver.ir/log/error.log
CustomLog /var/www/famaserver.ir/log/requests.log combined
</VirtualHost>

 

با این کار به Apache می گویند که چگونه ریشه ای را که مستقیماً در دسترس اسناد وب قرار دارد ، پیدا کند. همچنین به Apache می گوید مکان ذخیره خطا و درخواست سیاهههای مربوط به این سایت خاص.

پس از اتمام پرونده را ذخیره و ببندید.

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

sudo ln -s /etc/httpd/sites-available/famaserver.ir.conf /etc/httpd/sites-enabled/famaserver.ir.conf

میزبان مجازی شما اکنون پیکربندی شده و آماده ارائه مطالب است. قبل از راه اندازی مجدد سرویس Apache ، مطمئن شوید که SELinux سیاست های صحیحی را برای میزبان های مجازی شما اعمال کرده است.

 

تنظیم مجوزهای SELinux برای میزبان های مجازی

مرحله پنجم

SELinux پیکربندی شده است تا با پیکربندی پیش فرض آپاچی کار کند. از آنجا که دایرکتوری ورود به سیستم سفارشی را در پرونده پیکربندی میزبان مجازی تنظیم کرده اید ، در صورت تلاش برای شروع سرویس Apache ، خطایی دریافت خواهید کرد. برای رفع این مشکل ، شما باید سیاستهای SELinux را به روز کنید تا Apache بتواند در پرونده های لازم بنویسد. SELinux باعث افزایش امنیت در محیط CentOS 7 شما می شود ، بنابراین توصیه نمی شود که ماژول هسته را به طور کامل غیرفعال کنید.

روش های مختلفی برای تنظیم خط مشی بر اساس نیاز محیط شما وجود دارد ، زیرا SELinux به شما امکان می دهد سطح امنیتی خود را شخصی سازی کنید. این مرحله شامل دو روش تنظیم خط مشی های Apache خواهد بود: جهانی و در یک فهرست خاص. تنظیم خط مشی در دایرکتوری ها ایمن تر است ، و بنابراین رویکرد توصیه شده است.


تنظیم سیاستهای آپاچی به صورت جهانی

تنظیم خط مشی Apache به صورت جهانی به SELinux می گوید که با استفاده از boolan httpd_unified ، تمام مراحل Apache را به طور یکسان رفتار کند. اگرچه این رویکرد راحت تر است ، اما همان کنترل را با رویکردی که روی یک پرونده یا خط مشی فهرست تمرکز دارد به شما نمی دهد.

دستور زیر را برای تنظیم خط مشی عمومی Apache اجرا کنید:

sudo setsebool -P httpd_unified 1

دستور setsebool مقادیر بولی SELinux را تغییر می دهد. پرچم -P مقدار زمان بوت را به روز می کند ، و این تغییر در همه راه اندازی مجدد ادامه می یابد. httpd_unified بولی است که به SELinux می گوید تمام مراحل Apache را به همان نوع رفتار کند ، بنابراین شما آن را با مقدار ۱ فعال می کنید.


تنظیم خط مشی های Apache در یک دایرکتوری

 

تنظیم مجوزهای SELinux به صورت جداگانه برای فهرست /var/www/famaserver.ir/log به شما امکان کنترل بیشتر روی خط مشی های Apache را می دهد ، اما ممکن است به نگهداری بیشتری نیز نیاز داشته باشد. از آنجا که این گزینه خط مشی های تنظیم جهانی نیست ، لازم است به طور دستی نوع متن را برای هر فهرست جدید وارد کنید که در تنظیمات میزبان مجازی شما مشخص شده است.

ابتدا نوع زمینه ای را که SELinux به فهرست /var/www/famaserver.ir/log داده است بررسی کنید:

sudo ls -dZ /var/www/famaserver.ir/log/

این دستور فهرست SELinux فهرست را چاپ و چاپ می کند. خروجی مشابه موارد زیر را مشاهده خواهید کرد:

خروجی
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/famaserver.ir/log/

زمینه فعلی httpd_sys_content_t است ، که به SELinux می گوید فرآیند Apache فقط می تواند پرونده های ایجاد شده در این فهرست را بخواند. در این آموزش ، نوع متن فهرست /var/www/famaserver.ir/log را به آدرس httpd_log_t تغییر می دهید. این نوع به Apache امکان می دهد فایل های ورود به سیستم برنامه وب را تولید و پیوست کند:

sudo semanage fcontext -a -t httpd_log_t “/var/www/famaserver.ir/log(/.*)?”

در مرحله بعدی ، از دستور restorecon برای اعمال این تغییرات استفاده کنید و آنها را در راه اندازی مجدد ادامه دهید:

sudo restorecon -R -v /var/www/famaserver.ir/log

پرچم -R این دستور را به صورت بازگشتی اجرا می کند ، به این معنی که هر پرونده موجود را برای استفاده از متن جدید به روز می کند. پرچم -v متن تغییراتی را که فرمان داده شده چاپ می کند. خروجی زیر را تأیید تغییرات مشاهده می کنید:

Output
restorecon reset /var/www/famaserver.ir/log context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:httpd_log_t:s0

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

sudo ls -dZ /var/www/famaserver.ir/log/

خروجی نوع متن به روز شده را منعکس می کند:

Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_log_t:s0 /var/www/famaserver.ir/log

اکنون که فهرست /var/www/famaserver.ir/log از نوع httpd_log_t استفاده می کند ، شما آماده آزمایش پیکربندی میزبان مجازی خود هستید.

 

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

مرحله آخر

پس از به روزرسانی متن SELinux با هر روش ، Apache می تواند به فهرست /var/www/famaserver.ir/log بنویسد. اکنون می توانید سرویس آپاچی را با موفقیت مجدداً راه اندازی کنید:

sudo systemctl restart httpd

محتویات فهرست /var/www/example.com/log را فهرست کنید تا ببینید آیا Apache فایلهای گزارش را ایجاد کرده است:

ls -lZ /var/www/famaserver.ir/log

خواهید دید که Apache قادر به ایجاد پرونده های error.log و requests.log مشخص شده در پیکربندی میزبان مجازی است:

Output
-rw-r–r–. 1 root root 0 Feb 26 22:54 error.log
-rw-r–r–. 1 root root 0 Feb 26 22:54 requests.log

اکنون که میزبان مجازی خود را تنظیم کرده و مجوزهای SELinux را به روز کرده اید ، Apache اکنون نام دامنه شما را ارائه می دهد. می توانید با حرکت به http://famaserver.ir ، جایی که باید چیزی شبیه به این را مشاهده کنید ، این کار را آزمایش کنید:

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

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

این تأیید می کند که میزبان مجازی شما با موفقیت پیکربندی شده و در خدمت محتوا است. مراحل ۴ و ۵ را تکرار کنید تا میزبان مجازی جدیدی با مجوز SELinux برای دامنه های اضافی ایجاد کنید.
نتیجه

در این آموزش وب سرور Apache را نصب و مدیریت کرده اید. اکنون که سرور وب خود را نصب کرده اید ، گزینه های بسیاری را برای نوع محتوا که می توانید در آن خدمت کنید و فناوری هایی که می توانید برای ایجاد یک تجربه غنی تر استفاده کنید ، دارید.

 

 

آموزش تصویری:

 

آموزش نصب آپاچی در centos7 – منبع فاما سرور

نظرات کاربران
مطالب مرتبط
مشکل لود نشدن دایرکت ادمین
مشکل لود نشدن دایرکت ادمین

در این مقاله قصد داریم تا مشکل لود نشدن دایرکت ادمین را با هم مرور کنیم و خطاهای رایج و…

افزودن کاربر به esxi 6.7
افزودن کاربر به esxi 6.7

در مقالات گذشته در ضمینه سرور مجازی پر سرعت ایران توضیحاتی دادیم و در این مقاله در مورد افزودن کاربر…

تفاوت nginx رایگان و لایسنس دار

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

درباره فناوران آساک

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

سرور مجازی ایران

سرور اختصاصی ایران

سرور مجازی آلمان

سرور مجازی آمریکا

سرور مجازی فرانسه

سرور مجازی

سرور ایران

خرید vps

سرور بیگ بلو باتن