Laravel là một PHP Framework có thể được sử dụng để tạo ra các ứng dụng web một cách dễ dàng và nhanh chóng thông qua các tính năng được tích hợp sẵn. Laravel được xây dựng dựa trên Symfony framework và theo mô hình MVC(Model – View -Controller).
Cài đặt Laravel trên Ubuntu là một công việc tương đối đơn giản, sẽ không mất quá 10 phút của bạn. Laravel đi kèm với một bộ tính năng phong phú bao gồm: Artisan, Object-Relational mapping, Template Engine, MVC Architecture, Unit-Testing và Database Migration System sẽ giúp tăng tốc độ web.
Trong bài viết này tôi sẽ hướng dẫn các bạn cài đặt Laravel trên Ubuntu một cách chi tiết nhất bao gồm với Apache hoặc Nginx tùy theo nhu cầu của bạn.
Nếu trong quá trình cài đặt có phần nào bạn đã cài đặt trước đó rồi, thì có thể bỏ qua nhé.
1. Cài đặt Laravel trên Ubuntu với Apache 2
Bước 1: Cài đặt Apache 2
Apache là phần mềm web server miễn phí mã nguồn mở. Nó đang chiếm đến khoảng 46% thị phần websites trên toàn thế giới. Để cài đặt Apache rất đơn giản bạn chỉ cần chạy lệnh sau đây:
1 |
sudo apt install apache2 |
Sau khi đã cài đặt xong webserver thì các câu lệnh bên dưới lần lượt để stop, start, restart, enable và xem status của webserver.
1 2 3 4 5 |
sudo systemctl stop apache2.service sudo systemctl start apache2.service sudo systemctl restart apache2.service sudo systemctl enable apache2.service sudo systemctl status apache2.service |
Để kiểm tra xem webserver đã cài đặt thành công chưa. Bạn có thể mở trình duyệt và truy cập vào http://localhost hoặc địa chỉ IP và bạn sẽ thấy trang mặc định của webserver như bên dưới.

Bước 2: Cài đặt PHP
Chạy câu lệnh bên dưới cài đặt repository bên thứ ba để cài đặt PHP:
1 2 3 |
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update |
Tiếp theo, chạy câu lệnh bên dưới để cài đặt PHP 7.4 và các extension:
1 |
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-common php7.4-gmp php7.4-curl php7.4-soap php7.4-bcmath php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd php7.4-xml php7.4-cli php7.4-zip |
Để kiểm tra bạn đã cài đặt PHP thành công hay chưa, hãy chạy câu lệnh sau:
1 |
php -v |
Nếu đầu ra như thế này có nghĩa rằng bạn đã cài đặt thành công nhé.

Bước 3: Cài đặt cơ sở dữ liệu
Mysql là một hệ quản trị cơ sở dữ liệu phổ biến nhất hiện nay và được các nhà phát triển ưa chuộng. Mysql có tốc độ cao và hoạt động được trên nhiều hệ điều hành khác nhau. Bạn có thể cài đặt MariaDB thay thế cho Mysql. Để cài đặt Mysql các bạn chạy câu lệnh bên dưới:
1 |
sudo apt install mysql-server mysql-client |
Sau khi cài đặt thành công các câu lệnh bên dưới lần lượt dùng để stop, start, restart, enable, status cho Mysql:
1 2 3 4 5 |
sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl restart mysql.service sudo systemctl enable mysql.service sudo systemctl status mysql.service |
Sau đó chạy câu lệnh bên dưới để giúp bảo mật Mysql server của bạn bằng cách tạo một mật khẩu root và không cho phép truy cập từ xa:
1 |
sudo mysql_secure_installation |
Khi được hỏi, hãy trả lời theo hướng dẫn sau:
- Enter current password for root (enter for none): Nhập mật khẩu hiện tại của bạn (enter nếu không có)
- Set root password? [Y/n]: Thiết lập mật khẩu cho Mysql (Y)
- New password: Nhập mật khẩu bạn muốn đặt
- Re-enter new password: Nhập lại mật khẩu
- Remove anonymous users? [Y/n]: Xóa người dùng ẩn danh (Y)
- Disallow root login remotely? [Y/n]: Không cho phép đăng nhập từ xa (Y)
- Remove test database and access to it? [Y/n]: Xóa database thử nghiệm (Y)
- Reload privilege tables now? [Y/n]: Tải lại bảng đặc quyền (Y)
Sau đó restart Mysql. Để test xem đã cài đặt thành công hay chưa, bạn chạy câu lệnh sau:
1 |
sudo mysql -u root -p |
Sau khi điền mật khẩu như đã tạo ở trên, nếu thành công sẽ hiển thị Mysql welcome như bên dưới:

Bước 4: Tạo cơ sở dữ liệu
Đầu tiên chạy câu lệnh bên dưới để tạo một database trống dùng cho project của bạn:
1 |
sudo mysql -u root -p |
Sau đó tạo một database, ở đây mình đặt là laravel.
1 |
CREATE DATABASE laravel; |
Tạo một user có tên là user với password là 123456. Nếu bạn đã tạo trước đó rồi thì có thể bỏ qua nhé.
1 |
CREATE USER 'user'@'localhost' IDENTIFIED BY '123456'; |
Trong một vài trường hợp các bạn sẽ không tạo được user do các bạn đã cài plugin validate password, để khắc phục điều này các bạn cần xóa plugin đó đi với câu lệnh:
1 |
uninstall plugin validate_password; |
Sau đó cấp quyền truy cập vào database cho user vimagento.
1 |
GRANT ALL ON laravel.* TO 'user'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION; |
Cuối cùng lưu lại tất cả thay đổi và thoát.
1 2 |
FLUSH PRIVILEGES; EXIT; |

