Chuẩn bị
– Đã cài PHP 8.1 như bài: Cài đặt PHP 8.1 trên ubuntu 22.04
– Đã cài DNS Server tương tự bài: Cài đặt DNS Server trên Ubuntu 22.04: Internal Network. Và tạo các bản ghi A và PTR như sau:
root@dns:~# cat /etc/bind/dinhducthanh.local.lan $TTL 86400 $TTL 86400 @ IN SOA dns.dinhducthanh.local. root.dinhducthanh.local. ( 2024051601 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS dns.dinhducthanh.local. IN A 10.0.0.6 IN MX 10 mail.dinhducthanh.local. dns IN A 10.0.0.3 mail IN A 10.0.0.3 www IN CNAME dinhducthanh.local. root@dns:~# vi /etc/bind/0.0.10.db 6 IN PTR dinhducthanh.local. root@dns:~# systemctl restart named
Cài đặt Laravel
– Một PHP Web application framework.
Install PHP Composer.
root@www:~# apt -y install composer php-curl
Create a Laravel test project
– Tạo một dự án thử nghiệm Laravel với một user riêng
root@www:~# su ubuntu ubuntu@www:/root$ cd ubuntu@www:~$ mkdir test-project ubuntu@www:~$ cd test-project
– Tạo [my-app] Laravel project
ubuntu@www:~/test-project$ composer create-project laravel/laravel my-app
Creating a "laravel/laravel" project at "./my-app"
Installing laravel/laravel (v10.3.3)
- Downloading laravel/laravel (v10.3.3)
- Installing laravel/laravel (v10.3.3): Extracting archive
Created project in /home/ubuntu/test-project/my-app
.....
.....
84 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
> @php artisan key:generate --ansi
INFO Application key set successfully.
ubuntu@www:~/test-project$ cd my-app ubuntu@www:~/test-project/my-app$ php artisan serve --host 0.0.0.0 --port=8000 INFO Server running on [http://0.0.0.0:8000]. Press Ctrl+C to stop the server
– Truy Cập vào URL http://www.dinhducthanh.local:8000 từ bất kỳ máy khách nào. Nếu trang hiển thị như ảnh thì OK
Tạo một trang Hello World app
ubuntu@www:~$ cd ~/test-project/my-app
– Tạo [HelloWorldController] controller
ubuntu@www:~/test-project/my-app$ php artisan make:controller HelloWorldController
INFO Controller created successfully.
ubuntu@www:~/test-project/my-app$ vi routes/web.php # Thêm vào cuối Route::get('helloworld', 'App\Http\Controllers\HelloWorldController@index');
ubuntu@www:~/test-project/my-app$ vi app/Http/Controllers/HelloWorldController.php # thêm function
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HelloWorldController extends Controller
{
public function index()
{
return view('helloworld');
}
}
ubuntu@www:~/test-project/my-app$ vi resources/views/helloworld.blade.php # tạo index
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Hello World</title>
</head>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Hello Laravel World!
</div>
</body>
</html>
ubuntu@www:~/test-project/my-app$ php artisan serve --host 0.0.0.0 --port=8000
– Truy Cập vào URL http://www.dinhducthanh.local:8000/helloworld từ bất kỳ máy khách nào. Nếu trang hiển thị như ảnh thì OK