آنچه در مقاله میخوانید
دسترسی به فولدر html در اوبونتو از طریق خط فرمان لینوکس و پروتکلهای امنی نظیر SFTP امکانپذیر است و تسلط بر آن، مدیریت ریشۀ وبسایت و بارگذاری صحیح فایلها را در سرور تضمین میکند. بسیاری از مدیران وب پس از راهاندازی اولیۀ سرور با خطاهایی نظیر عدم دسترسی، اشکال در مجوزها یا سردرگمی در ویرایش مستقیم اسناد وب روبهرو میشوند.
برای یادگیری نحوۀ دسترسی به فولدر html در اوبونتو (نسخه 22.04 LTS) بهصورت گامبهگام و رفع خطای Permission Denied با رعایت استانداردهای امنیتی، تا انتهای این راهنما با مبین هاست همراه باشید.
فولدر html در اوبونتو کجاست و چه کاربردی دارد؟
در سیستمعاملهای مبتنی بر دبیان نظیر اوبونتو، مسیر پیشفرض اسناد وب یا همان دایرکتوری ریشه (Document Root) روی آدرس var/www/html/ تعریف شده است. این پوشه دقیقاً نقطهای است که فایلهای فرانتاند سایت (مانند کدهای HTML، استایلهای CSS و اسکریپتهای جاوااسکریپت) در آن مستقر میشوند تا با فراخوانی آدرس IP سرور یا نام دامنه، به درخواستهای مرورگر کاربران پاسخ دهند. برای سازماندهی صحیح دادهها، یادگیری نحوۀ دسترسی به فولدر html در اوبونتو پایه و اساس مدیریت هر سرویسدهندۀ وبی محسوب میشود. مسیردهی در این شاخه با توجه به وبسرور انتخابی و تنظیمات کانفیگ اعمال میگردد:
- در وبسرور آپاچی (Apache): مسیر var/www/html/ بهصورت پیشفرض در فایل تنظیمی etc/apache2/sites-available/000-default.conf/ با دایرکتیو DocumentRoot /var/www/html ثبت شده است. پس از نصب، صفحهای آزمایشی شامل دستورالعملهای پایۀ درون این پوشه قرار میگیرد.
- در وبسرور انجینایکس (Nginx): پس از مراحل نصب Nginx در سرور اوبونتو، این وبسرور هم فایلهای سایت را مستقیماً از پوشۀ html میخواند؛ زیرا در تنظیمات پیشفرض آن، مسیر ریشه پروژۀ روی آدرس var/www/html/ تنظیم شده است.
هر دو وبسرور در حالت خام و پیشفرض، درخواستهای وب را روی پورت ۸۰ (HTTP) مستقیماً به فایلهای واقع در این دایرکتوری هدایت میکنند؛ فعالسازی و پاسخدهی روی پورت ۴۴۳ (HTTPS) تنها پس از نصب گواهی SSL و اعمال پیکربندی امنیتی مربوطه امکانپذیر خواهد بود.
آشنایی با این ساختار در گامهای ابتدایی راهاندازی اولیه سرور اوبونتو اهمیت حیاتی دارد، چراکه اگر چیدمان دایرکتوریها، تفکیک Virtual Hostها و تنظیمات ریشۀ اسناد را از ابتدا استاندارد نچینید، توسعۀ چند دامنۀ مجزا روی یک سرور یا استقرار پروژههای سنگینتر با خطاهای مسیردهی و ناهماهنگی در فراخوانی فایلها مواجه خواهد شد. بنابراین گام نخست پس از استقرار سیستمعامل، آشنایی فنی با نحوۀ دسترسی به فولدر html در اوبونتو و تعیین قلمروی فایلهای سایت است.
شیوۀ دسترسی به فولدر html در اوبونتو از طریق ترمینال
مدیریت سرویسهای میزبانی وب در محیط لینوکس عمدتاً از طریق خط فرمان (CLI) انجام میشود. تمام دستورات و تصاویر ارائهشده در این آموزش روی نسخۀ پایدار اوبونتو 22.04 تست و پیادهسازی شدهاند. این عملیات با استفاده از فرامین هستۀ سیستمعامل (GNU Coreutils) و در چند گام ساده انجام میشود.
۱) ورود به دایرکتوری وب
برای جابهجایی در ساختار فایلسیستم و ورود مستقیم به این پوشه، از دستور تغییر دایرکتوری (cd) استفاده میشود:
cd /var/www/html
پس از اجرای این دستور، پرامپت ترمینال مسیر جاری را نشان میدهد. در صورت تمایل به اعتبارسنجی موقعیت فعلی، میتوانید دستور pwd (مخفف Print Working Directory) را اجرا کنید تا خروجی دقیق var/www/html/ نمایش داده شود.
۲) مشاهدۀ محتویات، فایلهای مخفی و مجوزها
پس از ورود به این مسیر، مشاهدۀ محتویات پوشه با پارامترهای جزئینگر ضروری است. دستور استاندارد برای این کار ls به همراه فلگهای -la است:
ls -la
- فلگ -l اطلاعات را بهصورت فهرستی همراه با مجوزهای دسترسی (Permissions)، تعداد لینکها، مالک (Owner)، گروه (Group) و حجم فایل نمایش میدهد.
- فلگ -a فایلهای پنهان (که نام آنها با نقطه شروع میشود مانند htaccess. در آپاچی یا تنظیمات اختصاصی پروژهها) را آشکار میسازد.
در این فهرست معمولاً فایل صفحۀ فرود پیشفرض وبسرور را مشاهده خواهید کرد و در آپاچی این فایل به نام index.html و در انجینایکس (Nginx) تحت عنوان index.nginx-debian.html قرار دارد. مدیریت صحیح این ساختار، اولین گام پس از دسترسی به فولدر html در اوبونتو جهت آمادهسازی سایت است.
۳) ساخت، مدیریت و جابهجایی فایلها در ریشۀ وب
برای سازماندهی اسناد وب در خط فرمان، دستورات اصلی زیر به کار میروند:
- ساخت فایل خالی: برای ایجاد یک سند جدید (مانند فایل تستی test.html):
touch test.html
- ساخت دایرکتوری جدید: برای ساخت پوشههایی مانند استایلها یا تصاویر:
mkdir css images
- کپی کردن فایلها: برای کپی یک فایل به مسیری دیگر (یا ایجاد نسخه پشتیبان):
cp index.html index.html.backup
- انتقال یا تغییر نام: برای تغییر نام فایل یا جابهجایی آن به پوشهای دیگر:
mv test.html ./css/
نکتۀ مهم: اجرای این دستورات مستلزم داشتن مجوزهای لازم است. اگر هنگام ساخت یا انتقال با ارور Permission denied مواجه شدید، به دلیل محدودیت دسترسی یوزر معمولی به شاخۀ var/www/html/ است که در بخشهای بعدی راهکار ایمن رفع آن شرح میشود.
نمایش فایل های html در ترمینال لینوکس
پس از موفقیت در دسترسی به فولدر html در اوبونتو، مرحلۀ بعدی بررسی و مدیریت کدهای سایت است. در محیط سرور که فاقد رابط گرافیکی (GUI) است، برای بررسی فایلهای پروژه به ابزارهای خط فرمان نیاز داریم. این عملیات بسته به نیاز شما (خواندن، ویرایش یا رندر کردن) به سه روش اصولی انجام میشود:
۱) نمایش کدهای خام سورس با ابزارهای پایه (cat ,less ,head)
برای مشاهدۀ سریع سورسکدها در لینوکس، نیازی به باز کردن ادیتور ندارید. ابزارهای هستۀ لینوکس این کار را سریعتر و بهینهتر انجام میدهند:
- دستور cat: تمام محتوای فایل را یکباره در ترمینال چاپ میکند و برای فایلهای کوتاه بسیار مناسب است.
cat index.html
- دستور less: اگر فایل HTML کدهای طولانی دارد، با این دستور میتوانید صفحه به صفحه (با کلیدهای Space و فلشها) سورس را اسکرول کنید و با فشردن کلید q از آن خارج شوید.
- دستور head: اگر صرفاً میخواهید تگهای <head> یا متای سئو را چک کنید، از این دستور برای خواندن خطوط ابتدایی استفاده کنید:
head -n 15 index.html
۲) ویرایش مستقیم فایلها در خط فرمان (nano ,vim)
اگر قصد تغییر متن، اصلاح تگها یا جاگذاری کدهای رهگیری (مثل گوگل آنالیتیکس) را دارید، پس از دسترسی به فولدر html در اوبونتو باید از ویرایشگرهای متنی درونساخت لینوکس استفاده کنید:
- ویرایشگر Nano: گزینهای بسیار کاربرپسند است. با دستور nano index.html فایل را باز کرده، تغییرات را مانند نرمافزار نوتپد اعمال کنید و در نهایت با کلیدهای ترکیبی Ctrl + O (برای ذخیره) و Ctrl + X (برای خروج) به کار پایان دهید.
- ویرایشگر Vim: انتخابی حرفهایتر با امکانات گسترده. با دستور vim index.html وارد فایل میشوید. با زدن کلید i (حالت Insert) امکان ویرایش فراهم میشود و برای ذخیره و خروج، باید کلید Esc را زده و عبارت :wq را تایپ و اینتر کنید.
(نکته: در صورتی که با خطای دسترسی روبهرو شدید، برای ویرایش باید پیشوند sudo را قبل از نام ادیتور اضافه کنید تا با دسترسی ریشه فایل باز شود).
۳) رندر و نمایش وبسایت با مرورگرهای متنی (w3m و lynx)
گاهی اوقات دیدن سورسکد کافی نیست. یکی از جذابترین قابلیتها پس از دسترسی به فولدر html در اوبونتو، تست خروجی بصری سایت پیش از اتصال دامنه است. برای نمایش فایل های html دقیقاً همانگونه که مرورگر (اما در قالب متن) آن را تفسیر میکند، باید از مرورگرهای خط فرمان (CLI Browsers) استفاده کنید.
این رویکرد بهترین روش برای عیبیابی و نمایش فایل های html در ترمینال است. ابتدا ابزارهای رسمی لینوکس برای این کار را نصب کنید:
sudo apt update && sudo apt install -y w3m lynx
سپس برای نمایش فایل های html در ترمینال بهصورت رندرشده و قابل کلیک، کافی است نام فایل یا آدرس لوکالهاست را به مرورگر متنی بدهید:
w3m index.html
و یا برای فراخوانی سایت از طریق پورت وبسرور:
lynx http://localhost
این ابزارها ساختار تگها (مانند جداول، لینکها و هدینگها) را پردازش کرده و نتیجه را بهجای کدهای خام، در قالب یک صفحۀ وب تعاملی متنی ارائه میدهند.
حل خطای Permission Denied و تنظیم اصولی مجوزها
یکی از پرتکرارترین چالشهای وبمسترها هنگام بارگذاری قالب یا ویرایش فایلها، مواجهه با خطای Permission Denied است. ریشۀ این خطا به ساختار امنیتی لینوکس بازمیگردد؛ بهطور پیشفرض، مالک شاخۀ var/www/html/ کاربر و گروه root (یا در برخی کانفیگها یوزر سیستمی وبسرور) است. هنگامی که شما با یک حساب کاربری غیراصلی لاگین میکنید، سهم شما در مدل دسترسی لینوکس، عضویت در دستۀ سایر کاربران (Others) خواهد بود که دسترسی نوشتن (Write) ندارند. از این رو، تنظیم مالکیتها شرط کلیدی پس از دسترسی به فولدر html در اوبونتو به شمار میرود.
چرا استفاده از پرمیشن ۷۷۷ یک فاجعۀ امنیتی است؟
بسیاری از کاربران برای خلاص شدن سریع از خطای دسترسی، دستور chmod -R 777 /var/www/html را اجرا میکنند. عدد ۷۷۷ یعنی اعطای مجوز خواندن، نوشتن و اجرا (Read, Write, Execute) به تمام کاربران محلی و پردازشهای سیستم. اعمال این سطح دسترسی روی سرور عملیاتی (Production) خطرات جدی زیر را در پی دارد:
- تزریق بدافزار (Web Shell Injection): اگر وبسایت دارای آسیبپذیری آپلود فایل باشد، نفوذگر میتواند اسکریپت مخرب خود را مستقیماً روی سرور بنویسد، آن را اجرا کند و کل سیستمعامل را تحت کنترل بگیرد.
- تخریب فایلهای سیستمی: هر سرویس یا پردازش آلودهای میتواند کدهای اصلی سایت، فایلهای کانفیگ دیتابیس یا فایلهای پنهان نظیر htaccess. را بازنویسی یا پاک کند.
تنظیم اصولی مالکیت پوشۀ وب با دستور chown
راهکار امن و استاندارد در توزیع اوبونتو، واگذاری مالکیت به کاربر جاری و اختصاص گروه مشترک به وبسرور (www-data) است. نکتۀ بسیار مهمی که باید به خاطر داشته باشید این است که تمام این دستورات را حتماً با کاربر عادی (غیر root) اجرا کنید؛ زیرا در صورت لاگین بودن با کاربر root، متغیر USER$ مقدار root را بازمیگرداند و مالکیت کماکان در انحصار ریشه باقی میماند.
ابتدا با دستور زیر، کاربر فعلی خود را به گروه وبسرور اضافه کنید:
sudo usermod -aG www-data $USER
سپس مالکیت شاخۀ ریشه را تغییر دهید تا کاربر شما صاحب اصلی و سرویسدهندۀ وب گروه آن باشد:
sudo chown -R $USER:www-data /var/www/html
با این چیدمان، شما بدون نیاز به استفادۀ مداوم از sudo امکان بارگذاری اسناد را دارید و فرایند دسترسی به فولدر html در اوبونتو بدون اختلال در سرویسدهی آپاچی یا انجینایکس انجام میگیرد.
اعمال مجوزهای استاندارد لینوکسی (۷۵۵ و ۶۴۴)
قانون طلایی سیستمعاملهای مبتنی بر یونیکس برای میزبانی وب، تفکیک سطح دسترسی دایرکتوریها و فایلها است:
- دایرکتوریها (مجوز ۷۵۵ یا rwxr-xr-x): مالک اختیار کامل دارد؛ اما وبسرور و سایرین فقط مجوز ورود و خواندن محتوا را دارند.
- فایلها (مجوز ۶۴۴ یا rw-r–r–): مالک دسترسی خواندن و نوشتن دارد؛ وبسرور و سایر کاربران تنها مجاز به خواندن (Read) فایل هستند و دسترسی نوشتن و تغییر محتوا از آنها سلب میشود (این مجوز مانع از اجرای اسکریپتهای سمت سرور مانند PHP توسط وبسرور نمیشود، بلکه جلوی بازنویسی و دستکاری فایل را میگیرد).
برای اعمال این سطوح بدون دستکاری دستی تکتک فایلها، از دستور پیشرفتۀ find استفاده میکنیم:
تنظیم مجوز ۷۵۵ برای تمام پوشهها
sudo find /var/www/html -type d -exec chmod 755 {} \;
تنظیم مجوز ۶۴۴ برای تمام فایلها
sudo find /var/www/html -type f -exec chmod 644 {} \;
اگر سیستم مدیریت محتوای وردپرس را در این شاخه میزبانی میکنید، اعمال ساختار خام ۷۵۵ و ۶۴۴ به دلیل نداشتن مجوز نوشتن برای گروه www-data، فرایند آپلود رسانه یا نصب و بهروزرسانی خودکار افزونهها را با خطای دسترسی روبهرو میکند. راهکار استاندارد و ایمن برای رفع این مشکل، اعطای دسترسی نوشتن به گروه وبسرور روی پوشه بارگذاریها است. برای این منظور کافی است دستور زیر را اجرا کنید تا بدون باز کردن کل هستۀ وردپرس، آپلود فایلها به درستی انجام شود:
sudo chmod -R 775 /var/www/html/wp-content/uploads
دسترسی گرافیکی به فولدر html با پروتکل SFTP / FileZilla
کار با خط فرمان لینوکس سرعت و دقت بالایی دارد، اما بارگذاری پروژههای چندصد مگابایتی، قالبهای آماده یا ساختارهای پیچیده با دستورات ترمینال ممکن است خستهکننده باشد. استفاده از پروتکل انتقال امن فایل (SFTP) از طریق کلاینتهای دسکتاپ نظیر FileZilla یا WinSCP، روشی ساده برای دسترسی به فولدر html در اوبونتو در محیطی شبیه به فایل اکسپلورر ویندوز فراهم میسازد.
پروتکل SFTP دادهها را روی تونل امن SSH (پورت پیشفرض ۲۲) رمزنگاری میکند و از آنجا که زیرسیستم (Subsystem) آن بهصورت پیشفرض همراه با سرویس OpenSSH سرور فعال است، برخلاف سرویسهای سنتی FTP نیازی به نصب و بستۀ نرمافزاری مجزا ندارد.
۱) شیوۀ اتصال به سرور از طریق FileZilla
برای اتصال امن به سرور، نرمافزار FileZilla را باز کنید. در بالای پنجرۀ اصلی، نوار اتصال سریع (Quickconnect bar) قرار دارد:
فیلدهای این بخش را به ترتیب زیر تکمیل کنید:
- Host (میزبان): عبارت //:sftp را همراه با آدرس IP سرور وارد کنید (مانند sftp://192.168.1.100). حتماً پیشوند //:sftp را درج کنید تا اتصال بر بستر امن برقرار شود.
- Username (نام کاربری): نام کاربری لینوکسی خود (همان کاربری که پیشتر عضو گروه www-data کردهاید) را بنویسید. از لاگین با کاربر root خودداری کنید تا فایلهای آپلودشده مالکیت root نگیرند و وبسرور در خواندن یا تغییر آنها با اختلال مواجه نشود.
- Password (کلمه عبور): رمز عبور اختصاصی کاربر لینوکسی خود را تایپ کنید.
- Port (پورت): عدد 22 (یا پورت اختصاصی سرویس SSH) را درج کنید.
پس از وارد کردن مقادیر، روی دکمۀ Quickconnect کلیک کنید. در اولین اتصال، پیامی مبنی بر تأیید کلید امنیتی سرور (Unknown Host Key) نمایش داده میشود که با انتخاب گزینۀ OK، نشست رمزشده برقرار خواهد شد.
۲) ناوبری و انتقال فایلهای قالب به پوشۀ وب
پس از برقراری ارتباط با سرور، رابط کاربری به دو بخش اصلی تقسیم میشود؛ بخش سمت چپ (شامل کادر Local site) ساختار فایلهای سیستم شخصی شما را نمایش میدهد و بخش سمت راست (شامل کادر Remote site) مسیرها و پوشههای موجود روی سرور اوبونتو را در اختیارتان میگذارد.
برای ورود به ریشۀ وب، کافی است در کادر ورودی Remote site در سمت راست عبارت var/www/html/ را تایپ کرده و کلید Enter را فشار دهید.
با باز شدن این شاخه، امکان مدیریت کامل فایلها فراهم میشود و میتوانید اسناد وب، قالبها یا تصاویر پروژه را از پنل سمت چپ با کشیدن و رها کردن (Drag & Drop) بهسادگی به سرور آپلود کنید. همچنین برای ویرایش مستقیم کدها بدون نیاز به ابزارهای خط فرمان، کافی است روی فایل مدنظر در پنل سمت راست کلیکراست کرده و با انتخاب گزینۀ View/Edit، آن را در ویرایشگر پیشفرض سیستم باز و اصلاح نمایید.
مدیریت پایدار پروژهها با زیرساخت ابری مبینهاست
پیکربندی دقیق وبسرورها و سازماندهی بهینه فایلهای ریشۀ وب زمانی بهترین بازدهی را دارد که روی زیرساختی پایدار با پورت شبکه قدرتمند و ذخیرهسازهای پرسرعت مستقر شود. اگر به دنبال محیطی پایدار و بدون وقفه برای میزبانی وبسایتها، پیادهسازی اتوماسیونهای لینوکسی یا راهاندازی پروژههای تحت وب هستید، سرویسهای سرور مجازی لینوکس مبین هاست با بهرهگیری از منابع کاملاً اختصاصی، پشتیبانی فنی ۲۴ ساعته و آپتایم بالا، بستری مطمئن و استاندارد را برای توسعۀ و رشد پایدار کسبوکار آنلاین شما فراهم میکنند.
جمعبندی
دایرکتوری var/www/html/ ریشۀ اصلی اسناد وب در سیستمعامل اوبونتو است و تسلط بر دسترسی به فولدر html در اوبونتو پایه و اساس مدیریت هر سرویسدهندۀ وبی به شمار میرود. برای کاربری ایمن و حرفهای، مدیریت فایلها از طریق فرامین پایه خط فرمان یا اتصال گرافیکی SFTP کفایت میکند؛ مشروط بر آنکه از دادن دسترسیهای باز و ناامن نظیر ۷۷۷ پرهیز کرده و همواره الگوی دسترسی استاندارد (۷۵۵ برای پوشهها و ۶۴۴ برای فایلها) را همراه با تفکیک مالکیت کاربر جاری و گروه سیستمی www-data اعمال کنید تا فرایند دسترسی به فولدر html در اوبونتو بدون ایجاد خطای عدم دسترسی و با بالاترین ضریب امنیت و پایداری در پاسخگویی به درخواستهای وب انجام پذیرد.
منابع
سوالات متداول
ابتدا با دستور mv index.html index.html.backup از فایل پیشفرض یک نسخۀ پشتیبان تهیه کنید یا آن را با rm index.html حذف کنید. سپس فایلهای اصلی سایت خود (مانند index.html یا index.php اختصاصی) را درون همین دایرکتوری بارگذاری کنید تا وبسرور آن را بهعنوان سند اصلی اجرا کند.
اگر پس از اجرای وبسرور این شاخه را پیدا نکردید، ممکن است وبسرور بهدرستی نصب نشده باشد یا مسیر پیشفرض در فایلهای کانفیگ (sites-available) به آدرس دیگری اشاره کند. برای حل این مشکل، ابتدا وضعیت وبسرور را با systemctl status apache2 یا nginx بررسی کرده و در صورت نیاز، شاخه را با دستور sudo mkdir -p /var/www/html بسازید و مالکیت آن را به گروه www-data اختصاص دهید.
فایلهای ثبت وقایع و خطاها (Error Logs) درون دایرکتوری وب ذخیره نمیشوند، بلکه در لینوکس اوبونتو برای آپاچی در مسیر var/log/apache2/error.log/ و برای انجینایکس در آدرس var/log/nginx/error.log/ قرار دارند که با دستوراتی مثل tail -f قابل رصد لحظهای هستند.
برای تغییر این مسیر به شاخهای دلخواه، کافی است فایل تنظیمات پیشفرض وبسرور را ویرایش کنید؛ در آپاچی مقدار دایرکتیو DocumentRoot در فایل 000-default.conf و در انجینایکس مقدار دایرکتیو root در فایل تنظیمی بلوک سرور را به مسیر جدید تغییر داده و سپس سرویس وبسرور را ریلود (Reload) کنید.
استانداردترین الگو در لینوکس، اعمال مجوز عددی ۷۵۵ برای تمام دایرکتوریها (جهت امکان ورود و پیمایش توسط وبسرور) و مجوز عددی ۶۴۴ برای کلیه فایلها است؛ در این حالت وبسرور فقط دسترسی خواندن دارد و امکان بازنویسی، دستکاری یا تزریق کد مخرب به فایلهای سایت مسدود میشود.













