如何在 Ubuntu 14.04 服务器上安装 ISPConfig3

介绍

虽然命令行是一个强大的工具,可以让你在许多情况下快速和轻松地工作,但有时视觉界面是有用的。

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警告,因为我们正在使用自签证书:

ISPConfig SSL warning

点击继续继续来接受证书。

您将被带到一个登录屏幕。

ISPConfig login screen

默认用户名和密码都是admin:

1Username: admin
2Password: admin

输入这些值,你将被带到ISPConfig3界面:

ISPConfig main interface

一旦到达这里,您应该通过点击系统按钮更改用户的admin密码,然后在左侧导航菜单的用户管理类别下点击CP用户链接。

在主窗口点击admin用户帐户,您将有选择更改此页面上的管理员用户密码。

结论

您现在应该安装并配置您的 ISPConfig 面板,您应该能够在这个界面内管理域、邮件和帐户。

By Justin Ellingwood
Published At
Categories with 技术
comments powered by Disqus