介绍
虽然命令行是一个强大的工具,可以允许您在许多情况下快速,轻松地工作,但有些情况下,可视化界面是有帮助的。 如果您在一台机器上配置许多不同的服务,或为客户管理系统的一部分,就像ISPConfig工具可以使这是一个简单的任务。
ISPConfig是您的服务器的控制面板,允许您轻松配置域,电子邮件地址,站点配置和用户帐户。 我们将在Ubuntu 14.04服务器上安装面板。
先决条件
在开始之前,您应该有一个域名指向您将使用的服务器。 要了解如何与DigitalOcean配置您的域名 ,请点击此处。
您还需要具有sudo权限的非root用户。 你可以学习如何通过以下第1步-4在我们建立一个非root账户的Ubuntu 14.04服务器初始设置指南 。 以此用户身份登录即可开始。
升级系统
我们应该做的第一件事是升级基本系统。 这将确保我们系统上的软件包是最新的打包版本。
我们这样做之前,我们必须更新我们的本地软件包索引,这样apt
知道最新的包版本:
sudo apt-get update
sudo apt-get upgrade
我们的系统现在应该是最新的,我们可以继续安装的其余部分。
验证主机名配置正确
我们将首先确保我们的主机名配置正确。 在本指南中,我们将要假设,我们正在设置的域名server.test.com
和服务器的IP地址为111.111.111.111
。
我们需要验证我们的主机名配置是否正确。 我们应该看看我们的hosts文件:
sudo nano /etc/hosts
它可能看起来像这样:
127.0.0.1 localhost server.test.com server
我们希望使我们的主机名使用我们的公共IP地址。 您可以将该行拆分为两行,并将域名部分指向我们的公共IP地址:
127.0.0.1 localhost 111.111.111.111 server.test.com server
保存并在完成后关闭文件。
我们也应该修改我们的hostname
文件,以确保它包含了正确的域名,以及:
sudo nano /etc/hostname
如果未显示整个主机名,请修改值:
server.test.com
您应该通过键入以下内容确保系统使用新值:
sudo hostname -F /etc/hostname
更改系统设置
Ubuntu以非常规的方式配置了一些项目,我们需要撤消它们才能使我们的软件正常工作。
我们需要做的第一件事是禁用AppArmor,这是与ISPConfig不兼容。 首先,我们应该停止服务:
sudo service apparmor stop
我们还可以通过键入以下内容来让其卸载其配置文件:
sudo service apparmor teardown
完成后,我们需要告诉我们的服务器不要在启动时启动此服务:
sudo update-rc.d -f apparmor remove
我们实际上可以通过键入以下内容删除所有相关联的文件和包:
sudo apt-get remove apparmor
我们需要修改的另一个配置是默认系统shell。 Ubuntu使用dash
为系统进程的外壳,但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管理用户的密码。
你会得到另一个提示是,是否创建一个自签名的SSL证书dovecot
。 您应该选择“是”。 您必须输入SSL证书的“commonName”。 这只是您的完全限定域名:
server.test.com
对于postfix
,你会问你需要什么样的邮件配置。 选择Internet Site
。 然后将要求您选择系统邮件名称。 您应该将其设置为您的域名:
server.test.com
对于phpMyAdmin,软件可以根据您的Web服务器自动配置自己。 选择“apache2”,然后按“空格”选择该选项。 点击“TAB”,然后按“ENTER”进行选择。
后来,你会询问您是否希望与配置数据库的phpMyAdmin dbconfig-common
。 在这里选择“是”。 您将需要输入上面选择的MySQL管理员帐户的密码。 然后,您可以选择并确认phpMyAdmin用户的密码。
此时,应该安装所有组件。
配置后端组件
现在一切都已安装,我们需要开始配置我们的服务和工具。
邮件配置
让我们通过启用一些功能启动postfix
。 使用编辑器打开默认配置文件:
sudo nano /etc/postfix/master.cf
我们只需要取消注释此文件中的一些行。 特别是处理提交服务和下面前三个选项行的smtps服务,以及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
现在,我们需要在这两个服务下附加一个附加选项。 它将是相同的每个:
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
保存并在完成后关闭文件。
其他邮件相关的服务,我们应该配置是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 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
了解您添加的别名。 你可以通过键入:
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
LAMP配置
我们需要启用mcrypt
在PHP中的功能:
sudo php5enmod mcrypt
我们需要做的另一件事是启用我们安装的一些Apache模块。
sudo a2enmod rewrite ssl actions include cgi dav_fs suexec dav auth_digest fastcgi alias
我们还需要对一些Apache配置文件进行一些调整。
我们启用的模块之一将拦截所有的PHP文件。 我们想阻止它这样做。 打开suphp
配置文件:
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的文件。 我们可以通过键入:
sudo ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
然后,我们可以通过键入:
sudo a2enconf mailman
如果您计划创建的网站主机Ruby文件,你应该注释掉的处理.rb
文件中mime.types
文件。 ISPConfig将处理这个本身:
sudo nano /etc/mime.types
application/x-rss+xml rss #application/x-ruby rb application/x-rx
完成后保存并关闭文件。
现在,我们可以重新启动Apache来实现我们的更改:
sudo service apache2 restart
其他配置
我们还需要编辑更多的系统。
由于ISPConfig经常用于细分服务器空间以用于重新销售目的,因此通常需要为客户端提供FTP访问。 我们已经安装了必要的软件,但我们需要进行一些调整。
从编辑FTP服务器的配置开始:
sudo nano /etc/default/pure-ftpd-common
我们需要确保我们的FTP用户仅限于chroot环境,以便它们不会干扰系统的其余部分。 我们可以通过改变这样做VIRTUALCHROOT
设置为true
:
VIRTUALCHROOT=true
由于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 root密码! 对于每个其他条目,只需按“ENTER”即可使用默认值并向前跳过。
完成安装后,请输入以下命令,更新到最新版本:
sudo php -q update.php
再次,只需按“ENTER”即可使用每个命令的默认值。
当你完成,你可以访问你的域名,随后访问您的ISPConfig服务:8080
在Web浏览器:
https://server_domain_name:8080
您将收到SSL警告,因为我们使用自签名证书:
单击“继续”或“继续”接受证书。
您将进入登录屏幕。
默认的用户名和密码均为admin
:
Username: admin
Password: admin
输入这些值,您将转到ISPConfig3界面:
一旦你来到这里,你应该更改admin
通过点击“系统”按钮,然后单击下左侧导航菜单的“用户管理”类别中的“CP用户”链接用户的密码。
点击admin
在主窗口的用户帐户。 您可以选择更改此页面上admin用户的密码。
结论
您现在应该已经安装并配置了ISPConfig面板。 您应该能够在此界面中管理域,邮件和帐户。