Ra mắt hai series mới cực hot Trí tuệ nhân tạo A đến ZPython công cụ không thể thiếu khi nghiên cứu Data science, Machine learning.

Cài đặt Laravel dễ dàng với Laragon

"Hệ điều hành nào được sử dụng nhiều nhất cho lập trình viên ở Việt Nam?" tôi chắc chắn rằng bạn đã từng hỏi hoặc từng nghe ở đâu đó. Chúng ta có những ứng cử viên như Windows, Linux(Ubutu, Debian, CentOS...), MacOS... tuy nhiên tôi phải khẳng định rằng hệ điều hành Windows được dùng nhiều nhất để lập trình ở Việt Nam vì mấy lý do:

  • Windows có phí bản quyền nhưng ở Việt Nam thì gần như miễn phí, ai sài Windows cũng biết điều này.
  • Lập trình viên ở Việt Nam là rất đa năng, có thể chuyển từ PHP sang .Net hoặc Java khi sang một dự án khác, mà việc chuyển này chỉ dễ dàng khi sử dụng Windows.
  • Ngoài hệ điều hành, các IDE, các công cụ hỗ trợ... cũng là một mối quan tâm lớn và vấn đề phí bản quyền ở Windows luôn là dễ dàng.

1. Laragon là gì?

Laravel là framework PHP số một hiện nay với quá nhiều ý tưởng cực hay được phát triển và học hỏi từ nhiều các hệ thống khác. Cài đặt Laravel trên môi trường Windows cũng khá đơn giản và hiện nay có nhiều cách thức để thực hiện:

  • Cài đặt theo kiểu truyền thống, cài đặt các webserver như XAMPP, WAMP... cách cài đặt này đơn giản nhưng mất thời gian do phải cài đặt thêm nhiều các công cụ khác hỗ trợ lập trình.
  • Các gói cài đặt mới, tích hợp nhiều công cụ trong một, Laragon là một ví dụ.
  • Sử dụng công nghệ máy ảo Laravel HomeStead.

Chúng ta sẽ cùng nhau phân tích xem tại sao không nên cài đặt môi trường Laravel theo cách truyền thống? Một môi trường làm việc với Laravel cần một số các công cụ cần thiết như sau:

  • Webserver, database, PHP: 3 mục này cách cài đặt nào cũng đáp ứng được.
  • Composer, Node.js, npm, yarn: Bộ các công cụ này để quản lý các gói thư viện phụ thuộc trong dự án, đặc biệt khi làm việc với các framework PHP việc tận dụng các thư viện ngoài là cần thiết, bạn đã tận dung được tri thức của hàng triệu lập trình viên PHP trên toàn cầu.
  • Công cụ dòng lệnh (command line), cái này rất cần vì làm việc với Laravel chúng ta sử dụng các câu lệnh artisan giúp tiết kiệm rất nhiều thời gian. Nếu bạn đã sử dụng Windows Command Prompt hẳn có lúc rất ức chế do không đánh được tiếng Việt có dấu, copy paste cũng rất khó khăn, hiển thị chỉ trong một kích cỡ cửa sổ. Tôi chuyển qua ConEmu (Console Emulation) thấy cũng rất ok. Ngoài ra chúng ta cũng thường kết nối SSH đến các máy chủ để làm việc thông qua các công cụ dòng lệnh này.
  • Git một công cụ cũng không thể thiếu trong quản lý phiên bản mã nguồn.
  • ...

Bạn thấy đấy, có khá nhiều thứ cần thiết để tạo ra một môi trường phát triển Laravel, với cách cài đặt truyền thống chúng ta sẽ phải cài rất nhiều thứ và đương nhiên cũng mất nhiều thời gian. Laragon là một gói phần mềm tổng hợp các công cụ cần thiết do đó bạn chỉ cần cài đặt một ứng dụng với thời gian cực nhanh là đã có ngay một môi trường phát triển Laravel. Một vấn đề nữa là Laragon hoàn toàn độc lập với hệ điều hành, do đó bạn có thể copy thư mục sau cài đặt đi bất cứ đâu để chạy, thậm chí có thể đồng bộ lên cloud.

