Trước đây để tạo môi trường phát triển web sử dụng PHP tương đồng với các máy chủ Linux thì thường các cụ thường phải sử dụng VMWare để tạo máy ảo, sau này thì có Docker, Vagrant hay mấy cái khác để các lão ảo hóa đủ thứ … Cơ mà trong Windows 10 nó có cái app mới đấy là “Bash on Ubuntu on Windows” đảm bảo lão nào dùng rồi sẽ phê lòi luôn , chạy Ubuntu ngay trong lõi Windows sử dụng ngang hàng toàn bộ tài nguyên HDD,RAM,CPU mà không bị cắt tài nguyên như cụ VMWare.
Làm sao để cài Bash on Ubuntu on Windows ?
Đầu tiên là các cụ phải kiểm tra xem máy có phải là Windows 10 64bit không, phần này chắc không phải hướng dẫn đâu các cụ nhề .
Xong các cụ chạy lệnh này trong PowerShell để bật chức năng Windows subsystem for Linux lên
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Xong thì các cụ khởi động lại máy tính nếu nó hỏi nhé, đợi khởi động lại xong các cụ chạy tiếp lệnh sau trong cmd.exe ( Command Prompt ) để cài đặt
bash hoặc lxrun /install
nhập y xong ngồi đợi một tí để OS tự cài đặt các kiểu, khi nào nó bắt các cụ nhập username password thì các bác cứ nhập vào là xong.
Mở bash bằng cách vào cmd.exe ( Command Prompt )
CÀI ĐẶT nginx NHư thế nào?
Giờ là đến bước cài đặt Nginx, trước tiên các cụ chuyển về quyền root để cài
sudo su

