-->

Konfigurasi Laravel di webhosting


Pertama, daftar dulu di webhosting
Kedua, siapin Websitenya (Host dan Domain - Yg free aja dulu).
Ketiga, siapin Databasenya.
Keempat, siapin Laravelnya. Download dulu laravel nya kalo belom ada, bisa download pake composer atau langsung dari web laravelnya.

Struktur Folder

Setelah itu, struktur folder nya dirubah, misalkan sebelumnya gini
www
└─laravel
  ├─ app
  ├─ bootstrap
  ├─ config
  ├─ database
  ├─ public
  ├─ resources
  ├─ storage
  ├─ tests
  ├─ vendor
  ├─ .env
  ├─ .env.example
  ├─ .gitattributes
  ├─ .gitignore
  ├─ .idea
  ├─ artisan
  ├─ composer.json
  ├─ composer.lock
  ├─ gulpfile.js
  ├─ readme.md
  ├─ server.php
  ├─ package.json
  └─ phpunit.xml


Lalu kita rubah struktur nya jadi begini:
www
├─laravel
│ ├─ app
│ ├─ bootstrap
│ ├─ config
│ ├─ database
│ ├─ resources
│ ├─ storage
│ ├─ tests
│ ├─ vendor
│ ├─ .env
│ ├─ .env.example
│ ├─ .gitattributes
│ ├─ .gitignore
│ ├─ .idea
│ ├─ artisan
│ ├─ composer.json
│ ├─ composer.lock
│ ├─ gulpfile.js
│ ├─ readme.md
│ ├─ server.php
│ ├─ package.json
│ └─ phpunit.xml
├─public_html
└─tmp

Isi didalam folder public di pindahin ke folder public_html. Isinya aja ya, setelah di pindah, folder public yang tadi boleh dihapus.

Routing

Kemudian kita rubah isi file index.php di dalem folder public_html.
Sebelum dirubah file index.php nya:
<?php
/* ... */
require __DIR__.'/../bootstrap/autoload.php';

/* ... */
$app = require_once __DIR__.'/../bootstrap/app.php';

/* ... */
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);

Kemudian kita rubah jadi gini:
<?php
/* ... */
require __DIR__.'/../laravel/bootstrap/autoload.php';

/* ... */
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
$app->bind('path.public', function() {
  return __DIR__;
});

/* ... */
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);

Database

Untuk databasenya, kita rubah file .env.
Sebelum dirubah:
APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:SW5pa2V5WWdEaUdlbmVyYXRlT3RvbWF0aXNTYWF0RG93bmxvYWRMYXJhdmVsIA==
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

Sesudah dirubah:
APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:SW5pa2V5WWdEaUdlbmVyYXRlT3RvbWF0aXNTYWF0RG93bmxvYWRMYXJhdmVsIA==
APP_URL=http://nama-domain.com

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=DATABASE_NAME
DB_USERNAME=DATABASE_USER
DB_PASSWORD=PASSWORD_DATABASE

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=localhost
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

Fix error mysql

Masih belum selesai, kita rubah file database.php di dalem folder "laravel\config\database.php".
Cari ini:
'mysql' => [

kemudian tambahin ini di dalem kurung sikunya, misal taro aja di sebelom penutup kurung sikunya.
'options' => [PDO::ATTR_EMULATE_PREPARES => true],


Kalo udah, tinggal di upload. Saran aja sih, sebelom di upload web nya di selesain dulu, soalnya repot kalo di webhost yg gratis layanannya terbatas.
Kalo mau langsung di upload:
- folder laravel upload sama foldernya
- folder public_html, upload aja isinya soalnya di webhost udah ada foldernya, jadi tinggal replace isinya.
- folder tmp itu otomatis dari webhostnya.

Kaya yg udah gw bilang kalo gratisan itu terbatas service nya, jadi kita ga bisa pake "php artisan migrate", kita musti insert manual.
kalo mau buat controller, model, migration, seeder juga manual. tapi, kalo untuk controller dan model mah gampang kan ya, tinggal di upload doang.

Nah migrasi sama seed nya ini ada trik nya. kita migrasi dan seed dulu di localhost, kemudian export jadi sql.
Lalu buka webhost, akses phpmyadmin di webhostnya, kemudian pilih databasenya, lalu insert sql, copy paste yang tadi di export(Isi .sql nya).

Dah selesai.
Facebook Comments

1 komentar:

This is a good post. This post gives truly quality information. I’m definitely going to look into it. Really very useful tips are provided here. Thank you so much. Keep up the good works. best web hosting for small business in USA

Balas



Diberdayakan oleh Blogger.