جدول محتوایی
آموزش نصب وب سرور آپاچی در اوبونتو 20.04. سرور HTTP آپاچی پرکاربردترین وب سرور در جهان است. بسیاری از ویژگی های قدرتمند از جمله ماژول های قابل بارگذاری پویا، پشتیبانی رسانه ای قوی و ادغام گسترده با سایر نرم افزارهای محبوب را ارائه می دهد. زمان را هدر ندهید و برای نصب واقعی Ubuntu Vps خود بخرید.
برای اینکه این آموزش بهتر عمل کند، لطفاً پیش نیازهای زیر را در نظر بگیرید:
نحوه نصب وب سرور آپاچی در اوبونتو 20.04
اگر مراحل این راهنما را به درستی دنبال کنید، یادگیری نحوه نصب وب سرور آپاچی در اوبونتو 20.04 آسان خواهد بود.
1- نحوه نصب وب سرور آپاچی
در حالی که آپاچی در مخازن نرمافزار پیشفرض لینوکس اوبونتو موجود است، میتوانید با بهروزرسانی فهرست بستههای محلی برای منعکس کردن آخرین تغییرات بالادستی شروع کنید. امکان نصب آن را با استفاده از ابزارهای مدیریت بسته معمولی فراهم می کند.
sudo apt update
و سپس بسته apache2 را نصب کنید:
sudo apt install apache2
2- نحوه تنظیم firewall
در این مرحله، قبل از آزمایش آپاچی، لازم است تنظیمات فایروال را تغییر دهید تا امکان دسترسی خارجی به پورت های وب پیش فرض فراهم شود. با فرض اینکه دستورالعمل های موجود در پیش نیازها را دنبال کرده اید، باید یک فایروال UFW پیکربندی شده باشد تا دسترسی به سرور خود را محدود کند.
توجه داشته باشید که در حین نصب، آپاچی خود را در UFW ثبت میکند تا چند پروفایل برنامه ارائه کند که میتوان از آنها برای فعال یا غیرفعال کردن دسترسی به آپاچی از طریق فایروال استفاده کرد.
برای لیست کردن پروفایل های اپلیکیشن ufw دستور زیر را اجرا کنید:
sudo ufw app list
Output
Available applications: Apache Apache Full Apache Secure OpenSSH
همانطور که در خروجی مشخص است، سه پروفایل برای آپاچی موجود است:
آپاچی: این نمایه فقط پورت 80 را باز می کند (ترافیک وب عادی و رمزگذاری نشده)
Apache Full: این نمایه هم پورت 80 (ترافیک وب عادی و رمزگذاری نشده) و هم پورت 443 (ترافیک رمزگذاری شده TLS/SSL) را باز می کند.
Apache Secure: این نمایه فقط پورت 443 را باز می کند (ترافیک رمزگذاری شده TLS/SSL)
توجه: همچنین توصیه می شود محدودترین نمایه را فعال کنید که همچنان به ترافیکی که پیکربندی کرده اید اجازه دهد. از آنجایی که ما هنوز SSL را برای سرور خود در این راهنما پیکربندی نکردهایم، فقط باید اجازه دهیم ترافیک در پورت 80 باشد:
sudo ufw allow 'Apache'
سپس از دستور زیر برای تایید تغییرات استفاده کنید.
sudo ufw status
Output
3- چگونه وب سرور خود را چک کنیم
اوبونتو 20.04 پس از پایان مراحل نصب، آپاچی را راه اندازی می کند. وب سرور باید از قبل راه اندازی شده باشد.
با تایپ کردن زیر می توانید از اجرای سرویس مطمئن شوید:
sudo systemctl status apache2
Output
با توجه به این تایید خروجی، سرویس با موفقیت شروع شد. با این حال، بهترین راه برای آزمایش این است که یک صفحه از آپاچی درخواست کنید.
میتوانید به صفحه فرود پیشفرض آپاچی دسترسی پیدا کنید تا تأیید کنید که نرمافزار از طریق آدرس IP شما به درستی اجرا میشود. اگر آدرس IP سرور خود را نمیدانید، میتوانید آن را به روشهای مختلف از خط فرمان دریافت کنید.
این را در خط فرمان سرور خود تایپ کنید:
hostname -I
شما چند آدرس را که با فاصله از هم جدا شده اند، دریافت خواهید کرد. می توانید هر کدام را در مرورگر وب خود امتحان کنید تا مشخص کنید که آیا کار می کنند یا خیر.
گزینه دیگر استفاده از ابزار Icanhazip است که باید آدرس IP عمومی شما را همانطور که از مکان دیگری در اینترنت خوانده شده به شما بدهد:
url -4 icanhazip.com
آدرس IP سرور خود را در نوار آدرس مرورگر خود وارد کنید:
http://your_server_ip
سپس صفحه وب پیش فرض اوبونتو 20.04 آپاچی را مشاهده خواهید کرد:
هنگامی که می توانید این صفحه را ببینید، به این معنی است که آپاچی به درستی کار می کند. همچنین شامل برخی از اطلاعات اولیه در مورد فایل های مهم آپاچی و مکان های دایرکتوری است.
4- نحوه مدیریت فرآیند وب سرور آپاچی
شما آماده انجام برخی از دستورات مدیریتی اولیه هستید زیرا وب سرور فعال و فعال است.
برای متوقف کردن وب سرور خود:
sudo systemctl stop apache2
با اجرای دستور زیر، وب سرور را هنگامی که متوقف شد راه اندازی کنید.
sudo systemctl start apache2
از دستور زیر برای توقف و سپس راه اندازی مجدد سرویس استفاده کنید.
sudo systemctl restart apache2
اگر به سادگی تغییرات پیکربندی را انجام دهید، آپاچی اغلب میتواند بدون حذف اتصالات، بارگیری مجدد کند.
برای این کار از این دستور استفاده کنید:
sudo systemctl بارگذاری مجدد apache2
آپاچی به گونهای پیکربندی شده است که بهطور پیشفرض هنگام بوت شدن سرور، بهطور خودکار شروع به کار کند. اگر این چیزی نیست که می خواهید، این رفتار را با تایپ کردن غیرفعال کنید:
sudo systemctl disable apache2
دستور زیر را تایپ کنید تا مجدداً سرویس در هنگام بوت راه اندازی شود.
sudo systemctl enable apache2
5- نحوه راه اندازی هاست های مجازی (توصیه می شود)
هنگام استفاده از وب سرور آپاچی، می توانید از میزبان های مجازی برای کپسوله کردن جزئیات پیکربندی و میزبانی بیش از یک دامنه از یک سرور استفاده کنید. شما دامنه ای به نام your_domain راه اندازی خواهید کرد، اما باید آن را با نام دامنه خود جایگزین کنید.
آپاچی در اوبونتو 20.04 دارای یک بلوک سرور به طور پیش فرض فعال است که برای ارائه اسناد از دایرکتوری /var/www/html پیکربندی شده است. در حالی که این برای یک سایت خوب کار می کند، اگر چندین سایت را میزبانی کنید، می تواند سخت شود. به جای تغییر /var/www/html، بیایید یک ساختار دایرکتوری در /var/www برای یک سایت your_domain ایجاد کنیم، و در صورت عدم مطابقت با درخواست مشتری، /var/www/html را به عنوان دایرکتوری پیشفرض باقی میگذاریم تا ارائه شود. سایت های دیگر
دایرکتوری برای your_domain ایجاد کنید:
sudo mkdir /var/www/your_domain
اکنون، مالکیت دایرکتوری را با متغیر محیطی $USER اختصاص دهید:
sudo chown -R $USER:$USER /var/www/your_domain
اگر مقدار umask خود را تغییر نداده اید که مجوزهای فایل پیش فرض را تنظیم می کند، مجوزهای ریشه های وب شما باید صحیح باشد. برای اطمینان از صحیح بودن مجوزهای شما و اجازه دادن به مالک برای خواندن، نوشتن و اجرای فایل ها در حالی که فقط مجوزهای خواندن و اجرا را به گروه ها و دیگران می دهد، می توانید دستور زیر را وارد کنید:
sudo chmod -R 755 /var/www/your_domain
سپس، یک صفحه نمونه index.html با استفاده از nano یا ویرایشگر مورد علاقه خود ایجاد کنید:
sudo nano /var/www/your_domain/index.html
در داخل، نمونه HTML زیر را اضافه کنید:
/var/www/your_domain/index.html
اکنون می توانید فایل را ذخیره و ببندید.
برای اینکه آپاچی بتواند این محتوا را ارائه دهد، لازم است یک فایل میزبان مجازی با دستورالعمل های صحیح ایجاد شود. به جای تغییر مستقیم فایل پیکربندی پیشفرض واقع در /etc/apache2/sites-available/000-default.conf، یک فایل جدید در /etc/apache2/sites-available/your_domain.conf ایجاد کنیم:
sudo nano /etc/apache2/sites-available/your_domain.conf
در بلوک پیکربندی زیر، که شبیه به پیشفرض است، اما برای فهرست و نام دامنه جدید ما بهروزرسانی شده، جایگذاری کنید:
/etc/apache2/sites-available/your_domain.conf
توجه: شما DocumentRoot را به دایرکتوری جدید ما و ServerAdmin را به ایمیلی که مدیر سایت your_domain می تواند به آن دسترسی داشته باشد، به روز کرده اید. ما همچنین دو دستورالعمل اضافه کردهایم: ServerName، که دامنه پایهای را ایجاد میکند که باید با این تعریف میزبان مجازی مطابقت داشته باشد، و ServerAlias، که نامهای دیگری را تعریف میکند که گویی با نام اصلی مطابقت دارند.
اکنون می توانید فایل را ذخیره و ببندید.
برای فعال کردن فایل با ابزار a2ensite از دستور زیر استفاده کنید:
sudo a2ensite your_domain.conf
برای غیرفعال کردن سایت پیش فرض تعریف شده در 000-default.conf:
sudo a2dissite 000-default.conf
و برای آزمایش خطاهای پیکربندی:
sudo apache2ctl configtest
Output
Syntax OK
بعد، Apache را مجدداً راه اندازی کنید تا تغییرات خود را پیاده سازی کنید:
sudo systemctl restart apache2
تا اینجا آپاچی باید نام دامنه شما را ارائه دهد. می توانید این را با رفتن به http://your_domain آزمایش کنید، جایی که باید چیزی شبیه به این را ببینید:
6- نحوه آشنایی با فایل ها و دایرکتوری های مهم آپاچی
در این مرحله، شما می دانید که چگونه خود سرویس آپاچی را مدیریت کنید، بنابراین باید چند دقیقه وقت بگذارید تا با چند فهرست و فایل مهم آشنا شوید.
محتوا
/var/www/html: محتوای واقعی وب، که به طور پیشفرض فقط از صفحه پیشفرض آپاچی که قبلاً دیدهاید تشکیل شده است، از فهرست /var/www/html ارائه میشود. این را می توان با تغییر فایل های پیکربندی آپاچی تغییر داد.
پیکربندی سرور
/etc/apache2: دایرکتوری پیکربندی آپاچی تمام فایل های پیکربندی آپاچی در اینجا قرار دارند.
/etc/apache2/apache2.conf: فایل پیکربندی اصلی آپاچی این را می توان برای ایجاد تغییرات در پیکربندی جهانی Apache تغییر داد. این فایل مسئول بارگیری بسیاری از فایل های دیگر در فهرست پیکربندی است.
/etc/apache2/ports.conf: این فایل پورت هایی را که آپاچی به آنها گوش خواهد داد را مشخص می کند. بهطور پیشفرض، آپاچی به پورت 80 گوش میدهد و همچنین زمانی که ماژولی که قابلیتهای SSL را فعال میکند، به پورت 443 گوش میدهد.
/etc/apache2/sites-available/:دایرکتوری که میزبان های مجازی هر سایت را می توان در آن ذخیره کرد. آپاچی از فایل های پیکربندی موجود در این دایرکتوری استفاده نمی کند مگر اینکه به دایرکتوری فعال شده سایت ها پیوند داده شده باشند. به طور معمول، تمام پیکربندی بلاک سرور در این دایرکتوری انجام می شود و سپس با پیوند دادن به دایرکتوری دیگر با دستور a2ensite فعال می شود.
/etc/apache2/sites-enabled/: فهرستی که میزبان های مجازی فعال در هر سایت در آن ذخیره می شوند. به طور معمول، این ها با پیوند دادن به فایل های پیکربندی موجود در فهرست سایت های موجود با a2ensite ایجاد می شوند. آپاچی فایل های پیکربندی و پیوندهای موجود در این دایرکتوری را هنگام شروع یا بارگذاری مجدد می خواند تا یک پیکربندی کامل را کامپایل کند.
/etc/apache2/conf-available/, /etc/apache2/conf-enabled/: این دایرکتوری ها رابطه مشابهی با دایرکتوری های sites-available و sites-enabled دارند، اما برای ذخیره قطعات پیکربندی که به یک میزبان مجازی تعلق ندارند استفاده می شود. فایل های موجود در دایرکتوری conf-available را می توان با دستور a2enconf فعال و با دستور a2disconf غیرفعال کرد.
/etc/apache2/mods-available/, /etc/apache2/mods-enabled/: این دایرکتوری ها به ترتیب شامل ماژول های موجود و فعال هستند. فایلهایی که به .load ختم میشوند حاوی قطعاتی برای بارگذاری ماژولهای خاص هستند، در حالی که فایلهایی که به .conf ختم میشوند شامل پیکربندی آن ماژولها هستند. ماژول ها را می توان با استفاده از دستور a2enmod و a2dismod فعال و غیرفعال کرد
گزارش سرور
/var/log/apache2/access.log: به طور پیش فرض، هر درخواست به وب سرور شما در این فایل گزارش ثبت می شود، مگر اینکه آپاچی به گونه ای دیگر پیکربندی شده باشد.
/var/log/apache2/error.log: به طور پیش فرض تمام خطاها در این فایل ثبت می شوند. دستورالعمل LogLevel در پیکربندی آپاچی مشخص میکند که گزارشهای خطا شامل چه مقدار جزئیات هستند.