xong chạy tiếp lệnh này, khi nào nó hỏi thì chọn Y
apt-get update && apt-get install nginx
Xong kiểm tra xem Nginx đã được cài OK chưa
service nginx status
Nếu báo như hình thì ok nhé các cụ còn nếu nó báo là unrecognized service thì là fail rồi kéo lên trên xem lỗi lầm gì thì thả bình luận ở dưới để tui hỗ trợ cho.
Dưới đây là một số thư mục liên quan đến Nginx
+ /etc/nginx - Đây là chỗ lưu toàn bộ cấu hình của nginx |--+ fastcgi.conf - File cấu hình tham số mặc định để truyền qua PHP-FPM |--+ nginx.conf - File cấu hình chính của nginx |--+ sites-availalbe - Thư mục đặt những cấu hình cho từng website |--+ sites-enable - Thư mục đặt những symlink từ bên sites-available |--+ ... một số file cấu hình sẵn khác + /var/log/nginx - Đây là nơi lưu log + /var/www/html - Đây là DOCUMENT_ROOT mặc định của Nginx
Bước tiếp theo là khởi động Nginx để chắc chắn rằng Nginx đã hoạt động tốt
service nginx start
OK truy cập http://localhost/ trên trình duyệt web của bạn ( Chrome / Firefox )
Một số lệnh để điều khiển service nginx cho các cụ sử dụng
service nginx restart - Khởi động lại nginx service nginx start - Khởi động Nginx service nginx stop - Dừng Nginx service nginx reload - Reload lại cấu hình service nginx force-reload - Bắt buộc toàn bộ worker reload lại cấu hình service nginx configtest - Test cấu hình xem có lỗi gì ko
CÀI đặt và cấu hình php-fpm 7.0 ?
Sử dụng apt-get để cài đặt gói php-fpm mới nhất , do Ubuntu on Windows sử dụng bản Ubuntu 16 nên bản php 7.0 sẽ được cài đặt vào . Nếu cụ nào muốn cài php5.6 thì add repo của Ondrej vào nhé, còn cụ nào mới thì cứ PHP mới mà dùng
apt-get install php-fpm
Kiểm tra xem php-fpm đã được cài và thêm vào service chưa
service php7.0-fpm status
ok rồi, nhưng đừng vội bật service lên vì nếu để php-fpm chạy với cấu hình mặc định thì sẽ php sẽ chạy bị chậm do sử dụng unix socket chứ không sử dụng tcp/ip, lí do thì tui đoán là do bản Ubuntu on Windows này nó chưa phải bản chính thức nên còn nhiều lỗi liên quan đến xử lí filesytem nên khi sử dụng unix socket thì bị chậm , giờ các cụ sửa file /etc/php/7.0/fpm/pool.d/www.conf
nano /etc/php/7.0/fpm/pool.d/www.conf
tìm dòng
listen = /run/php/php7.0-fpm.sock
sửa lại thành
listen = 9000
tham số 9000 là để php-fpm lắng nghe ở port 9000 nhận yêu cầu từ một chương trình khác như nginx, apache để xử lí mã nguồn php sau đó trả kết quả về .
xong các cụ ấn Ctrl + O rồi Ctrl + X để lưu và thoát khỏi trình chỉnh sửa file nano
sau đó cụ bắt đầu bật dịch vụ php-fpm lên được rồi, lệnh này chạy bật service xong kiểm tra luôn xem service chạy hay chưa
service php7.0-fpm start && service php7.0-fpm status
ok running là chạy rồi, giờ bước tiếp theo là các cụ cần cấu hình lại NGINX một chút, để NGINX bắt các request đến file có đuôi (extension) .php để gửi đến php-fpm xử lí và nhận kết quả trả về show ra browser
Các cụ mở file /etc/nginx/sites-available/default
nano /etc/nginx/sites-available/default
thay đổi đoạn, nếu không tìm thấy có thể bấm tổ hợp Ctrl + W rồi nhập đoạn dưới vào + Enter để tìm
index index.html index.htm index.nginx-debian.html;
thành
index index.php index.html index.htm index.nginx-debian.html;
để tự nhận file index.php là mặc định khi người dùng gửi yêu cầu đến thư mục, tiếp theo các cụ kéo xuống phía dưới một chút sẽ thấy đoạn này
#location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php7.0-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php7.0-fpm: # fastcgi_pass unix:/run/php/php7.0-fpm.sock; #}
sửa nó thành như này là ok
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass 127.0.0.1:9000; }
xong các cụ lại ấn Ctrl + O rồi Ctrl + X để lưu và thoát ra, giờ thì bật khởi động lại NGINX
service nginx restart
các cụ tạo 1 file index.php ở /var/www/html/ với nội dung như sau
<?php phpinfo();
tạo xong file các cụ nhớ chmod vs chown lại file để tránh lỗi phân quyền nhé
#Thay đổi quyền cho file chmod 0755 /var/www/html/index.php #Thay đổi sở hữu cho file chown www-data:www-data /var/www/html/index.php
truy cập vào http://localhost sẽ thấy PHP chạy ngon lành nhé hihi
hướng dẫn cài đặt mysql server và client ?
Đầu tiên các cụ chạy lệnh, nhập Y để cài đặt Mysql Server và Client bản 5.7
apt-get install mysql-server
Ngồi chơi xơi nước đợi nó tải các package cần thiết về cài xong, nó sẽ hỏi các bác nhập root password như này
các bác nhập pass vào rồi nó hỏi “Repeat …” thì nhập thêm lần nữa rồi Enter thôi
đợi tí là xong, tiếp theo các cụ lại chạy lệnh để kiểm tra xem đã có service mysql chưa
service mysql status
OK nếu thấy như hình là các cụ đã cài xong Mysql rồi, giờ các cụ bật nó lên
service mysql start
à ở đây gặp cái lỗi như này, nhiều lúc cài cũng hay bị
No directory, logging in with HOME=/
Lỗi này gặp phải do package cài mysql trên repo của ubuntu bị lỗi, khi thêm user mysql thì thằng package đã không chỉ định thư mục chính cho user đó, nên các cụ chỉ cần chạy lệnh sau để đặt lại thư mục chính cho user mysql
# Dừng dịch vụ mysql service mysql stop # Thay đổi thư mục gốc cho tài khhoản mysql usermod -d /var/lib/mysql/ mysql # Chạy dịch vụ mysql service mysql start
Kiểm tra lại một lần nữa bằng các sử dụng mysql-client kết nối tới mysql-server để chắc chắn rằng mysql-server đã hoạt động tốt
mysql -uroot -p -hlocalhost
Vậy là xong rồi , cũng đơn giản mà phải không các cụ, cụ nào mà mới mới không hiểu chỗ nào thì cứ comment nhé, mình sẽ hỗ trợ nhiệt tình .
Các cụ thấy hay thì chia sẻ cho tui lấy động lực viết tiếp phần 02.
“Hướng dẫn cài đặt WordPress trong Ubuntu on Windows” nhé