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

مستندات فنی

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

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





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

شروع به کار با Laravel در LAMP

Time To Read ۴ دقیقه
Date ۲۳ بهمن ۱۳۹۸

فریم‌ورک Laravel در دایرکتوری frameworks/laravel نصب شده است. در این دایرکتوری یک اپلیکیشن آزمایشی نیز وجود دارد. فایل‌های پیکربندی اپلیکیشن در دایرکتوری config/ و فایل‌های عمومی مانند صفحات HTML، فایل‌های CSS و جاوااسکریپت، تصاویر و سایر منابع چندرسانه‌ای در دایرکتوری public/ قرار دارند.

فعال‌سازی و آزمایش

برای فعال‌سازی اپلیکیشن آزمایشی ابتدا فایل پیکربندی Apache در دایرکتوری /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf را ویرایش و خط زیر را از حالت comment خارج کنید:

Include "/opt/bitnami/frameworks/laravel/conf/httpd-prefix.conf"

سپس سرور Apache را دوباره راه‌اندازی کنید:

sudo /opt/bitnami/ctlscript.sh restart apache

اکنون با وارد کردن آدرس http://SERVER-IP/laravel در مرورگر خود می‌توانید از کارکرد اپلیکیشن مطمین شوید.

در Laravel 4.x باید صفحه‌ای مشابه تصویر زیر برای شما نمایش داده شود:

در Laravel 5.x باید صفحه‌ای مشابه تصویر زیر برای شما نمایش داده شود:

پیکربندی

پیش از استفاده از اپلیکیشن آزمایشی باید به چند نکته‌ی مهم توجه داشته باشید:

  • برای آغاز یک پروژه‌ی جدید فایل /opt/bitnami/frameworks/laravel/app/routes.php (برای Laravel 4.x) یا فایل /opt/bitnami/frameworks/laravel/app/Http/routes.php (برای Laravel 5.x) را ویرایش و یک مسیر جدید ایجاد کنید:
Route::get('my-first-route', function() {     return 'Hello World!'; });

این کار مسیر اپلیکیشن /my-first-route را ایجاد می‌کند. برای مشاهده‌ی این مسیر آن را به آدرس اپلیکیشن ضمیمه و آدرس را در مرورگر خود وارد کنید. آدرس باید چیزی شبیه به http://SERVER-IP/laravel/index.php/my-first-route باشد. اگر همه‌ چیز درست باشد باید خروجی Hello World نمایش داده شود.

  • اگر اپلیکیشن شما از پایگاه داده استفاده می‌کند، تنظیمات پایگاه داده را در فایل app/config/database.php  (برای Laravel 4.x) یا در فایل config/database.php (برای Laravel 5.x) ویرایش کنید:
return array(         'connections' => array(                 'mysql' => array(                         'driver'    => 'mysql',                         'host'      => 'localhost',                         'database'  => 'database_name',                         'username'  => 'user',                         'password'  => 'pass',                         'charset'   => 'utf8',                         'collation' => 'utf8_unicode_ci',                         'prefix'    => '',                 ),     ) );

پشتیبانی از MySQL به‌شکل پیش‌فرض موجود است. اگر قصد استفاده از PostgreSQL را دارید، افزونه‌ی php_pdo_pgsql را در فایل /opt/bitnami/php/etc/php.ini فعال کنید:

extension=php_pdo_pgsql

  • برای انتقال اپلیکیشن Laravel به آدرس root سرور (که بدون پسوند /laravel در دسترس باشد)، مراحل زیر را دنبال کنید:
    • فایل /opt/bitnami/frameworks/laravel/conf/httpd-prefix.conf را به‌گونه‌ای ویرایش کنید که نتیجه‌ی نهایی مانند خطوط زیر باشد:
DocumentRoot "/opt/bitnami/frameworks/laravel/public" #Alias /laravel/ "/opt/bitnami/frameworks/laravel/public/" #Alias /laravel "/opt/bitnami/frameworks/laravel/public" Include "/opt/bitnami/frameworks/laravel/conf/httpd-app.conf"
    • فایل /opt/bitnami/frameworks/laravel/conf/httpd-app.conf را ویرایش و به جای بخش AllowOverride None، بخش AllowOverride All را جایگزین کنید:
AllowOverride All

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

اکنون باید در آدرس root سرور خود به اپلیکیشن آزمایشی دسترسی داشته باشید.

بازتولید کلید

هنگام نصب، یک کلید 32 کاراکتری تولید می‌شود. شما می‌توانید آن را هر زمان که خواستید، به کلیدی تصادفی تغییر دهید.

cd /opt/bitnami/frameworks/laravel sudo php artisan key:generat

دستورات بالا، کلید جدیدی می‌سازند و آن را در ترمینال نمایش می‌دهند. کلید 32 کاراکتری را کپی و فایل /opt/bitnami/frameworks/laravel/config/app.php را ویرایش کنید. باید در این فایل خطی مانند خط زیر پیدا کنید:

'key' => env('APP_KEY', 'PasteYourKeyHere')

