Ali Shahrab
Ali Shahrab
خواندن ۵ دقیقه·۴ سال پیش

راه اندازی سرور apache در سیستم عامل CentOs

سلام

توی این مقاله قراره در مورد راه اندازی سرور apache در سیستم عامل CentOs و یه سری تنظیمات مربوط به این وب سرور صحبت کنیم. سیستم عامل ما CentOs 8 هستش و وب سرور apache می باشد. بعد از نصب سیستم عامل مراحل زیر نیاز است تا شما بتوانید یک وب سرور apache روی سرور خود راه اندازی کنید.



نصب وب سرور

در ریپازیتوری های مربوطه به Cantos وب سرور Apache با نام httpd شناخته می شود برای همین برای نصب باید از دستور زیر استفاده کنید:

$ sudo dnf install httpd

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

دستور زیر به دیواره آتش شما اعلام می کند که اجازه ورود و خرووج اطلاعات از طریق پورت مربوط به http را بدهد:

$ sudo firewall-cmd --permanent --zone=public --add-service=http

همچنین اگر می خواهید از رمز نگاری ssl در سرور خود استفاده کنید باید پورت مخصوص به https را نیز باز کنید که از طریق دستور زیر امکان پذیر می باشد:

$ sudo firewall-cmd --permanent --zone=public --add-service=https

در ادامه در مورد راه اندازی پروتوکل https بیشتر صحبت می کنیم.



تنظیمات مربوط به سایت

در وب سرور apache شما می تواند چند سایت به صورت همزمان داشته باشید. به این صورت که هر کدام به صورت مستقل فعالیت کرده و تنها هاست یکسانی دارند.

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

همچنین در پوشه /etc/httpd/sites-available تنظیمات مربوط به سایت خود را می توانید قرار دهید و در قسمت /etc/httpd/sites-enabled به وب سرور اعلام می کنید آیا سایت شما در دسترس هست یا خیر.

حال برای تمرین بیشتر یک سایت دلخواه به وجود می آوریم:

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

$ sudo mkdir -p /var/www/example.com/html

سپس فایل ها مربوط به سایت خود را می توانید در پوشه /var/www/example.com/html بریزید.

همچنین برای ذخیره log ها می توانید یک پوشه جدید باز کنید:

$ sudo mkdir -p /var/www/example.com/log

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

$ sudo vi /etc/httpd/sites-available/example.com.conf

و در آن اطلاعات مربوطه به سایت خود را وارد کنید:

<VirtualHost *:80>
ServerName www.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>

که در قسمت بالا باید اطلاعات مربوط به سایت خود را وارد کنید. ServerName مربوط به نام سایت شما، DocumentRoot مربوطه به پوشه قرار گرفتن فایل های html سایت شما، ErrorLog مربوط به محل ذخیره سازی log ها می باشد.

دقت کنید که در این قسمت می توانید پورت مربوط به سایت خود را مشخص کنید(انتهای خط اول). به طور مثال سایت شما می تواند از طریق پورت 12345 قابل دسترس باشد. ولی باید دقت داشته باشید که در تنظیمات دیواره آتیش پورت مد نظر را باز کنید.

همچنین اگر می خواید از سایت شما https باشید باید به قسمت تنطیمات اطلاعات مربوط به private key و certificate File خود را اضافع کنید:

<VirtualHost 192.168.0.1:443>
DocumentRoot /var/www/html2
ServerName www.example.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>

که SSLCertificateFile آدرس certificate file شما، SSLCertificateKeyFile آدرس private key شما و SSLCertificateChainFile آدرس Bundle File شما در صورت نیاز می باشد.

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

$ sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf

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

$ sudo a2ensite example.com

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

$ sudo a2disite example.com


بعد از انجام تغییرات باید وب سرور را restart کنید. دستورات زیر مربوط به راه اندازی وب سرور و موارد مشابه می باشد.

راه اندازی سرویس وب سرور:

$ sudo systemctl start httpd

توفق سرویس وب سرور:

$ sudo systemctl stop httpd

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

$ sudo systemctl restart httpd

تنظیم کردن مجدد تنظیمات وب سرور:

$ sudo systemctl reload httpd

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

$ sudo systemctl status httpd


امیدوارم بتوانید از مطالب بالا برای راه اندازی سایت خود استفاده کنید.




منابع

https://www.linode.com

https://phoenixnap.com

https://www.digitalocean.com

https://www.digicert.com

apachewebserverhttpcentos
شاید از این پست‌ها خوشتان بیاید