Laravel មេរៀនទី #1: Setup the Project - Chamrong Tech

Latest

Laravel មេរៀនទី #1: Setup the Project

Laravel ជា framework ដែលយកលំនាំតាមរចនាសម្ព័ន្ធ MVC ហើយវាត្រូវបានរចនាឡើងសម្រាប់ អ្នកអភិវឌ្ឍគេហទំព័រដែលត្រូវការ toolkit សមញ្ញប៉ុន្តែ powerful ក្នុងការបង្កើតនូវ web application មួយ ដោយកាត់បន្ថយពេលវេលាក្នុងការសរសេរកូដពីបាតដៃទៅ ព្រមទាំងអាចទទួលបានសុវត្តិភាពខ្លាំងផ្នែកទិន្នន័យនៃ web ឬ mobile application នោះ។


ក្នុងមេរៀននេះ នឹងពន្យល់អំពីមូលដ្ឋានគ្រិះក្នុងការប្រើប្រាស់ Laravel framework ដោយបង្កើតនូវ blogging system មួយ។ ប៉ុន្តែមុននឹងចាប់ផ្ដើម មានតម្រូវការមួយចំនួនដែលត្រូវការតំឡើង។

តម្រូវការ
  • XAMPP ឬ LAMPP, ឬ MAMPP ឬ WAMPP ឬ (PHP, Apache2, MySQL)
  • Sublime Text ឬ Visual Studio Code
  • Composer

1. XAMPP, LAMP, MAMP, WAMP (PHP, Apache2, MySQL)

ចំពោះ Laravel យើងត្រូវការឧបករណ៍ចំនួនបីដូចជា PHP, Apache2, MySQL ទើបអាចដំណើរការ Laravel framework បាន។ ប៉ុន្តែយើងមានកម្មវិធីមួយចំនួនដូចជា XAMPP, LAMP, MAMP, WAMP ដែលមានបំពាក់ស្រាប់នូវឧបករណ៍ទាំងបីនេះដោយអ្នកគ្រាន់តែតំឡើងកម្មវិធីមួយណាក៏បានក្នុងចំណោមកម្មវិធីទាំងបួននេះ។ ចំពោះកម្មវិធីទាំងបួននេះមានលក្ខណៈដូចជា៖ XAMPP គឺជាកម្មវិធីដែលអាចដំណើរការបានគ្រប់ OS ដូចជា WindowsOS, MacOS, LinuxOS (Ubuntu, Kali,...) ដូច្នេះមិនថាអ្នកប្រើប្រាស់ OS អ្វីក៏អ្នកអាចប្រើប្រាស់កម្មវិធីនេះដែរ។ ចំពោះLAMP វាជាកម្មវិធីដែលដំណើរការតែនៅលើ LinuxOS តែប៉ុណ្ណោះបើអ្នកព្យាយាមតំឡើងនៅលើ OS ផ្សេងវាមិនដំណើរការឡើយ។ ចំណែកឯ MAMP ជាកម្មវិធីដែលដំណើរការតែលើ MacOS តែប៉ុណ្ណោះក្រៅពីនេះវាមិនដំណើរការនោះឡើយ។ រីឯ WAMP វិញវាដំណើរការតែលើ WindowsOS តែប៉ុណ្ណោះក្រៅពី OS នេះវាមិនដំណើរការឡើយ។ បើអ្នកស្ថិតនៅក្នុង zone មួយណាអ្នកអាចជ្រើសរើសជម្រើសដែលលោកអ្នកពេញចិត្តបាន តែសម្រាប់ខ្ញុំ ខ្ញុំប្រើប្រាស់ PHP, Apache2, MySQL ដោយតំឡើងវាទាំងអស់ព្រោះខ្ញុំអាចយល់ពីគ្រឿងក្រូវរបស់វាបានច្រើនក្រោយពីប៉ះពាល់វាដោយផ្ទាល់ជាជាងប្រើកម្មវិធីជំនួយទាំងនេះ។

1.1 Install PHP

ចំពោះ PHP ខ្ញុំប្រើប្រាស់ PHP7.3 ដោយសាវាគាំទ្រដោយកម្មវិធីផ្សេងច្រើនជាងជំនាន់ផ្សេងទៀត។ ដើម្បីតំឡើងកម្មវិធីនេះយើងត្រូវការសរសេរនូវ command line ខាងក្រោម៖

😎 ដំណើរការនូវ command line ខាងក្រោមដើម្បីបញ្ជាក់ថា Ubuntu Server របស់យើងមាននូវ package ចុងក្រោយ
$ sudo apt update
$ sudo apt upgrade
😎 ដំណើរការកូដ command line ខាងក្រោមដើម្បីតំឡើង package និង PHP required extension
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
😎 ដំណើរការកូដ command line ខាងក្រោមដើម្បីតំឡើង PHP 7.3
$ sudo apt install php7.3
😎 ដំណើរការកូដ command line ខាងក្រោមដើម្បីតំឡើង PHP extension
$ sudo apt install php7.3-common php7.3-mysql php7.3-xml php7.3-xmlrpc php7.3-curl php7.3-gd php7.3-imagick php7.3-cli php7.3-dev php7.3-imap php7.3-mbstring php7.3-opcache php7.3-soap php7.3-zip php7.3-intl -y
😎 ទៅកំណត់ទិន្នន័យមួយចំនួននៅពេលប្រើប្រាស់ PHP ដែលស្ថិតលើគេហទំព័រ
$ sudo vim /etc/php/7.3/apache2/php.ini
Configure Setting

upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

1.2 តំឡើង Composer

