server vps ubuntu - It costs 3 mins to read

Black Friday vừa qua, đi đâu cũng thấy khuyến mãi và ngập tràn Coupon nên mình nảy ý định kiếm khuyến mãi VPS nào hấp dẫn chút. Sau một hồi tìm kiếm ở http://ChiaseCoupon.com thì Ramnode với khuyến mãi giảm 20% trọn đời có vẻ phù hợp. Mình quyết định dùng Ramnode thay thế cho Linode đã xài cả năm nay (Một phần vì Linode không có khuyến mãi nào dành cho người dùng cũ và trung thành như mình). Vậy là mất 1 ngày cuối tuần để chuyển dữ liệu từ VPS cũ sang VPS mới, trong quá trình cài đặt và chuyển VPS, mình xin ghi lại một số thứ linh tinh để sau này tiện tra cứu.

Kinh nghiệm khi cài Ubuntu lên VPS / Dedicated Server ở môi trường Production là nên sử dụng phiên bản LTS - Long Term Support (mới nhất là 14.04 LTS), khác biệt cơ bản của release LTS với các phiên bản thường (14.10, 15.04, 15.10…) là release LTS được hỗ trợ lâu dài đến 3 năm hoặc 5 năm, thay vì cứ phải upgrade liên tục mỗi 6 tháng cùng vòng đời ngắn ngủi như các phiên bản thường. Release LTS chỉ cập nhật các bản vá bảo mật nhằm luôn giữ cho hệ thống ổn định và lược bỏ việc cập nhật các ứng dụng không liên quan đến môi trường Production như trMột số Best Practice khi cài đặt Nginxình duyệt mail, trình duyệt web, media player… (Nếu bạn sử dụng cho Server, bạn nên sử dụng Minimal Setup để bỏ qua giao diện GUI và các ứng dụng không cần thiết).

Cập nhật Ubuntu sau khi cài đặt:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Cleaning Up:

echo "Cleaning Up" &&
sudo apt-get -f install &&
sudo apt-get autoremove &&
sudo apt-get -y autoclean &&
sudo apt-get -y clean

Thêm User mới (Hạn chế cài đặt các ứng dụng dưới quyền Root):

adduser [USERNAME]

Thêm User mới vào sudoer

sudo usermod -a -G sudo [USERNAME]

Add SSH Key

ssh-copy-id username@ip-address

Cấu hình SSH không cho phép đăng nhập Root và chỉ đăng nhập bằng SSH Key - Tham khảo tại đây.

Cài đặt RVM

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash
source /home/viphat/.rvm/scripts/rvm

Cài đặt Ruby bằng RVM:

rvm list known
rvm install ruby-2.2-head
bash --login
rvm use ruby-2.2-head

Cài đặt NodeJS 0.12.x và NPM (Tương tự cho 4.x)

curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -

sudo apt-get install -y nodejs

Cài đặt Postgres (Reposity này luôn có phiên bản Postgres mới nhất)

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql

Cấu hình File pg_hba.conf xác thực bằng mật khẩu.

Đổi mật khẩu của User postgres:

ALTER USER postgres with password 'YourNewPassword';

Cài đặt Phusion Passenger và Nginx

gem install passenger
rvmsudo passenger-install-nginx-module

Passenger sẽ cài luôn Nginx bản stable 1.8.0, nếu bạn không có nhu cầu nâng cấp thì Nginx 1.8.0 là đủ dùng.

Cấu hình Nginx.conf để chạy với Phusion Passenger

http {
passenger_root /home/vipMột số Best Practice khi cài đặt Nginxhat/.rvm/gems/ruby-2.2-head/gems/passenger-5.0.21;
passenger_ruby /home/viphat/.rvm/gems/ruby-2.2-head/wrappers/ruby;
}

server { 
listen 80; 
server_name example.com; 
passenger_enabled on; 
root /var/www/my_awesome_rails_app/public; 
}

Cài đặt Git (Latest Version)

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git 

Với những ứng dụng / dịch vụ kể trên là đã đủ cho hoạt động của các Website cá nhân của mình rồi… Để tối ưu hơn thì nên cài thêm Iptables hoặc ufw, Fail2ban…

Trong quá trình tra cứu thì tìm được nhiều bài viết hay, đưa ra một số Practice khi cài VPS Ubuntu hay Nginx: