Tạo nhanh dev environment trên Linux Mint

(Cập nhật mới nhất vào ngày 12/3/2015)

Linux Mint là một distro phát triển dựa trên Ubuntu, nhưng đi theo một hướng riêng biệt và nhất quán. Trong khi Ubuntu 10+ đột nhiên đẩy người dùng vào một giao diện unity lạ lẫm thì Mint vẫn trung thành với kiểu desktop thân thiện từ những ngày mới ra mắt nhưng lại cho người dùng khả năng tùy biến đến từng chi tiết. Nhiều người bắt đầu yêu thích Mint. Theo thống kê mới nhất của Distrowatch thì Linux Mint hiện đứng đầu trong danh sách các phiên bản Linux phổ biến, vượt xa so với Mageia hạng 2 và Ubuntu hạng 3.

Tôi bắt đầu chuyển sang dùng Linux Mint từ đầu năm 2012 và vẫn đang rất hài lòng với nó. Bài viết này nhằm giới thiệu với các bạn những gì cần làm để tạo nhanh một web development environment sau khi cài đặt Linux Mint.

enter image description here

Sau khi cài đặt, chúng ta muốn có:
  • git
  • Node.js, npm, nginx, php5-fpm
  • MongoDB, Redis, MariaDB
  • Phalcon, MongoDB driver cho PHP
  • PhantomJS cho Node.js
Thoạt tiên, các bạn mở Terminal lên và chạy câu lệnh sau :

sudo apt-get update
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php5-5.6
sudo add-apt-repository ppa:nginx/stable

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

sudo apt-get update && sudo apt-get upgrade

Bước này khá mất thời gian, phải chờ khoảng 15 đến 30 phút để hệ thống cập nhật đầy đủ các packages còn thiếu và setup software resources.

Ok, tiếp theo, các bạn chạy dòng lệnh sau để setup các thư viện hỗ trợ:

sudo apt-get install  g++ make git git-core curl build-essential chrpath libssl-dev libfontconfig1-dev libxft-dev

Sau đó đến các modules cho PHP:

sudo apt-get install php5 php5-dev php5-cli  php5-imagick php5-gd php5-mcrypt php5-curl php5-fpm php5-mysql php5-json

Và lần lượt từng cái:

sudo apt-get install mongodb-org
sudo apt-get install redis-server
sudo apt-get install mariadb-server
sudo apt-get install nginx

Chú ý khi cài đặt có thể các chương trình sẽ yêu cầu điền một số thông tin cấu hình.

Dù sao tiến trình cũng phải hoàn tất, và bạn đã có mọi thứ cần thiết cho 1 PHP developer. Thư mục website nằm ở /var/www, thư mục file cấu hình server nginx nằm ở /etc/nginx/site-enabled. Bạn nên set quyền user của bạn lên các nơi đó - và file hosts để tiện sửa đổi - bằng các lệnh sau:

sudo chown -R user /var/www
sudo chown -R user /etc/nginx/site-enabled
sudo chown user /etc/hosts

Chúng ta tiếp tục cài đặt Node.js, phiên bản mới nhất là 0.12.0:

wget http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz
tar -zxvf node-v0.12.0.tar.gz
cd node-v0.12.0
./configure
make
sudo make install

Với Node.js mọi thứ rất đơn giản. Tiến trình build Node.js server từ mã nguồn mất khoảng 20 phút. Trong thời gian đó, bạn có thể cài đặt MongoDB driver cho PHP:

git clone https://github.com/mongodb/mongo-php-driver.git
cd mongo-php-driver
phpize
./configure
make all
sudo make install

Và thêm Phalcon:

git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install

Cả MongoDB driver và Phalcon đều là những extensions cho PHP, bạn cần kích hoạt chúng để có thể sử dụng:

cd /etc/php5/mods-available
sudo touch mongo.ini
sudo touch phalcon.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
echo "extension=phalcon.so" | sudo tee -a phalcon.ini

sudo php5enmod mongo
sudo php5enmod phalcon

sudo service nginx restart
sudo service php5-fpm restart

Bạn cũng có thể cài đặt PhantomJS bằng cách download thẳng vào /usr/local/share và tạo ra các symlink cần thiết. Nhưng nó sẽ chỉ chạy sau khi Node.js đã được install hoàn chỉnh.

cd /usr/local/share
sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2
sudo tar xjf phantomjs-1.9.7-linux-x86_64.tar.bz2
sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs
sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/bin/phantomjs

Bạn cũng nên có 1 số thiết lập cho environment:

echo export NODE_ENV=development >> ~/.bash_profile
echo export LC_ALL=en_US.UTF-8 >> ~/.bash_profile
echo export LANG=en_US.UTF-8 >> ~/.bash_profile
echo export LANGUAGE=en_US.UTF-8 >> ~/.bash_profile
source ~/.bash_profile

Cuối cùng, để kiểm tra các tools đã ổn chưa, bạn có thể dùng các lệnh xem thử version của chúng:

nginx -v
node -v
php -v
npm -v
phantomjs -v
mongo --version