Quản Trị Mạng - SugarCRM là một giải pháp dựa trên web của CRM được viết bằng PHP. SugarCRM có sẵn trong các flavour được gọi là Editions ("Community" – miễn phí, "Professional", và "Enterprise"). Để có cái nhìn tổng quan chi tiết về các editions khác, bạn có thể truy cập website của SugarCRM. Trong bài hướng dẫn sau đây chúng tôi trình bày cách cài đặt bản Community Edition miễn phí trên hệ thống Debian Squeeze hoặc Ubuntu 11.04 đã có nginx thay vì Apache.
Với các module: My Portal, Calendar, Activities, Contacts, Accounts, Leads, Opportunities, Cases, Bugtracker, Documents và Email, SugarCRM Community Edition cung cấp tất cả mọi thứ có thể được mong đợi từ giải pháp CRM. Tuy nhiên trước khi bắt đầu chúng tôi đưa ra một số lưu ý:
Yêu cầu đưa ra là cài đặt SugarCRM trong một vhost có tên www.example.com/example.com với document root /var/www/www.example.com/web.
- Hệ thống được cài đặt sẵn LEMP
- Các lệnh phải chạy với quyền root, để đơn giản bạn nên trở thành root ngay bây giờ:
sudo root
Cài đặt APC
APC là một PHP opcode cacher hoàn toàn miễn phí và mở cho bộ nhớ đệm giúp tối ưu hóa code php trung gian. Nó tương tự như các PHP opcode cacher khác, như eAccelerator và XCache. Chúng tôi khuyến cáo bạn nên cài đặt APC để tăng tốc độ tải trang PHP của mình.
Sử dụng dòng lệnh sau để tiến hành cài đặt APC:
apt-get install php-apc
Sau đó chúng ta cần kiểm tra hai thiết lập trong php.ini. Nếu bạn sử dụng PHP-FPM như FastCGI daemon của mình trong php.ini là /etc/php5/fpm/php.ini:
vi /etc/php5/fpm/php.ini
Hãy chắc chắn rằng memory_limit là 64M và thiết lập upload_max_filesize là 20M.
[...]
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
[...]
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 20M
[...]
Khởi động lại PHP-FPM:
/etc/init.d/php5-fpm restart
Nếu bạn sử dụng chương trình spawn-fcgi của lighttpd như FastCGI daemon của mình, php.ini sẽ là /etc/php5/cgi/php.ini:
vi /etc/php5/cgi/php.ini
[...]
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
[...]
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 20M
[...]
Chúng ta đóng tiến trình spawn-fcgi hiện tại (đang chạy trên cổng 9000) và tạo một cái mới. Chạy lệnh:
netstat -tap
để tìm ra PID của quá trình spawn-fcgi:
root@server1:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:sunrpc *:* LISTEN 734/portmap
tcp 0 0 *:www *:* LISTEN 2987/nginx
tcp 0 0 *:ssh *:* LISTEN 1531/sshd
tcp 0 0 *:57174 *:* LISTEN 748/rpc.statd
tcp 0 0 localhost.localdom:smtp *:* LISTEN 1507/exim4
tcp 0 0 localhost.localdom:9000 *:* LISTEN 1542/php5-cgi
tcp 0 0 localhost.localdo:mysql *:* LISTEN 1168/mysqld
tcp 0 52 server1.example.com:ssh 192.168.0.198:2462 ESTABLISHED 1557/0
tcp6 0 0 [::]:www [::]:* LISTEN 2987/nginx
tcp6 0 0 [::]:ssh [::]:* LISTEN 1531/sshd
tcp6 0 0 ip6-localhost:smtp [::]:* LISTEN 1507/exim4
root@server1:~#
Trong kết quả trên PID là 1542 vì vậy chúng ta có thể đóng tiến trình hiện tại bằng lệnh dưới đây:
kill -9 1542
Sau đó tạo một trình spawn-fcgi mới:
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
Cài đặt SugarCRM
Thư mục root của trang web www.example.com là /var/www/www.example.com/web. Nếu nó không tồn tại có thể tạo ra như sau:
mkdir -p /var/www/www.example.com/web
Cài đặt unzip để giải nén gói SugarCRM:
apt-get install unzip
Bạn có thể tải về SugarCRM Community Edition tại đây hoặc tại đây. Chọn tập tin có dạng .zip (phiên bản 6.3.0RC1 tại thời điểm bài viết này) và đặt vào thư mục root:
cd /tmp
wget http://www.sugarforge.org/frs/download.php/8516/SugarCE-6.3.0RC1.zip
unzip SugarCE-6.3.0RC1.zip
cd SugarCE-Full-6.3.0RC1/
mv * /var/www/www.example.com/web/
Điều này được khuyến cáo để thư mục root và các tập tin SugarCRM trong đó được ghi bởi nginx daemon (nếu không SugarCRM không thể ghi các file cấu hình) đang chạy với user www-data và group www-data:
chown -R www-data:www-data /var/www/www.example.com/web
Tiếp theo chúng ta tạo một cấu hình nginx vhost cho www.example.com trong thư mục /etc/nginx/sites-available/:
vi /etc/nginx/sites-available/www.example.com.vhost
server {
listen 80;
server_name www.example.com example.com;
root /var/www/www.example.com/web;
if ($http_host != "www.example.com") {
rewrite ^ http://www.example.com$request_uri permanent;
}
index index.php index.html;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Để kích hoạt vhost bạn cần tạo một symlink từ đường dẫn /etc/nginx/sites-enabled/:
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost
Khởi động lại nginx để những thay đổi có hiệu lực:
/etc/init.d/nginx reload
Bắt đầu cài đặt SugarCRM bằng cách mở URL http://www.example.com trên trình duyệt. Nhấn Next:

Trong trang tiếp theo, cuộn xuống phía dưới và nhấn Next:

Chấp nhận giấy phép sử dụng (GNU Affero General Public License) và kích Next:

Chọn Typical Install và kích Next:

Chọn cơ sở dữ liệu (MySQL):
