دستهبندیهای سایت
مشاهده دستهبندیها
بستن دستهبندیها
-
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
مشاهده همه دستهها
شروع به کار با Laravel در LAMP
در این مقاله:
فریمورک 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 به دست آورید.