آپاچی: تفاوت بین نسخهها
(افزودن سطوح دسترسی) |
(افزودن پیوند php) |
||
(۱۳ نسخهٔ میانی ویرایش شده توسط ۳ کاربر نشان داده نشده) | |||
سطر ۱: | سطر ۱: | ||
− | '''آپاچی''' (Apache HTTP Server) یک [[server|کارساز]] آزاد، رایگان و چندسکویی وب | + | '''آپاچی''' (Apache HTTP Server) یک [[server|کارساز]] آزاد، رایگان و چندسکویی وب است. |
== نصب == | == نصب == | ||
− | برای نصب | + | برای نصب مستقل میتوانید از دستور زیر استفاده کنید: |
+ | {{bc| | ||
+ | $ sudo apt install apache2 | ||
+ | }} | ||
− | + | برای نصب کارساز وب آپاچی به همراه پایگاه دادهٔ [[MySQL]] و مفسّر [[php|PHP]] میتوانید از دستور زیر استفاده نمایید: | |
− | sudo apt install | + | {{bc| |
− | + | $ sudo apt install lamp-server^ | |
+ | }} | ||
− | + | LAMP به ترتیب از سرواژگان (Linux, Apache, MySQL, PHP) گرفته شده است. | |
− | |||
− | |||
== تنظیم سطح دسترسی var/www/html/ == | == تنظیم سطح دسترسی var/www/html/ == | ||
− | در ادامه یک روش ابتدایی پیشنهادی برای تنظیم سطح دسترسی شاخه var/www/html/ آورده شده است | + | در ادامه یک روش ابتدایی پیشنهادی برای تنظیم سطح دسترسی به شاخه var/www/html/ آورده شده است. |
− | |||
− | |||
− | + | فرض میکنیم کاربری با نام کاربری user باید توانایی نگارش در این شاخه را داشته و apache قادر به اجرا و در صورت نیاز ایجاد فایلهای لازم باشد. | |
− | + | ابتدا مالک این دایرکتوری را user قرار داده و www-data را به عنوان گروه تنظیم خواهیم کرد. | |
+ | {{bc| | ||
$ sudo chown -R user:www-data /var/www/html | $ sudo chown -R user:www-data /var/www/html | ||
− | + | }} | |
− | |||
− | |||
− | + | سپس با دستور زیر اطمینان حاصل میکنیم که apache دسترسی لازم برای خواندن تمامی فایلها را دارد. همینطور صاحب فایلها قادر به نوشتن در آنها است. | |
+ | {{bc| | ||
$ sudo find /var/www/html -type f -exec chmod 0644 {} + | $ sudo find /var/www/html -type f -exec chmod 0644 {} + | ||
− | + | }} | |
− | |||
− | |||
− | + | در مرحله بعد باید به user و apache مجوز ورود به دایرکتوریهای مختلف را بدهیم. همینطور کاربر اجازه خواهد داشت تا فایلها و دایرکتوری جدید ایجاد نماید. | |
+ | {{bc| | ||
$ sudo find /var/www/html -type d -exec chmod 0755 {} + | $ sudo find /var/www/html -type d -exec chmod 0755 {} + | ||
− | + | }} | |
در ادامه با تنظیم SGID قصد داریم تا به صورت پیشفرض تمام فایل و دایرکتوریهایی که در این شاخه ایجاد میشوند را به گروه www-data اختصاص دهیم. | در ادامه با تنظیم SGID قصد داریم تا به صورت پیشفرض تمام فایل و دایرکتوریهایی که در این شاخه ایجاد میشوند را به گروه www-data اختصاص دهیم. | ||
− | + | {{bc| | |
− | |||
$ sudo chmod g+s /var/www/html/ | $ sudo chmod g+s /var/www/html/ | ||
− | + | }} | |
− | |||
− | |||
− | + | حال برای اینکه اسکریپتهای شما بتوانند (با آپاچی) در شاخههای لازم چیزی بنویسند باید دسترسی نوشتن را برای گروه آپاچی در آن شاخه در نظر بگیرید. | |
+ | {{bc| | ||
$ sudo chmod g+w /var/www/html/uploads | $ sudo chmod g+w /var/www/html/uploads | ||
− | + | }} | |
− | |||
− | + | از این پس آپاچی میتواند در دایرکتوری uploads بدون مشکل فایلهای لازم را ایجاد نماید. | |
+ | اسکریپتهای شما باید umask لازم را جهت کاربری صحیح در این شاخه تنظیم نمایند. | ||
− | + | صاحب و گروه فایلهای ایجاد شده کاربر آپاچی یا www-data خواهد بود. برای اینکه بتوانید این فایلها را مدیریت، حذف و... کنید، سطوح دسترسی پیشفرض این شاخه را برای گروه www-data به شکل زیر تغییر دهید. | |
+ | {{bc| | ||
$ setfacl -d -m group:www-data:rwx /var/www/html/uploads | $ setfacl -d -m group:www-data:rwx /var/www/html/uploads | ||
− | + | }} | |
سپس کاربر خودتان را به این گروه اضافه نمایید: | سپس کاربر خودتان را به این گروه اضافه نمایید: | ||
+ | {{bc| | ||
+ | $ sudo gpasswd -a www-data user | ||
+ | }} | ||
− | + | [[رده:کارساز وب]] | |
− | |||
− |
نسخهٔ کنونی تا ۱۰ خرداد ۱۴۰۳، ساعت ۱۶:۵۳
آپاچی (Apache HTTP Server) یک کارساز آزاد، رایگان و چندسکویی وب است.
نصب
برای نصب مستقل میتوانید از دستور زیر استفاده کنید:
$ sudo apt install apache2
برای نصب کارساز وب آپاچی به همراه پایگاه دادهٔ MySQL و مفسّر PHP میتوانید از دستور زیر استفاده نمایید:
$ sudo apt install lamp-server^
LAMP به ترتیب از سرواژگان (Linux, Apache, MySQL, PHP) گرفته شده است.
تنظیم سطح دسترسی var/www/html/
در ادامه یک روش ابتدایی پیشنهادی برای تنظیم سطح دسترسی به شاخه var/www/html/ آورده شده است.
فرض میکنیم کاربری با نام کاربری user باید توانایی نگارش در این شاخه را داشته و apache قادر به اجرا و در صورت نیاز ایجاد فایلهای لازم باشد.
ابتدا مالک این دایرکتوری را user قرار داده و www-data را به عنوان گروه تنظیم خواهیم کرد.
$ sudo chown -R user:www-data /var/www/html
سپس با دستور زیر اطمینان حاصل میکنیم که apache دسترسی لازم برای خواندن تمامی فایلها را دارد. همینطور صاحب فایلها قادر به نوشتن در آنها است.
$ sudo find /var/www/html -type f -exec chmod 0644 {} +
در مرحله بعد باید به user و apache مجوز ورود به دایرکتوریهای مختلف را بدهیم. همینطور کاربر اجازه خواهد داشت تا فایلها و دایرکتوری جدید ایجاد نماید.
$ sudo find /var/www/html -type d -exec chmod 0755 {} +
در ادامه با تنظیم SGID قصد داریم تا به صورت پیشفرض تمام فایل و دایرکتوریهایی که در این شاخه ایجاد میشوند را به گروه www-data اختصاص دهیم.
$ sudo chmod g+s /var/www/html/
حال برای اینکه اسکریپتهای شما بتوانند (با آپاچی) در شاخههای لازم چیزی بنویسند باید دسترسی نوشتن را برای گروه آپاچی در آن شاخه در نظر بگیرید.
$ sudo chmod g+w /var/www/html/uploads
از این پس آپاچی میتواند در دایرکتوری uploads بدون مشکل فایلهای لازم را ایجاد نماید.
اسکریپتهای شما باید umask لازم را جهت کاربری صحیح در این شاخه تنظیم نمایند.
صاحب و گروه فایلهای ایجاد شده کاربر آپاچی یا www-data خواهد بود. برای اینکه بتوانید این فایلها را مدیریت، حذف و... کنید، سطوح دسترسی پیشفرض این شاخه را برای گروه www-data به شکل زیر تغییر دهید.
$ setfacl -d -m group:www-data:rwx /var/www/html/uploads
سپس کاربر خودتان را به این گروه اضافه نمایید:
$ sudo gpasswd -a www-data user