این مقاله ی سوم در زمینه ی آپاچی می باشد که نوشته شده است.باید گفن نصب آپاچی و کانفیگ های اولیه را با آپاچی پیش رفتیم.باید بگم که اکنون یک خورده جلو تر می ریم در آپاچی و تنظیمات آن.اول می خواهیم درباره ی htaccess. صحبت کنیم.این فایل چه هست اصلا.کارش چیه و چرا مخفی هستش (فایل هایی که با دات شروع می شوند در لینوکس به صورت مخفی هستند).
در تعریفی که از این فایل در سایت آپاچی شده است به این مفهوم می رسیم: ((.htaccess فایلی برای تغییر در تنظیمات آپاچی در دایرکتوری مورد نظر ما می باشد.))
البته باید گفت باید در خود httpd.conf این اجازه را از پیش داده باشیم.توضیح این کار رو در این پست دوباره تکرار می کنیم.این اجازه در AllowOverride فایل httpd.conf داده می شود.مثلا
AllowOverride All
باعث می شود که آپاچی اجازه تغییر همه ی تنظیمات را در .htaccess بدهد شما اگر می خواهید به بعضی از تنظیمات اجازه دهید می توانید از این طرز نوشتار (سینتکس) استفاده کنید.
AllowOverride AuthConfig Indexes
یعنی بین هر قسمت فایل httpd.conf یک فاصله قرار دهید.لیست کامل کانفیگ های قابل قرار گیری در این صفحه قرار دارد.
خوب الان کار ما با فایل httpd.conf تمام شده و به سراغ .htaccess می رویم.در اینجا به یک مثال اشاره می کنیم.شما می توانید هر تغییری که می خواهید در تنظیمات آپاچی در یک دایرکتوری خاص داشته باشید فقط لازم است این فایل را در آن دایرکتوری ایجاد کنید.خوب ما می خواهیم یک نوع فایل تایپ خاص را در یک دایرکتوری داشته باشیم.این قایل تایپ در httpd.conf تعریف نشده ولی خوب ما اجازه تغییر در این قسمت را در AllowOverride داده ایم.حالا به چه شکل عمل می کنیم.اول از همه در دایرکتوری مورد نظر یک فایل با نام .htaccess ایجاد می کنیم.سپس این محتویات را به فایل اضافه می کنیم.
AddType text/example .exm
دایرکتوری را این در نظر بگیریم که توضیح دهم که همین تغییر در httpd.conf به چه شکل است.یعنی همین تغییر را می توان در httpd.conf به جای اینجا اعمال کرد.
/www/htdocs/example
خوب در httpd.conf باید این قسمت را اضافه کنید:
<Directory /www/htdocs/example>
AddType text/example .exm
</Directory>
در ضمن می توان نام این فایل رو از .htaccess به هرچیز دیگر تغییر داد برای این کار لازم است در httpd.conf تغییرات زیر را انجام دهید.
AccessFileName .config
خوب این htaccess که توضیحی برای آشنایی با آن دادیم ولی خوب کارایی زیادی دارد.در ضمن بهتر است سطح دسترسی آن ۴۰۰ باشد تا اجازه خرابکاری را به کسی ندهد در مورد مسایل امنیتی در پست آخر به حد کافی صحبت خواهیم کرد.
بریم سراغ VirtualHost ، باید بگم که این قسمت یکی از مهم ترین هاست و کارایی زیادی دارد.دادن سابدومین،هاست کردن چند دومین روی یک هاست (آی پی) و یا اضافه کردن https همه و همه در این قسمت انجام می شود.من این ۳ موضوع مهم و تغییرات لازم و توضیحات را ارائه می کنم ولی نکات دیگر را به عهده ی خودتان می گذارم.در ضمن چون در این پست به سیستم دی ان اس nameserver احتیاج داریم نحوه راه اندازی nameserver را قبل از این پست آورده ام.
۱-ساب دومین:خوب برای این کار همان طور که در آموزش nameserver دیدیم باید یک خط به اسم سرور خود اضافه کنید.به شکل زیر:
www2 A the_ip_of_the_server
سپس در VirtualHost به این شکا تغییر اضافه کنید و در ادرس محلی که فایل هایی را که می خواهید در آن اضافه کنید.به دلیل اینکه Document Root ما در فایل تنظیمات /var/www/html
قرار داده شده است باید فولدر سابدومین ما در همین قسمت قرار بگیرید.
<VirtualHost *>
DocumentRoot /var/www/html/www2
ServerName www2.bitfleet.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
حالا ساب دومین شما ایجاد شده است.
۲-هاست کردن چند دامنه ی روی یک وب سرور:قابلیت دیگری که ویرچوال هاست به ما می دهد این است که به وسیله ی آن می توان چند دامنه ی متفاوت را در چند دایرکتوری مختلف روی یک وب سرور آپاچی قرار داد.برای این کار به مانند مثال زیر عمل کنید.البته باید از ای پی سرور خود با خبر باشد.(شیوه های دیگری نیز موجود است که در آخر این متن اضافه می کنم)
NameVirtualHost *
<VirtualHost *>
ServerName www.bitfleet.com
ServerAlias bitfleet.com
DocumentRoot /var/www/html/
</VirtualHost>
<VirtualHost * >
ServerName www.bitfleet2.com
DocumentRoot /var/www/html/bit2
</VirtualHost>
۳-اگر می خواهیم هر سایت روی یک آی پی قرار گیرد باید به روش زیر عمل کنیم.
<VirtualHost www.smallco.com>
ServerAdmin webmaster@mail.smallco.com
DocumentRoot /groups/smallco/www
ServerName www.smallco.com
ErrorLog /groups/smallco/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>
<VirtualHost www.baygroup.org>
ServerAdmin webmaster@mail.baygroup.org
DocumentRoot /groups/baygroup/www
ServerName www.baygroup.org
ErrorLog /groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
</VirtualHost>
در این روش شما باید برای دی ان اس سرور آی پی هر کدام از این دامنه های را تعریف کیده باشید.
۴-برای اضافه کردن اس اس ال SSL یا همان https به آپاچی باید ابتدا نرم افزار open-ssl و open-ssl-dev و mod_ssl را روی سیستم خود نصب کرده داشته باشیم.بعد طبق مراحل زیر جلو می رویم.
-بعد از اینکه اپن اس اس ال را نصب کردیم نیاز به ایجاد یک گواهی نامه ی اس اس ال داریم.برای این کار کافی هستش دستور زیر را اجرا کنید.
openssl genrsa -des3 -out server.key 1024
این دستور از شما می خواهد که یک رمز عبور برای کلید ایجاد شده بگذارید.(سعی کنید رمز عبور خود را فراموش نکنید چون دوباره احتیاج داریم).

