Setup ISPCP

Yêu cầu hệ thống:
Pentium III or K6-4 with 500 MHz
512 MB RAM
100 MB free disk space for ispCP ω itself
A supported Linux distribution

1. Chuẩn bị cài đặt
1.1. Cập nhật hệ điều hành.
Đơn giản nhất là sử dụng yum. Tại dấu nhắc gõ lệnh
#yum update
Chờ một vài giây... hệ thống sẽ hỏi: Is this ok [y/N]
trả lời y, bấm OK.
Tùy vào phiên bản hiện tại đang cài đặt và tốc độ mạng, thời gian update có thể vài phút hoặc vài giờ đồng hồ. Cho tới khi có thông báo Complete là xong.
1.2 Thêm các nguồn cung cấp phần mềm (Software Repositories)
a. EPEL (Extra Packages for Enterprise Linux)
EPEL cos chứa hầu hết các gói phần mềm cần thiết cho việc cài đặt server.
Xem phiên bản mới nhất ở đây http://download.fedora.red...
File cần lấy có định dạng epel-release-X-Y.noarch.rpm với X và Y là số phiên bản, ví dụ epel-release-5-4.noarch.rpm.
Thêm nó vào thôi:
#rpm -Uhv http://download.fedora.red...
64bit down ở đây: http://download.fedora.red...
b. Les RPM de Remi
Chúng ta cần nguồn cung cấp này cho việc cài đặt các phiên bản mới nhất của PHP và MySQL
Xem phiên bản mới nhất tại đây http://rpms.famillecollet....
Với Centos 5 thì ta dùng file remi-release-5.rpm. Gõ lệnh sau để cài:
#rpm -Uvh http://rpms.famillecollet....
64bit down ở đây: http://rpms.famillecollet....
#nano /etc/yum.repos.d/remi.repo
để sửa file remi.repo. Trong mục [remi], sửa enabled từ 0 thành 1 và thêm dòng includepkgs=mysql* php* sqlite* phía trên dòng [remi-test]. Nội dung sẽ là
[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/enterprise/5/remi/$basearch/
http://iut-info.univ-reims...
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority
includepkgs=mysql* php* sqlite*

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com//enterprise/5/test/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Bấm Ctrl + X, trả lời y và Enter để lưu lại.

c. RPMForge
Chúng ta cần RPMForge cho một số phần mềm khác mà các nguồn phần mềm khác không có. Ví dụ clamav, p7zip, mc...
Xem phiên bản mới nhất tại http://apt.sw.be/redhat/el...
File ta cần có định dạng rpmforge-release-x.x.x-x.el5.rf.i386.rpm với x.x.x-x là số phiên bản. Lấy cái mới nhất ấy. Ví dụ rpmforge-release-0.5.1-1.el5.rf.i386.rpm
Gõ lệnh sau để thêm nguồn RPMForge
#rpm -Uhv http://apt.sw.be/redhat/el...
64bit down ở đây: http://apt.sw.be/redhat/el...
Dùng nano để sửa file rpmforge.repo
#nano /etc/yum.repos.d/rpmforge.repo
Thêm vào dòng sau tại vị trí cuối cùng của file
includepkgs=postgrey clamav clamd amavisd-new clamav-data clamav-filesystem clamav-lib clamav-server-sysv zoo unrar lha ripole clamav-db
Chú ý không để ngắt xuống dòng nếu ko sẽ gây lỗi.
Bấm Ctrl+X, trả lời y và Enter để lưu lại.
Thế là cũng tàm tạm rồi. Thử check xem yum có vấn đề gì với các nguồn phần mềm mới thêm không. Sử dụng lệnh
#yum update
bla bla...
Is this ok [y/N]: y
bla bla...
Complete
Thế là ok. Ta đã có PHP, MySQL và một số thứ nữa phiên bản mới nhất. Trong quá trình update, nó hỏi Importing GPG key... gì đó thì cứ Yes thôi. Nếu nó báo một số lỗi gì đó thì nó thuộc về mục khác, ko phải trong hướng dẫn này.

Rồi, giờ cài mấy cái phần mềm có trong RPMForge
Xóa clamav nếu đã có
#yum remove clamav-*
Cài p7zip
#yum install p7zip
Cài lại clamav
#yum install clamav clamd amavisd-new
Trả lời y mỗi khi nó hỏi Is this ok [y/N]. Sau câu lệnh này là ta có đc 1 cơ số phần mềm linh tinh cần thiết rồi (cỡ 33 loại)
Giờ thì thiết lập spamassassin thôi (cái này để chống thư rác đó)
#mkdir -p /var/spamassassin/bayes
#chown -R amavis. /var/spamassassin/bayes
Sửa file local.cf bằng lệnh
#nano /etc/mail/spamassassin/local.cf
theo nội dung sau. Nếu ko có các dòng tham số dưới đây thì thêm vào cuối file:

use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_auto_learn_threshold_nonspam 1
bayes_auto_learn_threshold_spam 7.5

bayes_path /var/spamassassin/bayes/bayes
bayes_file_mode 0777

score FH_DATE_PAST_20XX 0
score DNS_FROM_OPENWHOIS 0

ok_languages all
ok_locales all

Ctrl+X, trả lời y, Enter để lưu lại.
Cài đặt postfix, sử dụng lệnh
#yum install postfix
Sau khi Completed thì
#cd /etc/postfix
Tiếp theo là
#openssl req -x509 -nodes -days 1850 -newkey rsa:2048 -keyout privkey.pem -out cert.pem
Khai báo các thông số vào:
Country Name (2 letter code) [GB]: Tên quốc gia
State or Province Name (full name) [Berkshire]: Quận / huyện
Locality Name (eg, city) [Newbury]: Tỉnh / thành
Organization Name (eg, company) [My Company Ltd]: Tên công ty
Organizational Unit Name (eg, section) []: Tên đơn vị tổ chức (chả biết là gì, gõ đại đi)
Common Name (eg, your name or your server's hostname) []: Tên chung (Tên bạn hoặc tên máy chủ)
Email Address []: thì là thư điện tử chứ là cái gì
Xong thì gõ tiếp lệnh
#chkconfig amavisd on
#/etc/init.d/postfix restart
#/etc/init.d/amavisd restart
Kết quả đc 2 cái FAILED và 2 cái OK. Đừng lo vì 2 cái FAILED nhé. (đừng hỏi ko hiểu tại sao)

1.3 Cài đặt các phần mềm không có nguồn cung cấp (Non-Repository Software)
Chuyển vào thư mục home cho đỡ rác hệ thống nhé
#cd /home
Rồi, giờ bắt đầu
a. Courier-IMAP
32 bit xem danh sách ở đây: http://www.thatfleminggent...
64bit coi ở đây: http://www.thatfleminggent...
- courier-imap
#wget http://www.thatfleminggent...
64bit down ở đây: http://www.thatfleminggent...
- courier-authlib
#wget http://www.thatfleminggent...
64bit down ở đây: http://www.thatfleminggent...
- courier-authlib-userdb
#wget http://www.thatfleminggent...
64bit down ở đây: http://www.thatfleminggent...
b. policyd-weight
Cái này chả biết để làm gì, nhưng nó yêu cầu thì cứ cài thôi.
Xem ở http://sourceforge.net/pro..., mục Newest Files có cái file .noarch.rpm cần đó. Bấm vào đó, hủy bất kỳ những gì nó yêu cầu rồi chuột phải vào direct link, chọn copy link để lấy đường dẫn. Sau đó dùng wget để down về thôi
#wget http://downloads.sourcefor...
Download xong sẽ được file policyd-weight-0.1.15dev3-1.noarch.rpm

1.4 Disabling SELinux
#setenforce 0
Để SELinux luôn disable mỗi khi khởi động lại, sử dụng lệnh
#nano /etc/selinux/config
và sửa SELINUX=disabled

1.5 Download và giải nén ispCP
Truy cập trang chủ http://isp-control.net/ và tìm link dowload tại mục Quick Downloads bên phải. Click vào gzip, hủy yêu cầu download của trình duyệt. Click chuột phải vào direct link và Copy link để lấy đường dẫn. Dùng wget để download
#wget http://downloads.sourcefor...
Download xong thì giải nén nó ra
#tar -xvzf ispcp-omega-1.0.7.tar.gz

1.5 Cài đặt các gói phần mềm
Chuyển vào thư mục vừa giải nén
#cd ispcp-omega-1.0.6
Dùng lệnh sau cài đặt các gói phần mềm đã được liệt kê trong file centos-packages
#yum install `cat ./docs/CentOS/centos-packages`
Cứ yên tâm ngồi chờ thôi. Phần mềm nào đã được cài đặt và update phiên bản mới nhất rồi nó sẽ bỏ qua. Trả lời y khi được hỏi. Để ý thông báo cuối cùng, nếu có phần mềm nào đó bị xung đột hoặc lỗi khi cài đặt phải xử lý ngay.
ispcp cần sử dụng ReadPassword, bạn sẽ phải cài nó thông qua Perl vì không có gói RPM. Sử dụng lệnh
#perl -MCPAN -e 'install Term::ReadPassword'
Nếu bạn chưa có CPAN, hệ thống sẽ hỏi: Are you ready for manual configuration? [yes]. Hãy trả lời no và Enter. Mọi cài đặt sẽ tự động tiếp tục.
{Chỗ này đang làm tip thì lỗi mạng. sau đó chạy lại lệnh trên ko đc luôn. Nó bảo Don't know it is (cóc biết là cái gì). Sau 1 hồi lần mò thì cũng biết cách sửa. Chỉ cần xóa /root/.cpan/Metadata, /root/.cpan/sources/authors/01mailrc.txt.gz và /root/.cpan/sources/modules/02packages.details.txt.gz đi rồi run lại lệnh trên là xong}
Rồi, quay trở lại home nào
#cd /home
Cài đặt các gói courier
#rpm -Uvh courier-*
Nếu nó báo lỗi expect, libfam và libidn thì dùng yum cài thêm vào
#yum install expect fam libidn
Cài tiếp policyd-weight
#rpm -Uvh policyd-weight-*

1.6 Xóa bỏ các phần mềm không cần thiết
CentOS mặc định cài đặt sendmail nhưng ispcp sử dụng Postfix, vì vậy xóa nó đi bằng lệnh
#yum remove sendmail
Trả lời y khi được hỏi
CentOS mặc định cài đặt vsftpd nhưng ispcp sử dụng proftpd, vì vậy xóa vsftpd và cài đặt proftpd vào
#yum remove vsftpd
#yum install proftpd

1.7 Cài đặt các dịch vụ
Courier cần user và nhóm tài khoản riêng để hoạt động. Hãy tạo bằng các lệnh sau
#groupadd -g 3000 courier
#useradd -u 3000 -c 'Courier Mail Server' -d /dev/null -g courier -d /bin/false courier
Start MySQL lên nào
#service mysqld start
Nếu chưa có mysql hoặc start fail, hãy thử cài lại
#yum remove mysql*
#yum install mysql-server
Chạy tiếp các lệnh sau
#mysql_fix_privilege_tables
#mysql_secure_installation
Trả lời như dưới đây
Enter current password for root (enter for none): Enter
Set root password? [Y/n] y
New password: nhập pass mới
Re-enter new password: nhập pass mới
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Xóa bỏ file cấu hình của Apache
#mv /etc/httpd/conf.d /etc/httpd/conf.d-disabled
1.8 BIND DNS
ispCP giữ cấu hình domain trong 1 file tên là named-ispcp.conf. Chúng ta sẽ cần liên kết nó tới named.conf để dịch vụ DNS hoạt động. Chúng ta cũng cần tạo một số kết nối tới các vùng để ispcp hoạt động đúng. Hãy sử dụng các lệnh sau:
#mv /var/named/data /var/named/data-disabled
#ln -s /var/named/chroot/var/named/data /var/named/data
#echo 'include "/etc/named-ispcp.conf";' >> /var/named/chroot/etc/named.conf

2. Cài đặt
Chúng ta cần gcc để cài đặt ispCP
#yum install gcc
Cài xong thì chuyển tới thư mục có bộ cài ispCP nào
#cd /home/ispcp-omega-1.0.6/
Rồi sau đó chạy các lệnh sau
#make -f Makefile.centos
#cp -RLf /tmp/ispcp/* /
#cd /var/www/ispcp/engine/setup
#perl ispcp-setup

Nếu nó báo lỗi Term::ReadKey thì
#cpan
cpan>install Term::ReadKey File::MimeInfo Crypt::CBC Crypt::Blowfish Crypt::PasswdMD5
cpan>exit
Nếu nó báo lỗi Can't locate version.pm in @INC thì
#perl -MCPAN -e 'install version'
Nếu nó báo lỗi Cannot determine local time zone thì
#perl -MCPAN -e 'install DateTime::TimeZone'
#perl -MCPAN -e 'install DateTime::Locale'
#perl -MCPAN -e 'install Class::Singleton'

Chạy lại setup và điền các thông số
Please enter a fully qualified hostname: tên máy chủ.tên miền.com
Please enter system network address: Để mặc định, bấm Enter thôi
Please enter the domain name where ispCP OMEGA will run on: Tùy, ví dụ admin.tên miền.com
Please enter SQL server host. [localhost]: Enter
Please enter system SQL database. [ispcp]: Enter
Please enter sys

tem SQL user. [root]: Enter
Please enter system SQL password. [none]: Nhập cái mật khẩu MySQL vào
Please enter ispCP ftp SQL user. [vftp]: Enter
Please enter ispCP ftp SQL user password. [auto generate]: Nhập đại cái mật khẩu nào đó hoặc Enter luôn cũng được.
Please repeat ispCP ftp SQL user password: Lặp lại cái mật khẩu trên
Please enter ispCP phpMyAdmin Control user. [pma]: Enter
Please enter ispCP phpMyAdmin Control user password. [auto generate]: Nhập đại cái mật khẩu nào đó hoặc Enter luôn cũng được.
Please repeat ispCP phpMyAdmin Control user password: Lặp lại cái mật khẩu trên
Please enter administrator login name. [admin]:
Please enter administrator password: cái này đừng nhập đại nhé. Mật khẩu admin của ispCP đó
Please repeat administrator password: gõ lại lần nữa cho chắc
Please enter administrator e-mail address: email của admin
IP of Secondary DNS. (optional) []: 8.8.8.8
Use MySQL Prefix. Possible values: [i]nfront, [b]ehind, [n]one. [none]: Enter
FastCGI Version: [f]cgid or fast[c]gi. [fcgid]: f
Activate AWStats. [no]: yes
AWStats Mode: Possible values [d]ynamic and [s]tatic. [dynamic]: Enter
Starting Installation.... bla bla
Xong rồi.

3. Cài đặt Postfix và SASL
#touch /etc/sasldb2
#mkdir -p /var/spool/postfix/etc
#cp /etc/sasldb2 /var/spool/postfix/etc
#nano /usr/lib/sasl2/smtpd.conf
Copy cái nội dung này vào
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

3.2 Cấu hình Apache HTTPd
Apache cần được cài đặt để đọc cấu hình các website trong thư mục /etc/httpd/vhosts/. Hãy dùng lệnh sau:
#echo 'include vhosts/*.conf' >> /etc/httpd/conf/httpd.conf

3.3 Cấu hình Postgrey
Nếu chưa cài thì
#yum install postgrey
Rồi sửa file
#nano /etc/init.d/postgrey
sửa dòng OPTIONS="--unix=$SOCKET" trở thành OPTIONS="--unix=$SOCKET --inet=60000" để Postgrey chạy ở cổng 60000

3.4 Cài đặt các dịch vụ tự chạy lúc khởi động
#chkconfig --level 345 httpd on
#chkconfig --level 345 mysqld on
#chkconfig --level 345 ispcp_network on
#chkconfig --level 345 ispcp_daemon on
#chkconfig --level 345 amavisd on
#chkconfig --level 345 named on
#chkconfig --level 345 proftpd on
#chkconfig --level 345 postgrey on
#chkconfig --level 345 spamassassin on
#chkconfig --level 345 policyd-weight on

Chạy các lệnh sau để khởi động dịch vụ mà không phải khởi động lại
#service httpd start
#service mysqld start
#service ispcp_network start
#service ispcp_daemon start
#service amavisd start
#service named start
#service proftpd start
#service postgrey start
#service spamassassin start
#service policyd-weight start

Phân lại quyền cho thư mục tạm thời
chmod 775 /var/www/ispcp/gui/phptmp
Xóa bỏ các file tạm
rm -R /tmp/ispcp

Nếu gặp cảnh báo It is not safe to rely on the system's timezone settings.
nano /etc/ispcp/fcgi/parts/php5/php.ini
nano /etc/ispcp/fcgi/parts/master/php5/php.ini
sửa dòng
;date.timezone
thành
date.timezone = "Asia/Ho_Chi_Minh"

END

Post a Comment