介绍
虽然命令行是一个强大的工具,可以允许您在许多情况下快速,轻松地工作,但有些情况下,可视化界面是有帮助的。 如果您在一台机器上配置许多不同的服务,或为客户管理系统的一部分,就像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 localhost111.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: rootmailman: "|/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 rbapplication/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/
.........................................................