کلید جدید خود را در این قسمت paste و فایل را ذخیره کنید.

ارتقا به Laravel 5.1

برای ارتقا به Laravel 5.1 مراحل زیر را دنبال کنید:

  • فایل composer.lock را از دایرکتوری /opt/bitnami/frameworks/laravel حذف کنید:
rm /opt/bitnami/frameworks/laravel/composer.lock

  • Composer.json را به آخرین نسخه به‌روز کنید:
... "laravel/framework": "5.1.*"
  • دایرکتوری cache/ را در مسیر /opt/bitnami/frameworks/laravel/bootstrap ایجاد کنید:
mkdir -p /opt/bitnami/frameworks/laravel/bootstrap/cache/

  • مقدار $compilePath را در فایل /opt/bitnami/frameworks/laravel/bootstrap/autoload.php براساس خط زیر ویرایش کنید:
$compiledPath = __DIR__.'/cache/compiled.php';
  • فایل /opt/bitnami/frameworks/laravel/bootstrap/cache/.gitignore را با محتوای زیر ایجاد کنید:
!.gitignore
  • مالک را bitnami قرار و مجوز نوشتن در فایل /opt/bitnami/frameworks/laravel/bootstrap/cache را به آن بدهید:
sudo chmod 775 /opt/bitnami/frameworks/laravel/bootstrap/cache sudo chown bitnami:root /opt/bitnami/frameworks/laravel/bootstrap/cache

  • Illuminate\Broadcasting\BroadcastServiceProvider را به آرایه‌ی providers در فایل /opt/bitnami/frameworks/laravel/config/app.php اضافه کنید:
... 'Illuminate\Broadcasting\BroadcastServiceProvider', ...

حواستان به کاما (,) در انتهای خط باشد.

  • هدر فایل /opt/bitnami/frameworks/laravel/app/Http/Controllers/Auth/AuthController.php را از 
use App\Http\Controllers\Controller; use Illuminate\Contracts\Auth\Guard; use Illuminate\Contracts\Auth\Registrar; use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

به

use App\User; use Validator; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

تغییر دهید.

  • سازنده‌ی فایل /opt/bitnami/frameworks/laravel/app/Http/Controllers/Auth/AuthController.php را از 
/** * Create a new authentication controller instance. * * @param \Illuminate\Contracts\Auth\Guard $auth * @param \Illuminate\Contracts\Auth\Registrar $registrar * @return void */ public function __construct(Guard $auth, Registrar $registrar) { $this->auth = $auth; $this->registrar = $registrar;         $this->middleware('guest', ['except' => 'getLogout']); } به /** * Create a new authentication controller instance. * * @return void */ public function __construct() { $this->middleware('guest', ['except' => 'getLogout']); }

تغییر دهید.

  • در همان فایل، درست بعد از خطوط بالا، خطوط زیر را اضافه کنید:
/** * Get a validator for an incoming registration request. * * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|confirmed|min:6', ]); } /** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); }

  • دایرکتوری /opt/bitnami/frameworks/laravel/app/Services را حذف کنید:
rm -rf /opt/bitnami/frameworks/laravel/app/Services

  • فایل /opt/bitnami/frameworks/laravel/app/Http/Controllers/Auth/PasswordController.php را از 
/** * Create a new password controller instance. public function __construct(Guard $auth, PasswordBroker $passwords) { $this->auth = $auth; $this->passwords = $passwords;         $this->middleware('guest'); } به /** * Create a new password controller instance. * * @return void */ public function __construct() { $this->middleware('guest'); }

تغییر دهید.

  • فایل /opt/bitnami/frameworks/laravel/app/Http/routes.php را از
 Route::get('/', 'WelcomeController@index'); Route::get('home', 'HomeController@index'); Route::controllers([     'auth' => 'Auth\AuthController',     'password' => 'Auth\PasswordController', ]); به Route::get('/', function () { return view('welcome'); });

تغییر دهید.

  • دایرکتوری /opt/bitnami/frameworks/laravel/vendor را حذف کنید:
rm -rf /opt/bitnami/frameworks/laravel/vendor

  • کلاس baseURL را در فایل /opt/bitnami/frameworks/laravel/tests/TestCase.php وارد کنید:
class TestCase extends Illuminate\Foundation\Testing\TestCase { /** * The base URL to use while testing the application. * * @var string */ protected $baseUrl = 'http://localhost'; ...
  • فایل /opt/bitnami/frameworks/laravel/storage/framework/compiled.php را پاک کنید:
sudo rm /opt/bitnami/frameworks/laravel/storage/framework/compiled.php

  • composer update را در دایرکتوری /opt/bitnami/framework/laravel اجرا کنید:
composer update
  • نسخه‌ی Laravel را بررسی کنید:
php artisan --version

اگر تمایل داشته باشید می‌توانید این تغییرات اختیاری را نیز اعمال کنید.

با مراجعه به آدرس http://laravel.com/docs  می‌توانید اطلاعات بیش‌تری درباره‌ی توسعه‌ی اپلیکیشن‌ها با Laravel به دست آورید.