Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
I
ISPConfig 3
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Drew Clardy
ISPConfig 3
Commits
0ca0b848
Commit
0ca0b848
authored
15 years ago
by
tbrehm
Browse files
Options
Downloads
Patches
Plain Diff
- Improved debian 5 courier installation guide.
- Fixed a problem with the automatic creation of maildir subfolders.
parent
8ba82ee0
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
docs/INSTALL_DEBIAN_5.0_courier_mydns.txt
+15
-55
15 additions, 55 deletions
docs/INSTALL_DEBIAN_5.0_courier_mydns.txt
server/plugins-available/mail_plugin.inc.php
+42
-42
42 additions, 42 deletions
server/plugins-available/mail_plugin.inc.php
with
57 additions
and
97 deletions
docs/INSTALL_DEBIAN_5.0_courier_mydns.txt
+
15
−
55
View file @
0ca0b848
...
...
@@ -14,6 +14,7 @@ Installation
# if not, then we assign a hostname (for example ispconfig):
echo ispconfig.example.com > /etc/hostname
/etc/init.d/hostname.sh
vi /etc/hosts
...
...
@@ -36,14 +37,14 @@ apt-get install ntp ntpdate
opt0.3) Optionally if you want vi editor improvement
apt-get install vim-nox
apt-get
-y
install vim-nox
# Next is the real deal
1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils with the following command line (on one line!):
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils
apt-get
-y
install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils
# Answer the questions from the package manager as follows.
...
...
@@ -74,7 +75,7 @@ to:
2) Install Amavisd-new, Spamassassin and Clamav (1 line!):
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
apt-get
-y
install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
# During the installation, the SSL certificates for IMAP-SSL and POP3-SSL are created with the hostname localhost. To change this to the correct hostname (server1.example.com in this tutorial), delete the certificates...
...
...
@@ -109,7 +110,7 @@ mkpop3dcert
3) Install apache, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt (1 line!):
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby
apt-get
-y
install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby
# When phpMyAdmin is asking weather to configure itself automatically, select "Apache2"
...
...
@@ -125,25 +126,7 @@ a2enmod suexec rewrite ssl actions include
4) Install pure-ftpd and quota
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
# Edit the file /etc/default/pure-ftpd-common to change the start mode from "inetd" to "standalone"
and set VIRTUALCHROOT=true
vi /etc/default/pure-ftpd-common
# Edit the file /etc/inetd.conf to prevent inetd from trying to start ftp.
# To do this, comment line starting like "ftp stream tcp" by adding "#"-sign in front of the line.
vi /etc/inetd.conf
# Then execute:
/etc/init.d/openbsd-inetd restart
# Some additional settings for pureftpd
echo 'yes' > /etc/pure-ftpd/conf/DontResolve
apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
# Enable TLS in pureftpd
echo 1 > /etc/pure-ftpd/conf/TLS
...
...
@@ -262,25 +245,18 @@ update-rc.d mydns defaults
apt-get install vlogger webalizer
Change the following line in /etc/webalizer/webalizer.conf from
#Incremental no
to
Incremental yes
7) Install Jailkit (optional, only needed if you want to use chrroting for SSH users)
apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.
7
.tar.gz
tar xvfz jailkit-2.
7
.tar.gz
cd jailkit-2.
7
wget http://olivier.sessink.nl/jailkit/jailkit-2.
11
.tar.gz
tar xvfz jailkit-2.
11
.tar.gz
cd jailkit-2.
11
./debian/rules binary
cd ..
dpkg -i jailkit_2.
7
-1_*.deb
rm -rf jailkit-2.
7
*
dpkg -i jailkit_2.
11
-1_*.deb
rm -rf jailkit-2.
11
*
8) Install fail2ban (optional but recomended, because the monitor tries to show the log)
More info at: http://www.howtoforge.com/fail2ban_debian_etch
...
...
@@ -289,26 +265,10 @@ apt-get install fail2ban
9) Install ISPConfig 3
# There are two possile scenarios, but not both:
9.1) Install the latest released version
9.2) Install directly from SVN
9.1) Installation of last version from tar.gz
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3.0.0.9-rc2.tar.gz
tar xvfz ISPConfig-3.0.0.9-rc2.tar.gz
cd ispconfig3_install/install/
9.2) Installation from SVN
apt-get install subversion
cd /tmp
svn export svn://svn.ispconfig.org/ispconfig3/trunk/
cd trunk/install
9.1+9.2) Now proceed with the ISPConfig installation.
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3.0.2.tar.gz
tar xvfz ISPConfig-3.0.2.tar.gz
cd ispconfig3_install/install/
# Now start the installation process by executing:
...
...
This diff is collapsed.
Click to expand it.
server/plugins-available/mail_plugin.inc.php
+
42
−
42
View file @
0ca0b848
...
...
@@ -119,27 +119,6 @@ class mail_plugin {
//exec("su -c 'maildirmake ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
]);
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Sent'
))
{
//exec("su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Sent: '."su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Sent'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Drafts'
))
{
//exec("su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Drafts: '."su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Drafts'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Trash'
))
{
//exec("su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Trash: '."su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Trash'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Junk'
))
{
//exec("su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Junk: '."su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Junk'
);
}
exec
(
'chown -R '
.
$mail_config
[
'mailuser_name'
]
.
':'
.
$mail_config
[
'mailuser_group'
]
.
' '
.
escapeshellcmd
(
$data
[
'new'
][
'maildir'
]));
$app
->
log
(
"Set ownership on "
.
escapeshellcmd
(
$data
[
'new'
][
'maildir'
]),
LOGLEVEL_DEBUG
);
...
...
@@ -150,6 +129,27 @@ class mail_plugin {
}
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Sent'
))
{
//exec("su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Sent: '."su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Sent'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Drafts'
))
{
//exec("su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Drafts: '."su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Drafts'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Trash'
))
{
//exec("su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Trash: '."su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Trash'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Junk'
))
{
//exec("su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Junk: '."su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Junk'
);
}
//* Set the maildir quota
if
(
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/new'
)
&&
$mail_config
[
'pop3_imap_daemon'
]
!=
'dovecot'
)
{
exec
(
"su -c 'maildirmake -q "
.
$data
[
'new'
][
'quota'
]
.
"S "
.
escapeshellcmd
(
$data
[
'new'
][
'maildir'
])
.
"' "
.
$mail_config
[
'mailuser_name'
]);
...
...
@@ -207,27 +207,6 @@ class mail_plugin {
//$app->log("Created Maildir "."su -c 'maildirmake ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
]);
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Sent'
))
{
//exec("su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Sent: '."su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Sent'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Drafts'
))
{
//exec("su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Drafts: '."su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Drafts'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Trash'
))
{
//exec("su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Trash: '."su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Trash'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Junk'
))
{
//exec("su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Junk: '."su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Junk'
);
}
exec
(
'chown -R '
.
$mail_config
[
'mailuser_name'
]
.
':'
.
$mail_config
[
'mailuser_group'
]
.
' '
.
escapeshellcmd
(
$data
[
'new'
][
'maildir'
]));
$app
->
log
(
"Set ownership on "
.
escapeshellcmd
(
$data
[
'new'
][
'maildir'
]),
LOGLEVEL_DEBUG
);
//* This is to fix the maildrop quota not being rebuilt after the quota is changed.
...
...
@@ -237,6 +216,27 @@ class mail_plugin {
}
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Sent'
))
{
//exec("su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Sent: '."su -c 'maildirmake -f Sent ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Sent'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Drafts'
))
{
//exec("su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Drafts: '."su -c 'maildirmake -f Drafts ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Drafts'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Trash'
))
{
//exec("su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Trash: '."su -c 'maildirmake -f Trash ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Trash'
);
}
if
(
!
is_dir
(
$data
[
'new'
][
'maildir'
]
.
'/.Junk'
))
{
//exec("su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
//$app->log('Created submaildir Junk: '."su -c 'maildirmake -f Junk ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
$app
->
system
->
maildirmake
(
$maildomain_path
,
$mail_config
[
'mailuser_name'
],
'Junk'
);
}
// Move mailbox, if domain has changed and delete old mailbox
if
(
$data
[
'new'
][
'maildir'
]
!=
$data
[
'old'
][
'maildir'
]
&&
is_dir
(
$data
[
'old'
][
'maildir'
]))
{
if
(
is_dir
(
$data
[
'new'
][
'maildir'
]))
{
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment