สืบเนื่องจากเห็นพี่รูฟกับน้องรุ่งเล่น Silex กัน ผมก็เลยหาอะไรมาเล่นบ้าง (จะใช้กับงานจริงด้วย) หวยมาออกที่เจ้า Laravel
แนะนำสั้นๆ Laravel เป็น PHP Framework ตัวหนึ่งที่พัฒนามาตั้งแต่ปี 2011 (ปัจจุบัน version 4.X) Laravel มี slogan ว่า “The PHP framework for web artisans” โดย Laravel นั้นถูกสร้างขึ้นจาก components หลายตัวของ Symfony2 แต่ออกแบบเพื่อให้การพัฒนาได้ง่ายกว่า Symfony2 ว่าแล้วก็ลุยกันเลย
Note: บันทึกทุกอย่างทำอยู่บน Mac OS X 10.7.5 (Lion) โดยเริ่มตั้งแต่ศูนย์
1. Install MacPorts:
เอาไว้ช่วย install prerequisites อื่นๆได้ง่าย ให้ download ไฟล์ installer จาก http://www.macports.org/install.php#pkg แล้ว install
จากนั้นลองทดสอบด้วยคำสั่งดังต่อไปนี้
$ port -v
MacPorts 2.2.1 |
2. Install Apache2, PHP5.5, MySQL5.5, OpenSSL, และ Mcrypt:
ใช้คำสั่งดังต่อไปนี้
$ sudo port install php55-apache2handler php55-mysql php55-openssl php55-mcrypt mysql55-server |
จากนั้นกำหนด PATH
เพิ่มเติมในไฟล์ ~/.bash_profile
ดังนี้
export PATH=/opt/local/bin:/opt/local/sbin:/opt/local/apache2/bin:/opt/local/lib/mysql55/bin:$PATH |
สร้าง alias ของ php command ด้วยคำสั่งดังต่อไปนี้
$ sudo ln -s /opt/local/bin/php55 /opt/local/bin/php |
3. Config MySQL:
เปิดไฟล์ /opt/local/etc/mysql55/my.cnf
แล้วเพิ่ม config ประมาณนี้ เพื่อกำหนด data directory
[mysqld] datadir=/PATH_TO_YOUR_DATA_DIR |
สร้าง database ตั้งต้นใช้คำสั่งดังต่อไปนี้
$ sudo mysql_install_db --user=mysql $ sudo mkdir /opt/local/var/run/ |
กำหนด root password ใช้คำสั่งดังต่อไปนี้
$ sudo mysqladmin shutdown -u root password 'NEW_PASSWORD' |
4. Autostart MySQL:
ใช้คำสั่งดังต่อไปนี้
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql55-server.plist |
5. Config PHP:
สร้างไฟล์ php.ini
$ sudo copy /opt/local/etc/php55/php.ini-development /opt/local/etc/php55/php.ini |
เปิดไฟล์ /opt/local/etc/php55/php.ini
แล้วกำหนด default_socket
ดังนี้
mysql.default_socket=/opt/local/var/run/mysql55/mysqld.sock mysqli.default_socket=/opt/local/var/run/mysql55/mysqld.sock pdo_mysql.default_socket=/opt/local/var/run/mysql55/mysqld.sock |
ทดสอบด้วยคำสั่งดังต่อไปนี้
$ php -v PHP 5.5.7 (cli) (built: Dec 14 2013 00:44:43) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies |
6. Config Apache2:
เปิด PHP Module ใช้คำสั่งดังต่อไปนี้
$ cd /opt/local/apache2/modules $ sudo apxs -a -e -n php5 mod_php55.so |
เปิดไฟล์ /opt/local/apache2/conf/httpd.conf
เปลี่ยน DocumentRoot
ใหม่
DocumentRoot "/PATH_TO_YOUR_HTDOCS_DIR/" |
เพิ่ม config directory permissions
<Directory "/PATH_TO_YOUR_HTDOCS_DIR/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> |
เพิ่ม config PHP extension
AddType application/x-httpd-php .php |
เพิ่ม index.php
เป็น DirectoryIndex
DirectoryIndex index.html, index.htm, index.php |
เปิด Virtual hosts confit ด้วยการ uncomment
Include conf/extra/httpd-vhosts.conf |
เพิ่ม Virtual host ชื่อ mylaravel.local.net
เปิดไฟล์ /opt/local/apache2/conf/extra/httpd-vhosts.conf
แล้วเพิ่ม config ดังนี้
<VirtualHost *> DocumentRoot "/PATH_TO_YOUR_HTDOCS_DIR/mylaravel/public" ServerName mylaravel.local.net </VirtualHost> |
7. สร้าง domain mylaravel.local.net
:
เปิดไฟล์ /etc/hosts
แล้วเพิ่ม config ดังนี้
127.0.0.1 mylaravel.local.net |
8. Autostart Apache2:
ใช้คำสั่งดังต่อไปนี้
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist |
ทดสอบเปิด Web Browser เข้า
http://mylaravel.local.net |
9. Install Composer:
เป็น Dependency Manager for PHP ใข้คำสั่งดังต่อไปนี้
$ sudo php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));" -- --install-dir=/usr/local/bin $ sudo mv /usr/local/bin/composer.phar /usr/local/bin/composer |
ทดสอบ ด้วยคำสั่งดังต่อไปนี้
$ composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 0e9a9a3875c317d610d6a995d94dd598b7bececd 2013-12-16 21:58:46 |
10. Create Laravel project:
ใข้คำสั่งดังต่อไปนี้
$ cd /PATH_TO_YOUR_HTDOCS_DIR $ composer create-project laravel/laravel mylaravel --prefer-dist $ chmod -R 777 mylaravel/app/storage |
ทดสอบเปิด Web Browser เข้า
http://mylaravel.local.net |
ถ้าเห็นแบบนี้ ยินดีด้วยครับ คุณได้ไปต่อตอนที่ 2 แต่ถ้าไม่ ทิ้ง comment ไว้ด้านล่างเลยครับ