دستهبندیهای سایت
مشاهده دستهبندیها
بستن دستهبندیها
-
AbanteCart
-
ActiveMQ
-
Akeneo
-
Alfresco Community
- Apache
-
Apache Airflow
-
Apache Guacamole
-
Apache Solr
-
Canvas LMS
-
Cassandra
- CI/CD
-
CiviCRM
-
CMS Made Simple
-
Code Dx
-
Composr
-
Concrete5
-
Confluent Platform
-
Coppermine
-
CouchDB
- cPanel
-
Diaspora
- Directadmin
-
Discourse
-
Django
-
DokuWiki
-
Dolibarr
-
DreamFactory
-
Drupal
-
Elasticsearch
-
ELK
-
ERPNext
-
EspoCRM
-
Etcd
-
eXo Platform
-
Fat Free CRM
-
Ghost
-
GitLab CE
-
GitLab EE
-
Grafana
-
Hadoop
-
HashiCrop Consul
-
HHVM
-
Horde Groupware Webmail
-
JasperReport
-
Jenkins
-
JetBrain YouTrack
-
JFrog Artifactory Open Source
-
Joomla
-
JRuby
-
Kafka
-
Kong
-
Kubernetes Sandbox
-
Lamp
-
LAMP Production-Ready
-
LAPP
-
Let’s Chat
-
Liferay
-
Limesurvey
-
Live Helper Chat
- LVM
-
Magento
-
Mahara
-
Mantis
-
MariaDB
-
MariaDB Galera
-
Matomo
-
Mattermost
-
Mautic
-
MEAN
-
MediaWiki
-
Memcached
-
MODX
-
MongoDB
-
Moodle
-
MyBB
-
MySQL
-
NATS
-
Neo4j
-
Neos
- Nginx
-
NGINX Open Source
-
Noalyss
-
Node.JS
-
Node.js
-
nopCommerce
-
Odoo
-
Open Atrium
-
Open EdX
-
Opencart
-
Openfire
-
OpenProject
-
Orange HRM
-
OroCRM
-
OsClass
-
Owncloud
-
OXID EShop
-
Parse Server
-
Phabricator
-
PhpBB
-
PhpList
-
Pimcore
-
Plone
-
Pootle
-
PostgreSQL
-
Prestashop
-
ProcessMaker Community
-
ProcessWire
- ProFTPD
-
Publify
-
RabbitMQ
-
Redash
-
Redis
-
Redmine
-
Redmine+Agile
-
ReportServer Community
-
ReportServer Enterprise
-
Resource Space
-
Review Board
-
Review Board + Power Pack
-
Roundcube
-
Ruby
-
SEO Panel
-
SilverStripe
-
Simple Machines Forum
-
SonarQube
-
Spree
-
Subversion
-
SuiteCRM
-
TensorFlow Serving
-
TestLink
-
Tiki Wiki CMS Groupware
-
Tiny Tiny RSS
-
Tomcat
-
Trac
-
TYPO3
- Virtualmin
-
Weblate
-
WebMail Pro PHP
-
WildFly
-
Wordpress
-
WordPress Multisite
-
WordPress Production-Ready
-
WordPress With NGINX And SSL
-
XOOPS
-
ZooKeeper
-
Zurmo
مشاهده همه دستهها
درک پیکربندی پیشفرض فایل .Htaccess برای Tiki Wiki
در این مقاله:
نکته: ما در حال تغییر ساختار فایل و پیکربندی بسیاری از استکهای بیتنامی هستیم. در نتیجهی این تغییرات، مسیر فایلهایی که در این آموزش به آنها اشاره شده ممکن است تغییر کند که این موضوع هم بستگی دارد که استک بیتنامی شما از پکیجهای سیستمی نیتیو لینوکس استفاده میکند (رویکرد A) یا نسخهای self-contained است (رویکرد B). برای تشخیص نوع استکتان و انتخاب رویکرد متناسب، دستور زیر را اجرا کنید:
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
خروجی این دستور نشان میدهد که اپلیکیشن شما از کدام رویکرد (A یا B) استفاده میکند و به شما کمک میکند که در این راهنما مسیر، پیکربندی و دستورات متناسب با آن را انتخاب کنید. برای اطلاعات بیشتر راجع به این تغییرات، به بخش سوالات رایج مراجعه کنید.
یکی از اصلیترین اهداف ما پیکربندی اپلیکشنهای بیتنامی به امنترین شکل ممکن است. به همین دلیل پیکربندی فایلهای .htaccess را به فایلهای پیکربندی اصلی اپلیکیشن منتقل کردهایم و گزینهی AllowOverride را به صورت پیشفرض روی None تنظیم کردهایم.
نکته: بنیاد نرمافزاری آپاچی این پیکربندی را نیز توصیه میکند. به نقل از این بنیاد: «بنا به دلایل امنیتی و عملکردی، AllowOverride را در بلوک خود تنها روی None بگذارید. در عوض بلوکی را پیدا کنید (یا بسازید) که به دایرکتوریای ارجاع داشته باشد که قصد دارید فایل .htaccess را آنجا قرار دهید.»
رویکرد A: اپلیکشینهایی که از پکیجهای سیستمی استفاده میکنند
درک فایلهای .htaccess
محتوای فایلهای .htaccess به فایل /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf منتقل شده است. برای مثال:
- فایل /opt/bitnami/apache2/conf/vhosts/APPNAME-vhost.conf فایل پیکربندی اصلی اپلیکیشن است. این فایل همچنین منشأ فایل APPNAME-htaccess.conf است.
<VirtualHost 127.0.0.1:80 _default_:80>
ServerAlias *
DocumentRoot /opt/bitnami/APPNAME
<Directory "/opt/bitnami/APPNAME">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Include "/opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf"
- فایل /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf حاوی تمام محتواهای مورد نیاز فایلهای .htaccess است که اپلیکیشن به آن نیاز دارد. این فایل معمولن به شکل زیر است:
<Directory "/opt/bitnami/APPNAME/cache">
Deny from all
</Directory>
<Directory "/opt/bitnami/APPNAME/images">
# Protect against bug 28235
<IfModule rewrite_module>
RewriteEngine On
RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
RewriteRule . - [forbidden]
</IfModule>
</Directory>
<Directory "/opt/bitnami/APPNAME/includes">
Deny from all
</Directory>
<Directory "/opt/bitnami/APPNAME/languages">
Deny from all
</Directory>
<Directory "/opt/bitnami/APPNAME/maintenance">
Deny from all
</Directory>
<Directory "/opt/bitnami/APPNAME/maintenance/archives">
Deny from all
</Directory>
<Directory "/opt/bitnami/APPNAME/serialized">
Deny from all
</Directory>
اضافه کردن بخشی جدید به فایل .Htaccess هنگام نصب یک پلاگین
برخی پلاگینها حین نصب یک فایل .htaccess در دایرکتوری /opt/bitnami/APPNAME یا /opt/bitnami/apps/APPNAME/plugins ایجاد میکنند که آپاچی قادر به خواندن آنها نیست. به همین دلیل توصیه میکنیم که محتوای این فایلهای را به فایل /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf منتقل کنید. مراحل زیر را طی کنید:
- مدخل جدیدی به فایل /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf اضافه کنید و در آن مسیر فایل htaccess را (/opt/bitnami/APPNAME یا /opt/bitnami/htdocs//plugins) مشخص کنید و محتوای زیر را در آن Paste کنید.
...
<Directory "/opt/bitnami/APPNAME">
CONTENT
</Directory>
نکته: به جای CONTENT محتوای فایل /opt/bitnami/APPNAME/.htaccess را قرار دهید که پلاگین ایجاد کرده است.
- آپاچی را دوباره راهاندازی کنید تا تغییرات اعمال شود:
...
<Directory "/opt/bitnami/APPNAME">
CONTENT
</Directory>
رویکرد B: اپلیکیشنهای Self-contained بیتنامی
درک فایلهای .htaccess
محتوای فایلهای .htaccess به فایل /opt/bitnami/apps/APPNAME/conf/htaccess.conf منتقل شده است. برای مثال:
- فایل /opt/bitnami/apps/APPNAME/conf/httpd-app.conf فایل پیکربندی اصلی اپلیکیشن است. این فایل همچنین منشأ فایل htaccess.conf است.
<Directory "/opt/bitnami/apps/APPNAME/htdocs">
Options +MultiViews
AllowOverride None
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
Include "/opt/bitnami/apps/APPNAME/conf/htaccess.conf"
- فایل /opt/bitnami/apps/APPNAME/conf/htaccess.conf حاوی تمام محتواهای مورد نیاز فایلهای .htaccess است که اپلیکیشن به آن نیاز دارد. این فایل معمولن به شکل زیر است:
<Directory /opt/bitnami/apps/APPNAME/htdocs/cache>
Deny from all
</Directory>
<Directory /opt/bitnami/apps/APPNAME/htdocs/images>
# Protect against bug 28235
<IfModule rewrite_module>
RewriteEngine On
RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
RewriteRule . - [forbidden]
</IfModule>
</Directory>
<Directory /opt/bitnami/apps/APPNAME/htdocs/includes>
Deny from all
</Directory>
<Directory /opt/bitnami/apps/APPNAME/htdocs/languages>
Deny from all
</Directory>
<Directory /opt/bitnami/apps/APPNAME/htdocs/maintenance>
Deny from all
</Directory>
<Directory /opt/bitnami/apps/APPNAME/htdocs/maintenance/archives>
Deny from all
</Directory>
<Directory /opt/bitnami/apps/APPNAME/htdocs/serialized>
Deny from all
</Directory>
برای یادگیری نحوهی پیکربندی فایل .htaccess این ویدیو را مشاهده کنید (در این ویدیو از وردپرس برای اپلیکیشن نمونه استفاده شده است).
اضافه کردن بخشی جدید به فایل .Htaccess هنگام نصب یک پلاگین
برخی پلاگینها حین نصب یک فایل .htaccess در دایرکتوری /opt/bitnami/apps/APPNAME/htdocs یا /opt/bitnami/apps/APPNAME/htdocs//plugins ایجاد میکنند که آپاچی قادر به خواندن آنها نیست. به همین دلیل توصیه میکنیم که محتوای این فایلهای را به فایل /opt/bitnami/apps/APPNAME/conf/htaccess.conf منتقل کنید. مراحل زیر را طی کنید:
- مدخل جدیدی به فایل /opt/bitnami/apps/APPNAME/conf/htaccess.conf اضافه کنید و در آن مسیر فایل htaccess را (/opt/bitnami/apps/APPNAME/htdocs یا /opt/bitnami/apps/APPNAME/htdocs//plugins) مشخص کنید و محتوای زیر را در آن Paste کنید.
...
<Directory "/opt/bitnami/apps/APPNAME/htdocs/">
CONTENT
</Directory>
نکته: به جای CONTENT محتوای فایل /opt/bitnami/apps/APPNAME/htdocs/.htaccess را قرار دهید که پلاگین ایجاد کرده است.
- آپاچی را دوباره راهاندازی کنید تا تغییرات اعمال شود:
sudo /opt/bitnami/ctlscript.sh restart apache