CentOS 7

نصب وب سرور Apache در CentOS 7

در این راهنما ، یک سرور مجازی وب Apache با میزبان های مجازی روی سرور مجازی CentOS 7 خود نصب خواهید کرد.
پیش نیازها
برای تکمیل این راهنما به موارد زیر نیاز دارید:
• کاربر غیر ریشه ای با امتیازات sudo که با دنبال کردن راهنمای اولیه تنظیم سرور مجازی برای CentOS 7 بر روی سرور مجازی شما پیکربندی شده باشد.
•یک فایروال پایه که با دنبال کردن مراحل اضافی توصیه شده برای سرور مجازی های جدید CentOS 7 ، پیکربندی شده است.
مرحله 1 – نصب Apache
Apache در مخازن پیش فرض نرم افزار CentOS موجود است ، به این معنی که می توانید آن را با مدیر بسته yum نصب کنید.
وقتی که کاربر sudo غیر ریشه در پیش شرط ها پیکربندی شد، فهرست بسته محلی httpd Apache را به روز کنید تا آخرین تغییرات بالادست را منعکس کند:
⦁ $ sudo yum update httpd

پس از به روزرسانی بسته ها ، بسته Apache را نصب کنید:
⦁ $ sudo yum install httpd

پس از تأیید نصب ، yum ، Apache و تمام متعلقات لازم را نصب می کند.
اگر راهنمای مراحل توصیخ شده اضافی را برای سرور مجازی های جدید CentOS 7 که در بخش پیش نیازها ذکر شد، تکمیل کرده باشید ، فایروال را روی سرور مجازی خود نصب کرده اید و باید پورت 80 را باز کنید تا به Apache امکان ارائه درخواست از طریق HTTP را بدهد. اگر قبلاً این کار را نکرده اید ، می توانید با فعال کردن سرویس http firewalld با دستور زیر این کار را انجام دهید:
⦁ $ sudo firewall-cmd –permanent –add-service=http

اگر قصد دارید Apache را برای ارائه محتوا از طریق HTTPS پیکربندی کنید ، بهتر است با فعال کردن سرویس https ، پورت 443 را نیز باز کنید:
⦁ $ sudo firewall-cmd –permanent –add-service=https

در مرحله بعد ، فایروال را مجدد لود کنید تا این قوانین جدید به مرحله اجرا در بیایند:
⦁ $ sudo firewall-cmd –reload

پس از لود مجدد فایروال ، شما آماده شروع سرویس و بررسی سرور مجازی وب هستید.
مرحله 2 – بررسی سرور مجازی وب خود
Apache پس از اتمام نصب به طور خودکار در CentOS شروع نمی شود. شما باید فرایند Apache را بصورت دستی شروع کنید:
⦁ $ sudo systemctl start httpd

با دستور زیر تأیید کنید که این سرویس در حال اجرا است:
⦁ $ sudo systemctl status httpd

هنگام اجرای سرویس وضعیت فعال را مشاهده خواهید کرد:
Output
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
├─1290 /usr/sbin/httpd -DFOREGROUND
├─1291 /usr/sbin/httpd -DFOREGROUND
├─1292 /usr/sbin/httpd -DFOREGROUND
├─1293 /usr/sbin/httpd -DFOREGROUND
├─1294 /usr/sbin/httpd -DFOREGROUND
└─1295 /usr/sbin/httpd -DFOREGROUND

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

این دستور همه آدرس های شبکه میزبان را نشان می دهد ، بنابراین چند آدرس IP که با فاصله جدا شده اند را دریافت خواهید کرد. می توانید هرکدام را در مرورگر وب خود امتحان کنید تا ببینید که آیا کار می کنند.
از طرف دیگر ، می توانید از Curl برای درخواست IP خود از icanhazip.com استفاده کنید ، که آدرس IPv4 عمومی شما را به عنوان مکان دیگری در اینترنت مشاهده می کند:
⦁ $ curl -4 icanhazip.com

هنگامی که آدرس IP سرور مجازی خود را دارید ، آن را در نوار آدرس مرورگر خود وارد کنید:
http://your_server_ip
صفحه پیش فرض CentOS 7 Apache را مشاهده خواهید کرد:

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

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

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

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

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

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

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

دایرکتوری دیگری را برای ذخیره فایل های ورود به سایت ایجاد کنید:
⦁ $ sudo mkdir -p /var/www/example.com/log

سپس ، مالکیت دایرکتوری html را به متغیر محیطی $USER اختصاص دهید:
⦁ $ sudo chown -R $USER:$USER /var/www/example.com/html

اطمینان حاصل کنید که ریشه وب شما دارای مجوزهای پیش فرض است:
⦁ $ sudo chmod -R 755 /var/www

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

