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.
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
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