Postfix - Virtual Domains
Z wiki linux-user
(Utworzył nową stronę „Category:Serwer == Postfix & Virtual Domains == W tym howto pokażę jak skonfigurować oprogramowanie serwera poczty '''Postfix''' do działania z takimi usłu...”) |
|||
Linia 3: | Linia 3: | ||
W tym howto pokażę jak skonfigurować oprogramowanie serwera poczty '''Postfix''' do działania z takimi usługami jak: | W tym howto pokażę jak skonfigurować oprogramowanie serwera poczty '''Postfix''' do działania z takimi usługami jak: | ||
− | *virtual domains*virtual users | + | *virtual domains |
− | *dovecot*cyrus*mysql*postfix.admin | + | *virtual users |
+ | *dovecot | ||
+ | *cyrus | ||
+ | *mysql | ||
+ | *postfix.admin | ||
+ | |||
+ | == Wstęp == | ||
+ | |||
+ | W tym howto zostanie zaprezentowana metoda instalacji serwera pocztowego opartego o pakiety '''postfix''', '''dovecot''' i '''cyrus'''. Ponadto serwer pocztowy zostanie tak skonfigurowany, aby mógł obsługiwać '''virtualne domeny''' oraz '''virtualnych użytkowników''' zawartych w bazie danych [[MySQL|mysql]]. Wszystkie '''virtualne domeny''' oraz użytkownicy powinni być dodawani za pomocą interfejsu udostępnionego za pomocą pakietu '''postfix.admin''' | ||
+ | Potrzebne pakiety (''wersje podaję informacyjnie na dzień w którym pisałem to hawto były to jedne z najnowszych wersji podanych pakietów''): | ||
+ | |||
+ | *CentOS 5.6 | ||
+ | *Apache 2.2.3 | ||
+ | *PHP 5.2 | ||
+ | *MySQL 5.0.77 | ||
+ | *Dovecot 1.0.7 | ||
+ | *phpMyAdmin 3.4.4 | ||
+ | *Postfix-2.3.3-2.3.centos.mysql_pgsql | ||
+ | *Postfix Admin 2.3.3 | ||
+ | Powinieneś mieć uruchomionego '''apache''' będzie potrzebny, gdy zechcemy konfigurować nasz serwer z poziomu przeglądarki internetowej. Jak postawić serwer www opisałem na stronie [[apache]]. | ||
+ | |||
+ | === PHP === | ||
+ | |||
+ | Instalujemy lub aktualizujemy '''php'''. Wersja najniższa, którą możemy zainstalować to '''php 5.2''', niższych nie obsługuje [[phpMyAdmin]] w wersji 3.4.4 | ||
+ | |||
+ | rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm | ||
+ | |||
+ | Teraz możemy zainstalować '''php''' używając '''repo webtatic''' | ||
+ | |||
+ | yum --enablerepo=webtatic install php php-mysql | ||
+ | |||
+ | lub dokonujemy aktualizacji | ||
+ | |||
+ | yum --enablerepo=webtatic update php php-mysql | ||
+ | |||
+ | === MySQL === | ||
+ | |||
+ | Aby zainstalować bazę danych [[MySQL|mysql]] serwer jak i klienta myusimy wydać polecenie | ||
+ | |||
+ | yum --enablerepo=centosplus install mysql-server | ||
+ | |||
+ | Następnie wydajemy polecenie | ||
+ | |||
+ | /etc/init.d/mysqld start | ||
+ | |||
+ | I konfigurujemy bazę danych | ||
+ | |||
+ | /usr/bin/mysqladmin -u root password 'new-password' | ||
+ | |||
+ | Więcej na temat konfiguracji i instalacji bazy danych '''MySQL''' możesz przeczytać na stronie wiki [[MySQL]]. | ||
+ | |||
+ | === Postfix === | ||
+ | |||
+ | Potrzebujemy zainstalować '''postfixa''' z obsługą '''mysqla''', dlatego instalujemy go w następujący sposób | ||
+ | |||
+ | yum --enablerepo=centosplus install postfix*mysql* | ||
+ | |||
+ | Po tej operacji polecenie | ||
+ | |||
+ | postconf -m | grep mysql | ||
+ | |||
+ | powinno nam zwrócić następujący komunikat | ||
+ | |||
+ | mysql | ||
+ | |||
+ | |||
+ | === Dodatkowe pakiety === | ||
+ | |||
+ | Jako że '''postfix''' jest tylko '''mta''', potrzebujemy doinstalować kolejne pakiety | ||
+ | |||
+ | yum install dovecot cyrus-sasl cyrus-sasl-devel | ||
+ | |||
+ | |||
+ | === PhpMyAdmin === | ||
+ | |||
+ | Opcjonalnie możemy zainstalować '''phpMyAdmina''' w celu ułatwienia sobie życia w późniejszym czasie ;-) jednak nie jest to wymagane. | ||
+ | |||
+ | Jeśli jednak zdecydujemy się to uczynić postępujemy zgodnie z poniższymi krokami | ||
+ | |||
+ | cd /var/www/html | ||
+ | wget http://ignum.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.4/phpMyAdmin-3.4.4-all-languages.tar.gz | ||
+ | tar xvf phpMyAdmin-3.4.4-all-languages.tar.gz | ||
+ | mv phpMyAdmin-3.4.4-all-languages.tar.gz phpMyAdmin-3.4.4-all-languages | ||
+ | mv phpMyAdmin-3.4.4-all-languages/ phpAdminek | ||
+ | chown -R apache:apache phpAdminek/ | ||
+ | cd phpAdminek | ||
+ | vim config.sample.inc.php | ||
+ | |||
+ | i konfigurujemy wedle naszych potrzeb. Więcej o konfiguracji można przeczytać na stronie wiki [[PhpMyAdmin]] | ||
+ | |||
+ | następnie wydajemy polecenie | ||
+ | |||
+ | mv config.sample.inc.php config.inc.php | ||
+ | |||
+ | |||
+ | == Konfiguracja hosta == | ||
+ | |||
+ | Powinniśmy mieć jakąś nazwe '''hosta'''. Obecnie skonfigurowaną nazwę hosta możemy podejrzeć za pomocą komendy | ||
+ | |||
+ | hostname | ||
+ | |||
+ | Aby nadać inną nazwe hosta możemy wydać polecenie | ||
+ | |||
+ | hostname nowa.nazwa.hosta.pl | ||
+ | |||
+ | Jednak jest to metoda, która pozwala zmienić nazwę hosta tylko do '''ponownego uruchomienia serwera''' dlatego w celu stałego zapisania nowej nazwy hosta edytujemy plik ''/etc/sysconfig/network'' i zmieniamy w nim opcję '''HOSTNAME''' na taką, która nam odpowiada. | ||
+ | |||
+ | NETWORKING=yes | ||
+ | NETWORKING_IPV6=no | ||
+ | HOSTNAME=moja.domena.pl | ||
+ | |||
+ | Kolejnym plikiem do którego powinniśmy zajrzeć jest ''/etc/hosts'' i powinien on wyglądać mniej więcej tak | ||
+ | |||
+ | vim /etc/hosts | ||
+ | 127.0.0.1 moja.domena.pl localhost.localdomain localhost | ||
+ | ::1 localhost6.localdomain6 localhost6 | ||
+ | 192.168.2.2 moja.domena.pl | ||
+ | 84.236.2.1 moja.domena.pl | ||
+ | |||
+ | |||
+ | == Dodawanie bazy danych w mysql == | ||
+ | |||
+ | Terazz stworzymy bazę danych na potrzeby pakietu '''Postfix.Admin'''. | ||
+ | |||
+ | mysql -u root -p | ||
+ | mysql> CREATE DATABASE postfix; | ||
+ | mysql> CREATE USER postfix@localhost IDENTIFIED BY 'your_password'; | ||
+ | mysql> GRANT ALL PRIVILEGES ON postfix.* TO postfix; | ||
+ | |||
+ | Dodajemy uprawnienia dla użytkownika '''dovecot''' (przyda się później) | ||
+ | |||
+ | mysql> grant SELECT ON postfix.* to 'dovecot'@'localhost' IDENTIFIED by 'dovecot'; | ||
+ | mysql> grant SELECT, RELOAD, LOCK TABLES ON *.* to 'backup'@'localhost' IDENTIFIED by 'dump'; | ||
+ | mysql> flush privileges; | ||
+ | mysql> exit | ||
+ | |||
+ | == Dovecot == | ||
+ | |||
+ | Konfiguracja pakietu '''Dovecot''' | ||
+ | Tworzymy folder w którym będziemy przechowywać foldery użytkowników poczty, oczywiście może to być dowolna lokalizacja | ||
+ | |||
+ | mkdir -p /var/vmail | ||
+ | chmod 770 /var/vmail | ||
+ | |||
+ | Tworzymy użytkownika '''vmail''' i nadajemy odpowiednie uprawnienia do katalogu ''/var/vmail'' | ||
+ | |||
+ | useradd -r -u 101 -g mail -d /var/vmail -s /sbin/nologin -c "Virtual mailbox" vmail | ||
+ | chown vmail.mail /var/vmail | ||
+ | |||
+ | |||
+ | Edytujemy plik ''/etc/dovecot.conf'' tak aby wyglądał następująco | ||
+ | |||
+ | ssl_cert_file = /etc/pki/dovecot/certs/myserver.example.com.crt | ||
+ | ssl_key_file = /etc/pki/dovecot/private/myserver.example.com.key | ||
+ | ssl_ca_file = /etc/pki/dovecot/certs/ca-bundle.crt | ||
+ | mail_location = maildir:/var/vmail/%d/%u | ||
+ | first_valid_uid = 101 | ||
+ | last_valid_uid = 101 | ||
+ | maildir_copy_with_hardlinks = yes | ||
+ | protocol imap { | ||
+ | mail_plugins = quota imap_quota | ||
+ | imap_client_workarounds = outlook-idle delay-newmail | ||
+ | } | ||
+ | protocol pop3 { | ||
+ | mail_plugins = quota | ||
+ | pop3_client_workarounds = outlook-no-nuls oe-ns-eoh | ||
+ | } | ||
+ | protocol lda { | ||
+ | postmaster_address = | ||
+ | postmaster@example.com | ||
+ | mail_plugins = quota | ||
+ | log_path = /var/log/dovecot-deliver.log | ||
+ | info_log_path = /var/log/dovecot-deliver.log | ||
+ | } | ||
+ | auth default { | ||
+ | # Having "login" also as a mechanism make sure outlook can use the auth smtpd as well | ||
+ | # http://wiki.dovecot.org/Authentication/Mechanisms | ||
+ | mechanisms = plain login | ||
+ | passdb sql { | ||
+ | args = /etc/dovecot/sql.conf | ||
+ | } | ||
+ | userdb sql { | ||
+ | args = /etc/dovecot/sql.conf | ||
+ | } | ||
+ | userdb prefetch { | ||
+ | } | ||
+ | user = nobody | ||
+ | socket listen { | ||
+ | master { | ||
+ | path = /var/run/dovecot/auth-master | ||
+ | mode = 0660 | ||
+ | user = vmail | ||
+ | group = mail | ||
+ | } | ||
+ | client { | ||
+ | path = /var/spool/postfix/private/auth | ||
+ | mode = 0660 | ||
+ | user = postfix | ||
+ | group = mail | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | dict { | ||
+ | } | ||
+ | plugin { | ||
+ | quota = maildir:storage=10240:messages=1000 | ||
+ | acl = vfile:/etc/dovecot/acls | ||
+ | trash = /etc/dovecot/trash.conf | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Oczywiście w niektórych miejscach powinniśmy dostosować go do własnych potrzeb. | ||
+ | |||
+ | |||
+ | Tworzymy certyfikaty dla dovecot | ||
+ | Jak to zrobić opisane jest [http://linux-user.eu/wiki/index.php/Postfix#Certyfikaty_TLS postfix#TLS] | ||
+ | |||
+ | Przenosząc certyfikaty w odpowiednie miejsca | ||
+ | |||
+ | ''ssl_cert_file = /etc/pki/dovecot/certs/myserver.example.com.crt''<br /> | ||
+ | ''ssl_key_file = /etc/pki/dovecot/private/myserver.example.com.key''<br /> | ||
+ | ''ssl_ca_file = /etc/pki/dovecot/certs/ca-bundle.crt''<br /> | ||
+ | |||
+ | |||
+ | Tworzymy plik ''/etc/dovecot/sql.conf'' i edytujemy go, aby wyglądał w następujący sposób: | ||
+ | |||
+ | driver = mysql | ||
+ | default_pass_scheme = md5 | ||
+ | connect = host=localhost dbname=postfix user=dovecot password=dovecot | ||
+ | user_query = SELECT concat('/var/vmail/', maildir) as home, concat('maildir:/var/vmail/', maildir) as mail, 101 AS uid, 12 AS gid, / | ||
+ | concat('maildir:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1' | ||
+ | # fast but now so nice:-) | ||
+ | #user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, 101 AS uid, 12 AS gid, / | ||
+ | concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1' | ||
+ | # Just in case you are using postfix the delimiter char "+", the above query will probably fail for the username / | ||
+ | '%n' or '%u' and result in a "5.5.1 user unknown" error | ||
+ | #in this case, you will probalby want to use a separate user and domain part, whilst searching only / | ||
+ | for the destination user part (user_query only): | ||
+ | # SELECT ... WHERE username = substring_index('%n','+',1) AND userrealm = '%d' | ||
+ | password_query = SELECT username as user, password, concat('/var/vmail/', maildir) as userdb_home, / | ||
+ | concat('maildir:/var/vmail/', maildir) as userdb_mail, 101 as userdb_uid, 12 as userdb_gid FROM mailbox / | ||
+ | WHERE username = '%u' AND active = '1' | ||
+ | # fast but now so nice:-) | ||
+ | #password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, / | ||
+ | 'maildir:/var/vmail/%d/%n' as userdb_mail, 101 as userdb_uid, 12 as userdb_gid FROM mailbox / | ||
+ | WHERE username = '%u' AND active = '1' | ||
+ | |||
+ | '''UWAGA!!''' linie ze znakiem ''/'' są przełamane jeśli będziesz robił kopiuj wklej pamiętaj o połączeniu tych lini | ||
+ | |||
+ | Jeśli zachodzi potrzeba to dostrajamy go do swoich potrzeb. | ||
+ | |||
+ | Kolejny plik który tworzymy to ''/etc/dovecot/trash.conf'' i dodajemy do niego | ||
+ | |||
+ | 1 Spam | ||
+ | 2 Trash | ||
+ | |||
+ | == Edycja postfixa == | ||
+ | |||
+ | |||
+ | Dodajemy do pliku ''master.cf'' następujące linijki | ||
+ | # Dovecot LDA | ||
+ | dovecot unix - n n - - pipe | ||
+ | flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d ${recipient} | ||
+ | |||
+ | Następnie zmieniamy plik ''main.cf'' tak aby wyglądał następująco: | ||
+ | myhostname = my-domain.pl | ||
+ | inet_interfaces = all | ||
+ | myorigin = $myhostname | ||
+ | mynetworks = $config_directory/mynetworks | ||
+ | mydestination = localhost.$mydomain, localhost, #$myhostname | ||
+ | relay_domains = $mydestination | ||
+ | # ---------------------- VIRTUAL DOMAINS START ---------------------- | ||
+ | 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 | ||
+ | alias_maps = hash:/etc/aliases | ||
+ | virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf | ||
+ | virtual_minimum_uid = 101 | ||
+ | virtual_uid_maps = static:101 | ||
+ | virtual_gid_maps = static:12 | ||
+ | virtual_transport = dovecot | ||
+ | dovecot_destination_recipient_limit = 1 | ||
+ | # ---------------------- VIRTUAL DOMAINS KONIEC ---------------------- | ||
+ | # ---------------------- SASL START ---------------------- | ||
+ | smtpd_sasl_auth_enable = yes | ||
+ | #smtpd_sasl_local_domain = $myhostname | ||
+ | smtpd_sasl_exceptions_networks = $mynetworks | ||
+ | smtpd_sasl_security_options = noanonymous | ||
+ | broken_sasl_auth_clients = yes | ||
+ | smtpd_sasl_type = dovecot | ||
+ | smtpd_sasl_path = private/auth | ||
+ | # ---------------------- SASL KONIEC ---------------------- | ||
+ | # ---------------------- TLS START ------------------------ | ||
+ | smtp_tls_CAfile = /etc/postfix/ssl/cacert.pem | ||
+ | smtp_tls_cert_file = /etc/postfix/ssl/smtpd.crt | ||
+ | smtp_tls_key_file = /etc/postfix/ssl/smtpd.key | ||
+ | #Postfix 2.5 albo wyzszy musi uzywac: | ||
+ | #smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache | ||
+ | smtp_tls_session_cache_database = btree:/var/spool/postfix/smtp_tls_session_cache | ||
+ | smtp_tls_security_level = may | ||
+ | smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem | ||
+ | smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt | ||
+ | smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key | ||
+ | #Postfix 2.5 albo wyzszy musi uzywac: | ||
+ | #smtpd_tls_session_cache_database = btree:$data_directory/smtpd_tls_session_cache | ||
+ | smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_session_cache | ||
+ | smtpd_tls_dh1024_param_file = $config_directory/dh_1024.pem | ||
+ | smtpd_tls_dh512_param_file = $config_directory/dh_512.pem | ||
+ | smtpd_tls_security_level = may | ||
+ | smtpd_tls_received_header = yes | ||
+ | smtpd_tls_ask_ccert = yes | ||
+ | smtpd_tls_loglevel = 1 | ||
+ | tls_random_source = dev:/dev/urandom | ||
+ | # ---------------------- TLS KONIEC ---------------------- | ||
+ | smtpd_helo_required = yes | ||
+ | disable_vrfy_command = yes | ||
+ | non_fqdn_reject_code = 450 | ||
+ | invalid_hostname_reject_code = 450 | ||
+ | maps_rbl_reject_code = 450 | ||
+ | #unverified_sender_reject_code = 550 | ||
+ | #header_checks = pcre:$config_directory/header_checks | ||
+ | #body_checks = pcre:$config_directory/body_checks | ||
+ | #warning: the restrictions reject_unknown_(sender|recipient)_domain | ||
+ | smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_rbl_client, | ||
+ | reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unlisted_recipient, reject_invalid_hostname | ||
+ | local_transport = virtual | ||
+ | readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES | ||
+ | sample_directory = /usr/share/doc/postfix-2.3.3/samples | ||
+ | sendmail_path = /usr/sbin/sendmail | ||
+ | html_directory = no | ||
+ | setgid_group = postdrop | ||
+ | command_directory = /usr/sbin | ||
+ | manpage_directory = /usr/share/man | ||
+ | daemon_directory = /usr/libexec/postfix | ||
+ | newaliases_path = /usr/bin/newaliases | ||
+ | mailq_path = /usr/bin/mailq | ||
+ | queue_directory = /var/spool/postfix | ||
+ | mail_owner = postfix | ||
+ | unknown_local_recipient_reject_code = 450 | ||
+ | alias_database = | ||
+ | Tworzymy certyfikaty dla '''smtpd''' | ||
+ | Czyli znane nam już komendy | ||
+ | mkdir -P /etc/postfix/ssl | ||
+ | cd /etc/postfix/ssl | ||
+ | openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 | ||
+ | chmod 600 smtpd.key | ||
+ | openssl req -new -key smtpd.key -out smtpd.csr | ||
+ | openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt | ||
+ | openssl rsa -in smtpd.key -out smtpd.key.unencrypted | ||
+ | mv -f smtpd.key.unencrypted smtpd.key | ||
+ | openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 365 | ||
+ | Tworzymy klucze ''dh'' używając biblioteki [[openssl]] | ||
+ | cd /etc/postfix | ||
+ | openssl dhparam -out dh_1024.pem 1024 | ||
+ | openssl dhparam -out dh_512.pem 512 | ||
+ | Następnie tworzymy pliki baz danych dla '''postfixa''' | ||
+ | |||
+ | Dodajemy kolejno pliki ''/etc/postfix/mysql_virtual_alias_maps.cf'' : | ||
+ | user = postfix | ||
+ | password = postfix | ||
+ | hosts = localhost | ||
+ | dbname = postfix | ||
+ | query = SELECT goto FROM alias WHERE address='%s' AND active = '1' | ||
+ | ''/etc/postfix/mysql_virtual_domains_maps.cf'': | ||
+ | |||
+ | user = postfix | ||
+ | password = postfix | ||
+ | hosts = localhost | ||
+ | dbname = postfix | ||
+ | #query = SELECT domain FROM domain WHERE domain='%s' | ||
+ | #optional query to use when relaying for backup MX | ||
+ | query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'''/etc/postfix/mysql_relay_domains_maps.cf'': | ||
+ | user = postfix | ||
+ | password = postfix | ||
+ | hosts = localhost | ||
+ | dbname = postfix | ||
+ | query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1' | ||
+ | ''/etc/postfix/mysql_virtual_mailbox_limit_maps.cf'': | ||
+ | user = postfix | ||
+ | password = postfix | ||
+ | hosts = localhost | ||
+ | dbname = postfix | ||
+ | query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1' | ||
+ | ''/etc/postfix/mysql_virtual_mailbox_maps.cf'': | ||
+ | user = postfix | ||
+ | password = postfix | ||
+ | hosts = localhost | ||
+ | dbname = postfix | ||
+ | query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1' | ||
+ | Pamiętaj, aby zmienić liniki z hasłem, użytkownikiem lub z nazwą bazy danych jeśli masz inaczej. | ||
+ | Teraz edytujemy plik ''/etc/postfix/mynetworks'' i dodajemy do niego odpowiednie opcje | ||
+ | 192.168.2.0/24 moja.domena.pl | ||
+ | 127.0.0.0/8 | ||
+ | |||
+ | Oczywiście w pliku powyżej musisz podać swoje dane | ||
+ | |||
+ | |||
+ | == Konfiguracja Postfix.Admin == | ||
+ | |||
+ | Przechodzimy do katalogu głównego naszego serwera www i ściągamy pakiet '''postfix.admin''' na dzień dzisiejszy najnowszą wersją jest '''2.3.3''' | ||
+ | |||
+ | cd /var/www/html | ||
+ | wget http://sourceforge.net/projects/postfixadmin/files/postfixadmin/postfixadmin-2.3.3/postfixadmin-2.3.3.tar.gz/download | ||
+ | tar xvf postfixadmin-2.3.3.tar.gz | ||
+ | mv postfixadmin-2.3.3 postfixadmin | ||
+ | chown -R apache:apache postfixadmin | ||
+ | cd postfixadmin | ||
+ | vim config.sample.inc.php | ||
+ | |||
+ | Dostosowywujemy plik konfiguracyjny do naszych potrzeb, głównie chodzi o opcje związane z bazą danych i zmiane linijki | ||
+ | |||
+ | $CONF['configured'] = false; | ||
+ | |||
+ | na | ||
+ | |||
+ | $CONF['configured'] = true; | ||
+ | |||
+ | Poza tym opcje związane z połączeniem się do bazy danych | ||
+ | |||
+ | $CONF['database_type'] = 'mysql'; | ||
+ | $CONF['database_host'] = 'localhost'; | ||
+ | $CONF['database_user'] = 'postfixadmin'; | ||
+ | $CONF['database_password'] = 'postfixadmin'; | ||
+ | $CONF['database_name'] = 'postfix'; | ||
+ | |||
+ | Warto też edytować i przystosować do swoich potrzeb opcję | ||
+ | |||
+ | $CONF['postfix_admin_url'] = 'http://moja.domena.pl/postfixadmin'; | ||
+ | |||
+ | Po skończeniu i zapisaniu zmian zmieniamy nazwę pliku konfiguracyjnego | ||
+ | |||
+ | mv config.sample.inc.php config.inc.php | ||
+ | |||
+ | Wchodzimy do przegladarki i wpisujemy adres http://moja.domena.pl/postfixadmin/setup.php i postępujemy zgodnie z instrukcjami. | ||
+ | |||
+ | Na koniec, aby się zalogować do panelu administracyjnego wchodzimy na adres http://moja.domena.pl/postfixadmin/ | ||
+ | |||
+ | Pamiętajmy również o poprawnym skonfigurowaniu oprogramowania www do odbierania poczty np [[squirrelmail|squirrelmaila]] lub [[RoundCube|roundcube]] | ||
+ | |||
+ | Powyższą instalację możemy również wzbogacić o opcje typu filtrowanie treści czy doinstalowanie antywirusa i programu antyspamowego wszystkie te informacje zawarte są [[Postfix|tutaj]]. | ||
+ | |||
+ | <br /><google1 style="4"></google1> |