i را فشار دهید تا به حالت INSERT بروید و نمونه HTML زیر را به فایل اضافه کنید:
/var/www/example.com/html/index.html
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>

با فشردن ESC ، تایپ: wq و فشار دادن ENTER فایل را ذخیره کنید و ببندید.
با قرارگیری دایرکتوری سایت و فایل درج شده نمونه در جای خود، تقریباً آماده ساختن فایل های هاست مجازی هستید. فایلهای هاست مجازی پیکربندی سایتهای جداگانه شما را مشخص می کنند و به سرور مجازی وب Apache نشان می دهند که چگونه به درخواستهای دامنه مختلف پاسخ دهد.
قبل از ایجاد هاست مجازی ، باید یک دیرکتوری sites-available ایجاد کنید تا آنها را ذخیره کنید. همچنین دایرکتوری sites-enabled را ایجاد خواهید کرد که به Apache می گوید یک هاست مجازی آماده خدمت به بازدید کنندگان است. دایرکتوری sites-enabled پیوندهای سمبولیکی را برای هاست های مجازی که می خواهیم منتشر کنیم ، نگه می دارد. هر دو دیرکتوری را با دستور زیر ایجاد کنید:
⦁ $ sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

در مرحله بعد ، به Apache می گویید که در دایرکتوری sites-enabled به دنبال هاست های مجازی باشد. برای انجام این کار ، فایل پیکربندی اصلی Apache را ویرایش کنید و خطی را اضافه کنید که یک دیرکتوری اختیاری برای فایل های پیکربندی اضافی را اعلام می کند:
⦁ $ sudo vi /etc/httpd/conf/httpd.conf

