Lahat ng kailangan mong malaman para mag-deploy ng Laravel web application sa isang Ubuntu 20.04 LTS machine
Ang Laravel ay isang napaka-tanyag na open-source na PHP framework na may nagpapahayag at eleganteng syntax na ginagamit upang magdisenyo ng mga moderno at magagandang web application. Nilalayon ng Laravel na alisin ang sakit sa web development at gawin itong isang kasiya-siya at malikhaing karanasan, na ginagawang mga web artisan ang mga web dev.
Sa gabay na ito, matututunan mo kung paano i-install ang Laravel gamit ang LAMP stack sa isang Ubuntu 20.04 server para mapatakbo at mapatakbo ang iyong web application.
Mga kinakailangan
Upang sundin ang gabay na ito, kakailanganin mo ng isang Ubuntu 20.04 LTS server at naka-log in bilang isang sudo
gumagamit. Bago tayo magsimula, i-update at i-upgrade ang mga pakete ng Ubuntu 20.04 sa pamamagitan ng pagpapatakbo:
sudo apt update && sudo apt upgrade
Pag-install ng LAMP Stack
LAMP ay isang acronym para sa L inux operating system, A pache web server, M ySQL database at P Wika ng programming ng HP. Nasa Ubuntu 20.04 na tayo na nagti-tick sa Linux sa LAMP stack. Kaya't ii-install namin ang natitirang tatlong pakete upang makumpleto ang LAMP stack para sa aming Laravel application.
Walang magagamit na meta-package upang mai-install ang LAMP stack sa mga repositoryo ng Ubuntu 20.04. Ngunit maaari naming gamitin ang isang maayos na maliit na tampok ng apt
package manager na tinatawag na mga gawain. Ang mga gawain ay tinutukoy gamit ang pangalan ng magagamit na gawain sa isang kadete (^
) nakadugtong dito.
sudo apt install lamp-server^
Hahanapin ng command na ito ang mga file ng listahan ng package para sa lahat ng field na "Task:" at i-install ang lahat ng package na may "lamp-server" sa kanilang field ng gawain. Kaya't ang LAMP stack na binubuo ng Apache, MySQL at PHP na mga pakete kasama ang lahat ng kanilang mga dependency ay mai-install sa iyong Ubuntu server.
I-configure ang Firewall
Kapag na-install mo na ang LAMP stack, kailangan mo ring i-configure ang uncomplicated firewall (UFW) at baguhin ang mga panuntunan nito para ma-access mo ang Apache server mula sa internet.
Nagbibigay ang UFW ng mga simpleng profile ng application na maaaring magamit upang baguhin ang mga panuntunan at i-toggle ang trapiko sa mga port ng network. Patakbuhin ang sumusunod na command upang ilista ang lahat ng application na nag-a-access sa mga network port:
sudo ufw app list
Makakakita ka ng isang output tulad nito:
Magagamit na mga application: Apache Apache Full Apache Secure OpenSSH
Ang mga port ng network na nakabukas ang mga profile na ito sa iyong Ubuntu 20.04 server ay nakalista sa ibaba:
- Apache: Binubuksan lang ng profile na ito ang port
80
(pinapayagan ang trapiko ng HTTP) - Apache Full: Ang profile na ito ay bubukas pareho
80
&443
mga port (pinapayagan ang trapiko ng HTTP at HTTPS) - Apache Secure: Ang profile na ito ay nagbubukas lamang ng port
443
(pinapayagan ang trapiko ng HTTPS) - OpenSSH: Ang profile na ito ay nagbubukas ng port
22
na nagpapahintulot sa SSH protocol
Kailangan mong paganahin ang profile na 'Buong Apache' na magpapahintulot sa trapiko sa web server ng Apache mula sa internet. Bilang karagdagan, kakailanganin mo ring paganahin ang profile na 'OpenSSH' na nagpapahintulot sa trapiko sa port 22
(SSH) sa iyong Ubuntu 20.04 server. Kung pinagana mo ang UFW nang hindi pinapayagan ang profile na 'OpenSSH' hindi ka makakakonekta sa iyong server gamit ang SSH.
Upang baguhin ang panuntunan ng UFW at payagan ang trapiko sa port 80
at 22
, tumakbo:
sudo ufw allow 'Apache Full' sudo ufw allow 'OpenSSH'
Pagkatapos ay paganahin ang UFW firewall gamit ang sumusunod na command:
paganahin ang sudo ufw
Maaari kang makakuha ng isang prompt na nagsasabing "ang utos ay maaaring makagambala sa mga umiiral na koneksyon sa ssh. Magpatuloy sa mga operasyon (y|n)?”. Pindutin Y
upang magpatuloy dahil nagdagdag na kami ng panuntunan upang payagan ang SSH sa UFW.
Ngayon ay maaari mong ma-access ang Apache default na web page gamit ang IP address ng iyong Ubuntu server mula sa internet. Upang gawin ito, buksan ang iyong browser at i-type ang IP address ng iyong Ubuntu 20.04 server sa URL bar at pindutin ang enter.
//Your_ubuntu_server_ip
Kinukumpirma ng page na ito na gumagana nang tama ang Apache web server at maayos na na-set up ang mga panuntunan ng UFW.
Pag-set up ng MySQL Database para sa Laravel
Pinapasimple ng Laravel 7 ang pakikipag-ugnayan sa mga database sa iba't ibang mga backend ng database na sinusuportahan nito tulad ng bersyon ng MySQL 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+ at SQL Server 2017+. Mayroon na kaming pinakabagong MySQL package na naka-install sa lamp-sever^
gawain. Kaya sa seksyong ito, iko-configure natin ang MySQL server at pagkatapos ay titingnan kung paano mag-set up ng bagong user ng MySQL at database para sa Laravel application.
I-configure ang MySQL
Ang MySQL database ay may kasamang security script na paunang naka-install na maaaring magamit upang alisin ang ilang hindi secure na default na mga setting. Inirerekomenda na patakbuhin mo ang script na ito bago mo i-deploy ang iyong Laravel application.
sudo mysql_secure_installation
Ang utos sa itaas ay isasagawa ang script ng seguridad na mag-uudyok sa iyo ng isang serye ng mga tanong para sa pag-configure ng MySQL server.
Una, tatanungin ka kung gusto mong i-setup ang I-VALIDATE ANG PASSWORD
isaksak. Sinusuri ng plugin na ito ang iyong password at niraranggo ang mga ito bilang secure o hindi secure batay sa antas ng patakaran sa pagpapatunay ng password na pipiliin mo sa lalong madaling panahon. Kaya pindutin Y kung gusto mong paganahin ang plugin na ito.
Output: Pag-secure ng MySQL server deployment. Pagkonekta sa MySQL gamit ang isang blangkong password. Maaaring gamitin ang VALIDATE PASSWORD COMPONENT upang subukan ang mga password at pagbutihin ang seguridad. Sinusuri nito ang lakas ng password at pinapayagan ang mga gumagamit na itakda lamang ang mga password na sapat na ligtas. Gusto mo bang i-setup ang VALIDATE PASSWORD component? Pindutin ang y|Y para sa Oo, anumang iba pang key para sa Hindi: Y
Pagkatapos ay itakda ang antas ng patakaran sa pagpapatunay ng password sa pamamagitan ng alinman sa pagpasok 0
, 1
o 2
depende sa kung gaano kalakas ang gusto mong gawin ang iyong password para sa iyong mga database.
Output: Mayroong tatlong antas ng patakaran sa pagpapatunay ng password: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, at mga espesyal na character STRONG Length >= 8, numeric, mixed case, mga espesyal na character at dictionary file Pakilagay ang 0 = LOW, 1 = MEDIUM at 2 = MALAKAS: 2
Susunod, hihilingin sa iyo na magpasok ng bagong password para sa MySQL root user. Maglagay ng angkop na password para sa iyong MySQL root. Ang VALIDATE PASSWORD plugin ay magbibigay sa iyo ng tinantyang lakas ng iyong password ayon sa antas ng pagpapatunay ng iyong password. Pindutin Y
upang magpatuloy sa password na iyong ibinigay.
Output: Mangyaring itakda ang password para sa root dito. Bagong password: Muling ipasok ang bagong password: Tinantyang lakas ng password: 100 Gusto mo bang magpatuloy sa ibinigay na password? (Pindutin ang y|Y para sa Oo, anumang iba pang key para sa Hindi) : Y
Pindutin Y
para sa natitirang mga senyas, aalisin nila ang ilang hindi kilalang user at ang mga database ng pagsubok, hindi paganahin ang malayuang pag-login sa ugat at i-reload ang mga bagong setting para sa MySQL server. Kapag tapos ka na, subukan ang iyong database sa pamamagitan ng pagpapatakbo:
sudo mysql
Ang command sa itaas ay magbubukas ng MySQL console, na kumukonekta sa MySQL database bilang ang ugat gumagamit. Makakakita ka ng isang output tulad nito:
Output: Maligayang pagdating sa MySQL monitor. Nagtatapos ang mga utos sa ; o \g. Ang iyong MySQL connection id ay 10 Server na bersyon: 8.0.20-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2020, Oracle at/o mga kaakibat nito. Lahat ng karapatan ay nakalaan. Ang Oracle ay isang rehistradong trademark ng Oracle Corporation at/o mga kaakibat nito. Ang ibang mga pangalan ay maaaring mga trademark ng kani-kanilang mga may-ari. I-type ang 'help;' o '\h' para sa tulong. I-type ang '\c' para i-clear ang kasalukuyang input statement. mysql>
Maaaring napansin mo na hindi mo kailangang ilagay ang password na iyong itinakda para sa MySQL root user. Iyon ay dahil ang default na paraan ng pagpapatunay para sa administratibong MySQL root user ay caching_sha2_authentication
sa halip na ang mysql_native_password
paraan na gumagamit ng password para mag-log in.
Kaya bilang default, maaari ka lamang mag-log in bilang MySQL root user gamit ang sudo
pinaganang mga user na nagsisilbing karagdagang seguridad para sa MySQL server. Ngunit hindi sinusuportahan ng MySQL PHP library caching_sha2_authentication
paraan. Samakatuwid kailangan nating gamitin mysql_native_password
paraan kapag lumikha kami ng bagong user para sa Laravel dahil gumagamit ito ng mga password para kumonekta at makipag-ugnayan sa database.
Lumikha ng Bagong User at Database ng MySQL
Ito ay palaging isang magandang kasanayan upang lumikha ng isang bagong user at database partikular para sa iyong aplikasyon sa halip na gumamit ng MySQL root user at mga database ng pagsubok. Kaya tayo ay magse-set up ng bagong MySQL user na tinatawag laravel_user
at isang database na tinatawag laravel
. Kung sinunod mo ang tutorial hanggang sa puntong ito, dapat mong buksan ang MySQL console. Upang lumikha ng gumagamit na tinatawag na laravel_user
patakbuhin ang sumusunod na query sa MySQL console:
Tandaan: Palitan ANG testpass
sa ibaba ng query sa MySQL na may malakas na password.
GUMAWA NG USER 'laravel_user'@'%' NA KINILALA SA mysql_native_password NG 'testpass';
Susunod, lumikha ng isang database na tinatawag laravel
para sa aming Laravel application sa pamamagitan ng pagpapatakbo ng query na ito:
GUMAWA NG DATABASE laravel;
Tanging ang MySQL root user lang ang may pahintulot sa bagong likhang database laravel. Ibigay ang lahat ng mga pahintulot sa ibabaw ng laravel
database sa laravel_user
sa pamamagitan ng pagtakbo:
IBIGAY LAHAT SA laravel.* SA 'laravel_user'@'%';
Kaya, mayroon na kaming bagong user ng MySQL at isang database, lumabas sa MySQL console sa pamamagitan ng pagpapatakbo:
EXIT;
Subukan ang iyong bagong user ng MySQL sa pamamagitan ng pag-log in sa MySQL console kasama nito, upang gawin ito patakbuhin ang command na ito sa terminal:
mysql -u laravel_user -p
Pansinin ang -p
i-flag sa command, ipo-prompt ka nito para sa password na ginamit mo habang ginagawa ang laravel_user
(testpass
sa tanong). Pagkatapos mong mag-log in sa MySQL console bilang laravel_user
, kumpirmahin na ang user ay may access sa laravel
database sa pamamagitan ng pagpapatakbo:
MAGPAKITA NG MGA DATABASE;
Output: +--------------------+ | Database | +--------------------+ | laravel | | information_schema | +---------------------+ 2 row sa set (0.01 sec)
Kinukumpirma ng output sa itaas na ang gumagamit ng MySQL laravel_user
may mga pahintulot sa database laravel
. Lumabas sa MySQL console gamit ang EXIT;
query para makapagpatuloy kami sa paggawa ng DemoApp Laravel application.
Pag-install ng Laravel
Ang Laravel framework ay gumagamit ng Composer upang i-download at pamahalaan ang mga dependency nito. Kaya, kailangan nating i-install ang Composer sa ating Ubuntu 20.04 machine bago tayo makagawa ng Laravel application.
I-install ang Composer
Ang kompositor ay isang tool ng tagapamahala ng dependency para sa PHP, na ginagawang mas madali ang pag-install at pag-update ng mga framework at library ng PHP. Titingnan natin kung paano mabilis na i-install ang Composer sa tutorial na ito para magamit natin ito para i-download at pamahalaan ang Laravel framework.
Kailangan mong mag-install ng ilang karagdagang mga pakete na kinakailangan ng Composer upang gumana tulad ng php-cli
upang patakbuhin ang mga script ng PHP sa terminal at unzip
upang matulungan ang Composer na kunin ang mga pakete. I-install ang mga ito pareho sa pamamagitan ng pagpapatakbo:
sudo apt install php-cli unzip
Pagkatapos ay upang i-install ang Composer sa buong mundo, i-download ang script ng pag-install ng Composer gamit ang kulot
at i-install ito gamit ang sumusunod na command:
curl -sS //getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Panghuli, i-verify na na-install nang tama ang kompositor sa pamamagitan ng pagpapatakbo:
kompositor
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Bersyon ng kompositor 1.10.8 2020-06- 24 21:23:30 Paggamit: utos [mga opsyon] [argumento]
Kinukumpirma ng output na ito na gumagana nang maayos ang Composer sa iyong Ubuntu 20.04 server, maaari mo itong simulang gamitin upang i-install at pamahalaan ang mga framework at library ng PHP.
Gumawa ng Laravel Application
Mayroon kaming halos lahat ng kailangan upang lumikha ng Laravel application sa aming Ubuntu 20.04 server maliban sa ilang mga extension ng PHP. I-install ang mga nawawalang extension na ito gamit ang sumusunod na command:
sudo apt install php-mbstring php-xml php-bcmath php-zip php-json
Ngayon, maaari na nating i-install ang Laravel at lumikha ng bagong Laravel application sa tulong ng Composer. Una, tiyaking nasa home directory ka ng iyong user:
cd ~
Pagkatapos ay lumikha ng bagong proyekto ng Laravel gamit ang Composer's lumikha-proyekto
utos:
composer create-project --prefer-dist laravel/laravel LaravelApp
Ang utos sa itaas ay lilikha ng isang bagong proyekto na tinatawag na LaravelApp at ito rin ay mag-i-install at magko-configure ng Laravel Framework para sa iyo. Makakakita ka ng isang output na katulad nito:
Output: Paggawa ng proyektong "laravel/laravel" sa "./LaravelApp" Pag-install ng laravel/laravel (v7.12.0) Pag-install ng laravel/laravel (v7.12.0): Pagda-download (100%) Nagawa na proyekto sa /home/ath/LaravelApp @php - r "file_exists('.env') || copy('.env.example', '.env');" Naglo-load ng mga composer repository na may impormasyon ng package Pag-update ng mga dependency (kabilang ang require-dev) Mga pagpapatakbo ng package: 97 pag-install, 0 update, 0 pagtanggal Pag-install ng voku/portable-ascii (1.5.2): Pag-download (100%) Pag-install ng symfony/polyfill-ctype (v1 .17.1): Pag-download (100%) Pag-install ng phpoption/phpoption (1.7.4): Pag-download (100%) Pag-install ng vlucas/phpdotenv (v4.1.7): Pag-download (100%) Pag-install ng symfony/css-selector (v5.1.2) : Nagda-download (100%) ....
Kapag natapos na ang pag-install, pumunta sa root directory ng application at pagkatapos ay patakbuhin ang Laravel's artisan
command upang i-verify na ang lahat ng mga bahagi ay naka-install nang maayos:
cd LaravelApp/ php artisan
Output: Laravel Framework 7.18.0 Usage: command [options] [argument] Options: -h, --help Ipakita ang mensaheng ito ng tulong -q, --tahimik Huwag maglabas ng anumang mensahe -V, --bersyon Ipakita ang bersyon ng application na ito --ansi Puwersahin ang output ng ANSI --no-ansi Huwag paganahin ang output ng ANSI -n, --no-interaction Huwag magtanong ng anumang interactive na tanong --env[=ENV] Ang environment na dapat tumakbo ang command sa ilalim ng -v|vv|vvv, --verbose Increase ang verbosity ng mga mensahe: 1 para sa normal na output, 2 para sa mas maraming salita na output at 3 para sa debug ....
Kinukumpirma ng output na ito na matagumpay ang pag-install at ang lahat ng mga file ay nasa lugar at ang mga tool sa command-line ng Laravel ay gumagana nang maayos. Gayunpaman, kailangan pa rin naming i-configure ang application upang i-set up ang database at ilang iba pang mga setting.
I-configure ang Laravel Application
Ang mga file ng pagsasaayos ng Laravel ay matatagpuan sa isang direktoryo na tinatawag na config
sa loob ng root directory ng application. Bukod pa rito, noong na-install namin ang Laravel sa pamamagitan ng Composer, lumikha ito ng environment file na tinatawag na '.env' sa root directory ng application. Ang environment file ay kinabibilangan ng environment-specific na configuration at ito ay nangunguna sa mga setting sa mga regular na configuration file na matatagpuan sa loob ng config directory.
Tandaan: Ang environment configuration file ay naglalaman ng sensitibong impormasyon tungkol sa iyong server tulad ng mga password sa database, Laravel application keys atbp. Kaya hindi ito dapat ibahagi sa publiko.
Ie-edit namin ngayon ang .env
file upang baguhin ang configuration at idagdag ang mga kredensyal ng database dito. Buksan ang file gamit ang nano editor sa pamamagitan ng pagpapatakbo:
nano .env
Mayroong maraming mga variable ng pagsasaayos dito .env
file. Hindi namin kailangang baguhin ang bawat isa sa kanila, dahil awtomatikong na-configure ng Composer ang karamihan sa mga setting. Kaya, narito ang listahan ng ilang pangunahing mga variable ng pagsasaayos na dapat mong malaman tungkol sa:
APP_NAME
: Ang pangalan ng application na ginamit para sa notification at mga mensahe, kaya itatakda namin ito sa 'LaravelApp'.APP_ENV
: Ang variable na ito ay ginagamit upang ipahiwatig ang kasalukuyang kapaligiran ng aplikasyon. Maaari itong itakda sa lokal, pag-unlad, pagsubok o mga kapaligiran ng produksyon. Itatakda natin ito sa kapaligiran ng pag-unlad sa ngayon.APP_KEY
: Natatanging Key ng application na ginamit para gumawa ng mga salt at hash para sa web app. Awtomatiko itong nabuo kapag na-install mo ang Laravel sa pamamagitan ng Composer, kaya hindi na kailangang baguhin ito.APP_DEBUG
: Maaari itong itakda sa alinman sa totoo o mali, depende sa kung gusto mong magpakita ng mga error sa panig ng kliyente. Itakda ito sa false kapag lumipat ka sa kapaligiran ng produksyon.APP_URL
: Base URL o IP para sa application, baguhin ito sa iyong domain name kung mayroon ka para sa iyong Laravel app o kung hindi man ay panatilihin itong hindi nagalaw sa ngayon.DB_DATABASE
: Pangalan ng database na nais mong gamitin sa Laravel application. Gagamitin namin ang MySQL database na 'laravel' na nilikha namin habang kino-configure ang MySQL.DB_USERNAME
: Username para kumonekta sa database. Gagamitin namin ang MySQL user na 'laravel_user' na nilikha namin.DB_PASSWORD
: Ang password para kumonekta sa database.
APP_NAME=LaravelApp
APP_ENV=pag-unlad
APP_KEY=base64:Application_unique_key
APP_DEBUG=totoo APP_URL=//domain_or_IP
LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=laravel_user
DB_PASSWORD=testpass
Gumawa ng mga pagbabago sa .env
file nang naaayon at kapag tapos ka nang mag-edit, i-save at lumabas sa file sa pamamagitan ng paggamit CTRL+X
pagkatapos ay pindutin Y
at pindutin ang enter para kumpirmahin. Ngayon, ang natitira na lang ay i-configure ang Apache server at lumikha ng virtual host para sa aming Laravel application.
Pag-set up ng Apache Web Server
Na-install namin ang Laravel sa lokal na folder ng home directory ng user. Bagama't ito ay gumagana nang perpekto para sa lokal na pag-unlad, inirerekomendang pagsasanay na magkaroon ng direktoryo ng web application na matatagpuan sa /var/www
. Ang dahilan kung bakit hindi namin na-install ang Laravel /var/www
direkta ay dahil pagmamay-ari ito ng ugat at hindi dapat gamitin ang Composer sudo
.
Kaya gamitin ang mv
utos na ilipat ang folder ng Laravel application at ang mga nilalaman nito sa /var/www
:
sudo mv ~/Laravel/ /var/www
Ang direktoryo ng LaravelApp ay pagmamay-ari ng user, kaya maaari ka pa ring mag-edit at gumawa ng mga pagbabago sa mga file nang hindi ginagamit ang sudo
utos. Ngunit ang Apache webserver ay nangangailangan ng access sa cache at mga direktoryo ng imbakan ng application habang iniimbak ng Laravel ang mga file na nabuo ng application dito. Palitan ang may-ari ng mga folder na ito sa www-data
gumagamit gamit ang chown
utos:
sudo chown -R www-data.www-data /var/www/LaravelApp/storage sudo chown -R www-data.www-data /var/www/LaravelApp/bootstrap/cache
Pagkatapos baguhin ang may-ari ng mga direktoryo na ito, paganahin ang Apache's mod_rewrite
dahil kinakailangan ng Laravel na maayos na ibahin ang anyo ng mga URL upang mabigyang-kahulugan sa pamamagitan ng pag-andar ng pagruruta nito sa pamamagitan ng .htaccess
file.
sudo a2enmod rewrite
Susunod, kailangan nating mag-set up ng virtual host para sa Laravel application. Ang virtual host configs ay matatagpuan sa /etc/apache2/sites-available
. Ie-edit namin ang default na virtual host file para i-deploy ang Laravel application. Buksan ang default na virtual host configuration file gamit ang nano editor:
sudo nano /etc/apache2/sites-available/000-default.conf
Baguhin ang root ng dokumento mula sa /var/www/html
sa /var/www/LaravelApp/public
at idagdag ang sumusunod na snippet sa ibaba ng linya ng DocumentRoot:
AllowOverride All
Iyong 000-default.conf
dapat magmukhang ganito ngayon na may kaunting komento.
ServerAdmin webmaster@localhost DocumentRoot /var/www/LaravelApp/public AllowOverride All ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log pinagsama-sama
I-restart ang Apache web server sa pamamagitan ng pagpapatakbo ng sumusunod na command:
sudo systemctl i-restart ang apache2
Pumunta ngayon sa iyong browser at i-type ang IP address ng iyong Ubuntu 20.04 server. Makikita mo ang panimulang pahina ng Laravel sa halip na ang default na pahina ng pagtanggap ng Apache.
Sa pag-aakalang sinunod mo ang gabay na ito sa ngayon, dapat ay mayroon kang gumaganang Laravel application na may MySQL database na tinatawag laravel
para rito. Mula sa puntong ito, maaari mong simulan ang pagbuo ng iyong Laravel application nang mag-isa. Upang matuto nang higit pa tungkol sa Laravel framework at sa paggamit nito bisitahin ang Laravel docs page.