Composer ជាកម្មវិធីដែលគ្រប់គ្រងលើ PHP dependencies ឬតំឡើង PHP framework។ សម្រាប់ខ្ញុំ ខ្ញុំប្រើប្រាស់ Composer v1.10.5 ព្រោះវាដំណើរការបានល្អច្រើន ដូច្នេះដើម្បីតំឡើងវាអ្នកត្រូវដំណើរការ command line ដូចខាងក្រោម៖


$ cd /tmp
$ wget http://getcomposer.org/download/1.10.5/composer.phar
$ php composer.phar -V
$ sudo mv composer.phar /usr/bin/composer
$ sudo chmod 755 /usr/bin/composer
$ composer -V

1.3 តំឡើង Apache2

Apache2 HTTPS server ជាឧបករណ៍ដែលសំខាន់ជាងគេក្នុងការដំណើរការផ្នែកកំណត់នូវ directory, ServerName, write log...។ ដើម្បីតំឡើងអ្នកត្រូវដំណើរការនូវ command line ខាងក្រោម៖

$ sudo apt install apache2
$ sudo systemctl status apache2

1.4 តំឡើង MySQL

MySQL ជាកម្មវិធីដើម្បីអនុវត្តលើមូលទិន្នន័យ ឬ database ។ ដើម្បីតំឡើងវាអ្នកត្រូវដំណើរការកូដខាងក្រោម៖

$ sudo apt install mysql-server
$ sudo mysql_secure_installation
😎 វាយ Y បន្ទាប់មកវាយ Enter ព្រមទាំងបញ្ចូលនូវ password និង check or not check ជាជម្រើសរបស់អ្នកនូវ Option មួយចំនួន។ បន្ទាប់មកទៀតអ្នកអាចចូលមកប្រើប្រាស់ MySQL បានតាមរយៈ command line ខាងក្រោម៖
$ mysql -u root -p

1.5 តំឡើង Sublime Text

Sublime Text ជាកូដ editor ដែលពេញនិយមហើយស្រាលជាងកម្មវិធីដទៃតែមានលក្ខណៈក្នុងការប្រើប្រាស់យ៉ាងងាយស្រួល។ តែមានកម្មវិធីមួយទៀតដែលគេកំពុងពេញនិយមដូចគ្នា គឺ Visual Studio Code តែក្នុងអត្ថបទនេះខ្ញុំបង្ហាញតែរបៀបតំឡើង Sublime Text តែប៉ុណ្ណោះ។ ដើម្បីតំឡើងវាអ្នកត្រូវប្រើប្រាស់ Command line ខាងក្រោម៖

$ sudo apt update
$ sudo apt install snapd
$ sudo snap install sublime-text --classic

2. ទាញយក Laravel

ចំពោះ Laravel ខ្ញុំប្រើប្រាស់ Laravel v5.8 ដោយសាតែវាជា version ដែល stable ។ ដើម្បីទាញយក Laravel អ្នកត្រូវដំណើរការកូដខាងក្រោម៖

$ composer create-project --prefer-dist laravel/laravel laravel "5.8.*"

3. ផ្ទុក project Laravel នៅក្នុង directiory ដែលត្រឹមត្រូវ

ដើម្បីធ្វើបែបហ្នឹងបានយើងត្រូវប្រើប្រាស់ Command line ខាងក្រោម៖

😎 Cut នូវ directory laravel ទៅកាន់ /var/www/html/
$ sudo mv laravel /var/www/html/
😎 កំណត់នូវ permission ក្នុងការប្រើប្រាស់ directory មួយនេះ
$ sudo chown -R www-data:www-data /var/www/html/laravel/
$ sudo chmod -R 644 /var/www/html/laravel

4. កំណត់ file config របស់ Apache2

ដើម្បីកំណត់ file directory ឲ្យបានត្រឹមត្រូវអ្នកត្រូវធ្វើតាមសេចក្ដីណែនាំដូចខាងក្រោម ៖

$ sudo vim /etc/apache2/site-available/laravel.conf
😎 បន្ទាប់មកចម្លងការកំណត់ខាងក្រោមចូល
ការកំណត់ laravel.conf

<VirtualHost *:80>
ServerAdmin admin@laravel.local
ServerName laravel.local
ServerAlias www.laravel.local
DocumentRoot /var/www/html/laravel/public
<Directory /var/www/html/laravel/public>
Options FollowSymLinks
AllowOverride All
#Order allow,deny
#allow from all
Require all granted
</Directory>
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/laravel.error.log
CustomLog ${APACHE_LOG_DIR}/laravel.access.log combined
</VirtualHost>

😎 កំណត់ពេលដែលយើងវាយ http://laravel.local/ វានឹងដំណើរការ project របស់យើងតាមរយៈកូដពីរបីដុំខាងក្រោម៖
sudo vim /etc/hosts/
HOSTS

127.0.0.1 laravel.local

😎 វាយ command line ខាងក្រោមដើម្បី refresh Apache2
$ sudo a2enssite /etc/apache2/site-available/laravel.conf
$ sudo a2enmode rewrite
$ sudo systemctl restart apache2

5. កំណត់ database ទៅនឹង Laravel .env

អ្នកត្រូវប្រើប្រាស់ command line ខាងក្រោមដើម្បីបង្កើត database

$ mysql -u root -p
$ CREATE DATABASE laravel_db;
$ quit
😎 ចូលទៅ configure .env file
$ sudo subl /var/www/html/laravel/
😎 ហើយកំណត់នូវ configuration មួយចំនួនដូចខាងក្រោម
Configuration

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=123456 #your password that you have set

តែប៉ុណ្ណឹងអ្នកអាចចូលទៅកាន់ http://laravel.local/ ។ ពេលនោះវានឹងបង្ហាញនូវ layout មួយដែលពិពណ៍នាពី Laravel