Từ nãy đến giờ chúng ta chưa có đề cập đến Homestead, đây cũng là một giải pháp rất hay giúp bạn có thể chuyển việc phát triển qua nhiều các hệ điều hành khác nhau dựa trên công nghệ ảo hóa. Tuy nhiên theo đánh giá cá nhân, tôi thấy sử dụng Laragon là tốt nhất do cài đặt cực nhanh và chiếm ít dung lượng.

2. Cài đặt Laragon

Phiên bản hiện tại là Laragon 3.1, bạn thực hiện tải file cài đặt và kích đúp để cài đặt.

Cập nhật: Phiên bản hiện tại đến 16/10/2019 là Laragon 4.0.15.

Cài đặt Laragon 1

Laragon có thêm một số lựa chọn như khởi động cùng hệ thống, tự động thiết lập host ảo (trước đây phải thiết lập thông qua file hosts và httpd-vhosts.conf).

Cài đặt Laragon 2

Cài đặt Laragon là rất nhanh, chỉ khoảng 3-5 phút.

3. Thiết lập ứng dụng Laravel đầu tiên

Laragon hỗ trợ tạo dự án Laravel bằng giao diện, bạn click chuột vào Menu chọn đến Quick create và tìm đến mục Laravel.

Tạo dự án Laravel bằng Laragon

Một cửa sổ yêu cầu nhập tên dự án, ví dụ ở đây mình nhập dự án là allaravel.com, khi click Ok, màn hình dòng lênh xuất hiện, nó chạy các kịch bản cài đặt dự án bao gồm:

  • Tạo database với tên chính là tên dự án.
  • Tải khung dự án Laravel với phiên bản mới nhất.
  • Tự động tạo host ảo, ví dụ dự án ở đây là allaravel.com thì nó sẽ tự động tạo ra tên miền ảo http://allaravel.com.dev.

Tự động tạo dự án Laravel

Và khi kết thúc nó thông báo tên miền ảo được tạo ra

Tạo tên miền ảo

Mở trình duyệt và chạy thử http://allaravel.com.dev

allaravel.com.dev

Như vậy chúng ta đã thiết lập xong dự án Laravel đầu tiên sử dụng Laragon. Chú ý, nếu bạn không muốn sử dụng giao diện để tạo mới ứng dụng Laravel, bạn vẫn có thể sử dụng câu lệnh composer để tạo mới dự án.

composer create-project laravel/laravel laravel-test

4. Các công cụ được tích hợp trong Laragon

4.1 Notepad++

Notepad++ là một trình soạn thảo rất nhẹ và nhanh giúp viết code nhanh chóng, tuy nhiên còn nhiều vấn đề nếu sử dụng Notepad++ để lập trình Laravel như việc highlight code, ví dụ với Laravel Blade, Vue.js template... Khó để so sánh Notepad++ với Sublime Text hoặc chuyên nghiệp hơn như PHP Storm. Laragon đã tích hợp sẵn Notepad++ do đó nếu bạn dùng trình soạn thảo này, bạn có thể truy cập ứng dụng qua menu Tools -> Notepad++.

4.2 cmder

