راهکارها
بازارچه ابری
Arvan Docs

مستندات فنی

دسترسی به تمامی مستندات محصولات ابر آروان

Categories
Close
دسته‌بندی‌های سایت مشاهده دسته‌بندی‌ها بستن دسته‌بندی‌ها





مشاهده همه دسته‌ها All Categories

ساخت یک اپلیکیشن سفارشی PHP برای ResourceSpace

Time To Read ۳ دقیقه
Date ۲۷ امرداد ۱۴۰۰

نکته: ما در حال تغییر ساختار فایل و پیکربندی بسیاری از استک‌های بیتنامی هستیم. در نتیجه‌ی این تغییرات، مسیر فایل‌هایی که در این آموزش به آن‌ها اشاره شده ممکن است تغییر کند که این موضوع هم بستگی دارد که استک بیتنامی شما از پکیج‌های سیستمی نیتیو لینوکس استفاده می‌کند (رویکرد 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) استفاده می‌کند و به شما کمک می‌کند که در این راهنما مسیر، پیکربندی و دستورات متناسب با آن را انتخاب کنید. برای اطلاعات بیشتر راجع به این تغییرات، به بخش سوالات رایج مراجعه کنید.

بسیاری از کاربران یک استک بیتنامی را به‌عنوان محیط توسعه‌ای برای پروژه‌های PHP خودشان استفاده می‌کنند (به جای استفاده از اپلیکیشن‌های شخص ثالث مثل جوملا یا وردپرس). برای پیاده‌سازی اپلیکیشن بیتنامی خود در این محیط، مراحل زیر را دنبال کنید.

رویکرد A: اپلیکشین‌هایی که از پکیج‌های سیستمی استفاده می‌کنند

ساختاری بسازید که شبیه ساختار مورداستفاده‌ی بیتنامی هنگام نصب اپلیکیشن‌های PHP بیتنامی باشد. برای این کار، مراحل زیر را دنبال کنید:

  • دستورات زیر را اجرا کنید تا دایرکتوری‌ها ایجاد شوند و مجوزهای لازم اعطا شوند. USERNAME و GROUP را با همان نام کاربری و گروهی جایگزین کنید که هنگام نصب استک استفاده کرده‌اید.
sudo mkdir /opt/bitnami/myapp
sudo chown -R USERNAME:GROUP /opt/bitnami/myapp
sudo chmod -R g+w /opt/bitnami/myapp
  • فایل /opt/bitnami/apache2/conf/vhosts/myapp-vhost.conf را ایجاد و ویرایش کنید و بلوک پیکربندی زیر را به آن اضافه کنید:
<VirtualHost 127.0.0.1:80 _default_:80>
  ServerAlias *
  DocumentRoot /opt/bitnami/myapp
  <Directory "/opt/bitnami/myapp">
    Options -Indexes +FollowSymLinks -MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

نکته: اگر اپلیکیشن شما از فایل‌های .htaccess استفاده می‌کند، باید گزینه‌ی AllowOverride None را به AllowOverride All تغییر دهید. درباره‌ی نحوه‌ی انتقال محتوای فایل .htaccess به فایل اصلی پیکربندی سرور، اینجا را مطالعه کنید.

  • فایل /opt/bitnami/apache2/conf/vhosts/myapp-https-vhost.conf را ایجاد و ویرایش کنید و بلوک پیکربندی زیر را به آن اضافه کنید:
<VirtualHost 127.0.0.1:443 _default_:443>
  ServerAlias *
  DocumentRoot /opt/bitnami/myapp
  SSLEngine on
  SSLCertificateFile "/opt/bitnami/apache2/conf/bitnami/certs/server.crt"
  SSLCertificateKeyFile "/opt/bitnami/apache2/conf/bitnami/certs/server.key"
  <Directory "/opt/bitnami/myapp">
    Options -Indexes +FollowSymLinks -MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

نکته: اگر اپلیکیشن شما از فایل‌های .htaccess استفاده می‌کند، باید گزینه‌ی AllowOverride None را به AllowOverride All تغییر دهید. درباره‌ی نحوه‌ی انتقال محتوای فایل .htaccess به فایل اصلی پیکربندی سرور، اینجا را مطالعه کنید.

  • سرور آپاچی را دوباره راه‌اندازی کنید:
sudo /opt/bitnami/ctlscript.sh restart apache

اکنون باید در http://SERVER-IP به اپلیکیشن دسترسی داشته باشید.

