انجمنهای فارسی اوبونتو
کمک و پشتیبانی => شبکه و سرویس دهندهها => نویسنده: nasserghiasi در 03 آذر 1390، 12:47 بظ
-
تمامی بسته های وب سرور اعم از php,mysql,apache را نصب کردم و پرمیژن فایل های www را که در مسیر /media/SCSI/www هستند را به 777 تغییر دادم ولی باز هنگام اجرای لوکال هاست خطای 403 می ده.
مشکل از کجا می تونه باشه؟!
-
خطای 403 مربوط به سطح دسترسی هست
تا اونجا که یادمه یه قسمتی تووی آپاچی بود" httpd " بعدش یه قسمتهایی بود که نوشته alllow یا deny اونجا رو نگاه بنداز
البته اگر درست یادم مونده باشه ;D
-
سلام
شما مسیر پیش فرض فولدر آپاچی رو تغییر دادید.
از لینک زیر دوباره تمامی مراحل رو چک کنید.
http://wiki.ubuntu.ir/ApacheMySQLPHP
-
سلام
من هم مسیر پیشفرض آپاچی را تغییر دادم و همین خطای ۴۰۳ را دریافت میکنم.
به گمانم، مطابق راهنمای http://wiki.ubuntu.ir/ApacheMySQLPHP هم عمل کردهام. (که لابد گمانم غلط است که الان با مشکل برخوردم!!)
حالا چند تا سوال:
۱- برای اینکه مسیر پیشفرض را تغییر دهیم، راهنمای لینک بالا (که از حالا به بعد میگویم راهنمای ۱) میگوید که یک کپی از فایل default به نام سایت جدیدمان درست کنیم، ولی راهنمای http://wiki.ubuntu.ir/ApacheHowto (راهنمای ۲ میناممش) میگوید که فایل default را ویرایش کنیم. آیا این دو باهم فرقی هم میکنند؟ اگر آری، چرا؟
۲- راهنمای ۱ میگوید برای تغییر مسیر، باید هم DocumentRoot را ویرایش کرد و هم Directory را. ولی در راهنمای ۲ میگوید فقط DocumentRoot را باید ویرایش کرد. آیا واقعاً این دو فرقی با هم ندارند؟
۳- فایل httpd.conf من خالی خالیست! بنابراین نمیدانستم وقتی راهنمای ۱ میگوید در این فایل عبارت Servername sitename را در انتهای فایل وارد کنیم، منظورش همین خط اول است؟
۴- اشکال کار من کجاست که من خطای 403 Forbidden میگیرم و چه کار باید کرد که درست شود؟ (آیا نیاز هست که متن فایلهای mysite و apache2.conf را اینجا کپی کنم؟)
با سپاس
-
۳- فایل httpd.conf من خالی خالیست! بنابراین نمیدانستم وقتی راهنمای ۱ میگوید در این فایل عبارت Servername sitename را در انتهای فایل وارد کنیم، منظورش همین خط اول است؟
پیکربندی آپاچی 2 در دبیان ها در پرونده ی apache2.conf و در ردهت ها در httpd.conf است
========================
apache2.conf یا httpd.conf برای پیکربندی خود آپاچی است نه برای پیکربندی سایت ها
برای اینکه وبگاه هایی که در دسترس هستند جدا کنید ( هر کدام در یک زیر پوشه و با یک نام ) باید پرونده های زیر پوشه ی :
/etc/apache2/sites_enabled
را بویرایید . برای نمونه در آن پوشه بنده پرونده ای دارم با نام 000-default و درونمایه:<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
از روی همین یکی برای خودتان بسازید
-
سلام
ممنونم که پاسخ دادید. ولی مشکل همچنان پابرجاست!
در پوشهی sites_enabled یک فایل هست به نام mysite که اشاره میکند به فایلی به همین نام در پوشه sites-available که محتویاتش دقیقاً همین چیزیست که شما نوشتید با دو تا تفاوت: یکی اینکه به جای نشانی /var/www/ نشانی پوشهی ای که خودم انتخاب کردم است (نوشته بودم که من مسیر را تغییر دادم) و دوم اینکه در فایل شما مسیر ذخیره لاگهای خطا، به صورت ثابت نوشته شده است ولی در فایل من به صورت متغیر:
ErrorLog ${APACHE_LOG_DIR}/error.log
بقیه موارد، حرف به حرف دقیقاً عین مال شماست. جالب اینکه اگر من مسیر را دوباره به پیشفرض اولیه تغییر دهم، با اینکه در پوشهی sites_enabled باز فقط همان فایل سابق هست ولی همه چیز درست میشود و فقط وقتی که مسیر را تغییر میدهم این مشکل (خطای ۴۰۳) بوجود میآید.
یک سوال خارج از موضوع:
آیا کلمهی «بویرایید» صیغهی امر «ویرایش کردن» است؟
-
سلام
کسی نمیتونه به من کمک کنه؟
خیلی توی اینترنت گشتم. یه جای کار یک مشکلی هست که از سطح سواد عمومی من خیلی بالاتر است. یا شاید هم آنقدر پیش پا افتاده باشد که به چشم من نمیاد!
سپاسگزار میشم اگر کمک کنید بلکه این مشکل حل شود.
-
با سلام دوباره
الان یک مطلبی را متوجه شدم.
مسیری را که میخواهم جناب آپاچی به جای مسیر پیشفرضش بشناسد، در هارد اینترنالیست که از روی کامپیوتر نصب شده (منظورم این است که یک هارد اینترنال دیگر به جز هاردی که جدید خریدم و اوبونتور را در آن نصب کردم).
گمان کردم که شاید مشکل از پرمیشن ها باشد رفتم که پرمیشن را تغییر دهم، تغییر نیافت! با کلمهی کلیدی sudo در اول فرمان، سعی کردم، با اینکه رمزم را گرفت، ولی باز هم نشد!
امکان دارد که مشکل از این باشد که من نمیتوانم پرمیشن را تغییر دهم؟
یک سوال: فرق یوزر Alireza و root چیست؟ اگر از کاربر علیرضا، رمز بخواهد، دسترسی ریشهای پیدا میکند؟
-
با سلام دوباره
الان یک مطلبی را متوجه شدم.
مسیری را که میخواهم جناب آپاچی به جای مسیر پیشفرضش بشناسد، در هارد اینترنالیست که از روی کامپیوتر نصب شده (منظورم این است که یک هارد اینترنال دیگر به جز هاردی که جدید خریدم و اوبونتور را در آن نصب کردم).
گمان کردم که شاید مشکل از پرمیشن ها باشد رفتم که پرمیشن را تغییر دهم، تغییر نیافت! با کلمهی کلیدی sudo در اول فرمان، سعی کردم، با اینکه رمزم را گرفت، ولی باز هم نشد!
امکان دارد که مشکل از این باشد که من نمیتوانم پرمیشن را تغییر دهم؟
یک سوال: فرق یوزر Alireza و root چیست؟ اگر از کاربر علیرضا، رمز بخواهد، دسترسی ریشهای پیدا میکند؟
یک نکته مهم اینه که موقع بررسی مشکل، مشکل رو به اجزای ساده تر تقسیم کنی و وقتی تونستی مشکل رو به شکل ساده حل کنی یک قدم یک قدم پیچیده کنی. یا مشکل رو تقسیم کنی به اجزای ساده، هر کدوم رو مستقل حل کنی و بعد اجزا رو یکی یکی بچسبونی به هم ببینی کار می کنن یا نه.
در این مورد هم حالا رسیدی به اینجا که «دایرکتوری ای که دادم روی یک هارد اکسترنال است که دسترسی هاش مشکوکه». خب تنظیمات رو عوض کن برای یک دایرکتوری معقول و توش یک فایل معقول index.html یک خطی بذار و ببین کار می کنه یا نه اینجوری کشف می کنی که آیا مشکل به اون هارد و دسترسی مربوطه یا نه. بعد می تونی عیب یابی رو ادامه بدی. به این می گن سیستماتیک ترابل شوتینگ. در غیراینصورت خیلی سخته چیزی رو عیب یابی کنیم که هر جاییش ممکنه خراب باشه و ما فقط سعی کنیم مدل تک تیراندازی به اینطرف و اونطرف تیر بندازیم شاید به هدف خورد. «شاید این خرابه. نبود؟ پس شاید این خرابه. نبود؟ پس حالا اینو نگاه کن» روش سخت تری است از اینکه «مطمئن بشو مشکل از اینه. حالا مطمئن شو مشکل از فلان قسصمتشه، ...»
در مورد دسترسی جریان اینه که توی لینوکس یک کاربر روت هست که به همه چیز دسترسی داره. توی اوبونتو اگر با کاربر خودت لاگین کرده باشی و جلوی دستوری sudo بذاری، اون دستور با دسترسی روت اجرا می شه.
حالا که در نقش پدر بزرگ دارم توصیه می کنم اینم بگم که باید با طلا نوشتش سردر فروم: اگر می خوای لینوکس یاد بگیری، کارهایی که می کنی رو درک کن. توی ویندوز باید حفظ بشیم که فلان منوی فلان جا می شه فلان کار رو بکنه. توی لینوکس باید درک کنیم که سیستم چطوری کار می کنه و بعد هر طوری دوست داشتیم اون کار رو انجام بدیم یا کشف کنیم که الان توی فلان برنامه چطوریه جریان. مفهوم DocumentRoot، Directory, virtualhost و ... رو که بخونی و یاد بگیری می فهمی که داکیومنت ها دارن چی می گن و چرا و بنا به نیازت اصلاحشون می کنی. پیدا کردن یک داکیومنت و ازش جلو رفتن بدون فهمیدنش خطرناک ترین کار توی لینوکسه و اکثر سوال های اینجا که جواب نمی گیرن هم مربوطن به کسانی که یک متن پیدا کردن و دستورهاش رو انجام دادن و چیزی خراب شده و الان نیم دونن باید چیکار کنن (: با حوصله اگر یکبار درک کنیم چیکار می کنیم تا آخر عمرمون بلدیمش (:
-
حالا که در نقش پدر بزرگ دارم توصیه می کنم اینم بگم که باید با طلا نوشتش سردر فروم: اگر می خوای لینوکس یاد بگیری، کارهایی که می کنی رو درک کن. توی ویندوز باید حفظ بشیم که فلان منوی فلان جا می شه فلان کار رو بکنه. توی لینوکس باید درک کنیم که سیستم چطوری کار می کنه و بعد هر طوری دوست داشتیم اون کار رو انجام بدیم یا کشف کنیم که الان توی فلان برنامه چطوریه جریان. مفهوم DocumentRoot، Directory, virtualhost و ... رو که بخونی و یاد بگیری می فهمی که داکیومنت ها دارن چی می گن و چرا و بنا به نیازت اصلاحشون می کنی. پیدا کردن یک داکیومنت و ازش جلو رفتن بدون فهمیدنش خطرناک ترین کار توی لینوکسه و اکثر سوال های اینجا که جواب نمی گیرن هم مربوطن به کسانی که یک متن پیدا کردن و دستورهاش رو انجام دادن و چیزی خراب شده و الان نیم دونن باید چیکار کنن (: با حوصله اگر یکبار درک کنیم چیکار می کنیم تا آخر عمرمون بلدیمش (:
1+
ممنونم, مفید بود .
-
اولا که سپاس.
ثانیاً که حرفهایت کاملاً متین و درست. منتها من الان از گشنگی دارم میمیرم! الان وقت یادگیری ماهیگیری نیست!
باید یه ماهی بخورم و جون بگیرم و برم دنبال یادگیری. اگر نکنم، میترسم یکی پیدا بشه و یه نون پنیر (ویندوز ایکس پی مثلاً!!) بهم بده تا نمیرم!
قدم به قدم میرم جلو آخر هم نتیجهاش را برایت مینویسم.
مرسی
-
گمان کردم که شاید مشکل از پرمیشن ها باشد رفتم که پرمیشن را تغییر دهم، تغییر نیافت! با کلمهی کلیدی sudo در اول فرمان، سعی کردم، با اینکه رمزم را گرفت، ولی باز هم نشد!
اینجور که بر میاد مشکل از دسترسی ها هستش
sudo find /var -type d -name 'www' -exec ls -hall {} \;
پوشه ی www را در درایوی که نصبیده اید ext باید باشد ( یا reiser , btr و اینها ) روی ntfs درست کار نمیکند
-
دو سوال:
۱- اگر نوع یک هارد دیسکی رو که قبلاً در ویندوز مشغول خدمت بوده، بخواهیم تغییر دهیم، اطلاعاتش پاک خواهد شد؟
۲- من الان از طریق برنامه Disk Utility میتونم نوع هارد را تغییر دهم، ولی واقعاً نمیدانم کدام را انتخاب کنم! حق انتخابم خیلیست. چیزهایی که به نظرم میاد اینهاست:
Extended (0x05)
Linux Extended (0x85)
اگر هم نیاز هست، بگویید یک اسکرین شات ازش بگیرم.
نسخهی اوبونتوی من دوازده و خوردهایست! (هنوز یاد نگرفتم که چطوری باید بفهمم!!)
مرسی
-
۱- اگر نوع یک هارد دیسکی رو که قبلاً در ویندوز مشغول خدمت بوده، بخواهیم تغییر دهیم، اطلاعاتش پاک خواهد شد؟
بله
نسخهی اوبونتوی من دوازده و خوردهایست! (هنوز یاد نگرفتم که چطوری باید بفهمم!!)
در خط فرمان :
uname -a
- من الان از طریق برنامه Disk Utility میتونم نوع هارد را تغییر دهم، ولی واقعاً نمیدانم کدام را انتخاب کنم! حق انتخابم خیلیست.
با برنامه ی gparted درایو را به ext4 بازفورمت کنید
البته پیش از هر کاری یک رونوشت از فایلهای درون آن درایو بردارید
-
نسخهی اوبونتوی من دوازده و خوردهایست! (هنوز یاد نگرفتم که چطوری باید بفهمم!!)
در خط فرمان :
uname -a
uname بیشتر برای اطلاعات هسته مفیده، نه برای توزیع. این دستور مناسبتره:
lsb_release -a
-
سلام
با توجه به اینکه چندین بار محل سایتی را که آپاچی باید اجرا کند، تغییر دادم و فقط در هارد ویندوزی مشکل پرمیشن دارد و نوع هارد هم NTFS است و پرمیشن آن را هم حتی با کاربر روت هم نمیتوانم تغییر دهم، احتمال ۹۹ درصد میدهم که مشکل از همینجا ناشی باشد و چون باید یک هارد جداگانهی دیگری هم داشته باشم تا بتوانم نوع این هارد ویندوزی را تغییر دهم، فعلاً از خیر محل آپاچی گذشتم.
از همه کسانی که در تاپیک به من کمک کردند، به خصوص جناب جادی، ممنونم.
امیدوارم که در این انجمن بتوانم همانطور که شماها برایم مفید بودید، برای دیگران نیز مفید باشم.
علیرضا
-
NTFS یک فایلسیستم مربوط به دوران فرفرهمیرزاست که اصلا توش سطح دسترسی تعریف نشده. برای همین هم آپاچی روش اجراش نمیشه
-
NTFS یک فایلسیستم مربوط به دوران فرفرهمیرزاست که اصلا توش سطح دسترسی تعریف نشده. برای همین هم آپاچی روش اجراش نمیشه
البته NTFS شامل سطحدسترسیها هست و دلیلی که Apache اجرا نمیشه این نیست، ولی خوب استفاده از NTFS هم چون از پایه برای گنو-لینوکس ساخته نشده و مشکلاتی که داره، اصلا پیشنهاد نمیشه.
-
http://en.wikipedia.org/wiki/NTFS
-
حالا که در نقش پدر بزرگ دارم توصیه می کنم اینم بگم که باید با طلا نوشتش سردر فروم: اگر می خوای لینوکس یاد بگیری، کارهایی که می کنی رو درک کن. توی ویندوز باید حفظ بشیم که فلان منوی فلان جا می شه فلان کار رو بکنه. توی لینوکس باید درک کنیم که سیستم چطوری کار می کنه و بعد هر طوری دوست داشتیم اون کار رو انجام بدیم یا کشف کنیم که الان توی فلان برنامه چطوریه جریان. مفهوم DocumentRoot، Directory, virtualhost و ... رو که بخونی و یاد بگیری می فهمی که داکیومنت ها دارن چی می گن و چرا و بنا به نیازت اصلاحشون می کنی. پیدا کردن یک داکیومنت و ازش جلو رفتن بدون فهمیدنش خطرناک ترین کار توی لینوکسه و اکثر سوال های اینجا که جواب نمی گیرن هم مربوطن به کسانی که یک متن پیدا کردن و دستورهاش رو انجام دادن و چیزی خراب شده و الان نیم دونن باید چیکار کنن (: با حوصله اگر یکبار درک کنیم چیکار می کنیم تا آخر عمرمون بلدیمش (:
1+
ممنونم, مفید بود .
کاملا
+۱