این خط را به انتهای فایل اضافه کنید:
IncludeOptional sites-enabled/*.conf

پس از اتمام افزودن آن خط ، فایل را ذخیره کنید و ببندید. اکنون که دایرکتوری های هاست مجازی خود را در اختیار دارید ، فایل هاست مجازی خود را ایجاد خواهید کرد.
با ایجاد یک فایل جدید در دیرکتوری sites-available شروع کنید:
⦁ $ sudo vi /etc/httpd/sites-available/example.com.conf

بلوک پیکربندی زیر را اضافه کنید ، و دامنه example.com را به نام دامنه خود تغییر دهید:
/etc/httpd/sites-available/example.com.conf
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log combined
</VirtualHost>

این کار به Apache می گوید که کجا مستقیماً ریشه ای را که اسناد وب در دسترس را نگه می دارد ، پیدا کند. همچنین به Apache می گوید خطا و ورود های درخواست مربوط به این سایت خاص را کجا ذخیره کند.
پس از اتمام فایل را ذخیره کنید و ببندید.
اکنون که فایلهای هاست مجازی را ایجاد کرده اید ، آنها را فعال خواهید کرد تا Apache بداند که می تواند آنها را در اختیار بازدید کنندگان قرار دهد. برای انجام این کار ، برای هر هاست مجازی در دیرکتوری sites-enabled ، یک لینک نمادین ایجاد کنید:
⦁ $ sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf

میزبان مجازی شما اکنون پیکربندی شده و آماده ارائه مطالب است. قبل از راه اندازی مجدد سرویس Apache ، مطمئن شوید که SELinux رویکرد های صحیحی را برای هاست های مجازی شما اعمال کرده است.
مرحله 5 – تنظیم مجوزهای SELinux برای هاست های مجازی (توصیه می شود)
SELinux به گونه ای پیکربندی شده است تا با پیکربندی پیش فرض Apache کار کند. از آنجا که دایرکتوری ورود به سیستم سفارشی را در فایل پیکربندی هاست مجازی تنظیم کرده اید ، در صورت تلاش برای شروع سرویس Apache ، خطایی دریافت خواهید کرد. برای رفع این مشکل ، باید رویکردهای SELinux را به روز کنید تا Apache بتواند در فایل های لازم بنویسد. SELinux باعث افزایش امنیت در محیط CentOS 7 شما می شود ، بنابراین توصیه نمی شود که ماژول هسته را به طور کامل غیرفعال کنید.
روش های مختلفی برای تنظیم رویکردها بر اساس نیاز محیط شما وجود دارد ، زیرا SELinux به شما امکان می دهد سطح امنیتی خود را شخصی سازی کنید. این مرحله شامل دو روش تنظیم خط مشی Apache خواهد بود: جهانی و در یک دیرکتوری خاص. تنظیم رویکرد در دایرکتوری ها ایمن تر است ، و بنابراین رویکرد توصیه شده است.
تنظیم رویکردهای Apache به صورت جهانی
تنظیم رویکرد Apache به صورت جهانی به SELinux می گوید که با استفاده از دوبایتی httpd_unified ، با تمام مراحل Apache را به طور یکسان رفتار کند. اگرچه این رویکرد راحت تر است ، اما کنترل مشابه با رویکردی که روی یک فایل یا دیرکتوری تمرکز دارد را به شما نمی دهد.
دستور زیر را برای تنظیم رویکرد جهانی Apache اجرا کنید:
⦁ $ sudo setsebool -P httpd_unified 1

دستور setsebool مقادیر بولی SELinux را تغییر می دهد. پرچم -P مقدار زمان بوت را به روز می کند ، و این تغییر در ریبوت ادامه می یابد. httpd_unified مقدار بولی است که به SELinux می گوید با تمام مراحل Apache به یک نوع رفتار کند ، بنابراین شما آن را با مقدار 1 فعال می کنید.
تنظیم رویکردهای Apache در یک دایرکتوری
تنظیم مجوزهای SELinux به صورت جداگانه برای دیرکتوری /var/www/example.com/log به شما امکان کنترل بیشتر روی رویکرد های Apache را می دهد ، اما ممکن است به نگهداری بیشتری نیز نیاز داشته باشد. از آنجا که این گزینه رویکرد های تنظیم جهانی نیست ، لازم است به طور دستی نوع متن را برای هر دیرکتوری جدید وارد کنید که در تنظیمات هاست مجازی شما مشخص شده است.
ابتدا نوع محتوایی را که SELinux به دیرکتوری /var/www/example.com/log داده است بررسی کنید:
⦁ $ sudo ls -dZ /var/www/example.com/log/

این دستور محتوای SELinux دیرکتوری را لیست و چاپ می کند. خروجی مشابه زیر را مشاهده خواهید کرد:
Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/log/

محتوای فعلی httpd_sys_content_t است ، که به SELinux می گوید فرآیند Apache فقط می تواند فایل های ایجاد شده در این دیرکتوری را بخواند. در این آموزش ، نوع متن دیرکتوری /var/www/example.com/log را به آدرس httpd_log_t تغییر می دهید که به Apache امکان می دهد فایل های ورود به سیستم برنامه وب را تولید و پیوست کند:
⦁ $ sudo semanage fcontext -a -t httpd_log_t “/var/www/example.com/log(/.*)?”

در مرحله بعدی ، از دستور restorecon برای اعمال این تغییرات استفاده کنید و آنها را در ریبوت ادامه دهید:
⦁ $ sudo restorecon -R -v /var/www/example.com/log

پرچم -R این دستور را به صورت بازگشتی اجرا می کند ، به این معنی که هر فایل موجود را برای استفاده از متن جدید به روز می کند. پرچم -v تغییرات محتوایی را که فرمان انجام داده را چاپ می کند. خروجی زیر را مشاهده می کنید که تغییرات را تأیید میکند:
Output
restorecon reset /var/www/example.com/log context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:httpd_log_t:s0

برای دیدن تغییرات می توانید یک بار دیگر محتوا را فهرست کنید:
⦁ $ sudo ls -dZ /var/www/example.com/log/

خروجی نوع متن به روز شده را منعکس می کند:
Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_log_t:s0 /var/www/example.com/log

اکنون که دیرکتوری /var/www/example.com/log از نوع httpd_log_t استفاده می کند ، آماده آزمایش پیکربندی هاست مجازی خود هستید.
مرحله 6 – آزمایش هاست مجازی (توصیه می شود)
پس از به روزرسانی متن SELinux با هر روش ، Apache می تواند به روی دیرکتوری /var/www/example.com/log بنویسد. اکنون می توانید سرویس Apache را با موفقیت مجدداً راه اندازی کنید:
⦁ $ sudo systemctl restart httpd

محتویات دیرکتوری /var/www/example.com/log را فهرست کنید تا ببینید آیا Apache فایلهای ورود را ایجاد کرده است:
⦁ $ ls -lZ /var/www/example.com/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://example.com ، جایی که باید چیزی شبیه به این را مشاهده کنید ، این کار را آزمایش کنید:

این امر تأیید می کند که هاست مجازی شما با موفقیت پیکربندی شده و محتوا را ارائه میکند. مراحل 4 و 5 را تکرار کنید تا هاست مجازی جدیدی با مجوز SELinux برای دامنه های بعدی ایجاد کنید.
نتیجه
در این آموزش وب سرور مجازی Apache را نصب و مدیریت کرده اید. اکنون که سرور مجازی وب خود را نصب کرده اید ، برای نوع محتوایی که می توانید ارائه کنید و فناوری هایی که می توانید برای ایجاد یک تجربه غنی تر استفاده نمایید ، گزینه های بسیاری را خواهید داشت.
اگر می خواهید یک برنامه کاربردی کامل تر ایجاد کنید ، می توانید مقاله نحوه پیکربندی پشته LAMP در CentOS 7 را مطالعه کنید.

 

 

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

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه 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 ارزان – 


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/