رویکرد B: اپلیکیشن‌های Self-contained بیتنامی

  • اگر می‌خواهید یک اپلیکیشن PHP در آدرس روت وب سرور (برای مثال http://localhost) در دسترس قرار بگیرد، کافی است فایل‌های PHP را در پوشه‌ی /opt/bitnami/apache2/htdocs کپی کنید. به‌عنوان مثال می‌توانید نگاهی به نمونه‌ی phpinfo بیندازید.
  • اگر می‌خواهید چند اپلیکیشن فعال باشند، باید ساختاری بسازید که شبیه ساختار مورداستفاده‌ی بیتنامی هنگام نصب اپلیکیشن‌های PHP بیتنامی باشد. نسخه‌های اخیر استک‌های بیتنامی همراه یک اپلیکیشن نمایشی با این ساختار عرضه می‌شوند که به شما در شروع به کار کمک می‌کند. برای استفاده از آن، مراحل زیر را دنبال کنید:
    • پوشه‌ی /opt/bitnami/docs/demo را در دایرکتوری /opt/bitnami/apps کپی کنید.
sudo cp -r /opt/bitnami/docs/demo /opt/bitnami/apps
    • خط زیر را به انتهای فایل /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf اضافه کنید:
Include "/opt/bitnami/apps/demo/conf/httpd-prefix.conf"
    • سرور آپاچی را با استفاده از ابزار خط فرمان دوباره راه‌اندازی کنید:
sudo /opt/bitnami/ctlscript.sh restart apache

اکنون باید در http://SERVER-IP/demo به اپلیکیشن نمایشی دسترسی داشته باشید. باید پیام Hello world را در مرورگرتان مشاهده کنید.

  • اگر استک شما فاقد اپلیکیشن نمایشی است یا اگر ترجیح می‌دهید که اپلیکیشن سفارشی را خودتان از پایه بسازید، مراحل زیر را دنبال کنید. این مراحل با این فرض نگاشته شده‌اند که اپلیکیشن شما در دایرکتوری /opt/bitnami/apps/myapp قرار دارد.
    • دستورات زیر را اجرا کنید تا دایرکتوری‌ها ایجاد و مجوزهای لازم اعطا شوند:
sudo mkdir /opt/bitnami/apps/myapp
sudo mkdir /opt/bitnami/apps/myapp/htdocs/
sudo mkdir /opt/bitnami/apps/myapp/conf
sudo chown -R bitnami:daemon /opt/bitnami/apps/myapp/htdocs/
sudo chmod -R g+w /opt/bitnami/apps/myapp/htdocs/
    • فایل /opt/bitnami/apps/myapp/conf/httpd-prefix.conf را ایجاد و آن را ویرایش و خطوط زیر را به آن اضافه کنید:
Alias /myapp/ "/opt/bitnami/apps/myapp/htdocs/"
Alias /myapp "/opt/bitnami/apps/myapp/htdocs/"
Include "/opt/bitnami/apps/myapp/conf/httpd-app.conf"
    • فایل /opt/bitnami/apps/myapp/conf/httpd-app.conf را ایجاد و ویرایش و محتوای زیر را به آن اضافه کنید. این فایل پیکربندی اصلی اپلیکیشن شماست، در نتیجه در آینده با توجه به نیازهای اپلیکیشن‌تان آن را اصلاح کنید.
<Directory /opt/bitnami/apps/myapp/htdocs/>
    Options +FollowSymLinks
    AllowOverride None
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
</Directory>

نکته: اگر اپلیکیشن شما از فایل‌های .htaccess استفاده می‌کند، باید گزینه‌ی AllowOverride None را به AllowOverride All تغییر دهید. درباره‌ی نحوه‌ی انتقال محتوای فایل .htaccess به فایل اصلی پیکربندی سرور، اینجا را مطالعه کنید.

    • زمانی که فایل‌ها و دایرکتوری‌های فوق ایجاد شدند، خط زیر را به انتهای فایل پیکربندی اصلی آپاچی اضافه کنید که در /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf قرار دارد:
Include "/opt/bitnami/apps/myapp/conf/httpd-prefix.conf"
    • سرور آپاچی را دوباره راه‌اندازی کنید:
sudo /opt/bitnami/ctlscript.sh restart apache

اکنون باید در http://SERVER-IP/myapp به اپلیکیشن دسترسی داشته باشید.

اگر ترجیح می‌دهید که اپلیکیشن در سرور روت شما در دسترس باشد، مراحل اضافی زیر را نیز انجام دهید:

    • فایل /opt/bitnami/apps/myapp/conf/httpd-prefix.conf را به‌گونه‌ای ویرایش کنید که به شکل زیر در بیاید:
DocumentRoot "/opt/bitnami/apps/myapp/htdocs/"
Include "/opt/bitnami/apps/myapp/conf/httpd-app.conf"
    • سرور آپاچی را دوباره راه‌اندازی کنید:
sudo /opt/bitnami/ctlscript.sh restart apache

اکنون باید در http://SERVER-IP به اپلیکیشن دسترسی داشته باشید.

زمانی که اپلیکیشن سفارشی PHP خود را ساختید و پیاده‌سازی کردید، می‌توانید یک پایگاه داده‌ی MySQL یا MariaDB نیز بسازید و در اپلیکیشن‌تان ادغام کنید.

برای کسب اطلاعات بیشتر راجع به پیکربندی یک اپلیکیشن سفارشی PHP، این ویدیو را تماشا کنید.