Cài đặt Ubuntu 16.04 Server. - Son Tran's Blog
Có thể bạn quan tâm
Bài viết này không bao gồm hướng dẫn chi tiết cài Ubuntu trên (máy thật hoặc máy ảo)
Trong bài này sử dụng VIM làm editor là chủ yếu. Vim là 1 trình chỉnh sửa text trên nền terminal. Được sử dụng rộng rãi bởi các sysadmin vì rất tiện dụng nhưng vì các tiếp cận hơi khác với các editor khác như notepad++ nên bước đầu làm quen sẽ hơi khó chịu. Nhưng ai đã quen rồi thì sẽ NGHIỆN VIM.
Các bạn có thể tham khảo bài hướng dẫn dùng VIM tại đây
Để trả lời câu hỏi: Tại sao phải học và dùng Linux để config webserver trong khi đã có WAMP, XAMPP trên Windows cài phát chạy luôn quá tiện lợi:
Mình xin trả lời: Làm web mục tiêu cuối cùng là để sản phẩm của mình chạy trên các production server (hầu hết là linux trừ khi bạn dùng ASP hay các công nghệ độc quyền yêu cầu Windows server).
Việc code chạy trên máy của mình không có bất kỳ ý nghĩa gì đối với khách hàng / công ty thuê mình nếu code ko thể chạy trên server của khách hàng/cty. Có rất nhiều trường hợp code chạy ở local nhưng lên server thì chết chỉ vì các vấn đề config môi trường. Và nhiệm vụ bắt buộc của các coder(PHP/Backend) là phải làm cho nó chạy bằng mọi giá.
Trong trường hợp cty của bạn có hẵn 1 bộ phận hỗ trợ kỹ thuật tầng server thì tuyệt quá, nhưng không phải cty nào cũng có các bộ phận này.
Do đó, để làm được điều này thì bạn phải hiểu nguyên tắc hoạt động của server, có kinh nghiệm làm việc với server thì mới có thể khắc phục các lỗi thực tế (không hiếm) này.
Bước 1: cài Nginx, PHP7, php-fpm
Để chạy được PHP khi truy cập server bằng trình duyệt, chúng ta cần cài 1 web server là Nginx và gói php-fpm để chạy PHP trên nginx.
sudo apt-get update sudo apt-get install nginx php php-fpmConfig php.ini
sudo vim /etc/php/7.0/fpm/php.iniChuyển ;cgi.fix_pathinfo=1 thành cgi.fix_pathinfo=0
Test xem PHP đã được cài đúng chưa:
php -versionNếu output ra dạng như sau thì ok:
PHP 7.0.8-0ubuntu0.16.04.2 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.8-0ubuntu0.16.04.2, Copyright (c) 1999-2016, by Zend TechnologiesTest xem Nginx đã được cài đúng chưa:
Nếu bạn dùng Ubuntu trên máy thật thì truy cập địa chỉ: 127.0.0.1 bằng trình duyệt.
Nếu bạn dùng máy ảo thì truy cập địa chỉ IP của máy ảo bằng trình duyệt.
Để có được IP của máy ảo thì dùng lệnh:
ifconfigVí dụ như đây là output của lệnh trên:
Link encap:Ethernet HWaddr 08:00:27:69:fd:0f inet addr:192.168.1.45 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe69:fd0f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7384 errors:0 dropped:0 overruns:0 frame:0 TX packets:3264 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6887075 (6.8 MB) TX bytes:311339 (311.3 KB)và IP trong trường hợp này là 192.168.1.45
Khi truy cập bằng trình duyệt và thấy hiện ra dòng chữ: Welcome to nginx! thì xem như xong bước 1.
Bước 2: Test/Config Nginx
Để test PHP chạy được trên server chưa thì ta sẽ thực hiện các bước sau:
Tạo folder chứa source code:
sudo mkdir /opt/nginx sudo chmod 777 /opt/nginx mkdir /opt/nginx/9gag vim /opt/nginx/9gag/index.phpvới nội dung:
<?php echo "<h1>Hello world</h1>";Trỏ domain tới IP máy ảo hoặc 127.0.0.1 nếu cài trực tiếp trên máy thật linux:
sudo vim /etc/hostsNếu bạn đang dùng Windows thì có thể tham khảo tại đây
với nội dung:
192.168.1.45 9gag.devLưu ý: Phần trỏ domain này là thao tác trên máy thật chứ ko phải máy ảo.
Tạo file cấu hình Nginx cho dự án mới
sudo vim /etc/nginx/sites-enabled/defaultthêm nội dung:
server { listen 80; server_name 9gag.dev; root /opt/nginx/9gag; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } }Restart lại Nginx:
sudo systemctl reload nginxBây giờ bạn vào địa chỉ http://9gag.dev và sẽ thấy dòng Hello world
Bước 3: Cài và config Postgres
Cài Postgres:
sudo apt-get install postgresql postgresql-contrib php-pgsqlTest Postgres:
sudo -i -u postgres psqlNếu output ra dạng như sau là ok:
psql (9.5.3) Type "help" for help.Config Postgres:
Tạo thêm 1 tài khoản người dùng cho Postgres
sudo -i -u postgres createuser someuser psql ALTER USER someuser WITH PASSWORD 'somepassword'; \q exitTạo database để dùng cho dự án mới
sudo -i -u postgres createdb -O someuser 9gag exitConfig cho phép truy cập/quản lý Postgres từ bên ngoài (Chỉ áp dụng cho máy ảo)
sudo vim /etc/postgresql/9.5/main/postgresql.confSửa # listen_addresses = 'localhost' thành listen_addresses = '8'
sudo vim vim /etc/postgresql/9.5/main/pg_hba.confThêm dòng
host all all 192.168.1.20/24 md5Với 192.168.1.20 là địa chỉ IP của máy thật
Restart lại Postgres:
sudo service postgresql restartSau đó các bạn có thể dùng Valentina Studio để truy cập và quản lý database của mình.
Chọn Connect to hoặc Add Bookmark

