# aptitude install mysql-server apache2 php5-cgi php5-cli php5-gd php5-mysql \ vsftpd phpmyadmin libapache2-mod-php5 php5-mcrypt vim screen php-xml-parser \ php-xml-serializer php-xml-util php5-xmlrpc # mysqladmin -u root password FlolsIrwobyav3 # cat > /etc/apache2/sites-enabled/site.com ServerAdmin webmaster@site.com ServerName site.com ServerAlias www.site.com DocumentRoot /var/www/site.com Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/site.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/site.com-access.log combined ServerSignature On # useradd -d /var/www/site.com siteftp # vim /etc/vsftpd.conf #anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES # /etc/init.d/vsftpd restart # passwd siteftp # mkdir /var/www/site.com # chown siteftp /var/www/site.com # apache2ctl restart # vipw меняем шелл юзера siteftp на /bin/false # echo "/bin/false" >> /etc/shells # aptitude install postfix-mysql postfix # aptitude install dovecot-common dovecot-imapd dovecot-pop3d # wget http://downloads.sourceforge.net/postfixadmin/postfixadmin_2.2.1.1_all.deb?modtime=1216813942&big_mirror=0 # dpkg -i postfixadmin_2.2.1.1_all.deb # apachectl restart # cat >> /etc/postfix/main.cf # Virtual mailbox settings virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf virtual_mailbox_base = /var/vmail virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf virtual_minimum_uid = 150 virtual_uid_maps = static:150 virtual_gid_maps = static:8 virtual_transport = dovecot dovecot_destination_recipient_limit = 1 message_size_limit = 10485760 local_recipient_maps = $virtual_alias_maps $virual_mailbox_domains # Timeouts smtpd_timeout = 120s smtp_helo_timeout = 60s smtp_mail_timeout = 60s smtp_rcpt_timeout = 90s # Virtual mailbox settings virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf virtual_mailbox_base = /var/vmail virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf virtual_minimum_uid = 150 virtual_uid_maps = static:150 virtual_gid_maps = static:8 virtual_transport = dovecot dovecot_destination_recipient_limit = 1 # SASL Authentication smtpd_sasl_auth_enable = yes smtpd_sasl_exceptions_networks = $mynetworks smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination reject_unauth_destination=yes # cat mysql_virtual_alias_maps.cf hosts = localhost user = postfixadmin password = 2568106e4f23ca19764dd2f6c657c079 dbname = postfix query = SELECT goto FROM alias WHERE address='%s' AND active='1' # cat mysql_virtual_domains_maps.cf user = postfixadmin password = 2568106e4f23ca19764dd2f6c657c079 hosts = localhost dbname = postfix table = domain query = SELECT domain FROM domain WHERE domain='%s' AND backupmx ='0' AND active ='1' # cat mysql_virtual_mailbox_maps.cf user = postfixadmin password = 2568106e4f23ca19764dd2f6c657c079 hosts = localhost dbname = postfix query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active='1' mysql> create database postfix; Query OK, 1 row affected (0.40 sec) mysql> grant all privileges on postfix.* to 'postfixadmin'@localhost identified by '2568106e4f23ca19764dd2f6c657c079'; Query OK, 0 rows affected (0.04 sec) mysql> # cat > /etc/dovecot/dovecot.conf base_dir = /var/run/dovecot/ protocols = imap pop3 protocol imap { listen = *:143 } protocol pop3 { listen = *:110 } disable_plaintext_auth = no log_timestamp = "%Y-%m-%d %H:%M:%S " syslog_facility = mail mail_location = maildir:/var/vmail/%d/%u mail_extra_groups = mail mail_debug = no first_valid_uid = 150 last_valid_uid = 150 maildir_copy_with_hardlinks = yes mail_privileged_group = mail protocol imap { login_executable = /usr/lib/dovecot/imap-login mail_executable = /usr/lib/dovecot/imap imap_max_line_length = 65536 } protocol pop3 { login_executable = /usr/lib/dovecot/pop3-login mail_executable = /usr/lib/dovecot/pop3 pop3_uidl_format = %08Xu%08Xv } protocol lda { postmaster_address = root@localhost sendmail_path = /usr/lib/sendmail auth_socket_path = /var/run/dovecot/auth-master } auth_verbose = no auth_debug = no auth_debug_passwords = no auth default { mechanisms = plain login passdb pam { } passdb sql { args =/etc/dovecot/dovecot-sql.conf } userdb passwd { } userdb sql { args =/etc/dovecot/dovecot-sql.conf } user = nobody socket listen { master { path = /var/run/dovecot/auth-master mode = 0660 user = vmail group = vmail } client { path = /var/spool/postfix/private/auth mode = 0660 user=postfix group=postfix } } } dict { } plugin { } # cat > /etc/dovecot/dovecot-sql.conf driver = mysql connect = host=localhost dbname=postfix user=postfixadmin password=2568106e4f23ca19764dd2f6c657c079 default_pass_scheme = MD5 password_query = SELECT username, password FROM mailbox WHERE username = '%n@%d' user_query = SELECT maildir, 150 AS uid, 150 AS gid FROM mailbox WHERE username = '%n@%d' # cat >> /etc/postfix/master.cf # Local mail dovecot unix - n n - - pipe flags=DRhu user=vmail argv=/usr/lib/dovecot/deliver -d ${recipient} # useradd -d /var/vmail -u 150 vmail # mkdir /var/vmail # chown vmail:vmail /var/vmail # chown -R vmail /etc/dovecot/ # /etc/init.d/dovecot start # /etc/init.d/postfix restart # aptitude install php5-imap # apache2ctl restart # vim /etc/postfixadmin/config.inc.php http://site.com/postfixadmin/setup.php # rm /usr/share/postfixadmin/setup.php
Warning: Cannot modify header information - headers already sent by (output started at /var/www/thesuki.org/dokuwiki/inc/Action/Export.php:106) in /var/www/thesuki.org/dokuwiki/inc/actions.php on line 38
vps:tutby [SukuDokuWiki]

