如何在Ubuntu14.04服务器上安装ISPConfig3
介绍
尽管命令行是一个强大的工具,可以让您在许多情况下快速轻松地工作,但在某些情况下,可视化界面很有帮助。 如果您要在一台机器上配置许多不同的服务,或者为客户端管理系统的某些部分,则 ISPConfig 之类的工具可以使这项任务变得更加简单。
ISPConfig 是您的服务器的控制面板,可让您轻松配置域、电子邮件地址、站点配置和用户帐户。 我们将在 Ubuntu 14.04 服务器上安装面板。
先决条件
在我们开始之前,您应该有一个指向您将使用的服务器的域名。 要了解 如何使用 DigitalOcean 配置您的域名,请单击此处。
您还需要一个具有 sudo 权限的非 root 用户。 您可以按照我们的 Ubuntu 14.04 初始服务器设置指南 中的步骤 1-4 了解如何设置非 root 帐户。 以该用户身份登录以开始使用。
升级系统
我们应该做的第一件事是升级基础系统。 这将确保我们系统上的软件包是最新的打包版本。
在我们这样做之前,我们应该更新我们的本地包索引,以便 apt
知道最新的包版本:
sudo apt-get update sudo apt-get upgrade
我们的系统现在应该是最新的,我们可以继续进行其余的安装。
验证主机名配置正确
我们将首先确保我们的主机名配置正确。 在本指南中,我们将假设我们设置的域名是 server.test.com
,服务器的 IP 地址是 111.111.111.111
。
我们需要验证我们的主机名是否配置正确。 我们应该查看我们的主机文件:
sudo nano /etc/hosts
它可能看起来像这样:
127.0.0.1 localhost server.test.com server
我们想让我们的主机名使用我们的公共 IP 地址。 您可以通过将该行分成两行并将域名部分指向我们的公共 IP 地址来做到这一点:
127.0.0.1 本地主机111.111.111.111 server.test.com 服务器
完成后保存并关闭文件。
我们还应该编辑我们的 hostname
文件以确保它也包含正确的域名:
sudo nano /etc/hostname
如果未显示您的整个主机名,请修改该值:
server.test.com
您应该通过键入以下内容来确保系统使用新值:
sudo hostname -F /etc/hostname
更改系统设置
Ubuntu 以非常规方式配置了一些项目,我们需要撤消这些项目才能使我们的软件正常运行。
我们需要做的第一件事是禁用与 ISPConfig 不兼容的 AppArmor。 首先,我们应该停止服务:
sudo service apparmor stop
我们还可以通过键入以下命令告诉它卸载其配置文件:
sudo service apparmor teardown
完成后,我们需要告诉我们的服务器不要在启动时启动此服务:
sudo update-rc.d -f apparmor remove
我们实际上可以通过键入以下内容来删除所有关联的文件和包:
sudo apt-get remove apparmor
我们需要修改的另一个配置是默认系统 shell。 Ubuntu 为系统进程使用 dash
shell,但 ISPConfig 使用了由 bash
专门提供的附加功能。 我们可以通过键入以下命令将 bash
设置为默认系统 shell:
sudo dpkg-reconfigure dash
在提示符下,选择“否”以使实用程序重新配置系统 shell 指针以使用 bash
而不是 dash
。
安装附加组件
现在我们已经准备好基本系统,我们可以开始安装一些 ISPConfig 可以管理的服务和一些支持 ISPConfig 的软件。
我们将为我们的邮件安装基本的 LAMP(Linux、Apache、MySQL、PHP)组件、邮件软件、防病毒扫描软件和其他软件包。
我们将在一个大的 apt
命令中完成这一切,所以这将是一次安装很多包:
sudo 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 (English)
继续。 您还将被要求选择并确认 MySQL 管理用户的密码。
您将得到的另一个提示是是否为 dovecot
创建自签名 SSL 证书。 您应该选择“是”。 您必须输入 SSL 证书的“commonName”。 这只是您的完全限定域名:
server.test.com
对于postfix
,系统会询问您需要什么样的邮件配置。 选择 Internet Site
。 然后将要求您选择系统邮件名称。 您也应该将其设置为您的域名:
server.test.com
对于 phpMyAdmin,该软件能够根据您的 Web 服务器自动配置自身。 选择“apache2”并按“SPACE”选择该选项。 点击“TAB”然后“ENTER”进行选择。
稍后,您将询问您是否希望使用 dbconfig-common
为 phpMyAdmin 配置数据库。 在这里选择“是”。 您将需要输入您在上面选择的 MySQL 管理员帐户的密码。 然后,您可以选择并确认 phpMyAdmin 用户的密码。
此时,应安装所有组件。
配置后端组件
现在一切都安装好了,我们需要开始配置我们的服务和工具。
邮件配置
让我们首先在 postfix
中启用一些功能。 使用编辑器打开默认配置文件:
sudo nano /etc/postfix/master.cf
我们只需要取消注释该文件中的某些行。 特别是处理提交服务的行和下面的前三个选项行,以及 smtps 服务和该选项的前三个选项行:
submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes . . . smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
现在,我们需要在这两个服务下附加一个附加选项。 每个都是一样的:
提交 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
完成后保存并关闭文件。
我们应该配置的另一个与邮件相关的服务是mailman
,它可以处理邮件列表。
我们可以从告诉它创建一个新列表开始:
sudo newlist mailman
您将被要求提供与列表关联的电子邮件。 您还将被要求选择一个密码。
该脚本将输出一长串别名。 您应该将它们添加到 /etc/aliases
文件的底部:
sudo 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 退回 mailman” mailman-confirm: “|/var/lib/mailman/mail/mailman 确认 mailman” mailman-join: “|/var/lib/mailman/mail/mailman join mailman” mailman-leave: “|/var/lib/mailman/mail/mailman 离开 mailman” mailman-owner: “|/var/lib/mailman/mail/mailman owner mailman” mailman-request: “|/var/lib/mailman/mail/mailman请求 mailman” mailman-subscribe: “|/var/lib/mailman/mail/mailman subscribe mailman” mailman-unsubscribe: “|/var/lib/mailman/mail/mailman 取消订阅 mailman”
完成后保存并关闭文件。 您需要让 postfix
知道您添加的别名。 您可以通过键入:
sudo newaliases
我们可以通过键入以下命令启动 mailman
服务:
sudo service mailman start
重启 postfix
服务以启用邮件更改:
sudo service postfix restart
在处理服务时,我们还应该停止并禁用 spamassassin
。 ISPConfig 根据需要调用它,它不需要一直运行:
sudo service spamassassin stop
然后我们可以告诉服务器不要在启动时再次启动它:
sudo update-rc.d -f spamassassin remove
灯配置
我们需要在 PHP 中启用 mcrypt
功能:
sudo php5enmod mcrypt
我们需要做的另一件事是启用我们安装的一些 Apache 模块。
sudo a2enmod rewrite ssl actions include cgi dav_fs suexec dav auth_digest fastcgi alias
我们还需要对一些 Apache 配置文件进行一些调整。
我们启用的模块之一当前将拦截我们所有的 PHP 文件。 我们想阻止它这样做。 打开【X9X】【X13X】配置文件:
须藤纳米/etc/apache2/mods-available/suphp.conf
SetHandler 应用程序/x-httpd-suphp suPHP_AddHandler 应用程序/x-httpd-suphp 。 . .
我们将用一个命令替换顶部块。 完成后应该是这样的:
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp
完成后保存并关闭文件。
我们将不得不手动为 mailman
Apache 文件创建符号链接。 我们可以通过键入:
sudo ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
然后我们可以通过键入:
sudo a2enconf mailman
如果您计划创建托管 Ruby 文件的站点,则应在 mime.types
文件中注释掉 .rb
文件的处理。 ISPConfig 将自行处理:
须藤纳米 /etc/mime.types
应用程序/x-rss+xml rss #应用程序/x-ruby rb 应用程序/x-rx
完成后保存并关闭文件。
现在,我们可以重新启动 Apache 来实现我们的更改:
sudo service apache2 restart
其他配置
我们仍然需要编辑更多的系统部分。
由于 ISPConfig 通常用于细分服务器空间以进行转售,因此通常需要为客户端提供 FTP 访问权限。 我们已经安装了必要的软件,但我们需要进行一些调整。
首先编辑 FTP 服务器的配置:
sudo nano /etc/default/pure-ftpd-common
我们需要确保我们的 FTP 用户被限制在 chroot 环境中,这样他们就不会干扰系统的其余部分。 我们可以通过将 VIRTUALCHROOT
设置更改为 true
来做到这一点:
VIRTUALCHROOT=真
由于 FTP 本质上是不安全的,我们至少应该使用 TLS 加密来保护它。 我们可以通过创建一个只包含 1
字符的标志文件来设置它:
sudo nano /etc/pure-ftpd/conf/TLS
1
现在,我们需要创建一个进程可以使用的自签名证书。 我们可以通过调用来做到这一点:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
该证书有效期为一年。 您将不得不回答一些提示。 用您的信息填写它们。 Common Name
可能是最重要的部分。
之后我们需要通过键入以下内容来锁定密钥文件:
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
当所有这些都完成后,我们可以重新启动服务:
sudo service pure-ftpd-mysql restart
这将允许我们的 FTP 守护进程使用加密。
我们在这个系统上设置 FTP 的原因之一是因为我们安装了一个名为 awstats
的监控守护程序,它被配置为预期该服务的存在。
ISPConfig 会根据需要调用 awstats
,因此它不需要依赖通常用于轮询服务器的 cron
作业。 我们可以通过键入以下内容来删除它:
sudo rm /etc/cron.d/awstats
安装 ISPConfig
我们终于准备好安装实际的 ISPConfig 软件了。
我们可以通过将最新的稳定版本下载到我们的服务器上来做到这一点。 在撰写本文时,具有直接链接的最新稳定版本是版本 3。 安装完所有内容后,我们将更新安装。
现在,您应该切换到您的主目录并使用 wget
下载项目:
cd ~ wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
下载完成后,解压目录结构,进入解压后的文件夹结构的install
子目录:
tar xzvf ISPConfig* cd ispconfig3_install/install/
现在,我们准备安装软件。 通过键入:
sudo php -q install.php
您将经历一个非常漫长的安装过程。
幸运的是,您 实际上 需要输入的唯一详细信息就是您的 MySQL 根密码! 对于其他每个条目,只需按“ENTER”即可使用默认值并向前跳过。
完成安装后,继续并通过键入以下内容更新到最新版本:
sudo php -q update.php
同样,只需按“ENTER”即可使用每个命令的默认值。
完成后,您可以通过在 Web 浏览器中访问您的域名后跟 :8080
来访问您的 ISPConfig 服务:
https:// server_domain_name :8080
由于我们使用的是自签名证书,您将收到 SSL 警告:
单击“继续”或“继续”以接受证书。
您将被带到登录屏幕。
默认用户名和密码均为 admin
:
Username: admin Password: admin
输入这些值,您将被带到 ISPConfig3 界面:
到达这里后,您应该更改 admin
用户的密码,方法是单击“系统”按钮,然后单击左侧导航菜单“用户管理”类别下的“CP 用户”链接。
单击主窗口中的 admin
用户帐户。 您可以在此页面上更改管理员用户的密码。
结论
您现在应该已经安装和配置了您的 ISPConfig 面板。 您应该能够在此界面中管理域、邮件和帐户。