Hướng dẫn cài đặt và chạy trang web bằng Symfony trên hệ điều hành Linux

Giới Thiệu

    Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách cài đặt và chạy một trang web viết bằng Symfony phiên bản 5.x trên Linux. Cụ thể là 3 hệ điều hành Linux đang phổ biến Fedora, Ubuntu và Arch.

    Trong mỗi distro, chúng ta đều cần cài 4 packages:

  • PHP 8.x
  • Git
  • Composer
  • Symfony CLI

    Chỉ có cách cài PHP trên distro khác nhau thì sẽ khác nhau, còn lại Git, Composer và Symfony CLI đều như nhau. Như vậy, mình sẽ hướng dẫn các bạn các cài đặt PHP trên mỗi distro trước, sau đó mình sẽ hướng dẫn cách cài đặt Git, Composer và Symfony CLI chung trên cả 3 distro.

Cài PHP

Cài PHP 8.x trên Ubuntu 20.04

    Các bạn chạy lần lượt các lệnh sau và nhập mật khẩu nếu được hỏi:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0
sudo systemctl restart apache2

    Sau khi cài đặt xong, để kiểm tra xem PHP đã được cài chưa và có cài chính xác version các bạn mong muốn không thì các bạn gõ lệnh:

php --version

    Nếu output của bạn gần giống như vậy thì chúng ta đã cài xong PHP (một số thông tin có thể khác nhưng bạn cần lưu ý version phải từ 8 trở lên):

PHP 8.0.9 (cli) (built: Jul 29 2021 12:53:58) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies

Cài PHP 8.x trên Fedora 34

    Các bạn chạy lần lượt các lệnh sau và nhập mật khẩu nếu được hỏi:

sudo dnf install https://rpms.remirepo.net/fedora/remi-release-34.rpm
sudo dnf module reset php
sudo dnf module install php:remi-8.0

    Sau khi cài đặt xong, để kiểm tra xem PHP đã được cài chưa và có cài chính xác version các bạn mong muốn không thì các bạn gõ lệnh:

php --version

    Nếu output của bạn gần giống như vậy thì chúng ta đã cài xong PHP (một số thông tin có thể khác nhưng bạn cần lưu ý version phải từ 8 trở lên):

PHP 8.0.9 (cli) (built: Jul 29 2021 12:53:58) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies

Cài PHP 8.x trên Arch

    Lưu ý, với Arch thì bạn cần cập nhật bản mới nhất cho distro bằng lệnh :

sudo pacman -Syyu

    Sau đó các bạn chạy lệnh sau:

sudo pacman -S php

    Sau khi cài đặt xong, để kiểm tra xem PHP đã được cài chưa và có cài chính xác version các bạn mong muốn không thì các bạn gõ lệnh:

php --version

    Nếu output của bạn gần giống như vậy thì chúng ta đã cài xong PHP (một số thông tin có thể khác nhưng bạn cần lưu ý version phải từ 8 trở lên):

PHP 8.0.9 (cli) (built: Jul 29 2021 12:53:58) ( NTS gcc thànhx86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies

Cài Git

Trên Ubuntu 20.04

sudo apt install git

Trên Fedora 34

sudo dnf install git

Trên Arch

sudo pacman -S git

Cài Composer

    Các bạn chạy lần lượt các lệnh sau:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Cài Symfony CLI

    Các bạn chạy lệnh sau để cài Symfony CLI, lưu ý các bạn cần có wget hoặc curl trước khi cài Symfony CLI.

wget https://get.symfony.com/cli/installer -O - | bash
sudo mv /home/username/.symfony/bin/symfony /usr/local/bin/symfony

    Bạn cần thay thế username bằng username của các bạn. Ví dụ username của user trên máy mình là lkp, thì câu lệnh thứ 2 sẽ thành:

sudo mv /home/lkp/.symfony/bin/symfony /usr/local/bin/symfony

Khởi tạo dự án bằng Symfony CLI

    Để khởi tạo dự án, bạn gõ lệnh:

symfony new projectName --version=version

    Lưu ý, bạn cần thay thế projectName thành tên project của mình và version thành phiên bản bạn muốn cài đặt. Ví dụ tên project của mình là todolo và version mình muốn cài là 5.3 thì câu lệnh sẽ thành:

symfony new todolo --version=5.3

    Bạn có thể bỏ qua phần version để cài đặt bản mới nhất của Symfony. Ví dụ bản mới nhất thời điểm mình viết bài này là 5.3 nên khi mình gõ lệnh:

symfony new todolo

    Thì sẽ tự động khởi tạo dự án Symfony phiên bản 5.3.

Chạy dự án

    Để chạy dự án mới khởi tạo các bạn cần truy cập vào dự án mới tạo:

cd new-project

    Ví dụ, mình mới tạo dự án tên todolo, thì mình cần chạy lệnh:

cd todolo

    Sau đó các bạn gõ lệnh để chạy dự án:

symfony serve

    Các bạn sẽ thấy terminal hiện ra những thông tin như thế này:

[WARNING] run "symfony server:ca:install" first if you want to   
run the web server with TLS support, or use "--no-tls            
" to avoid this warning                                          
                                                                 

Tailing Web Server log file (/home/lkp/.symfony/log/2982355613aafd922c24cff778aecc907ce25a5a.log)
Tailing PHP-FPM log file (/home/lkp/.symfony/log/2982355613aafd922c24cff778aecc907ce25a5a/53fb8ec204547646acb3461995e4da5a54cc7575.log)
                                                                 
[OK] Web server listening                                        
     The Web server is using PHP FPM 8.0.9                       
     http://127.0.0.1:8000                                 
                                                                 

[Web Server ] Aug 27 09:21:37 |DEBUG  | PHP    Reloading PHP versions 
[Web Server ] Aug 27 09:21:37 |DEBUG  | PHP    Using PHP version 8.0.9 (from default version in $PATH) 
[Web Server ] Aug 27 09:21:37 |INFO   | PHP    listening path="/usr/sbin/php-fpm" php="8.0.9" port=37689
[PHP-FPM    ] Aug 27 09:21:37 |NOTICE | FPM    fpm is running, pid 10546 
[PHP-FPM    ] Aug 27 09:21:37 |NOTICE | FPM    ready to handle connections 
[PHP-FPM    ] Aug 27 09:21:37 |NOTICE | FPM    systemd monitor interval set to 10000ms 

    Các bạn lưu ý chỗ:

[OK] Web server listening                                        
      The Web server is using PHP FPM 8.0.9                       
      http://127.0.0.1:8000    

    Ở đây có nghĩa là bạn đã chạy dự án thành công. Dự án chạy trên Domain 127.0.0.1 và cổng là 8000. Như vậy, để truy cập dự án, bạn mở browser, gõ vào url: http://127.0.0.1:8000 hoặc localhost:8000. Tada, nếu các bạn thấy màn hình như thế này thì các bạn đã chạy dự án thành công. Các bạn lưu ý có thể đường dẫn thư mục trong hình /home/lkp/Workspace/test/scratch-project sẽ khác với các bạn, miễn sao nó là đường dẫn thư mục đến dự án của các bạn là ok:

Lời kết

    Như vậy chúng ta đã cài đặt những pakages cần thiết và chạy dự án viết bằng Symfony trên Linux. Nếu có gặp lỗi, khó khăn hay bất kì thắc mắc gì, các bạn hãy tham gia cộng đồng Symfony Vietnam để trao đổi thêm cũng như là giải quyết những vấn đề bạn đang gặp phải. Chúc các bạn thành công.

Bình luận
Vui lòng đăng nhập để bình luận
Một số bài viết liên quan