Laragon tích hợp cmder một công cụ dòng lệnh tuyệt vời, nó được phát triển từ ConEmuClink do đó ngoài thừa hưởng những tính năng của ConEmu về giao diện thì nó còn cho phép chỉnh sửa các dòng lệnh giống như Bash trên Unix, Linux. Cmder giúp bạn dễ dàng copy (Ctrl+C) và paste (Ctrl+V) dễ dàng hơn nhiều công cụ dòng lệnh mặc định của Windows. Nó cũng tích hợp sẵn với công cụ Git để quản lý phiên bản mã nguồn. Cmder cho phép bạn phân chia ra nhiều tab hoặc nhiều khung trên một cửa sổ với các thông tin được highlight rất dễ nhìn. Để chạy được cmder bạn bấm vào nút Terminal trên Laragon. Việc sử dụng cmder là rất nhiều khi phát triển Laravel, nếu bạn sử dụng Sublime Text, bạn nên thiết lập ứng dụng dòng lệnh mặc định cho Sublime Text như vậy, tại bất kỳ đâu trong dự án, chỉ cần một phím tắt bạn đã có màn hình cmder với thư mục hiện hành là thư mục gốc của dự án. Các bước thiết lập như sau:

Cài đặt package Terminal, bạn vào theo đường dẫn Preferences->Package Control->Install Package và tìm package có tên Teminal, sau khi cài đặt xong trong thư mục Preferences->Package Settings sẽ có thêm một mục Terminal, bạn click vào Settings - Default để thiết lập đường dẫn đến cmder.

{
  "terminal": "D:\\Laragon\\bin\\cmder\\Cmder.exe",
  "parameters": ["/START", "%CWD%"],
  "env": {}
}

Ok, giờ bạn có thể sử dụng tổ hợp phím Ctrl + Shift + T để mở cmder khi đang code một class nào đó.

4.3 HeidiSQL

HeidiSQL là một công cụ quản lý cơ sở dữ liệu rất thuận tiện, Laragon đã tích hợp sẵn công cụ này, bạn có thể truy nhập vào công cụ này khi bấm vào nút Database hoặc Menu->MySQL->HeidiSQL.

HeidiSQL trong Laragon

4.4 Ngrok

Ngrok là gì? Bạn có thể tưởng tượng một tình huống như thế này, bạn vừa phát triển xong ở máy tính và muốn show cho khách hàng xem thử, bình thường bạn cần phải upload code lên một server nào đấy, sau đó cấu hình và chuyển cho khách hàng đường dẫn đến trang demo. Như vậy khá là mất công, hơn nữa bạn cũng cần phải có sẵn một server nào đó trên Internet. Ngrok giúp bạn xử lý vấn đề này một cách đơn giản thông qua dịch vụ VPN (secure tunnel). Laragon cũng tích hợp sẵn ngrok và các công việc còn lại bạn cần làm như sau:

Tạo tài khoản trên ngrok.com, sau khi tạo xong website sẽ chuyển hướng vào trang quản trị tài khoản như hình dưới.

trang-quan-tri-ngrok

Do laragon đã tích hợp sẵn ngrok nên bạn bỏ qua bước 1, mở cmder lên và copy paste lệnh ngrok authtoken xxx để cài đặt mã xác thực. Sau đó thực hiện lệnh ngrok http 80.

Địa chỉ truy cập từ ngoài thông qua ngrok

Như vậy là xong, bạn có thể cung cấp cho khách hàng địa chỉ trong ô màu đỏ, khách hàng có thể truy cập từ bất kỳ đâu trên Internet đến localhost trên máy tính của bạn.

4.5 Sử dụng SSL trên Laragon

(Cập nhật 16/10/2019) Do một số bạn có hỏi về sử dụng SSL trên Laragon, mình xin được cập nhật thêm phần thông tin này. Laragon từ phiên bản 3.3 trở lên sẽ được tự động sinh chứng chỉ SSL khi bạn bật tính năng SSL cùng với máy chủ web. Để bật tính năng này vào bạn vào phần References thông qua Menu -> References... hoặc nhấp vào biểu tượng hình bánh răng ở góc trên bên phải của màn hình chính.

Laragon Preferences

Trong cửa sổ tiếp theo, chọn tab Services & Ports, tab này chứa các thiết lập về cổng cũng như lựa chọn các dịch vụ cần chạy cho môi trường của bạn.

Bật SSL với Nginx trên Laragon

