Başlangıç Yapılandırması
Bu yazı HowtoForge ve Linode makalelerinden alıntı yapılarak 32bitlik Bir CentOS 6 dağıtımına e-posta sunucu işlevi kazandırabilmek için hazırlanmıştır. CentOS6.5 Mükemmel Server makalemizin devamı olarak yapılandırılmakla birlikte, yalnızca e-posta sunucusu için sadece bu makale yeterlidir. Makale içerisinde paragraflarda değiştirilmesi gereken bazı alanlar mevcut olup bunları öncesinde/sonrasında belirttik. Değişiklik yapılması gereken dosya muhteviyatında kırmızı/kalın kısımlar bu şekilde değiştirilecek/eklenecek demektir. [...] ibaresi, ilgili dosyada öncesinde ve sonrasında kodlar/ibareler mevcuttur, sadece belirtilen alanların değiştirilmesi gerektiği anlamına geliyor.
Salt haldeki CentOS 6 dağıtımına EPEL ve RepoForge ek depolarını ekleyip, diğer başlangıç ayarlamalarını yapıyoruz:
1 2 3 4 5 6 7 8 9 10 11 12 |
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt cd /tmp yum -y install wget wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm rpm -ivh rpmforge-release-0.5.3-1.el6.rf.i686.rpm rpm --import https://fedoraproject.org/static/0608B895.txt wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm yum -y install nano mlocate lsof jwhois cd /usr/bin/ ln -s /usr/bin/nano /usr/bin/pico |
MySQL Kurulumu
MySQL sunucusu ve istemcisi kurulmamışsa şayet buradaki komutlarla kuruyoruz. e-Posta Sunucusu için gerekli olacak.
1 |
yum -y install mysql mysql-server mysql-libs mysql-devel |
MySQL'i sistem başlangıcında otomatik başlayacak şekilde ayarlayıp, servisi başlatıyoruz:
1 2 |
chkconfig --levels 235 mysqld on /etc/init.d/mysqld start |
MySQL root şifresini ve başlangıç yapılandırmasını ayarlıyoruz:
1 |
mysql_secure_installation |
Set root password? [Y/n] <-- ENTER
New password: <-- MySQL-ROOT-Şifreniz
Re-enter new password: <-- MySQL-ROOT-Şifreniz
Remove anonymous users? [Y/n] <-- ENTER
Disallow root login remotely? [Y/n] <-- ENTER
Remove test database and access to it? [Y/n] <-- ENTER
Reload privilege tables now? [Y/n] <-- ENTER
Postfix Kurulumu
Aşağıdaki Shell komutlarıyla şayet mevcutsa sendmail paketinin sistem başlangıç ayarı ve servisin kendisi durdurulur, gereksinimlere (depencies) dokunmadan sistemden kaldırılır ve postfix paketi kurulur, sistem başlangıcında otomatik başlayacak şekilde ayarlanır ve de başlatılır:
1 2 3 4 5 6 7 8 |
chkconfig --list | grep sendmail chkconfig --levels 2345 sendmail off /etc/init.d/sendmail stop rpm -e --nodeps "sendmail-*" yum -y install postfix chkconfig postfix off chkconfig --levels 235 postfix on /etc/init.d/postfix start |
Dovecot Kurulumu
Aşağıdaki Shell komutlarıyla dovecot kurulur, sistem başlangıcında otomatik başlayacak şekilde ayarlanır ve de başlatılır:
1 2 3 |
yum -y install dovecot dovecot-devel dovecot-mysql chkconfig --levels 235 dovecot on /etc/init.d/dovecot start |
e-Posta Sunucusu için Postfix (MySQL) Ayarlamaları
Aşağıdaki Shell komutlarıyla postfix programının kullanacağı mysql veritabanı oluşturulur, (maildbname=veritabanının adı mailusername=bu veritabaınını kullanacak olan mysql kullanıcısı, mailpass=mysql veritabanını kullanacak mysql kullanıcısın şifresi. Bu ibarelerin yerine kendi bilgilerimizi yazmalıyız):
1 2 |
mysqladmin -p create maildbname mysql -p maildbname |
Burdan itibaren geçilecek komutlar mysql komutlarıdır ve yukarıda belirtilen değiştirilmesi gereken ibarelere dikkat etmeliyiz:
1 |
GRANT SELECT ON maildbname.* TO 'mailusername'@'127.0.0.1' IDENTIFIED BY 'mailpass'; |
1 |
FLUSH PRIVILEGES; |
1 2 3 4 5 |
CREATE TABLE `virtual_domains` ( `id` int(11) NOT NULL auto_increment, `name` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
1 2 3 4 5 6 7 8 9 |
CREATE TABLE `virtual_users` ( `id` int(11) NOT NULL auto_increment, `domain_id` int(11) NOT NULL, `password` varchar(106) NOT NULL, `email` varchar(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
1 2 3 4 5 6 7 8 |
CREATE TABLE `virtual_aliases` ( `id` int(11) NOT NULL auto_increment, `domain_id` int(11) NOT NULL, `source` varchar(100) NOT NULL, `destination` varchar(100) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
alanadi.com yerine kendi domain adresimizi yazmalıyız:
1 2 3 4 |
INSERT INTO `maildbname`.`virtual_domains` (`id` ,`name`) VALUES ('1', 'alanadi.com'); |
!!!!EPOSTASIFRESI!!!! yerine e-posta hesaplarında kullanılacak şifreleri user@alanadi.com yerine belirlemek istediğimiz e-posta hesabını yazıyoruz, bu düzende yeni satırlar eklenerek çoğaltılabilir:
1 2 3 4 |
INSERT INTO `maildbname`.`virtual_users` (`id`, `domain_id`, `password` , `email`) VALUES ('1', '1', ENCRYPT('!!!!EPOSTASIFRESI!!!!', CONCAT('$6 |
Bu kısımda info@alanadi.com'a gelen e-postaların root@alanadi.com'a gitmesi ayarlanıyor:
1 2 3 4 5 |
INSERT INTO `maildbname`.`virtual_aliases` (`id`, `domain_id`, `source`, `destination`) VALUES ('1', '1', 'info@alanadi.com', 'root@alanadi.com'), ('2', '1', 'user@alanadi.com', 'root@alanadi.com'); |
1 2 3 4 5 |
SELECT * FROM maildbname.virtual_domains; SELECT * FROM maildbname.virtual_users; SELECT * FROM maildbname.virtual_aliases; FLUSH PRIVILEGES; quit; |
Aşağıdaki Shell komutlarıyla mevcut /etc/postfix/main.cf dosyasını yedekliyoruz ve nano ile açıyoruz:
1 2 3 |
mkdir -p /old/etc/postfix/ cp /etc/postfix/main.cf /old/etc/postfix/main.cf nano /etc/postfix/main.cf |
/etc/postfix/main.cf dosyasında yapacağımız değişiklikler (alanadi.com ibaresi kendi domainimizle değişmeli, siyah kısımlar mevcut ibarelerdir, kırmızı ve kalın kısımlar eklenir veya değiştirilir) şu şekilde olmalı:
[...]
#myhostname = virtual.domain.tld
myhostname = mail.alanadi.com
[...]
#mydomain = domain.tld
mydomain = alanadi.com
[...]
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain
[...]
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
inet_interfaces = all
[...]
#inet_protocols = all
inet_protocols = ipv4
[...]
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
[...]
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost =
[...]
#recipient_delimiter = +
recipient_delimiter = +
[...]
#smtpd_banner = $myhostname ESMTP $mail_name
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
biff = no# appending .domain is the MUA's job.
append_dot_mydomain = no
[...]
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES# TLS parameters
smtpd_tls_cert_file=/etc/pki/tls/certs/www.alanadi.com.net.crt
smtpd_tls_key_file=/etc/pki/tls/private/www.alanadi.com.key
smtpd_use_tls=yes
smtpd_tls_auth_only = yes#Enabling SMTP for authenticated users, and handing off authentication to Dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes#Enabling SMTP for authenticated users, and handing off authentication to Dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yessmtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination#Handing off local delivery to Dovecot's LMTP, and telling it where to store mail
virtual_transport = lmtp:unix:private/dovecot-lmtp#Virtual domains, users, and aliases
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf#content_filter = amavis:[127.0.0.1]:10024
#receive_override_options = no_address_mappings
CTRL+X kombinasyonu ve Y tuşlarına basarak /etc/postfix/main.cf dosyasını kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir /etc/postfix/mysql-virtual-mailbox-domains.cf dosyası açıyoruz:
1 |
nano /etc/postfix/mysql-virtual-mailbox-domains.cf |
/etc/postfix/mysql-virtual-mailbox-domains.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT destination FROM virtual_aliases WHERE source='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir mysql-virtual-mailbox-domains.cf dosyası açıyoruz:
1 |
nano mysql-virtual-mailbox-domains.cf |
mysql-virtual-mailbox-domains.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT 1 FROM virtual_domains WHERE name='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir mysql-virtual-mailbox-maps.cf dosyası açıyoruz:
1 |
nano mysql-virtual-mailbox-maps.cf |
mysql-virtual-mailbox-maps.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT 1 FROM virtual_users WHERE email='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki komutlarla servisi yeniden başlatıp kurulumun sağlamasını yapıyoruz (değiştirilmesi gereken alanları değiştiriyoruz):
1 2 3 4 5 |
service postfix restart postmap -q alanadi.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf postmap -q root@alanadi.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf postmap -q user@alanadi.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf postmap -q info@alanadi.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf |
Aşağıdaki Shell komutlarıyla /etc/postfix/master.cf dosyasını yekleyip nano ile dosyayı açıyoruz:
1 2 3 |
mkdir -p /old/etc/postfix/ cp /etc/postfix/master.cf /old/etc/postfix/master.cf nano /etc/postfix/master.cf |
başlarında # (diyez) olan satırların aşağıdaki değişiklere göre #'leri kaldırarak değişikliklerini yapıyoruz:
[...]
submission inet - n - - smtpd
[...]
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
[...]
dosyanın en altına aşağıdaki ibareleri ekliyoruz:
#
# Dovecot LDA
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
e-Posta Sunucusu için Dovecot Ayarlamaları
Aşağıdaki komutlarla değişiklik yapacağımız dovecot yapılandırma dosyalarını yedekliyoruz:
1 2 3 4 5 6 7 |
mkdir -p /old/etc/dovecot/conf.d/ cp /etc/dovecot/dovecot.conf /old/etc/dovecot/ cp /etc/dovecot/conf.d/10-mail.conf /old/etc/dovecot/conf.d/ cp /etc/dovecot/conf.d/10-auth.conf /old/etc/dovecot/conf.d/ cp /etc/dovecot/conf.d/10-master.conf /old/etc/dovecot/conf.d/ cp /etc/dovecot/conf.d/10-ssl.conf /old/etc/dovecot/conf.d/ cp /etc/dovecot/conf.d/20-imap.conf /old/etc/dovecot/conf.d/ |
Değişikliklere başlıyoruz:
1 |
nano /etc/dovecot/dovecot.conf |
[...]
# Protocols we want to be serving.
!include_try /usr/share/dovecot/protocols.d/*.protocol
#protocols = imap imaps pop3 pop3s lmtp
protocols = imap pop3 lmtp
[...]
1 |
nano /etc/dovecot/conf.d/10-auth.conf |
[...]
# connection is considered secure and plaintext authentication is allowed.
#disable_plaintext_auth = yes
disable_plaintext_auth = yes
[...]
# NOTE: See also disable_plaintext_auth setting.
auth_mechanisms = plain login
[...]
#!include auth-deny.conf.ext
#!include auth-master.conf.ext#!include auth-system.conf.ext
!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
1 |
nano /etc/dovecot/conf.d/10-mail.conf |
[...]
# <doc/wiki/MailLocation.txt>
#
#mail_location =
mail_location = maildir:/var/spool/mail/vhosts/%d/%n:INDEX=/var/spool/mail/vhosts/%d/%n:INBOX=/var/spool/mail/vhosts/%d/%n/.INBOX
[...]
# Typically this is set to "mail" to give access to /var/mail.
#mail_privileged_group =
mail_privileged_group = mail
[...]
1 |
nano /etc/dovecot/conf.d/10-master.conf |
(Bu dosyanın birkaç paragrafında değişiklikler mevcut!)
[...]
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}# Number of connections to handle before starting a new process. Typically
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
# is faster. <doc/wiki/LoginProcess.txt>
#service_count = 1# Number of processes to always keep waiting for more connections.
#process_min_avail = 0# If you set service_count=0, you probably need to grow this.
#vsz_limit = 64M
vsz_limit = 0
}
[...]
[...]
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
[...]
[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
# Create inet listener only if you can't use the above UNIX socket
#inet_listener lmtp {
# Avoid making LMTP visible for the entire internet
#address =
#port =
#}
}
[...]
[...]
service auth {
# auth_socket_path points to this userdb socket by default. It's typically
# used by dovecot-lda, doveadm, possibly imap process, etc. Its default
# permissions make it readable only by root, but you may need to relax these
# permissions. Users that have access to this socket are able to get a list
# of all usernames and get results of everyone's userdb lookups.
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}unix_listener auth-userdb {
mode = 0600
user = vmail
#group = vmail
}# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}# Auth process is run as this user.
user = dovecot
}
[...]
[...]
service auth-worker {
# Auth worker process is run as root by default, so that it can access
# /etc/shadow. If this isn't necessary, the user should be changed to
# $default_internal_user.
user = vmail
}
[...]
1 |
nano /etc/dovecot/conf.d/10-ssl.conf |
[...]
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
#ssl = yes
ssl = yes
[...]
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
ssl_cert = </etc/pki/tls/certs/www.alanadi.com.crt
ssl_key = </etc/pki/tls/private/www.alanadi.com.key
[...]
SSL Sertifikası oluşturmak için buraya bakabiliriz.
1 |
nano /etc/dovecot/conf.d/20-imap.conf |
[...]
plugin {
autocreate = Drafts
autocreate2 = Sent
autocreate3 = Trash
autosubscribe = Drafts
autosubscribe2 = Sent
autosubscribe3 = Trash
}
1 |
nano /etc/dovecot/auth-sql.conf.ext |
komutuyla yeni bir /etc/dovecot/auth-sql.conf.ext dosyası oluşturup, içine;
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = static
args = uid=vmail gid=mail home=/var/spool/mail/vhosts/%d/%n
}
satırlarını ekliyoruz.
1 |
nano /etc/dovecot/dovecot-sql.conf.ext |
komutuyla yeni bir /etc/dovecot/auth-sql.conf.ext dosyası oluşturup, içine; dovecot-sql.conf.ext dosyasının içeriğini ekliyoruz. (maildbname, mailusername ve mailpass ibarelerini içerir. Bu yüzden bunları kendi verilerimizle değiştiriyoruz.)
Alternatif bağlantılar (dovecot-sql.conf.ext): 1 2 3
1 2 3 4 5 6 7 8 9 |
chmod 600 /etc/dovecot/dovecot-sql.conf.ext ls -ld /var/spool/mail chmod 0775 -R /var/spool/mail mkdir -p /var/spool/mail/vhosts/alanadi.com groupadd -g 5000 vmail useradd -s /sbin/nologin -g vmail -u 5000 vmail -d /var/spool/mail chown -R vmail:mail /var/spool/mail chown -R vmail:dovecot /etc/dovecot chmod -R o-rwx /etc/dovecot |
komutlarıyla gerekli grupları oluşturuyoruz, gerekli izinler veriliyor.
1 |
nano /etc/aliases |
komutuyla /etc/aliases dosyasını açıyoruz, dosyanın sonuna;
root: root@alanadi.com
user: user@alanadi.com
satırlarını ekliyoruz. Bu satırlarla linuxdaki kullanıcılar ile mysql'e eklediğimiz sanal kullanıcıları birleştirmiş oluyoruz. Eklenecek satırlarla çoğaltılabilir.
1 2 3 |
newaliases service postfix restart service dovecot restart |
bu komutlarla da aliases veritabanını güncellenir ve ilgili servisler yeniden başlatılır.
Deneme e-Postası Oluşturma
1 2 3 |
yum -y install mailx cp /etc/mail.rc /old/etc/ nano /etc/mail.rc |
mailx paketini kurduk, yapılandırma dosyasını yedekledik, nano ile açtık, içinde şöyle değişiklikler yapıyoruz:
[...]
# Outgoing messages are sent in ISO-8859-1 if all their characters are
# representable in it, otherwise in UTF-8.
#set sendcharsets=iso-8859-1,utf-8
set sendcharsets=utf-8
[...]
1 |
echo "Mesaj içeriği: bu bir kontrol e-postasıdır" |mailx -r "root@alanadi.com (ROOT)" -s "Konu: Deneme" root@alanadi.com |
Bu yazı, DigitalOcean Platformu üzerinde CentOS6.5 dağıtımı olarak kurulup üzerine kurulan paket, yazılımlar ve ayarlamalarla stabil bir şekilde çalışan sunucunun şablonudur. Evdeki pc'ye kurulmuş veya başka firma veya platformlardan edinilen vps/vds/dedicated tarzı bir CentOS6.6 dağıtımında da çalışması muhtemeldir fakat çıkabilecek sorunlardan ve tutarsızlıklardan mesul olmadığımı en başta belirtmek isterim.
Şayet henüz üye değilseniz https://www.digitalocean.com/?refcode=55be147097e7 linki ile DigitalOcean platformuna benim referansımla üye olursanız, 10$ hediye kazanacaksınız. Bu sayede giriş seviyesi bir VPS planı (512MB RAM, 20GB SSD Depolama Alanı) ile 2 aylık veya giriş seviyesinin üstü bir VPS planı (1GB, 30 GB SSD Depolama Alanı) 2 aylık kullanım hakkı kazanabilirsiniz. Ayrıca hesabınıza (bu hediye 10$'dan başka) PayPal ile 25$ yüklediğinizde (tek seferde şart değil, ör: ilk ay 5 sonra 10 ve sonra da 10$ yüklediğinizde bile olur) ben de 25$ kazanmış olacağım. Bu makaleye ve emeğime teşekkür etmek isteyenlerin yapabileceği en makbul şeylerden biridir benim için 🙂
1 |
, SUBSTRING(SHA(RAND()), -16))), 'root@alanadi.com'), ('2', '1', ENCRYPT('!!!!EPOSTASIFRESI!!!!', CONCAT('$6 |
Bu kısımda info@alanadi.com'a gelen e-postaların root@alanadi.com'a gitmesi ayarlanıyor:
1 |
1 |
Aşağıdaki Shell komutlarıyla mevcut /etc/postfix/main.cf dosyasını yedekliyoruz ve nano ile açıyoruz:
1 |
/etc/postfix/main.cf dosyasında yapacağımız değişiklikler (alanadi.com ibaresi kendi domainimizle değişmeli, siyah kısımlar mevcut ibarelerdir, kırmızı ve kalın kısımlar eklenir veya değiştirilir) şu şekilde olmalı:
[...]
#myhostname = virtual.domain.tld
myhostname = mail.alanadi.com
[...]
#mydomain = domain.tld
mydomain = alanadi.com
[...]
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain
[...]
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
inet_interfaces = all
[...]
#inet_protocols = all
inet_protocols = ipv4
[...]
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
[...]
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost =
[...]
#recipient_delimiter = +
recipient_delimiter = +
[...]
#smtpd_banner = $myhostname ESMTP $mail_name
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
biff = no# appending .domain is the MUA's job.
append_dot_mydomain = no
[...]
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES# TLS parameters
smtpd_tls_cert_file=/etc/pki/tls/certs/www.alanadi.com.net.crt
smtpd_tls_key_file=/etc/pki/tls/private/www.alanadi.com.key
smtpd_use_tls=yes
smtpd_tls_auth_only = yes#Enabling SMTP for authenticated users, and handing off authentication to Dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes#Enabling SMTP for authenticated users, and handing off authentication to Dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yessmtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination#Handing off local delivery to Dovecot's LMTP, and telling it where to store mail
virtual_transport = lmtp:unix:private/dovecot-lmtp#Virtual domains, users, and aliases
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf#content_filter = amavis:[127.0.0.1]:10024
#receive_override_options = no_address_mappings
CTRL+X kombinasyonu ve Y tuşlarına basarak /etc/postfix/main.cf dosyasını kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir /etc/postfix/mysql-virtual-mailbox-domains.cf dosyası açıyoruz:
1 |
/etc/postfix/mysql-virtual-mailbox-domains.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT destination FROM virtual_aliases WHERE source='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir mysql-virtual-mailbox-domains.cf dosyası açıyoruz:
1 |
mysql-virtual-mailbox-domains.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT 1 FROM virtual_domains WHERE name='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir mysql-virtual-mailbox-maps.cf dosyası açıyoruz:
1 |
mysql-virtual-mailbox-maps.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT 1 FROM virtual_users WHERE email='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki komutlarla servisi yeniden başlatıp kurulumun sağlamasını yapıyoruz (değiştirilmesi gereken alanları değiştiriyoruz):
1 |
Aşağıdaki Shell komutlarıyla /etc/postfix/master.cf dosyasını yekleyip nano ile dosyayı açıyoruz:
1 |
başlarında # (diyez) olan satırların aşağıdaki değişiklere göre #'leri kaldırarak değişikliklerini yapıyoruz:
[...]
submission inet - n - - smtpd
[...]
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
[...]
dosyanın en altına aşağıdaki ibareleri ekliyoruz:
#
# Dovecot LDA
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
e-Posta Sunucusu için Dovecot Ayarlamaları
Aşağıdaki komutlarla değişiklik yapacağımız dovecot yapılandırma dosyalarını yedekliyoruz:
1 |
Değişikliklere başlıyoruz:
1 |
[...]
# Protocols we want to be serving.
!include_try /usr/share/dovecot/protocols.d/*.protocol
#protocols = imap imaps pop3 pop3s lmtp
protocols = imap pop3 lmtp
[...]
1 |
[...]
# connection is considered secure and plaintext authentication is allowed.
#disable_plaintext_auth = yes
disable_plaintext_auth = yes
[...]
# NOTE: See also disable_plaintext_auth setting.
auth_mechanisms = plain login
[...]
#!include auth-deny.conf.ext
#!include auth-master.conf.ext#!include auth-system.conf.ext
!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
1 |
[...]
# <doc/wiki/MailLocation.txt>
#
#mail_location =
mail_location = maildir:/var/spool/mail/vhosts/%d/%n:INDEX=/var/spool/mail/vhosts/%d/%n:INBOX=/var/spool/mail/vhosts/%d/%n/.INBOX
[...]
# Typically this is set to "mail" to give access to /var/mail.
#mail_privileged_group =
mail_privileged_group = mail
[...]
1 |
(Bu dosyanın birkaç paragrafında değişiklikler mevcut!)
[...]
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}# Number of connections to handle before starting a new process. Typically
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
# is faster. <doc/wiki/LoginProcess.txt>
#service_count = 1# Number of processes to always keep waiting for more connections.
#process_min_avail = 0# If you set service_count=0, you probably need to grow this.
#vsz_limit = 64M
vsz_limit = 0
}
[...]
[...]
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
[...]
[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
# Create inet listener only if you can't use the above UNIX socket
#inet_listener lmtp {
# Avoid making LMTP visible for the entire internet
#address =
#port =
#}
}
[...]
[...]
service auth {
# auth_socket_path points to this userdb socket by default. It's typically
# used by dovecot-lda, doveadm, possibly imap process, etc. Its default
# permissions make it readable only by root, but you may need to relax these
# permissions. Users that have access to this socket are able to get a list
# of all usernames and get results of everyone's userdb lookups.
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}unix_listener auth-userdb {
mode = 0600
user = vmail
#group = vmail
}# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}# Auth process is run as this user.
user = dovecot
}
[...]
[...]
service auth-worker {
# Auth worker process is run as root by default, so that it can access
# /etc/shadow. If this isn't necessary, the user should be changed to
# $default_internal_user.
user = vmail
}
[...]
1 |
[...]
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
#ssl = yes
ssl = yes
[...]
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
ssl_cert = </etc/pki/tls/certs/www.alanadi.com.crt
ssl_key = </etc/pki/tls/private/www.alanadi.com.key
[...]
SSL Sertifikası oluşturmak için buraya bakabiliriz.
1 |
[...]
plugin {
autocreate = Drafts
autocreate2 = Sent
autocreate3 = Trash
autosubscribe = Drafts
autosubscribe2 = Sent
autosubscribe3 = Trash
}
1 |
komutuyla yeni bir /etc/dovecot/auth-sql.conf.ext dosyası oluşturup, içine;
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = static
args = uid=vmail gid=mail home=/var/spool/mail/vhosts/%d/%n
}
satırlarını ekliyoruz.
1 |
komutuyla yeni bir /etc/dovecot/auth-sql.conf.ext dosyası oluşturup, içine; dovecot-sql.conf.ext dosyasının içeriğini ekliyoruz. (maildbname, mailusername ve mailpass ibarelerini içerir. Bu yüzden bunları kendi verilerimizle değiştiriyoruz.)
Alternatif bağlantılar (dovecot-sql.conf.ext): 1 2 3
1 |
komutlarıyla gerekli grupları oluşturuyoruz, gerekli izinler veriliyor.
1 |
komutuyla /etc/aliases dosyasını açıyoruz, dosyanın sonuna;
root: root@alanadi.com
user: user@alanadi.com
satırlarını ekliyoruz. Bu satırlarla linuxdaki kullanıcılar ile mysql'e eklediğimiz sanal kullanıcıları birleştirmiş oluyoruz. Eklenecek satırlarla çoğaltılabilir.
1 |
bu komutlarla da aliases veritabanını güncellenir ve ilgili servisler yeniden başlatılır.
Deneme e-Postası Oluşturma
1 |
mailx paketini kurduk, yapılandırma dosyasını yedekledik, nano ile açtık, içinde şöyle değişiklikler yapıyoruz:
[...]
# Outgoing messages are sent in ISO-8859-1 if all their characters are
# representable in it, otherwise in UTF-8.
#set sendcharsets=iso-8859-1,utf-8
set sendcharsets=utf-8
[...]
1 |
Bu yazı, DigitalOcean Platformu üzerinde CentOS6.5 dağıtımı olarak kurulup üzerine kurulan paket, yazılımlar ve ayarlamalarla stabil bir şekilde çalışan sunucunun şablonudur. Evdeki pc'ye kurulmuş veya başka firma veya platformlardan edinilen vps/vds/dedicated tarzı bir CentOS6.6 dağıtımında da çalışması muhtemeldir fakat çıkabilecek sorunlardan ve tutarsızlıklardan mesul olmadığımı en başta belirtmek isterim.
Şayet henüz üye değilseniz https://www.digitalocean.com/?refcode=55be147097e7 linki ile DigitalOcean platformuna benim referansımla üye olursanız, 10$ hediye kazanacaksınız. Bu sayede giriş seviyesi bir VPS planı (512MB RAM, 20GB SSD Depolama Alanı) ile 2 aylık veya giriş seviyesinin üstü bir VPS planı (1GB, 30 GB SSD Depolama Alanı) 2 aylık kullanım hakkı kazanabilirsiniz. Ayrıca hesabınıza (bu hediye 10$'dan başka) PayPal ile 25$ yüklediğinizde (tek seferde şart değil, ör: ilk ay 5 sonra 10 ve sonra da 10$ yüklediğinizde bile olur) ben de 25$ kazanmış olacağım. Bu makaleye ve emeğime teşekkür etmek isteyenlerin yapabileceği en makbul şeylerden biridir benim için 🙂
1 |
, SUBSTRING(SHA(RAND()), -16))), 'user@alanadi.com'); |
Bu kısımda info@alanadi.com'a gelen e-postaların root@alanadi.com'a gitmesi ayarlanıyor:
1 |
1 |
Aşağıdaki Shell komutlarıyla mevcut /etc/postfix/main.cf dosyasını yedekliyoruz ve nano ile açıyoruz:
1 |
/etc/postfix/main.cf dosyasında yapacağımız değişiklikler (alanadi.com ibaresi kendi domainimizle değişmeli, siyah kısımlar mevcut ibarelerdir, kırmızı ve kalın kısımlar eklenir veya değiştirilir) şu şekilde olmalı:
[...]
#myhostname = virtual.domain.tld
myhostname = mail.alanadi.com
[...]
#mydomain = domain.tld
mydomain = alanadi.com
[...]
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain
[...]
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
inet_interfaces = all
[...]
#inet_protocols = all
inet_protocols = ipv4
[...]
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
[...]
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost =
[...]
#recipient_delimiter = +
recipient_delimiter = +
[...]
#smtpd_banner = $myhostname ESMTP $mail_name
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
biff = no# appending .domain is the MUA's job.
append_dot_mydomain = no
[...]
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES# TLS parameters
smtpd_tls_cert_file=/etc/pki/tls/certs/www.alanadi.com.net.crt
smtpd_tls_key_file=/etc/pki/tls/private/www.alanadi.com.key
smtpd_use_tls=yes
smtpd_tls_auth_only = yes#Enabling SMTP for authenticated users, and handing off authentication to Dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes#Enabling SMTP for authenticated users, and handing off authentication to Dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yessmtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination#Handing off local delivery to Dovecot's LMTP, and telling it where to store mail
virtual_transport = lmtp:unix:private/dovecot-lmtp#Virtual domains, users, and aliases
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf#content_filter = amavis:[127.0.0.1]:10024
#receive_override_options = no_address_mappings
CTRL+X kombinasyonu ve Y tuşlarına basarak /etc/postfix/main.cf dosyasını kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir /etc/postfix/mysql-virtual-mailbox-domains.cf dosyası açıyoruz:
1 |
/etc/postfix/mysql-virtual-mailbox-domains.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT destination FROM virtual_aliases WHERE source='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir mysql-virtual-mailbox-domains.cf dosyası açıyoruz:
1 |
mysql-virtual-mailbox-domains.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT 1 FROM virtual_domains WHERE name='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki Shell komutuyla yeni bir mysql-virtual-mailbox-maps.cf dosyası açıyoruz:
1 |
mysql-virtual-mailbox-maps.cf dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):
user = mailusername
password = mailpass
hosts = 127.0.0.1
dbname = maildbname
query = SELECT 1 FROM virtual_users WHERE email='%s'
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
Aşağıdaki komutlarla servisi yeniden başlatıp kurulumun sağlamasını yapıyoruz (değiştirilmesi gereken alanları değiştiriyoruz):
1 |
Aşağıdaki Shell komutlarıyla /etc/postfix/master.cf dosyasını yekleyip nano ile dosyayı açıyoruz:
1 |
başlarında # (diyez) olan satırların aşağıdaki değişiklere göre #'leri kaldırarak değişikliklerini yapıyoruz:
[...]
submission inet - n - - smtpd
[...]
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
[...]
dosyanın en altına aşağıdaki ibareleri ekliyoruz:
#
# Dovecot LDA
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}
CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.
e-Posta Sunucusu için Dovecot Ayarlamaları
Aşağıdaki komutlarla değişiklik yapacağımız dovecot yapılandırma dosyalarını yedekliyoruz:
1 |
Değişikliklere başlıyoruz:
1 |
[...]
# Protocols we want to be serving.
!include_try /usr/share/dovecot/protocols.d/*.protocol
#protocols = imap imaps pop3 pop3s lmtp
protocols = imap pop3 lmtp
[...]
1 |
[...]
# connection is considered secure and plaintext authentication is allowed.
#disable_plaintext_auth = yes
disable_plaintext_auth = yes
[...]
# NOTE: See also disable_plaintext_auth setting.
auth_mechanisms = plain login
[...]
#!include auth-deny.conf.ext
#!include auth-master.conf.ext#!include auth-system.conf.ext
!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
1 |
[...]
# <doc/wiki/MailLocation.txt>
#
#mail_location =
mail_location = maildir:/var/spool/mail/vhosts/%d/%n:INDEX=/var/spool/mail/vhosts/%d/%n:INBOX=/var/spool/mail/vhosts/%d/%n/.INBOX
[...]
# Typically this is set to "mail" to give access to /var/mail.
#mail_privileged_group =
mail_privileged_group = mail
[...]
1 |
(Bu dosyanın birkaç paragrafında değişiklikler mevcut!)
[...]
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}# Number of connections to handle before starting a new process. Typically
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
# is faster. <doc/wiki/LoginProcess.txt>
#service_count = 1# Number of processes to always keep waiting for more connections.
#process_min_avail = 0# If you set service_count=0, you probably need to grow this.
#vsz_limit = 64M
vsz_limit = 0
}
[...]
[...]
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
[...]
[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
# Create inet listener only if you can't use the above UNIX socket
#inet_listener lmtp {
# Avoid making LMTP visible for the entire internet
#address =
#port =
#}
}
[...]
[...]
service auth {
# auth_socket_path points to this userdb socket by default. It's typically
# used by dovecot-lda, doveadm, possibly imap process, etc. Its default
# permissions make it readable only by root, but you may need to relax these
# permissions. Users that have access to this socket are able to get a list
# of all usernames and get results of everyone's userdb lookups.
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}unix_listener auth-userdb {
mode = 0600
user = vmail
#group = vmail
}# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}# Auth process is run as this user.
user = dovecot
}
[...]
[...]
service auth-worker {
# Auth worker process is run as root by default, so that it can access
# /etc/shadow. If this isn't necessary, the user should be changed to
# $default_internal_user.
user = vmail
}
[...]
1 |
[...]
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
#ssl = yes
ssl = yes
[...]
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
ssl_cert = </etc/pki/tls/certs/www.alanadi.com.crt
ssl_key = </etc/pki/tls/private/www.alanadi.com.key
[...]
SSL Sertifikası oluşturmak için buraya bakabiliriz.
1 |
[...]
plugin {
autocreate = Drafts
autocreate2 = Sent
autocreate3 = Trash
autosubscribe = Drafts
autosubscribe2 = Sent
autosubscribe3 = Trash
}
1 |
komutuyla yeni bir /etc/dovecot/auth-sql.conf.ext dosyası oluşturup, içine;
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = static
args = uid=vmail gid=mail home=/var/spool/mail/vhosts/%d/%n
}
satırlarını ekliyoruz.
1 |
komutuyla yeni bir /etc/dovecot/auth-sql.conf.ext dosyası oluşturup, içine; dovecot-sql.conf.ext dosyasının içeriğini ekliyoruz. (maildbname, mailusername ve mailpass ibarelerini içerir. Bu yüzden bunları kendi verilerimizle değiştiriyoruz.)
Alternatif bağlantılar (dovecot-sql.conf.ext): 1 2 3
1 |
komutlarıyla gerekli grupları oluşturuyoruz, gerekli izinler veriliyor.
1 |
komutuyla /etc/aliases dosyasını açıyoruz, dosyanın sonuna;
root: root@alanadi.com
user: user@alanadi.com
satırlarını ekliyoruz. Bu satırlarla linuxdaki kullanıcılar ile mysql'e eklediğimiz sanal kullanıcıları birleştirmiş oluyoruz. Eklenecek satırlarla çoğaltılabilir.
1 |
bu komutlarla da aliases veritabanını güncellenir ve ilgili servisler yeniden başlatılır.
Deneme e-Postası Oluşturma
1 |
mailx paketini kurduk, yapılandırma dosyasını yedekledik, nano ile açtık, içinde şöyle değişiklikler yapıyoruz:
[...]
# Outgoing messages are sent in ISO-8859-1 if all their characters are
# representable in it, otherwise in UTF-8.
#set sendcharsets=iso-8859-1,utf-8
set sendcharsets=utf-8
[...]
1 |
Bu yazı, DigitalOcean Platformu üzerinde CentOS6.5 dağıtımı olarak kurulup üzerine kurulan paket, yazılımlar ve ayarlamalarla stabil bir şekilde çalışan sunucunun şablonudur. Evdeki pc'ye kurulmuş veya başka firma veya platformlardan edinilen vps/vds/dedicated tarzı bir CentOS6.6 dağıtımında da çalışması muhtemeldir fakat çıkabilecek sorunlardan ve tutarsızlıklardan mesul olmadığımı en başta belirtmek isterim.
Şayet henüz üye değilseniz https://www.digitalocean.com/?refcode=55be147097e7 linki ile DigitalOcean platformuna benim referansımla üye olursanız, 10$ hediye kazanacaksınız. Bu sayede giriş seviyesi bir VPS planı (512MB RAM, 20GB SSD Depolama Alanı) ile 2 aylık veya giriş seviyesinin üstü bir VPS planı (1GB, 30 GB SSD Depolama Alanı) 2 aylık kullanım hakkı kazanabilirsiniz. Ayrıca hesabınıza (bu hediye 10$'dan başka) PayPal ile 25$ yüklediğinizde (tek seferde şart değil, ör: ilk ay 5 sonra 10 ve sonra da 10$ yüklediğinizde bile olur) ben de 25$ kazanmış olacağım. Bu makaleye ve emeğime teşekkür etmek isteyenlerin yapabileceği en makbul şeylerden biridir benim için 🙂