介绍
虽然命令行是一个强大的工具,可以让你在许多情况下快速和轻松地工作,但有时视觉界面是有用的。
ISPConfig 是您的服务器的控制面板,允许您轻松配置域名、电子邮件地址、网站配置和用户帐户。
前提条件
在我们开始之前,你应该有一个域名指向你将使用的服务器. 要了解 如何配置你的域名与DigitalOcean,点击这里。
您还需要具有 sudo 特权的非 root 用户,您可以通过遵循我们 Ubuntu 14.04 初始服务器设置指南中的步骤 1 到 4 来学习如何设置非 root 帐户。
升级系统
我们应该做的第一件事是升级基础系统,这将确保我们系统上的软件包是最新的包装版本。
在这样做之前,我们应该更新本地包索引,以便apt
知道最新的包版本:
1sudo apt-get update
2sudo apt-get upgrade
我们的系统现在应该是最新的,我们可以开始剩下的安装。
验证 Hostname 已正确配置
在本指南中,我们将假设我们正在设置的域名是server.test.com
,而服务器的IP地址是111.111.111
。
我们需要验证我们的主机名是否正确配置,我们应该看看我们的主机文件:
1sudo nano /etc/hosts
它可能看起来像这样的东西:
1127.0.0.1 localhost server.test.com server
我们希望我们的主机名使用我们的公共IP地址,您可以通过将行分为两行并将域名部分指向我们的公共IP地址来做到这一点:
127.0.0.1 localhost
111.111.111.111 server.test.com server
保存并关闭文件,当你完成。
我们还应该编辑我们的主机名
文件,以确保它也包含正确的域名:
1sudo nano /etc/hostname
如果您的整个主机名不显示,请更改值:
server.test.com
您应该通过键入系统使用新值:
1sudo hostname -F /etc/hostname
改变系统设置
有一些 Ubuntu 以非传统的方式配置的项目,我们需要取消,以便我们的软件正常工作。
我们需要做的第一件事是禁用AppArmor,这与ISPConfig不相容。
1sudo service apparmor stop
我们还可以告诉它通过键入下载其配置文件:
1sudo service apparmor teardown
完成此操作后,我们需要告诉我们的服务器在启动时不要启动此服务:
1sudo update-rc.d -f apparmor remove
我们实际上可以通过键入删除所有相关的文件和包:
1sudo apt-get remove apparmor
我们需要修改的另一个配置是默认系统壳。Ubuntu用于系统流程使用dash
壳,但ISPConfig利用了具体由bash
提供的额外功能。
1sudo dpkg-reconfigure dash
在提示中,选择不
,让实用程序重新配置系统壳指针以使用bash
而不是dash
。
安装额外的组件
现在,我们已经准备好了我们的基础系统,我们可以开始安装一些ISPConfig可以管理的服务和一些支持ISPConfig的软件。
我们将为我们的邮件安装基本的LAMP(Linux,Apache,MySQL,PHP)组件,邮件软件,防病毒扫描软件和其他包。
我们将在一个大的apt
命令中完成这一切,所以这将是同时安装的许多软件包:
1sudo apt-get install apache2 apache2-utils libapache2-mod-suphp libapache2-mod-fastcgi libapache2-mod-python libapache2-mod-fcgid apache2-suexec libapache2-mod-php5 php5 php5-fpm php5-gd php5-mysql php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-xcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-imap php5-cgi php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby memcached phpmyadmin postfix postfix-mysql postfix-doc mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve mailman amavisd-new spamassassin clamav clamav-daemon zoo unzip zip arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl libnet-dns-perl bind9 dnsutils vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl squirrelmail pure-ftpd-common pure-ftpd-mysql snmp
在安装过程中,您将被问到几个问题. 您将被要求选择一个语言为mailman
。 选择en(英语)
,以继续。 您还将被要求选择并确认MySQL管理用户的密码。
你会得到的另一个提示是,是否要为dovecot
创建一个自签名的SSL证书。你应该选择Yes
。你需要输入你的SSL证书的commonName
。这只是你的完全合格的域名:
1server.test.com
对于postfix
,您将被问及您需要哪种类型的邮件配置。选择互联网网站
。您将被要求选择系统邮件名称。
1server.test.com
对于phpMyAdmin,该软件有能力根据您的Web服务器自动配置自己。选择apache2
并按SPACE
来选择该选项。
接下来,您将被问及是否想要用「dbconfig-common」来配置 phpMyAdmin 的数据库。在这里选择「Yes」。您需要输入您上面选择的 MySQL 管理员帐户的密码,然后可以选择并确认 phpMyAdmin 用户的密码。
此时,您必须安装所有组件。
配置 Backend 组件
现在一切已安装,我们需要开始配置我们的服务和工具。
邮件配置
让我们从postfix
中启用一些功能开始,用您的编辑器打开默认配置文件:
1sudo nano /etc/postfix/master.cf
具体来说,处理提交服务和下面的前三条选项行,以及 smtps 服务和前三条选项行:
1submission inet n - - - - smtpd
2 -o syslog_name=postfix/submission
3 -o smtpd_tls_security_level=encrypt
4 -o smtpd_sasl_auth_enable=yes
5. . .
6smtps inet n - - - - smtpd
7 -o syslog_name=postfix/smtps
8 -o smtpd_tls_wrappermode=yes
9 -o smtpd_sasl_auth_enable=yes
现在,我们需要在这两个服务中附加一个额外的选项,每个服务都将是相同的:
submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject . . . smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
保存并关闭文件,当你完成。
我们应该配置的另一个邮件相关服务是邮件人
,可以处理邮件列表。
我们可以通过告诉它创建一个新的列表开始:
1sudo newlist mailman
您将被要求提供将与列表相关联的电子邮件,您还将被要求选择密码。
脚本将输出一个长的代名单列表. 你应该将它们添加到你的 /etc/aliases
文件的底部:
1sudo nano /etc/aliases
它应该看起来像这样的东西:
postmaster: root mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
完成后保存并关闭文件. 您需要让postfix
知道您添加的代名词。
1sudo newaliases
我们可以通过键入开始mailman
服务:
1sudo service mailman start
重新启动postfix
服务以启用邮件更改:
1sudo service postfix restart
当我们处理服务时,我们也应该停止并禁用spamassassin
。ISPConfig称此为必要,它不需要一直运行:
1sudo service spamassassin stop
然后我们可以告诉服务器在启动时不要重新启动它:
1sudo update-rc.d -f spamassassin remove
灯具配置
我们需要在PHP中启用mcrypt
功能:
1sudo php5enmod mcrypt
我们需要做的另一个事情是启用我们安装的一些Apache模块。
1sudo a2enmod rewrite ssl actions include cgi dav_fs suexec dav auth_digest fastcgi alias
我们还需要对一些Apache配置文件进行一些调整。
我们启用的模块之一目前会拦截我们所有的PHP文件,我们想要阻止它这样做。
sudo nano /etc/apache2/mods-available/suphp.conf
<IfModule mod_suphp.c> <FilesMatch "\.ph(p3?|tml)$"> SetHandler application/x-httpd-suphp </FilesMatch> suPHP_AddHandler application/x-httpd-suphp . . .
我们将用单个命令取代顶部块,完成后应该是这样的:
<IfModule mod_suphp.c>
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-suphp
保存并关闭文件,当你完成。
我们将不得不手动创建mailman
Apache 文件的符号链接,我们可以通过键入:
1sudo ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
我们可以通过键入这样做:
1sudo a2enconf mailman
如果您打算创建托管 Ruby 文件的网站,您应该评论在 mime.types 文件中处理 .rb
文件。
sudo nano /etc/mime.types
application/x-rss+xml rss
# application/x-ruby rb
application/x-rx
保存并关闭文件,当你完成。
现在,我们可以重新启动 Apache 来实现我们的更改:
1sudo service apache2 restart
混合配置
我们还需要编辑一些系统的更多部件。
由于ISPConfig常被用来分割服务器空间用于再销售目的,因此提供客户端的FTP访问往往是一个要求,我们已经安装了必要的软件,但我们需要做一些调整。
开始编辑 FTP 服务器的配置:
1sudo nano /etc/default/pure-ftpd-common
我們需要確保我們的 FTP 用戶被限制在一個 chroot 環境中,以便他們不會干擾其他系統,我們可以通過改變「VIRTUALCHROOT」設定為「true」來做到這一點:
VIRTUALCHROOT=true
由于 FTP 本质上是不安全的,我们至少应该通过 TLS 加密来保护它,我们可以通过创建一个包含1
字符的旗舰文件来设置此功能:
1sudo nano /etc/pure-ftpd/conf/TLS
11
现在,我们需要创建一个自我签名的证书,该过程可以使用,我们可以通过呼叫:
1sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
此证书有效期为1年,您将不得不回答一些提示,请用您的信息填写。
我们需要通过键入后锁下密钥文件:
1sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
当所有这些都完成后,我们可以重新启动服务:
1sudo service pure-ftpd-mysql restart
这将允许我们的 FTP 示威者使用加密。
我们在这个系统上设置FTP的原因之一是,我们安装了一个名为awstats
的监控示威器,它被配置为预期该服务的存在。
ISPConfig将根据需要调用awstats
,因此不需要依靠通常用于调研服务器的cron
任务。
1sudo rm /etc/cron.d/awstats
安装ISPConfig
我们终于准备好安装实际的ISPConfig软件。
我们可以通过下载最新的稳定版本到我们的服务器来做到这一点。从本文写作开始,具有直接链接的最新的稳定版本是版本3。
现在,您应该切换到您的主目录并使用wget
下载该项目:
1cd ~
2wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
在下载完成后,提取目录结构并进入提取文件夹结构的安装
子目录:
1tar xzvf ISPConfig*
2cd ispconfig3_install/install/
现在,我们已经准备好安装该软件了. 通过键入这样做:
1sudo php -q install.php
您将通过一个非常漫长的安装过程。
幸运的是,您实际需要输入的唯一细节是您的MySQL根密码! 对于每一个其他输入,只需按ENTER
来使用默认值,然后跳前。
当您完成安装时,请继续通过键入更新到最新版本:
1sudo php -q update.php
再次,只需按ENTER
来使用每个命令的默认值。
当您完成时,您可以访问您的 ISPConfig 服务,访问您的域名,然后是 :8080
在您的 Web 浏览器:
https://server_domain_name:8080
您将收到SSL警告,因为我们正在使用自签证书:
点击继续
或继续
来接受证书。
您将被带到一个登录屏幕。
默认用户名和密码都是admin
:
1Username: admin
2Password: admin
输入这些值,你将被带到ISPConfig3界面:
一旦到达这里,您应该通过点击系统
按钮更改用户的admin
密码,然后在左侧导航菜单的用户管理
类别下点击CP用户
链接。
在主窗口点击admin
用户帐户,您将有选择更改此页面上的管理员用户密码。
结论
您现在应该安装并配置您的 ISPConfig 面板,您应该能够在这个界面内管理域、邮件和帐户。