آپاچی: تفاوت بین نسخه‌ها

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

نسخهٔ کنونی تا ‏۱۰ خرداد ۱۴۰۳، ساعت ۱۶:۵۳

آپاچی (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