Quote:
ISPConfig 一般要管理虛擬主機的軟體如cpanel是商用版的軟體,而ISPConfig是 open source。ISPConfig可以幫助你設定及管理多個domains的網站、e-mail、FTP server及MySQL資料庫。
From techtonic “Build your own ISP with ISPConfig“ http://www.tectonic.co.za/view.php?src=rss&id=894
CentOS 4.3 最小安裝
相關套件安裝
rpm –import /usr/share/rhn/RPM-GPG-KEY*
yum update
yum install -y fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp
yum install -y bind bind-chroot
yum install -y mysql mysql-devel mysql-server
yum install -y cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot
yum install -y php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel
yum install -y vsftpd
yum install -y webalizer
yum install -y ntp
yum install -y perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1
yum install -y gcc
yum install -y flexwget http://www.zlib.net/zlib-1.2.3.tar.gz
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure –shared
make
make install
資料庫MySQL
service mysqld start
mysql
>create database db_ispconfig;
>grant all privileges on db_ispconfig.* to ispconfig@localhost identified by ‘ispconfig’;
Postfix
postconf -e ‘smtpd_sasl_local_domain =’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
postconf -e ‘inet_interfaces = all’vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain loginmkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650postconf -e ‘smtpd_tls_auth_only = no’
postconf -e ‘smtp_use_tls = yes’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtp_tls_note_starttls_offer = yes’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘smtpd_tls_loglevel = 1’
postconf -e ‘smtpd_tls_received_header = yes’
postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’
POP & IMAP
vi /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
HTTP
vi /etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl
服務開機啟動
chkconfig sendmail off
chkconfig postfix on
chkconfig saslauthd on
chkconfig dovecot on
chkconfig httpd on
chkconfig mysqld on
安裝 ISPConfig
http://nchc.dl.sourceforge.net/sourceforge/ispconfig/ISPConfig-2.2.2.tar.gz
Tools & Add-ons
http://www.ispconfig.org/downloads/webmail.pkg
http://www.ispconfig.org/downloads/RoundCube.pkg
http://www.ispconfig.org/downloads/phpmyadmin-2.6.4-pl3.pkg
http://www.ispconfig.org/downloads/phppgadmin-3.5.2.pkg
tar zxvf ISPConfig-2.2.2.tar.gz
cd install_ispconfig
./setup
-> 2 -> y -> y -> 1 -> y -> y
備份
1. /home/www目錄
2. db_ispconfig資料庫
3. 而User要重建
注意事項
在新增User&Mail帳號前,先到Management的System Config的Settings的User Prefix拿掉
避免User帳號前面有webX_
但在拿掉webX_之前已建立的User,如果之後再拿掉webX_,會有那些方面的問題,尚未知!!!?
對每個Site點,勾選Mailuser Login後,即可從http://xxx:81/mailuser
讓User自行更改密碼
在clinet點,設Login Data的User,即可讓這User管理這個Site點
在Site點,勾選FTP Access,即可讓User使用Web-FTP
而User&Mail的User只對個人的Web-FTP
但如果User&Mail的User為Administrator的話,則可存取整Site的Web-FTP
[Q1.] 使用者名稱不能少於三個字元
The following error occurred:
Field: Username
The user name has to contain a minimum of 4 and a maximum of 32 letters or figures and has to begin with a letter.
[A1.] vi /home/admispconfig/ispconfig/lib/plugins/isp_username.plugin.php
//if(!preg_match(“/^[a-z][w.-\_]{3,64}$/”,$user_prefix . $username)) {
if(!preg_match(“/^[a-z][w.-\_]{1,64}$/”,$user_prefix . $username)) {//$go_api->errorMessage(‘<b>’.$go_api->lng(“Feld”).’: Username</b><br>’.$go_api->lng(“Der Username muss aus min. 4, max 32 Buchstaben oder Zahlen bestehen, wobei er mit einem Buchstaben beginnen muss.”) . “<br> <br>”);
$go_api->errorMessage(‘<b>’.$go_api->lng(“Feld”).’: Username</b><br>’.$go_api->lng(“Der Username muss aus min. 2, max 32 Buchstaben oder Zahlen bestehen, wobei er mit einem Buchstaben beginnen muss.”) . “<br> <br>”);
留言