Ở đây mình dùng Nginx nên trong dòng Nginx chọn Enabled SSL, như vậy là chúng ta đã bật SSL nên và chỉ việc sử dụng thôi, chú ý với SSL trên Laragon khi thực hiện chạy các URL HTTPS chúng ta cần thêm vào số cổng ở cuối. Ví dụ để kiểm tra xem SSL đã hoạt động tốt chưa bạn thử vào địa chỉ https://localhost:443 nếu trang localhost hoạt động tức là SSL đã được bật thành công.

Kiểm tra SSL thông qua HTTPS trên localhost

HTTPS đã trở thành giao thức web bắt buộc do tính bảo mật dữ liệu được truyền nhận giữa trình duyệt và máy chủ. Một số các thư viện, gói phần mềm đã yêu cầu bắt buộc các kết nối phải thực hiện trên HTTPS do vậy khi phát triển cũng như triển khai ứng dụng chúng ta cần có HTTPS để thực hiện các công việc.

Chú ý:

  1. Nếu máy chủ của bạn là Linux (Ubuntu, CentOS...) bạn có thể tham thảo Cài đặt SSL miễn phí với Let's Encrypt.

  2. Nếu bạn muốn redirect toàn bộ traffic HTTP được chuyển sang HTTPS thì có thể thay đổi cấu hình Nginx đi một chút. Tìm đến thư mục nơi chứa các cấu hình cho từng domain của Nginx (Có thể khác nếu bạn chọn đường dẫn cài đặt Laragon khác với ổ C) C:\laragon\etc\nginx\sites-enabled. Các file trong này nếu có tiền tố là auto. là do Laragon tự động sinh ra, nếu muốn Laragon không tự động thay đổi nội dung file cấu hình chỉ việc bỏ tiền tố auto đi. Ví dụ bạn tạo ra một thư mục allaravel trong C:\laragon\www, khi đó Laragon sẽ tự động tạo ra auto.allaravel.test.conf trong C:\laragon\etc\nginx\sites-enabled. Giờ bạn muốn cấu hình sao cho khi thực hiện đường dẫn http://allaravel.test nó tự động chuyển sang https://allaravel.test thì đổi tên file auto.allaravel.test.conf thành allaravel.test.conf sau đó thay đổi nội dung file như sau:

server {
        listen 80;

        server_name allaravel.test;
        rewrite ^(.*) https://allaravel.test$1 permanent;
}

server {
        listen 443;
        # SSL configuration
        ssl on;
        ssl_certificate "C:/laragon/etc/ssl/laragon.crt";
        ssl_certificate_key "C:/laragon/etc/ssl/laragon.key";
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
        ssl_prefer_server_ciphers on;

        root "C:/laragon/www/allaravel/public";
        index index.php index.html index.htm;
        server_name allaravel.test;

        location / {
            try_files $uri $uri/ /index.php$is_args$args;
            autoindex on;
        }

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass php_upstream;      
            #fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        charset utf-8;

        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }
        location ~ /\.ht {
            deny all;
        }
}

Phần cấu hình SSL bạn có thể lấy từ file C:\laragon\etc\nginx\sites-enabled\00-default.conf.

Khởi động lại Nginx, khi đó nếu bạn vào http://allaravel.test nó sẽ tự động chuyển hướng sang https://allaravel.test.

5. Lời kết

Laragon là một tập hợp các công cụ rất hữu ích, nó không chỉ giúp cài đặt môi trường phát triển Laravel nhanh chóng mà còn cung cấp rất nhiều các công cụ khác hữu ích. Nếu bạn sử dụng môi trường Windowns, Laragon là một lựa chọn số 1. Một điểm đáng chú ý nữa là Laragon không phụ thuộc vào hệ điều hành, tức là thư mục cài đặt Laragon bạn có thể copy sang một máy tính khác và chạy ngay. Rất cám ơn bạn Lê Quang Hiếu, đã gợi ý một công cụ rất tuyệt vời này.


CÁC BÀI VIẾT KHÁC

FirebirD

