参考阅读:ISPConfig 3.1在Ubuntu 16简单安装步骤【推荐阅读】
首先声明一点:ECS是阿里云的产品,在购买ECS选择了Ubuntu 18,它的软件源默认使用的阿里云。为什么要提Ubuntu的软件源配置。因为默认情况下,ubuntu软件更新源是用的国外地址!在接下来命令操作软件安装时会非常慢!所以Ubuntu的软件源我们需要使用国内的节点。
更新Ubuntu操作系统软件源,参考阅读:使用U盘启动项在另一个15GU盘上安装操作系统Ubuntu18.04.1,该教程部分内容提到如何更新Ubuntu操作系统软件源。
因为购买的是阿里云的ECS省去了我们自己去修改Ubuntu操作系统的软件源,但是接下来 2 个步骤,几乎我们在Ubuntu上装任何软件都需要操作:
1、在终端上执行以下命令更新软件列表,检测出可以更新的软件:
sudo apt-get update
2、最后在终端上执行以下命令进行软件更新:
sudo apt-get upgrade
以上两个步骤不可以省,省去可能在安装ISP config的某一个步骤卡住!!!
下面开始安装ISP config主步骤:
一键安装配置脚本:ispconfig_setup,它可以引导你轻松安装所有需要的软件包。
- ispconfig_setup源代码:https://github.com/servisys/ispconfig_setup
ispconfig_setup目前支持:Debian 7/8、Ubuntu 14.10、Ubuntu 15.10、Ubuntu 16、Ubuntu 18、CentOS 7。
我使用全新安装的Ubuntu 18为例。
首先,我们先切换到/tem文件夹下,然后git下载ispconfig_setup:(注意,当您git下载时,可能提示你目前没有git工具,需要安装,并且提供安装命令!你照做就OK!)
cd /tmp
git clone https://github.com/servisys/ispconfig_setup
接下来,我们运行git下载下来的ISPConfig安装脚本: (依次执行下面两个命令)
cd ispconfig_setup
$ sudo ./install.sh
以上命令执行后, ISPConfig 开始进行配置:
配置一:
提示:Would you like to update the hostname for this system? (recommended) (y/n) ,我们输入“y”,然后输入一个域名,我输入:isp.tkwlkj.com,回车,执行!
配置二:
提示:Installing for this Linux Distribution: ubuntu-18.04,Is this correct? (y/n) ,我们输入“y”。让你确认一下系统。
配置三:开始进入如下界面的选择,一路默认即可!
3.1 安装一个数据库,有3个可供选择:
3.2 安装Mysql之前,需要输入管理员账号Root的密码:
3.3 选择安装web server,此处有两个可供选择:
输入国家,默认是US,我们填“zh”。
输入以上配置以后,我们就等着系统默认安装了:
以上步骤安装完成以后,会提示一条警告:
===========================================================================================
Attention: When asked 'Configure database for phpmyadmin with dbconfig-common?' select 'NO'
Due to a bug in dbconfig-common, this can't be automated.
===========================================================================================
这条警告,主要表达的意思是接下来会有一个步骤让您选择’Configure database for phpmyadmin with dbconfig-common?’,你要选“NO”,因为由于程序bug,只能先选“NO”
继续默认安装……….
安装完成之后,弹出以下完成安装完成界面:(界面上包含登录控制面板的信息,以及登录账户和密码)
安装完成,我们来登录一下试试是否安装成功,在浏览器输入:http://isp.tkwlkj.com/,得到一个结果如下:
以上为什么不是“登录界面”呢???不急,再输入加密的域名:https://isp.tkwlkj.com/ ,你将看到ISPconfig的登录界面!!!
以下是配置命令生成的安装(部分):
The hostname is: iZ28zt0adstZ.
Warning: Hostname is not a valid fully qualified domain name (FQDN).
The IP address is: 10.80.139.98.
Warning: If this system is connected to a router and/or behind a NAT, please be sure that the
private (internal) IP address is static before continuing. For routers, static internal IP addresses
are usually assigned via DHCP reservation. See your routers user guide for more info… You will also need
to forward some ports depending on what software you choose to install:
TCP Ports
20 - FTP
21 - FTP
22 - SSH/SFTP
25 - Mail (SMTP)
53 - DNS
80 - Web (HTTP)
110 - Mail (POP3)
143 - Mail (IMAP)
443 - Web (HTTPS)
465 - Mail (SMTPS)
587 - Mail (SMTP)
993 - Mail (IMAPS)
995 - Mail (POP3S)
3306 - Database
5222 - Chat (XMPP)
8080 - ISPConfig
8081 - ISPConfig
10000 - ISPConfig
UDP Ports
53 - DNS
3306 - Database
Would you like to update the hostname for this system? (recommended) (y/n) y
Please enter a fully qualified domain name (FQDN) (e.g. iZ28zt0adstZ.example.com): isp.tkwlkj.com
Welcome to ISPConfig Setup Script v.3.0.3.1
This software is developed by Temporini Matteo
with the support of the community.
You can visit my website at the followings URLs
http://www.servisys.it http://www.temporini.net
and contact me with the following information
contact email/Hangouts: [email protected]
Skype: matteo.temporini
=========================================
ISPConfig 3 System installer
=========================================
This script will do a nearly unattended installation of
all software needed to run ISPConfig 3.
When this script starts running, it will keep going all the way
So, before you continue, please make sure the following checklist is ok:
- This is a clean standard clean installation for supported systems
- Internet connection is working properly
The detected Linux Distribution is: Ubuntu 18.04.2 LTS
Related Linux Distributions: debian
Processor (CPU): Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
CPU Cores: 1
Architecture: x86_64 (64-bit)
Total memory (RAM): 985 MiB (1,033 MB)
Total swap space: 947 MiB (993 MB)
Graphics Processor (GPU): Cirrus Logic GD 5446
Computer name: iZ28zt0adstZ
Hostname: isp.tkwlkj.com
IPv4 addresses: 10.80.139.98 120.27.52.34
Time zone: Asia/Shanghai (CST, +0800)
The system is configured to read the RTC time in the local time zone.
Virtual Machine (VM) hypervisor: kvm
Installing for this Linux Distribution: ubuntu-18.04
Is this correct? (y/n) y
Preparing to install... [DONE]
Updating apt package database and upgrading currently installed packages... [DONE]
Installing basic packages (OpenSSH server, NTP, binutils, etc.)... [DONE]
Stopping AppArmor... [DONE]
Disabling AppArmor... [DONE]
Removing AppArmor... [DONE]
Changing the default shell from dash to bash... [DONE]
Installing Database server (MySQL)... [DONE]
Restarting MySQL... [DONE]
Installing Web server (Apache) and modules... [DONE]
Installing PHP and modules... [DONE]
Installing Opcache and APCu... [DONE]
Installing PHP-FPM... [DONE]
Installing needed programs for PHP and Apache (mcrypt, etc.)... [DONE]
===========================================================================================
Attention: When asked 'Configure database for phpmyadmin with dbconfig-common?' select 'NO'
Due to a bug in dbconfig-common, this can't be automated.
===========================================================================================
Press ENTER to continue...
Installing phpMyAdmin... Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
dbconfig-common dbconfig-mysql libjs-sphinxdoc libjs-underscore php-bz2
php-phpseclib php-tcpdf php7.2-bz2
Suggested packages:
php-libsodium php-mcrypt php-gmp www-browser
The following NEW packages will be installed:
dbconfig-common dbconfig-mysql libjs-sphinxdoc libjs-underscore php-bz2
php-phpseclib php-tcpdf php7.2-bz2 phpmyadmin
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.6 MB of archives.
After this operation, 48.5 MB of additional disk space will be used.
Get:1 http://mirrors.aliyuncs.com/ubuntu bionic/main amd64 dbconfig-common all 2.0.9 [601 kB]
Get:2 http://mirrors.aliyuncs.com/ubuntu bionic/universe amd64 dbconfig-mysql all 2.0.9 [1,038 B]
Get:3 http://mirrors.aliyuncs.com/ubuntu bionic/main amd64 libjs-underscore all 1.8.3~dfsg-1 [59.9 kB]
Get:4 http://mirrors.aliyuncs.com/ubuntu bionic/main amd64 libjs-sphinxdoc all 1.6.7-1ubuntu1 [85.6 kB]
Get:5 http://mirrors.aliyuncs.com/ubuntu bionic-security/universe amd64 php7.2-bz2 amd64 7.2.19-0ubuntu0.18.04.1 [10.2 kB]
Get:6 http://mirrors.aliyuncs.com/ubuntu bionic/universe amd64 php-bz2 all 1:7.2+60ubuntu1 [2,004 B]
Get:7 http://mirrors.aliyuncs.com/ubuntu bionic/universe amd64 php-phpseclib all 2.0.9-1 [176 kB]
Get:8 http://mirrors.aliyuncs.com/ubuntu bionic/universe amd64 php-tcpdf all 6.2.13+dfsg-1ubuntu1 [7,791 kB]
Get:9 http://mirrors.aliyuncs.com/ubuntu bionic/universe amd64 phpmyadmin all 4:4.6.6-5 [3,861 kB]
Preconfiguring packages ...
Fetched 12.6 MB in 1s (23.1 MB/s)
Selecting previously unselected package dbconfig-common.
(Reading database ... 119309 files and directories currently installed.)
Preparing to unpack .../0-dbconfig-common_2.0.9_all.deb ...
Unpacking dbconfig-common (2.0.9) ...
Selecting previously unselected package dbconfig-mysql.
Preparing to unpack .../1-dbconfig-mysql_2.0.9_all.deb ...
Unpacking dbconfig-mysql (2.0.9) ...
Selecting previously unselected package libjs-underscore.
Preparing to unpack .../2-libjs-underscore_1.8.3~dfsg-1_all.deb ...
Unpacking libjs-underscore (1.8.3~dfsg-1) ...
Selecting previously unselected package libjs-sphinxdoc.
Preparing to unpack .../3-libjs-sphinxdoc_1.6.7-1ubuntu1_all.deb ...
Unpacking libjs-sphinxdoc (1.6.7-1ubuntu1) ...
Selecting previously unselected package php7.2-bz2.
Preparing to unpack .../4-php7.2-bz2_7.2.19-0ubuntu0.18.04.1_amd64.deb ...
Unpacking php7.2-bz2 (7.2.19-0ubuntu0.18.04.1) ...
Selecting previously unselected package php-bz2.
Preparing to unpack .../5-php-bz2_1%3a7.2+60ubuntu1_all.deb ...
Unpacking php-bz2 (1:7.2+60ubuntu1) ...
Selecting previously unselected package php-phpseclib.
Preparing to unpack .../6-php-phpseclib_2.0.9-1_all.deb ...
Unpacking php-phpseclib (2.0.9-1) ...
Selecting previously unselected package php-tcpdf.
Preparing to unpack .../7-php-tcpdf_6.2.13+dfsg-1ubuntu1_all.deb ...
Unpacking php-tcpdf (6.2.13+dfsg-1ubuntu1) ...
Selecting previously unselected package phpmyadmin.
Preparing to unpack .../8-phpmyadmin_4%3a4.6.6-5_all.deb ...
Unpacking phpmyadmin (4:4.6.6-5) ...
Setting up php-tcpdf (6.2.13+dfsg-1ubuntu1) ...
Setting up php-phpseclib (2.0.9-1) ...
Setting up libjs-underscore (1.8.3~dfsg-1) ...
Setting up libjs-sphinxdoc (1.6.7-1ubuntu1) ...
Setting up php7.2-bz2 (7.2.19-0ubuntu0.18.04.1) ...
Creating config file /etc/php/7.2/mods-available/bz2.ini with new version
Setting up dbconfig-common (2.0.9) ...
Creating config file /etc/dbconfig-common/config with new version
Setting up dbconfig-mysql (2.0.9) ...
Setting up php-bz2 (1:7.2+60ubuntu1) ...
Setting up phpmyadmin (4:4.6.6-5) ...
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf
Creating config file /etc/dbconfig-common/phpmyadmin.conf with new version
Creating config file /etc/phpmyadmin/config-db.php with new version
dbconfig-common: flushing administrative password
apache2_invoke: Enable configuration phpmyadmin
Processing triggers for libapache2-mod-php7.2 (7.2.19-0ubuntu0.18.04.1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for php7.2-fpm (7.2.19-0ubuntu0.18.04.1) ...
NOTICE: Not enabling PHP 7.2 FPM by default.
NOTICE: To enable PHP 7.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
[DONE]
Activating Apache modules... [DONE]
Restarting Apache... [DONE]
Installing Let's Encrypt (letsencrypt)... [DONE]
Installing FTP server (Pure-FTPd)... Can't load /root/.rnd into RNG
140514115330496:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/root/.rnd
Generating a RSA private key
.......................+++++
..........................................................................+++++
writing new private key to '/etc/ssl/private/pure-ftpd.pem'
-----
[DONE]
Restarting Pure-FTPd... [DONE]
Installing Quota... [DONE]
Initializing Quota, this may take awhile... quotacheck: Scanning /dev/vda1 [/] quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Checked 20401 directories and 114542 files
quotacheck: Old file not found.
quotacheck: Old file not found.
done
/dev/vda1 [/]: group quotas turned on
/dev/vda1 [/]: user quotas turned on
[DONE]
Installing Jailkit... [DONE]
Installing Webmail client (Roundcube)... [DONE]
Restarting Apache... [DONE]
Installing SMTP Mail server (Postfix)... [DONE]
Restarting Postfix... [DONE]
Installing POP3/IMAP Mail server (Dovecot) and Mail signing (OpenDKIM, OpenDMARC)... [DONE]
Installing Antivirus utilities (Amavisd-new, ClamAV), Spam filtering (SpamAssassin), Greylisting (Postgrey) and Rootkit detection (rkhunter)... (This may take awhile. Do not abort...) [DONE]
Stopping SpamAssassin... [DONE]
Disabling SpamAssassin... [DONE]
Applying patch for Amavisd-new... patching file amavisd-new
Hunk #2 succeeded at 34363 (offset 1 line).
[DONE]
Updating Freshclam Antivirus Database. Please Wait... ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: /var/log/clamav/freshclam.log is locked by another process
[DONE]
Restarting ClamAV... [DONE]
Installing DNS server (Bind)... [DONE]
Installing Statistics (Vlogger, Webalizer and AWStats)... [DONE]
Installing Intrusion protection (Fail2Ban)... [DONE]
Installing Firewall (UFW)... [DONE]
Restarting Fail2Ban... [DONE]
Installing ISPConfig3...
Create INI file
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Initial configuration
Operating System: Ubuntu 18.04.2 LTS (Bionic Beaver)
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in "quit" (without the quotes) to stop the installer.
Configuring Postgrey
Configuring Postfix
Can't load /root/.rnd into RNG
139842755387840:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/root/.rnd
Generating a RSA private key
........................................................++++
............................................................++++
writing new private key to 'smtpd.key'
-----
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Jailkit
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring vlogger
Configuring Ubuntu Firewall
Configuring Fail2ban
Configuring Apps vhost
Installing ISPConfig
Generating RSA private key, 4096 bit long modulus (2 primes)
..............................................................................++++
................++++
e is 65537 (0x010001)
Can't load /root/.rnd into RNG
139690664460736:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/root/.rnd
Can't load /root/.rnd into RNG
139863431332288:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/root/.rnd
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.
Restarting Apache... Restarting apache2 (via systemctl): apache2.service.
[DONE]
Well done! ISPConfig installed and configured correctly :D 😃
Now you can access to your ISPConfig installation at: https://isp.tkwlkj.com:8080 or https://10.80.139.98:8080
The default ISPConfig Username is: admin
and the Password is: admin
Warning: This is a security risk. Please change the default password after your first login.
You will need to edit the username and password in /var/lib/roundcube/plugins/ispconfig3_account/config/config.inc.php of the roundcube user, as the one you set in ISPconfig
You can visit the GitHub repository at: https://github.com/servisys/ispconfig_setup/
If you need support or have questions, ask here: https://www.howtoforge.com/community/#ispconfig-3.23
Please report any errors or issues with this auto installer script at: https://github.com/servisys/ispconfig_setup/issues and with ISPConfig at: https://git.ispconfig.org/ispconfig/ispconfig3/issues