Điền thông tin

Bước 4: Config samba (chỉ dành cho máy ảo)
Bước này dùng để mount folder chứa source code trên server máy ảo về máy thật để thao tác trực tiếp. Không cần phải code local xong đưa lên server máy ảo để test.
Cài Samba
sudo apt-get install sambaSet password cho Samba user
Vì samba dùng cùng hệ thống user của Ubuntu nhưng khác hệ thống password nên ta cần set lại để sử dụng cho Samba. Có thể set giống với mật khẩu user trên Ubuntu để tiện nhớ
sudo someuser -a somepasswordLưu ý: someuser phải là tài khoản đã được tạo sẵn của Ubuntu
Config Samba:
Backup file config cũ:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bakSửa file config
sudo vim /etc/samba/smb.confThêm vào:
[nginx] path = /opt/nginx valid users = someuser read only = noRestart Samba:
sudo service smbd restartSau đó bạn có thể mount folder nginx chứa source code tại địa chỉ 192.168.1.45/nginx với 192.168.1.45 là IP của máy ảo, user name và mật khẩu được định nghĩa ở trên.
Đối với Windows có thể dùng chức năng map network drive để mount.
Đối với Mac/Linux có thể dùng chức năng Connect to server để mount.
DONE!
Bài viết liên quan
- Chạy Laravel 5.3 và config HMVC (Hierarchical model–view–controller)
- Kết hợp sử dụng Route, Model, View, Controller trong mô hình HMVC
| | Son Tran Fullstack web / mobile developer Laravel / Django / React / React Native. Contact |
Từ khóa » Cài đặt Ubuntu Server 16.04
-
Hướng Dẫn Cài đặt Ubuntu Server 16.04 LTS - Technology Diver
-
Hướng Dẫn Cài Đặt Ubuntu Server 16.04 - Tìm Hiểu Máy Tính
-
Hướng Dẫn Cài Ubuntu 16.04, Hướng Dẫn Cài Đặt Ubuntu 16
-
Hướng Dẫn Cài đặt Ubuntu Server 16.04
-
Bài 002 – Hướng Dẫn Cài đặt Ubuntu Server 16.04 LTS - EasyTuto •
-
Cách Cài Ubuntu 16.04 - Hướng Dẫn Tạo Bộ Cài Ubuntu Desktop 16
-
Bài 002 - Hướng Dẫn Cài đặt Ubuntu Server 16.04 LTS
-
Hướng Dẫn Cài Ubuntu Server 20, Hướng Dẫn Cài Đặt Ubuntu ...
-
Hướng Dẫn Cài Đặt Ubuntu Server 16.04 - YouTube
-
Cài đặt Ubuntu Server Trong VmWare - Openplanning
-
Phải Làm Gì Sau Khi Cài đặt Ubuntu 16
-
Cài đặt Ubuntu Server 16.04 - GitHub
-
Install Ubuntu Server
-
Hướng Dẫn Cài Đặt Ubuntu Server 16.04