Bước 5: Cài đặt composer
Composer là một Dependency Management trong PHP, công cụ quản lý các thư viện mà project Php của bạn sử dụng. Một cách chính xác hơn Composer quản lý sự phụ thuộc các tài nguyên trong dự án. Nó cho phép khai báo các thư viện mà dự án của bạn sử dụng, composer sẽ tự động tải code của các thư viện. Nó tạo ra các file cần thiết vào project của bạn, và cập nhật các thư viện khi có phiên bản mới.
Để cài đặt composer thì rất đơn giản, chạy lần lượt các lệnh sau:
1 2 3 |
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer sudo chmod +x /usr/local/bin/composer |
Chạy composert -v để biết phiên bản hiện tại:

Bước 6: Tải xuống Laravel
Đầu tiên project của chúng ta sẽ nằm trong thư mục /var/www/html/. Chúng ta sẽ cài đặt Laravel thông qua composer. Trong ví dụ này tôi sẽ đặt tên project của mình là laravel:
1 2 |
cd /var/www/html composer create-project --prefer-dist laravel/laravel laravel |
Đợi một lúc để quá trình tải xuống hoàn tất.

Tiếp theo hãy cấp quyền cho project của bạn:
1 2 |
sudo chown -R www-data:www-data /var/www/html/laravel sudo chmod -R 777 /var/www/html/laravel |
Lưu ý www-data chính là username máy tính của bạn.
Bước 7: Cấu hình và cài đặt Laravel
Đầu tiên hãy chạy câu lệnh sau để tạo APP_KEY cho project Laravel.
1 |
sudo php artisan key:generate |
Sau đó mở file .env và sửa thông tin kết nối cơ sở dữ liệu của bạn:
1 2 3 4 5 6 |
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=user DB_PASSWORD=123456 |

Tiếp theo hãy thêm một domain bạn muốn vào file /etc/hosts:
1 |
sudo nano /etc/hosts |
Ví dụ ở đây mình thêm domain là laravel.local nên mình sẽ thêm dòng sau vào file /etc/hosts.
1 |
127.0.0.1 laravel.local |
Tạo virtual host:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo nano /etc/apache2/sites-available/laravel.conf <VirtualHost *:80> ServerName laravel.local ServerAdmin webmaster@localhost DocumentRoot /var/www/html/laravel/public <Directory /var/www/html/laravel> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Kích hoạt virtual host đã tạo ở trên với lệnh:
1 2 |
sudo a2ensite laravel.conf sudo a2enmod rewrite |
Restart apache 2 và hoàn tất quá trình cài đặt laravel:
1 |
sudo systemctl restart apache2 |
Cuối cùng ở trình duyệt hãy gõ: http://laravel.local để kiểm tra bạn đã cài đặt thành công hay chưa.

2. Cài đặt Laravel trên Ubuntu với nginx
Bước 1: Cài đặt nginx
Nginx là một trong những web server sử dụng mã nguồn mở được ứng dụng rất nhiều trong lĩnh vực công nghệ thông tin hiện nay. Để cài đặt nginx các bạn hãy chạy câu lệnh bên dưới:
1 |
sudo apt install nginx |
Cấp quyền cho Nginx, thay www-data bằng user trên máy của bạn.
1 2 3 |
sudo nano /etc/nginx/nginx.conf user www-data; |
Sau khi đã cài đặt xong webserver thì các câu lệnh bên dưới lần lượt để stop, start, restart, enable và xem status của webserver.
1 2 3 4 5 |
sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl restart nginx.service sudo systemctl enable nginx.service sudo systemctl status nginx.service |
Ví dụ để kiểm tra trạng thái của nginx:

Bước 2: Cài đặt PHP và PHP FPM
Về cách để cài đặt PHP mình đã hướng dẫn ở bước 2 phần Cài đặt Laravel trên Ubuntu với Apache. Các bạn có thể kéo lên trên và làm theo hướng dẫn.
Ngoài ra, sau khi cài đặt xong PHP bạn cũng cần cài đặt thêm PHP FPM bằng cách sau:
1 |
sudo apt install php7.4-fpm |
Cấp quyền cho PHP, thay www-data bằng user trên máy của bạn.
1 2 3 4 5 6 |
sudo nano /etc/php/7.4/fpm/pool.d/www.conf user = www-data group = www-data listen.owner = www-data listen.group = www-data |
Lưu ý ở các bước tiếp theo từ bước 3, 4, 5 , 6 các bạn làm giống như đối với Apache ở trên.
Bước 7: Cấu hình và cài đặt Laravel
Cũng tương tự đối với bước 7 ở trên nhưng chỉ khác file virtual host thôi:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
sudo nano /etc/nginx/sites-enabled/laravel.local server { listen 80; server_name laravel.local; root /var/www/html/laravel/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } } |
Sau đó hãy khởi động lại server và kiểm tra kết quả:
1 2 |
sudo systemctl restart php7.4-fpm.service sudo systemctl restart nginx |
Cuối cùng truy cập http://laravel.local chúng ta sẽ có cùng một kết quả so với cài đặt bằng Apache.

Kết luận
Vừa rồi tôi đã hướng dẫn các bạn cài đặt Laravel trên Ubuntu với Apache hoặc Nginx. Nếu có bất kỳ thắc mắc nào về bài viết hãy để lại bình luận bên dưới nhé.