Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:grundkonfiguration

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
linux:grundkonfiguration [2007-07-29 10:58]
stefan
linux:grundkonfiguration [2012-07-27 23:07]
127.0.0.1 Externe Bearbeitung
Zeile 1: Zeile 1:
-====== ​Postfix mit MySQL-Unterstützung ​====== +====== ​Grundkonfiguration des Systems ​====== 
-  * Pakete ​installieren (MySQL und Postfix) +===== Verschiedenes ​===== 
-    * <code bash>​apt-get ​install mysql-client-5.0 mysql-server-5.0 +  * Alle Pakete ​updaten 
-apt-get ​install postfix postfix-mysql postfix-tls sasl2-bin libsasl2 libsasl2-modules courier-maildrop courier-authdaemon courier-authlib-mysql</​code>​ +    * <code bash>​apt-get ​update 
-  * Benutzer und Gruppe ​''​vmail''​ anlegen ​(UID/GID 1500) +apt-get --o APT::Force-LoopBreak=true upgrade</​code>​ 
-    * Home-Verzeichnis erstellen: ​<code bash>mkdir /​home/​vmail +  * ''​~/bin''​ anlegen ​für eigene Scripts 
-chown vmail.vmail /​home/​vmail +  * Nützliche Pakete ​ 
-chmod 0700 /home/vmail</​code>​ +    * <code bash>apt-get install bzip2 unzip less patch traceroute ssh vim locate dnsutils host telnet lynx wget make</​code>​ 
-  * Zertifikate etc. von alter Installation kopieren oder neu erstellen +  * Zeiten für automatische Scripts in ''​/etc/crontab''​ anpassen
-    * smtpd.cert, smtpd.key, ​/etc/courier/* +
-  * repair_postfix +
-  * chmod u+s maildrop +
-  * maildrop script anlegen maildroprc +
-  * /​etc/​courier ​  +
-  * chown vmail maildrop.log ​  +
-  * apt-get install courier-pop courier-pop-ssl courier-imap courier-imap-ssl +
-  * repair_smtp beim systemstart  ​+
  
 +===== ~/.bashrc =====
 +<code bash>​export PS1='​\u:​\w\$ ' ​                # Prompt anpassen
 +export PATH=${PATH}:​~/​bin ​            # eigene Scripts in den PATH
  
-===== Konfigurationsdateien ===== +umask 022
-==== main.cf ==== +
-<​code>​myorigin ​                       = /​etc/​mailname +
-myhostname ​                     = v2429.v-server.info +
-mydestination ​                  = localhost.localdomain,​ v2429.v-server.info,​ localhost.v-server.info,​ localhost +
-mynetworks ​                     = 127.0.0.0/​8,​85.119.152.89/​32 +
-virtual_alias_domains ​          = +
-virtual_alias_maps ​             = mysql:/​etc/​postfix/​mysql-virtual_forwardings.cf +
-                                  mysql:/​etc/​postfix/​mysql-virtual_email2email.cf +
-virtual_mailbox_domains ​        = mysql:/​etc/​postfix/​mysql-virtual_domains.cf +
-virtual_mailbox_maps ​           = mysql:/​etc/​postfix/​mysql-virtual_mailboxes.cf +
-virtual_mailbox_base ​           = /​home/​vmail +
-virtual_uid_maps ​               = static:​1500 +
-virtual_gid_maps ​               = static:1500+
  
-alias_maps ​                     ​hash:/​etc/​aliases +export LS_OPTIONS='​--color=auto' ​     # '​ls'​ Ausgabe farbig machen 
-alias_database ​                 ​hash:/​etc/​aliases +eval "`dircolors`
-relayhost ​                      = +alias ls='ls $LS_OPTIONS'​ 
-mailbox_command ​                = procmail -a "$EXTENSION+alias ll='ls $LS_OPTIONS -l' 
-mailbox_size_limit ​             ​0 +alias l='ls $LS_OPTIONS -lA'
-message_size_limit ​             ​20480000 +
-recipient_delimiter ​            +
-inet_interfaces ​                = all +
-inet_protocols ​                 = ipv4+
  
-smtpd_banner ​                   ​$myhostname ESMTP $mail_name (Debian/​GNU) +alias vi='​vim' ​                       # immer vim nutzen 
-biff                            ​no+alias cdsrc='cd /​usr/​local/​src'​
  
-# appending .domain is the MUA's job. +bash -c "echo -ne '\033]0;​`hostname`\007'"​ # send hostname to PuTTY</​code>​
-append_dot_mydomain ​            = no+
  
-# TLS parameters +===== Vim ===== 
-smtpd_use_tls ​                  yes +==== ~/.vimrc ==== 
-smtpd_tls_cert_file ​            = /etc/​postfix/​smtpd.cert +<​code>​set wrap 
-smtpd_tls_key_file ​             ​/​etc/​postfix/​smtpd.key +set tabstop=4 
-smtpd_enforce_tls ​              no +set shiftwidth=4 
-smtpd_tls_auth_only ​            yes +set expandtab 
-smtpd_tls_session_cache_databasebtree:​${queue_directory}/​smtpd_scache +set autoindent 
-smtp_tls_session_cache_database ​btree:​${queue_directory}/smtp_scache+set wildchar=<Tab> 
 +set nonumber 
 +set foldmethod=marker 
 +set hidden 
 +set wmh=
 +filetype on</code>
  
 +==== /​etc/​vim/​vimrc ====
 +<​code>"​ This line should not be removed as it ensures that various options are
 +" properly set to work with the Vim-related packages available in Debian.
 +runtime! debian.vim
  
-# restrictions +syntax on
-smtpd_helo_required ​            = yes +
-disable_vrfy_command ​           = yes +
-smtpd_etrn_restrictions ​        = reject +
-show_user_unknown_table_name ​   = no+
  
-default_rbl_reply ​              = $rbl_code RBLTRAP: Your server is listed ​on a blacklist...+set autoindent ​        "​ always set autoindenting ​on 
 +set textwidth=0 ​       " Don't wrap words by default 
 +set nobackup ​          "​ Don't keep a backup file 
 +set viminfo='​20,​\"​50 ​  "​ read/​write ​a .viminfo file, don't store more than 50 lines of registers 
 +set history=50 ​        "​ keep 50 lines of command line history 
 +set ruler              " show the cursor position all the time 
 +set nopaste 
 +set pastetoggle=<​F2>​
  
-smtpd_client_restrictions ​      =+" Suffixes that get lower priority when doing tab completion for filenames. 
 +" These are files we are not likely to want to edit or read. 
 +set suffixes=.bak,​~,​.swp,​.o,​.info,​.aux,​.log,​.dvi,​.bbl,​.blg,​.brf,​.cb,​.ind,​.idx,​.ilg,​.inx,​.out,​.toc
  
-smtpd_helo_restrictions ​        = reject_invalid_hostname,​ +" If using a dark background within the editing area and syntax highlighting 
-                                  #​reject_non_fqdn_hostname +" turn on this option as well 
-                                  #​reject_unknown_hostname+set background=dark
  
-smtpd_sender_restrictions ​      reject_non_fqdn_sender,​ +" Uncomment the following to have Vim jump to the last position when 
-                                  # reject_rbl_client relays.ordb.org,​ +" reopening a file 
-                                  # reject_unknown_sender_domain+if has("​autocmd"​) 
 +  au BufReadPost * if line("'​\""​) > 0 && line("'​\""​) <line("​$"​) 
 +    \| exe "​normal g'​\""​ | endif 
 +endif
  
-smtpd_recipient_restrictions ​   = permit_mynetworks,​ +" Uncomment the following to have Vim load indentation rules according to the 
-                                  ​permit_sasl_authenticated,​ +" detected filetype. Per default Debian Vim only load filetype specific 
-                                  ​reject_unauth_destination,​ +" plugins. 
-                                  ​reject_non_fqdn_recipient,​ +if has("​autocmd"​) 
-                                  ​reject_unknown_recipient_domain+  ​filetype plugin on 
 +  filetype indent on 
 +endif
  
-smtpd_data_restrictions ​        = reject_unauth_pipelining+" The following are commented out as they cause vim to behave a lot 
 +" differently from regular Vi. They are highly recommended though. 
 +set showcmd ​        ​" Show (partial) command in status line. 
 +set showmatch ​      "​ Show matching brackets. 
 +set ignorecase ​     " Do case insensitive matching 
 +"set smartcase ​     " Do smart case matching 
 +set incsearch ​      "​ Incremental search 
 +set autowrite ​      "​ Automatically save before commands like :next and :make 
 +"set hidden ​        "​ Hide buffers when they are abandoned 
 +"set mouse=a        " Enable mouse usage (all modes) in terminals 
 +set hlsearch
  
-# SASL +" Konfiguration für Syntax Highlighting ​=> HTML 
-smtpd_sasl_auth_enable ​         = yes +let use_xhtml ​1 
-smtpd_sasl_security_options ​    noanonymous +let html_number_lines ​1 
-smtpd_sasl_local_domain ​        +let html_use_css ​1</​code>​
-smtp_sasl_auth_enable ​          no +
-broken_sasl_auth_clients ​       ​yes+
  
-maildrop_destination_recipient_limit ​+===== logrotate ​===== 
-virtual_transport ​maildrop</​code>​ +Meine Logfiles werden mit //logrotate// wöchentlich gesichert und zwar in das Verzeichnis eines hierfür angelegten FTP-BenutzersSo kann ich die Logs regelmäßig auf meinem Heim-PC sichern.  
- +Eine Konfigurationsdatei für logrotate für die Systemmeldungen sieht z.Bso aus
-==== master.cf ​==== +<​code ​ini
-<​code>​maildrop ​ unix  -       ​n ​      ​n ​      ​- ​      ​- ​      ​pipe +/var/log/syslog 
-  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${user}@${nexthop} +/var/log/messages { 
-        ${sender} ${recipient} ${extension} ${user} ${nexthop}<​/code> +        ​olddir ​/home/ftp/backup/logs/syslog 
- +        ​weekly 
-==== sasl/​smtpd.conf ==== +        ​missingok 
-<​code>​pwcheck_method:​ auxprop +        ​rotate 52 
-auxprop_plugin:​ sql +        ​compress 
-mech_list: plain login cram-md5 digest-md5 +        ​delaycompress 
-sql_engine: mysql +        ​notifempty 
-sql_hostnames:​ 127.0.0.1 +        ​create 700 ftpuser ftpusers 
-sql_user: mail +        ​sharedscripts
-sql_passwd: password +
-sql_database:​ mail +
-sql_select: select password from users where email='​%u@%r'</​code>​ +
- +
-==== mysql-virtual_domains.cf ==== +
-<​code>​user = mail +
-password = password +
-dbname = mail +
-table = domains +
-select_field = '​virtual'​ +
-where_field = domain +
-hosts = unix:/​var/​run/​mysqld/​mysqld.sock</​code>​ +
- +
-==== mysql-virtual_email2email.cf ==== +
-<​code>​user = mail +
-password = password +
-dbname = mail +
-table = users +
-select_field = email +
-where_field = email +
-hosts = unix:/​var/​run/​mysqld/​mysqld.sock</​code>​ +
- +
- +
-==== mysql-virtual_forwardings.cf ==== +
-<​code>​user = mail +
-password = password +
-dbname = mail +
-table = forwardings +
-select_field = destination +
-where_field = source +
-hosts = unix:/var/run/mysqld/​mysqld.sock</​code>​ +
- +
-==== mysql-virtual_mailboxes.cf ==== +
-<​code>​user = mail +
-password = password +
-dbname = mail +
-table = users +
-select_field = CONCAT(SUBSTRING_INDEX(email,'​@',​-1),'/',​SUBSTRING_INDEX(email,'​@',​1),'/'​) +
-where_field = email +
-hosts = unix:/var/run/mysqld/​mysqld.sock</​code>​ +
- +
-==== /etc/maildroprc ==== +
-<​code>​DEFAULT="​$HOME/Maildir/+
- +
-logfile "/var/​log/​maildrop.log"​ +
- +
-SENDER="​$1"​ +
-RECIPIENT="​$2"​ +
-EXTENSION="​$3"​ +
-USER=tolower("​$4"​) +
-DOMAIN=tolower("​$5"​) +
-INBOXDIR="​$HOME/​$DOMAIN/​$USER"​ +
- +
-`test -d $INBOXDIR/​` +
-if ($RETURNCODE != 0) +
-{ +
-        ​`mkdir -p $INBOXDIR` +
-        ​`rmdir $INBOXDIR` +
-        ​`/​usr/​bin/​maildirmake $INBOXDIR`+
 } }
- +</​code>​
-to "​$INBOXDIR/"</​code>​ +
- +
-==== /​etc/​courier/​authdaemonrc ==== +
-<​code>​authmodulelist="​authmysql"​ +
-authmodulelistorig="​authuserdb authpam authpgsql authldap authmysql authcustom authpipe"​ +
-daemons=5 +
-authdaemonvar=/​var/​run/​courier/​authdaemon +
-DEBUG_LOGIN=0 +
-DEFAULTOPTIONS=""​ +
-LOGGEROPTS=""</​code>​ +
- +
-==== /​etc/​courier/​authmodulelist ==== +
-<​code>​authdaemon</​code>​ +
- +
-==== /​etc/​courier/​authmysqlrc ==== +
-<​code>​MYSQL_SERVER ​           localhost +
-MYSQL_USERNAME ​         mail +
-MYSQL_PASSWORD ​         password +
-MYSQL_SOCKET ​           /​var/​run/​mysqld/​mysqld.sock +
-MYSQL_OPT ​              0 +
-MYSQL_DATABASE ​         mail +
-MYSQL_USER_TABLE ​       users +
-MYSQL_CLEAR_PWFIELD ​    ​password +
-MYSQL_UID_FIELD ​        ​1500 +
-MYSQL_GID_FIELD ​        ​1500 +
-MYSQL_LOGIN_FIELD ​      ​email +
-MYSQL_HOME_FIELD ​       "/​home/​vmail"​ +
-MYSQL_MAILDIR_FIELD ​    ​CONCAT(SUBSTRING_INDEX(email,'​@',​-1),'/',​SUBSTRING_INDEX(email,'​@',​1),'/'​)</​code>​ +
- +
-==== /​etc/​courier/​maildropmysql.config ==== +
-<​code>​hostname ​            ​localhost +
-socket ​              /​var/​run/​mysqld/​mysqld.sock +
-database ​            ​mail +
-dbuser ​              ​mail +
-dbpw                 ​password +
-dbtable ​             users +
-default_uidnumber ​   1500 +
-default_gidnumber ​   1500 +
-uid_field ​           email +
-uidnumber_field ​     uid +
-gidnumber_field ​     gid +
-maildir_field ​       maildir +
-homedirectory_field ​ homedir +
-quota_field ​         quota +
-mailstatus_field ​    ​postfix +
-where_clause ​        AND postfix = '​Y'​ +
-logfile ​             /​var/​log/​maildrop.log</​code>​ +
- +
- +
-===== Datenbanktabellen ===== +
-<code sql>​CREATE TABLE `domains` ( +
-  `domain` varchar(50) NOT NULL, +
-  PRIMARY KEY  (`domain`) +
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;​ +
- +
-DROP TABLE IF EXISTS `forwardings`;​ +
-CREATE TABLE `forwardings` ( +
-  `source` varchar(80) NOT NULL, +
-  `destination` text NOT NULL, +
-  PRIMARY KEY  (`source`) +
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;​ +
- +
-CREATE TABLE `users` ( +
-  `email` varchar(80) NOT NULL, +
-  `password` varchar(20) NOT NULL, +
-  PRIMARY KEY  (`email`) +
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;​ +
- +
-GRANT all privileges on mail.* TO mail@localhost IDENTIFIED BY '​password';​ +
-GRANT all privileges on mail.* TO mail@127.0.0.1 IDENTIFIED BY '​password';​</​code>​+
linux/grundkonfiguration.txt · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)