اگرمی خواهید پسورد را حذف کنید دستور زیر را وارد کنید
openssl rsa -in server.key -out server.key.unsecure
-دستور زیر را حالا وارد کنید
openssl req -new -x509 -nodes -sha1 -days 365 -key server.key.unsecure -out server.crt

این دستور گواهینامه ای (.crt) به مدت یک سال برای شما ایجاد می کنید شما می توانید طول این زمان را بیشتر کنید.همچنین روش کدگذاری هم می توانید عوض کنید در این دستور از sh1 استفاده شده است.
-حالا فایل گواهینامه و کلید شما ایجاد شده است.تنها کاری که باید بکنید این است که این فایل را در محل مناسب قرار داده و سطح دسترسی آن را نیز معین کنید.
mkdir -p /etc/httpd/cert/
cp server.key server.crt /etc/httpd/cert/
cd /etc/httpd/cert
chmod 400 server*
-فایل httpd.conf را با دقت تغییر دهید.تغییرات باید به شکل زیر باشد.
در قسمت ویرچوال هاست این اطلاعات رو وارد کنید:
DocumentRoot /var/www/html/
SSLEngine On
SSLProtocol All -SSLv2
SSLCertificateFile /etc/httpd/cert/server.crt
SSLCertificateKeyFile /etc/httpd/cert/server.key
ServerName bitfleet.com
حالا می توانید آدرس سایت یا آی پی خود را با https چک کنید.شما با صفحه ای رو به رو می شوید که می گوید این سایت مورد اطمینان نیست.(این برای این است که گواهینامه ی اس اس ال شما مورد تایید مراکز تایید کننده ی اس اس ال قرار نگرفته است – مراکز تایید کننده ی اس اس ال چند تاشون پایین صفحه آمده است.)

اگر به صورت همیشگی گواهینامه را به مرور گر خود اضافه کنید دیگر با این صفحه رو به رو نخواهید شد و اینکه خوب سایتی که شما با اس اس ال به آن وصل می شوید مطمئن ارسال اطلاعاتتان به این سایت با امنیتی بیشتر صورت می گیرد.
منابع:
ویرچوال هاست به صورت کامل
اس اس ال در اپاچی
توضیحاتی در مورد مد اس اس ال mod_ssl
منبع کمکی ۱
منبع کمکی ۲