Đam mê Toán học, Lập trình. Sở thích chia sẻ kiến thức, Phim hài, Bóng đá, Cà phê sáng với bạn bè.

Laravel Task Scheduling tự động hóa công việc trong hệ thống website

Laravel Form Request giúp Controller dễ bảo trì hơn

22 Bình luận trong "Cài đặt Laravel dễ dàng với Laragon"

  1. Luna

    2 years ago

    Phản hồi
    Laragon là công cụ quá hay, cài đặt nhanh và đầy đủ cho môi trường Laravel. Dung lượng bộ cài nhỏ, portable copy thư mục là chạy. Tuyệt vời, thanks ad.
  2. Lê Quang Hiếu

    2 years ago

    Phản hồi
    Bài viết rất hay, có đầu tư. hehe cảm ơn ad nhưng mà tên em là Lê Quang Hiếu ạ
    1. FirebirD

      2 years ago

      Phản hồi
      Mình đã chỉnh sửa lại tên bạn. Rất cám ơn Hiếu đã gợi ý về công cụ Laragon, đây quả là một công cụ xuất sắc và đúng với phong cách của Laravel, tích hợp những thứ tốt nhất!
  3. Nguyễn Đại Ngọc

    2 years ago

    Phản hồi
    Không biết laragon có hỗ trợ được việc auto run schedule không bạn?
    1. An Trần

      2 years ago

      Phản hồi
      Laragon là công cụ tổng hợp tạo môi trường và công cụ giúp phát triển, không tự động auto run schedule nhé, trong Laravel có Task Scheduling là cái bạn cần, tham khảo link https://allaravel.com/laravel-tutorials/laravel-task-scheduling-tu-dong-hoa-cong-viec-trong-he-thong-website/
  4. Nguyễn Đại Ngọc

    2 years ago

    Phản hồi
    thanks ad , mình cũng từng dùng task scheduling trên windown nhưng bất tiện quá vì 1 lúc nó lại hiện cmd lên :3
    1. FirebirD

      2 years ago

      Phản hồi
      Do thiết lập thôi, bạn có thể chạy ngầm được mà.
  5. artcode

    2 years ago

    Phản hồi
    tạo virtual host tự động trong laragon rất ok, nhưng nếu project không do laragon tạo ra mà mình copy từ nơi khác về thì tạo virtual host bằng tay như thế nào ạ?
    1. FirebirD

      2 years ago

      Phản hồi
      Laragon cũng hỗ trợ tạo host ảo bằng tay nhé, bạn thực hiện theo các bước sau: Bước 1: Tạo file virtual host my-project.conf trong thư mục Laragon/etc/apache/sites-enabled/my-project.conf với nội dung: <VirtualHost *:80> DocumentRoot "E:/Laragon/www/my-project/public/" ServerName my-project.dev ServerAlias *.my-project.dev <Directory "E:/Laragon/www/my-project/public/"> AllowOverride All Require all granted </Directory> </VirtualHost> Với my-project.dev là host ảo bạn muốn tạo ra. Bước 2 (Tùy chọn): Nếu bạn đã map 127.0.0.1 sang my-project.dev trong file hosts của hệ thống nằm trong thư mục C:\Windows\System32\drivers\etc thì bỏ qua bước này. Nếu chưa bạn có hai lựa chọn:
      • Lựa chọn 1: Đặt tên file virtual host với tiền tố auto, ví dụ ở trên là auto.my-project.conf thì Laragon tự động thêm 127.0.0.1 -> my-project.dev khi Laragon bắt đầu chạy.
      • Lựa chọn 2: Nếu bạn không muốn host ảo là my-project.dev (ví dụ duancuatoi.dev chẳng hạn) thì bạn cần tạo thêm một map 127.0.0.1 -> duancuatoi.dev trong file hosts. Chú ý, trong lựa chọn này, tên file virtual host bỏ tiền tố auto đi.
      Bước 3: Khởi động lại các service của Laragon (apche, nginx...)
      1. artcode

        2 years ago

        Phản hồi
        thank bạn
      2. Giap

        1 year ago

        Phản hồi
        Cảm ơn bạn vì các bài viết rất chi tiết. Mình đang tạo domain ảo theo cách bạn chỉ Tới bước 2 mình theo lựa chọn 1 là đặt tên file là auto.hoclaravel.conf, nội dung trong file và các đường dẫn mình đã chỉnh ok với máy mình. Mà tới bước 3 nó báo lỗi "DocumentRoot must be a directory" - error on line 2 Bạn chỉ dùm mình khắc phục thế nào với, chân thành cảm ơn
  6. Thu Nguyen

    2 years ago

    Phản hồi
    Mình thử cài laragon trên 1 máy rồi win 7 rồi, sau đó mình copy thư mục laragon về 1 máy win 7 khác, nó không chạy được, báo lỗi thế này "c:\laragon\bin\laragon\res\laragon-off.png.The system cannot find the path specified" Bạn nào biết nguyên nhân vì sao không a. Tks
    1. Culit

      2 years ago

      Phản hồi
      Có thể do bạn copy thiếu không? file \bin\laragon\res\laragon-off.png là file icon sử dụng trong Laragon
      1. Thu Nguyen

        2 years ago

        Phản hồi
        mình copy đầy đủ luôn thư mục cài laragon lên máy khác ( máy này mình không cài laragon) mà không chạy được, không biết có phải cài laragon trên máy cần copy laragon không ?
  7. Huỳnh Hiếu

    1 year ago

    Phản hồi
    tuyệt quá, thank ad và composer
  8. Le Dinh Hieu

    1 year ago

    Phản hồi
    Hi admin, Cám ơn nhiều về bài viết rất hay. Nếu sau khi mình làm xong 1 dự án website trên laragon rồi, mình có thể upload nó lên server thật để chạy không ? và mình rất muốn biết cách đưa mã nguồn này lên server, bạn có thể viết bài viết cụ thể về cách này chứ? Cám ơn bạn.
  9. Nguyên

    3 months ago

    Phản hồi

    Cảm ơn bạn ad, bài viết của bạn rất hay và cần thiết. Bạn rất có tâm trong công việc chúc bạn luôn thành công nhé.

  10. Quang Đức

    1 month ago

    Phản hồi

    Laragon có hỗ trợ SSL không, mình muốn khi chạy trên local có cả HTTPS do bây giờ rất nhiều các kết nối bắt buộc phải sử dụng HTTPS, ví dụ khi sử dụng các web api chẳng hạn?

    1. FirebirD

      1 month ago

      Phản hồi

      Mình đã cập nhật thêm trong bài viết, bạn tham khảo nhé. Trân trọng!

      1. Quang Đức

        1 month ago

        Phản hồi

        Thanks ........., Laragon thật tuyệt vời.

  11. Luân

    1 week ago

    Phản hồi

    Mình xài host ảo hóa auto của Laragon trên port 8081 thì bị lỗi "DNS_PROBE_FINISHED_NXDOMAIN" Vào bình thường theo www/project thì bình thường. Hướng dẫn giúp mình lỗi từ đâu?

    1. FirebirD

      1 week ago

      Phản hồi

      Chào bạn, 

      Lỗi "DNS_PROBE_FINISHED_NXDOMAIN" là do hệ thống phân giải tên miền DNS của bạn bị lỗi, có rất nhiều nguyên nhân lỗi khác nhau. Với Laragon nhiều khả năng do bạn cấu hình tên miền ảo bị trùng với các đuôi tên miền hiện đang tồn tại. Trước đây, Laragon sử dụng đuôi .dev cho các tên miền ảo nhưng đuôi .dev hiện nay đã được tổ chức tên miền thế giới sử dụng cho các tên miền thật, do vậy bạn nên cấu hình sang đuôi .test hoặc .loc (local) để phát triển.

Thêm bình luận