User Tools

Site Tools


vps:tutby
# aptitude install mysql-server apache2 php5-cgi php5-cli php5-gd php5-mysql \
vsftpd phpmyadmin libapache2-mod-php5 php5-mcrypt vim screen php-xml-parser \
php-xml-serializer php-xml-util php5-xmlrpc

# mysqladmin -u root password FlolsIrwobyav3

# cat > /etc/apache2/sites-enabled/site.com

<VirtualHost *>
        ServerAdmin webmaster@site.com
        ServerName site.com
        ServerAlias www.site.com
        DocumentRoot /var/www/site.com
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/site.com>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/site.com-error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/site.com-access.log combined
        ServerSignature On
</VirtualHost>

# useradd -d /var/www/site.com siteftp

# vim /etc/vsftpd.conf

   #anonymous_enable=YES
   local_enable=YES
   write_enable=YES
   local_umask=022
   chroot_local_user=YES

# /etc/init.d/vsftpd restart

# passwd siteftp
# mkdir /var/www/site.com
# chown siteftp /var/www/site.com
# apache2ctl restart
# vipw
меняем шелл юзера siteftp на /bin/false
# echo "/bin/false" >> /etc/shells

# aptitude install postfix-mysql postfix
# aptitude install dovecot-common dovecot-imapd dovecot-pop3d
# wget http://downloads.sourceforge.net/postfixadmin/postfixadmin_2.2.1.1_all.deb?modtime=1216813942&big_mirror=0
# dpkg -i postfixadmin_2.2.1.1_all.deb
# apachectl restart

# cat » /etc/postfix/main.cf

# Virtual mailbox settings
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

message_size_limit = 10485760
local_recipient_maps = $virtual_alias_maps $virual_mailbox_domains

# Timeouts
smtpd_timeout = 120s
smtp_helo_timeout = 60s
smtp_mail_timeout = 60s
smtp_rcpt_timeout = 90s


# Virtual mailbox settings
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
# SASL Authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

reject_unauth_destination=yes

# cat mysql_virtual_alias_maps.cf

hosts = localhost
user = postfixadmin
password = 2568106e4f23ca19764dd2f6c657c079
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active='1'

# cat mysql_virtual_domains_maps.cf

user = postfixadmin
password = 2568106e4f23ca19764dd2f6c657c079
hosts = localhost
dbname = postfix
table = domain
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx ='0' AND active ='1'

# cat mysql_virtual_mailbox_maps.cf

user = postfixadmin
password = 2568106e4f23ca19764dd2f6c657c079
hosts = localhost
dbname = postfix
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active='1'
mysql> create database postfix;
Query OK, 1 row affected (0.40 sec)

mysql> grant all privileges on postfix.* to 'postfixadmin'@localhost identified by '2568106e4f23ca19764dd2f6c657c079';
Query OK, 0 rows affected (0.04 sec)

mysql>                                                                                                                        

# cat > /etc/dovecot/dovecot.conf

base_dir = /var/run/dovecot/

protocols = imap pop3

   protocol imap {
     listen = *:143
   }
   protocol pop3 {
     listen = *:110
   }

disable_plaintext_auth = no

log_timestamp = "%Y-%m-%d %H:%M:%S "

syslog_facility = mail

mail_location = maildir:/var/vmail/%d/%u
mail_extra_groups = mail
mail_debug = no
first_valid_uid = 150
last_valid_uid = 150
maildir_copy_with_hardlinks = yes

mail_privileged_group = mail

protocol imap {
  login_executable = /usr/lib/dovecot/imap-login

  mail_executable = /usr/lib/dovecot/imap

  imap_max_line_length = 65536

}


protocol pop3 {
  login_executable = /usr/lib/dovecot/pop3-login

  mail_executable = /usr/lib/dovecot/pop3

  pop3_uidl_format = %08Xu%08Xv

}

 protocol lda {
   postmaster_address = root@localhost

  sendmail_path = /usr/lib/sendmail

  auth_socket_path = /var/run/dovecot/auth-master

}

auth_verbose = no

auth_debug = no

auth_debug_passwords = no

auth default {
  mechanisms = plain login

  passdb pam {
  }

  passdb sql {
    args =/etc/dovecot/dovecot-sql.conf
  }

  userdb passwd {
  }

  userdb sql {
    args =/etc/dovecot/dovecot-sql.conf
  }

  user = nobody

  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0660
      user = vmail
      group = vmail
    }
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user=postfix
      group=postfix
    }
  }

}

dict {
}

plugin {

}

# cat > /etc/dovecot/dovecot-sql.conf

driver = mysql
connect = host=localhost dbname=postfix user=postfixadmin password=2568106e4f23ca19764dd2f6c657c079
default_pass_scheme = MD5

password_query = SELECT username, password FROM mailbox WHERE username = '%n@%d'
user_query = SELECT maildir, 150 AS uid, 150 AS gid FROM mailbox WHERE username = '%n@%d'

# cat » /etc/postfix/master.cf

# Local mail
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
# useradd -d /var/vmail -u 150  vmail
# mkdir /var/vmail
# chown vmail:vmail /var/vmail
# chown -R vmail /etc/dovecot/
# /etc/init.d/dovecot start
# /etc/init.d/postfix restart
# aptitude install  php5-imap     
# apache2ctl restart
# vim /etc/postfixadmin/config.inc.php

http://site.com/postfixadmin/setup.php

# rm /usr/share/postfixadmin/setup.php

vps/tutby.txt · Last modified: 2008/09/16 07:26 (external edit)