<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aycan AYDEMİR</title>
	<atom:link href="https://www.aycanaydemir.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.aycanaydemir.net</link>
	<description>gördüklerim, duyduklarım, öğrendiklerim..</description>
	<lastBuildDate>Tue, 30 Jan 2024 14:59:32 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://www.aycanaydemir.net/wp-content/uploads/2025/06/android-chrome-192x192-1-150x150.png</url>
	<title>Aycan AYDEMİR</title>
	<link>https://www.aycanaydemir.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>CentOS6.6 MySQL Tabanlı Sanal Kullanıcı ve Alan Adlarıyla Postfix Dovecot Yapılandırması</title>
		<link>https://www.aycanaydemir.net/centos6-6-mysql-tabanli-sanal-kullanici-ve-alan-adlariyla-postfix-dovecot-yapilandirmasi/</link>
					<comments>https://www.aycanaydemir.net/centos6-6-mysql-tabanli-sanal-kullanici-ve-alan-adlariyla-postfix-dovecot-yapilandirmasi/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Sat, 23 May 2015 22:56:21 +0000</pubDate>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=980</guid>

					<description><![CDATA[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 &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/centos6-6-mysql-tabanli-sanal-kullanici-ve-alan-adlariyla-postfix-dovecot-yapilandirmasi/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h3><a name="baslangic"></a><span style="color: red;">Başlangıç Yapılandırması</span></h3>
<p>Bu yazı <a href="https://www.howtoforge.com/perfect-server-centos-6.4-x86_64-apache2-dovecot-ispconfig-3" target="_blank" rel="noopener">HowtoForge</a> ve <a href="https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-5/" target="_blank" rel="noopener">Linode</a> 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. <a href="https://www.aycanaydemir.net/centos6-5-mukemmel-server/" target="_blank" rel="noopener">CentOS6.5 Mükemmel Server</a> 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 <span style="color: red;"><strong>kırmızı/kalın</strong></span> kısımlar bu şekilde değiştirilecek/eklenecek demektir. <strong><span style="color: purple;">[...]</span></strong> ibaresi, ilgili dosyada öncesinde ve sonrasında kodlar/ibareler mevcuttur, sadece belirtilen alanların değiştirilmesi gerektiği anlamına geliyor.</p>
<p>Salt haldeki CentOS 6 dağıtımına EPEL ve RepoForge ek depolarını ekleyip, diğer başlangıç ayarlamalarını yapıyoruz:</p><pre class="crayon-plain-tag">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</pre><p></p>
<h3><a name="mysql-kurulumu"></a><span style="color: red;">MySQL Kurulumu</span></h3>
<p>MySQL sunucusu ve istemcisi kurulmamışsa şayet buradaki komutlarla kuruyoruz. e-Posta Sunucusu için gerekli olacak.</p><pre class="crayon-plain-tag">yum -y install mysql mysql-server mysql-libs mysql-devel</pre><p>MySQL'i sistem başlangıcında otomatik başlayacak şekilde ayarlayıp, servisi başlatıyoruz:</p><pre class="crayon-plain-tag">chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start</pre><p>MySQL root şifresini ve başlangıç yapılandırmasını ayarlıyoruz:</p><pre class="crayon-plain-tag">mysql_secure_installation</pre><p></p>
<blockquote><p>Set root password? [Y/n] &lt;-- <span style="color: red;"><strong>ENTER</strong></span><br />
New password: &lt;-- <span style="color: red;"><strong>MySQL-ROOT-Şifreniz</strong></span><br />
Re-enter new password: &lt;-- <span style="color: red;"><strong>MySQL-ROOT-Şifreniz</strong></span><br />
Remove anonymous users? [Y/n] &lt;-- <span style="color: red;"><strong>ENTER</strong></span><br />
Disallow root login remotely? [Y/n] &lt;-- <span style="color: red;"><strong>ENTER</strong></span><br />
Remove test database and access to it? [Y/n] &lt;-- <span style="color: red;"><strong>ENTER</strong></span><br />
Reload privilege tables now? [Y/n] &lt;-- <span style="color: red;"><strong>ENTER</strong></span></p></blockquote>
<h3><a name="postfix-kurulumu"></a><span style="color: red;">Postfix Kurulumu</span></h3>
<p>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:</p><pre class="crayon-plain-tag">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</pre><p></p>
<h3><a name="dovecot-kurulumu"></a><span style="color: red;">Dovecot Kurulumu</span></h3>
<p>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:</p><pre class="crayon-plain-tag">yum -y install dovecot dovecot-devel dovecot-mysql
chkconfig --levels 235 dovecot on
/etc/init.d/dovecot start</pre><p></p>
<h3><a name="postfix-ayarlama"></a><span style="color: red;">e-Posta Sunucusu için Postfix (MySQL) Ayarlamaları</span></h3>
<p>Aşağıdaki Shell komutlarıyla postfix programının kullanacağı mysql veritabanı oluşturulur, (<span style="color: red;">maildbname</span>=veritabanının adı <span style="color: red;">mailusername</span>=bu veritabaınını kullanacak olan mysql kullanıcısı, <span style="color: red;">mailpass</span>=mysql veritabanını kullanacak mysql kullanıcısın şifresi. Bu ibarelerin yerine kendi bilgilerimizi yazmalıyız):</p><pre class="crayon-plain-tag">mysqladmin -p create maildbname
mysql -p maildbname</pre><p>Burdan itibaren geçilecek komutlar mysql komutlarıdır ve yukarıda belirtilen değiştirilmesi gereken ibarelere dikkat etmeliyiz:</p><pre class="crayon-plain-tag">GRANT SELECT ON maildbname.* TO 'mailusername'@'127.0.0.1' IDENTIFIED BY 'mailpass';</pre><p></p><pre class="crayon-plain-tag">FLUSH PRIVILEGES;</pre><p></p><pre class="crayon-plain-tag">CREATE TABLE `virtual_domains` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre><p></p><pre class="crayon-plain-tag">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;</pre><p></p><pre class="crayon-plain-tag">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;</pre><p><span style="color: red;">alanadi.com</span> yerine kendi domain adresimizi yazmalıyız:</p><pre class="crayon-plain-tag">INSERT INTO `maildbname`.`virtual_domains`
  (`id` ,`name`)
VALUES
  ('1', 'alanadi.com');</pre><p><span style="color: red;">!!!!EPOSTASIFRESI!!!!</span> yerine e-posta hesaplarında kullanılacak şifreleri <span style="color: red;">user@alanadi.com</span> yerine belirlemek istediğimiz e-posta hesabını yazıyoruz, bu düzende yeni satırlar eklenerek çoğaltılabilir:</p><pre class="crayon-plain-tag">INSERT INTO `maildbname`.`virtual_users`
  (`id`, `domain_id`, `password` , `email`)
VALUES
  ('1', '1', ENCRYPT('!!!!EPOSTASIFRESI!!!!', CONCAT('$6</pre><p>Bu kısımda <span style="color: red;">info@alanadi.com</span>'a gelen e-postaların <span style="color: red;">root@alanadi.com</span>'a gitmesi ayarlanıyor:</p><pre class="crayon-plain-tag">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');</pre><p></p><pre class="crayon-plain-tag">SELECT * FROM maildbname.virtual_domains;
SELECT * FROM maildbname.virtual_users;
SELECT * FROM maildbname.virtual_aliases;
FLUSH PRIVILEGES;
quit;</pre><p>Aşağıdaki Shell komutlarıyla mevcut <span style="color: red;">/etc/postfix/main.cf</span> dosyasını yedekliyoruz ve nano ile açıyoruz:</p><pre class="crayon-plain-tag">mkdir -p /old/etc/postfix/
cp /etc/postfix/main.cf /old/etc/postfix/main.cf
nano /etc/postfix/main.cf</pre><p><span style="color: red;">/etc/postfix/main.cf</span> dosyasında yapacağımız değişiklikler (<span style="color: red;">alanadi.com</span> 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ı:</p>
<blockquote><p><strong><span style="color: purple;">[...]</span></strong><br />
#myhostname = virtual.domain.tld<br />
<span style="color: red;"><strong>myhostname = mail.alanadi.com</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#mydomain = domain.tld<br />
<span style="color: red;"><strong>mydomain = alanadi.com</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#myorigin = $myhostname<br />
#myorigin = $mydomain<br />
<span style="color: red;"><strong>myorigin = $mydomain</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>#</strong></span>inet_interfaces = all<br />
#inet_interfaces = $myhostname<br />
#inet_interfaces = $myhostname, localhost<br />
#inet_interfaces = localhost<br />
<span style="color: red;"><strong>inet_interfaces = all</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>#</strong></span>inet_protocols = all<br />
<span style="color: red;"><strong>inet_protocols = ipv4</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#mynetworks = 168.100.189.0/28, 127.0.0.0/8<br />
#mynetworks = $config_directory/mynetworks<br />
#mynetworks = hash:/etc/postfix/network_table<br />
<span style="color: red;"><strong>mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#relayhost = $mydomain<br />
#relayhost = [gateway.my.domain]<br />
#relayhost = [mailserver.isp.tld]<br />
#relayhost = uucphost<br />
#relayhost = [an.ip.add.ress]<br />
<span style="color: red;"><strong>relayhost =</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#recipient_delimiter = +<br />
<span style="color: red;"><strong>recipient_delimiter = +</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#smtpd_banner = $myhostname ESMTP $mail_name<br />
<span style="color: red;"><strong>smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)</strong></span><br />
<span style="color: red;"><strong>biff = no</strong></span></p>
<p><span style="color: red;"><strong># appending .domain is the MUA's job.</strong></span><br />
<span style="color: red;"><strong>append_dot_mydomain = no</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES</p>
<p><span style="color: red;"><strong># TLS parameters</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_cert_file=/etc/pki/tls/certs/www.alanadi.com.net.crt</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_key_file=/etc/pki/tls/private/www.alanadi.com.key</strong></span><br />
<span style="color: red;"><strong>smtpd_use_tls=yes</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_auth_only = yes</strong></span></p>
<p><span style="color: red;"><strong>#Enabling SMTP for authenticated users, and handing off authentication to Dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_type = dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_path = private/auth</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_auth_enable = yes</strong></span></p>
<p><span style="color: red;"><strong>#Enabling SMTP for authenticated users, and handing off authentication to Dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_type = dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_path = private/auth</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_auth_enable = yes</strong></span></p>
<p><span style="color: red;"><strong>smtpd_recipient_restrictions =</strong></span><br />
<span style="color: red;"><strong>        permit_sasl_authenticated,</strong></span><br />
<span style="color: red;"><strong>        permit_mynetworks,</strong></span><br />
<span style="color: red;"><strong>        reject_unauth_destination</strong></span></p>
<p><span style="color: red;"><strong>#Handing off local delivery to Dovecot's LMTP, and telling it where to store mail</strong></span><br />
<span style="color: red;"><strong>virtual_transport = lmtp:unix:private/dovecot-lmtp</strong></span></p>
<p><span style="color: red;"><strong>#Virtual domains, users, and aliases</strong></span><br />
<span style="color: red;"><strong>virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf</strong></span><br />
<span style="color: red;"><strong>virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf</strong></span><br />
<span style="color: red;"><strong>virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf</strong></span></p>
<p><span style="color: red;"><strong>#content_filter = amavis:[127.0.0.1]:10024</strong></span><br />
<span style="color: red;"><strong>#receive_override_options = no_address_mappings</strong></span></p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak <span style="color: red;">/etc/postfix/main.cf</span> dosyasını kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">/etc/postfix/mysql-virtual-mailbox-domains.cf</span> dosyası açıyoruz:</p><pre class="crayon-plain-tag">nano /etc/postfix/mysql-virtual-mailbox-domains.cf</pre><p><span style="color: red;">/etc/postfix/mysql-virtual-mailbox-domains.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote><p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT destination FROM virtual_aliases WHERE source='%s'</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">mysql-virtual-mailbox-domains.cf</span> dosyası açıyoruz:</p><pre class="crayon-plain-tag">nano mysql-virtual-mailbox-domains.cf</pre><p><span style="color: red;">mysql-virtual-mailbox-domains.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote><p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT 1 FROM virtual_domains WHERE name='%s'</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">mysql-virtual-mailbox-maps.cf</span> dosyası açıyoruz:</p><pre class="crayon-plain-tag">nano mysql-virtual-mailbox-maps.cf</pre><p><span style="color: red;">mysql-virtual-mailbox-maps.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote><p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT 1 FROM virtual_users WHERE email='%s'</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki komutlarla servisi yeniden başlatıp kurulumun sağlamasını yapıyoruz (değiştirilmesi gereken alanları değiştiriyoruz):</p><pre class="crayon-plain-tag">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</pre><p>Aşağıdaki Shell komutlarıyla /etc/postfix/master.cf dosyasını yekleyip nano ile dosyayı açıyoruz:</p><pre class="crayon-plain-tag">mkdir -p /old/etc/postfix/
cp /etc/postfix/master.cf /old/etc/postfix/master.cf
nano /etc/postfix/master.cf</pre><p>başlarında # (diyez) olan satırların aşağıdaki değişiklere göre #'leri kaldırarak değişikliklerini yapıyoruz:</p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>submission inet - n - - smtpd</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>smtps inet n - n - - smtpd</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_tls_wrappermode=yes</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_sasl_auth_enable=yes</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_client_restrictions=permit_sasl_authenticated,reject</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p>dosyanın en altına aşağıdaki ibareleri ekliyoruz:</p>
<blockquote><p><span style="color: red;"><strong>#</strong></span><br />
<span style="color: red;"><strong># Dovecot LDA</strong></span><br />
<span style="color: red;"><strong>dovecot unix - n n - - pipe</strong></span><br />
<span style="color: red;"><strong>  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}</strong></span></p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<h3><a name="dovecot-ayarlama"></a><span style="color: red;">e-Posta Sunucusu için Dovecot Ayarlamaları</span></h3>
<p>Aşağıdaki komutlarla değişiklik yapacağımız dovecot yapılandırma dosyalarını yedekliyoruz:</p><pre class="crayon-plain-tag">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/</pre><p>Değişikliklere başlıyoruz:</p><pre class="crayon-plain-tag">nano /etc/dovecot/dovecot.conf</pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# Protocols we want to be serving.<br />
<span style="color: red;"><strong>!include_try /usr/share/dovecot/protocols.d/*.protocol</strong></span><br />
#protocols = imap imaps pop3 pop3s lmtp<br />
<span style="color: red;"><strong>protocols = imap pop3 lmtp</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag">nano /etc/dovecot/conf.d/10-auth.conf</pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# connection is considered secure and plaintext authentication is allowed.<br />
#disable_plaintext_auth = yes<br />
<span style="color: red;"><strong>disable_plaintext_auth = yes</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# NOTE: See also disable_plaintext_auth setting.<br />
auth_mechanisms = plain <span style="color: red;"><strong>login</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#!include auth-deny.conf.ext<br />
#!include auth-master.conf.ext</p>
<p><span style="color: red;"><strong>#</strong></span>!include auth-system.conf.ext<br />
<span style="color: red;"><strong>!include auth-sql.conf.ext</strong></span><br />
#!include auth-ldap.conf.ext<br />
#!include auth-passwdfile.conf.ext<br />
#!include auth-checkpassword.conf.ext<br />
#!include auth-vpopmail.conf.ext<br />
#!include auth-static.conf.ext</p></blockquote>
<p></p><pre class="crayon-plain-tag">nano /etc/dovecot/conf.d/10-mail.conf</pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# &lt;doc/wiki/MailLocation.txt&gt;<br />
#<br />
#mail_location =<br />
<span style="color: red;"><strong>mail_location = maildir:/var/spool/mail/vhosts/%d/%n:INDEX=/var/spool/mail/vhosts/%d/%n:INBOX=/var/spool/mail/vhosts/%d/%n/.INBOX</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# Typically this is set to "mail" to give access to /var/mail.<br />
#mail_privileged_group =<br />
<span style="color: red;"><strong>mail_privileged_group = mail</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag">nano /etc/dovecot/conf.d/10-master.conf</pre><p><span style="color: red;"><strong>(Bu dosyanın birkaç paragrafında değişiklikler mevcut!)</strong></span></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
service imap-login {<br />
inet_listener imap {<br />
<span style="color: red;"><strong>port = 143</strong></span><br />
}<br />
inet_listener imaps {<br />
<span style="color: red;"><strong>port = 993</strong></span><br />
<span style="color: red;"><strong>ssl = yes</strong></span><br />
}</p>
<p># Number of connections to handle before starting a new process. Typically<br />
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0<br />
# is faster. &lt;doc/wiki/LoginProcess.txt&gt;<br />
#service_count = 1</p>
<p># Number of processes to always keep waiting for more connections.<br />
#process_min_avail = 0</p>
<p># If you set service_count=0, you probably need to grow this.<br />
#vsz_limit = 64M<br />
<span style="color: red;"><strong>vsz_limit = 0</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
service pop3-login {<br />
inet_listener pop3 {<br />
<span style="color: red;"><strong>port = 110</strong></span><br />
}<br />
inet_listener pop3s {<br />
<span style="color: red;"><strong>port = 995</strong></span><br />
<span style="color: red;"><strong>ssl = yes</strong></span><br />
}<br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
service lmtp {<br />
<span style="color: red;"><strong>unix_listener /var/spool/postfix/private/dovecot-lmtp {</strong></span><br />
<span style="color: red;"><strong>mode = 0600</strong></span><br />
<span style="color: red;"><strong>user = postfix</strong></span><br />
<span style="color: red;"><strong>group = postfix</strong></span><br />
}<br />
# Create inet listener only if you can't use the above UNIX socket<br />
#inet_listener lmtp {<br />
# Avoid making LMTP visible for the entire internet<br />
#address =<br />
#port =<br />
#}<br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
service auth {<br />
# auth_socket_path points to this userdb socket by default. It's typically<br />
# used by dovecot-lda, doveadm, possibly imap process, etc. Its default<br />
# permissions make it readable only by root, but you may need to relax these<br />
# permissions. Users that have access to this socket are able to get a list<br />
# of all usernames and get results of everyone's userdb lookups.<br />
<span style="color: red;"><strong>unix_listener /var/spool/postfix/private/auth {</strong></span><br />
<span style="color: red;"><strong>mode = 0666</strong></span><br />
<span style="color: red;"><strong>user = postfix</strong></span><br />
<span style="color: red;"><strong>group = postfix</strong></span><br />
<span style="color: red;"><strong>}</strong></span></p>
<p><span style="color: red;"><strong>unix_listener auth-userdb {</strong></span><br />
<span style="color: red;"><strong>mode = 0600</strong></span><br />
<span style="color: red;"><strong>user = vmail</strong></span><br />
<span style="color: red;"><strong>#group = vmail</strong></span><br />
<span style="color: red;"><strong>}</strong></span></p>
<p># Postfix smtp-auth<br />
#unix_listener /var/spool/postfix/private/auth {<br />
# mode = 0666<br />
#}</p>
<p># Auth process is run as this user.<br />
<span style="color: red;"><strong>user = dovecot</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
service auth-worker {<br />
# Auth worker process is run as root by default, so that it can access<br />
# /etc/shadow. If this isn't necessary, the user should be changed to<br />
# $default_internal_user.<br />
<span style="color: red;"><strong>user = vmail</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag">nano /etc/dovecot/conf.d/10-ssl.conf</pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# SSL/TLS support: yes, no, required. &lt;doc/wiki/SSL.txt&gt;<br />
#ssl = yes<br />
<span style="color: red;"><strong>ssl = yes</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before<br />
# dropping root privileges, so keep the key file unreadable by anyone but<br />
# root. Included doc/mkcert.sh can be used to easily generate self-signed<br />
# certificate, just make sure to update the domains in dovecot-openssl.cnf<br />
<span style="color: red;"><strong>#</strong></span>ssl_cert = &lt;/etc/pki/dovecot/certs/dovecot.pem<br />
<span style="color: red;"><strong>#</strong></span>ssl_key = &lt;/etc/pki/dovecot/private/dovecot.pem<br />
<span style="color: red;"><strong>ssl_cert = &lt;/etc/pki/tls/certs/www.alanadi.com.crt</strong></span><br />
<span style="color: red;"><strong>ssl_key = &lt;/etc/pki/tls/private/www.alanadi.com.key</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p>SSL Sertifikası oluşturmak için <a href="https://www.aycanaydemir.net/centos6-5-mukemmel-server/6/#Crypto" target="_blank" rel="noopener">buraya</a> bakabiliriz.</p><pre class="crayon-plain-tag">nano /etc/dovecot/conf.d/20-imap.conf</pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>plugin {<br />
autocreate = Drafts<br />
autocreate2 = Sent<br />
autocreate3 = Trash<br />
autosubscribe = Drafts<br />
autosubscribe2 = Sent<br />
autosubscribe3 = Trash<br />
}</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag">nano /etc/dovecot/auth-sql.conf.ext</pre><p>komutuyla yeni bir <span style="color: red;">/etc/dovecot/auth-sql.conf.ext</span> dosyası oluşturup, içine;</p>
<blockquote><p><span style="color: red;"><strong><br />
passdb {<br />
driver = sql<br />
args = /etc/dovecot/dovecot-sql.conf.ext<br />
}<br />
userdb {<br />
driver = static<br />
args = uid=vmail gid=mail home=/var/spool/mail/vhosts/%d/%n<br />
}<br />
</strong></span></p></blockquote>
<p>satırlarını ekliyoruz.</p><pre class="crayon-plain-tag">nano /etc/dovecot/dovecot-sql.conf.ext</pre><p>komutuyla yeni bir <span style="color: red;">/etc/dovecot/auth-sql.conf.ext</span> dosyası oluşturup, içine; <a href="https://www.aycanaydemir.net/wp-content/uploads/2015/05/dovecot-sql.conf.ext" target="_blank" rel="noopener">dovecot-sql.conf.ext</a> dosyasının içeriğini ekliyoruz. (<span style="color: red;">maildbname, mailusername ve mailpass</span> ibarelerini içerir. Bu yüzden bunları kendi verilerimizle değiştiriyoruz.)<br />
Alternatif bağlantılar (dovecot-sql.conf.ext): <a href="https://drive.google.com/file/d/0B5wuGHe6JlPNYUpWS0ZFMDNRSGc/view?usp=sharing" target="_blank" rel="noopener">1</a> <a href="https://yadi.sk/d/woIRAx-Gh6at8" target="_blank" rel="noopener">2</a> <a href="https://onedrive.live.com/redir?resid=8e86a4ba64a8db27!292&amp;authkey=!ADRHqJCvBEYUHak&amp;ithint=folder%2cext" target="_blank" rel="noopener">3</a></p><pre class="crayon-plain-tag">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</pre><p>komutlarıyla gerekli grupları oluşturuyoruz, gerekli izinler veriliyor.</p><pre class="crayon-plain-tag">nano /etc/aliases</pre><p>komutuyla <span style="color: red;">/etc/aliases</span> dosyasını açıyoruz, dosyanın sonuna;</p>
<blockquote><p><span style="color: red;"><strong>root: root@alanadi.com<br />
user: user@alanadi.com</strong></span></p></blockquote>
<p>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.</p><pre class="crayon-plain-tag">newaliases
service postfix restart
service dovecot restart</pre><p>bu komutlarla da aliases veritabanını güncellenir ve ilgili servisler yeniden başlatılır.</p>
<h3><a name="deneme-postasi"></a><span style="color: red;">Deneme e-Postası Oluşturma</span></h3>
<p></p><pre class="crayon-plain-tag">yum -y install mailx
cp /etc/mail.rc /old/etc/
nano /etc/mail.rc</pre><p>mailx paketini kurduk, yapılandırma dosyasını yedekledik, nano ile açtık, içinde şöyle değişiklikler yapıyoruz:</p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# Outgoing messages are sent in ISO-8859-1 if all their characters are<br />
# representable in it, otherwise in UTF-8.<br />
<span style="color: red;"><strong>#</strong></span>set sendcharsets=iso-8859-1,utf-8<br />
<span style="color: red;"><strong>set sendcharsets=utf-8</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag">echo "Mesaj içeriği: bu bir kontrol e-postasıdır" |mailx -r "root@alanadi.com (ROOT)" -s "Konu: Deneme" root@alanadi.com</pre><p>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.</p>
<p>Şayet henüz üye değilseniz <a href="https://www.digitalocean.com/?refcode=55be147097e7">https://www.digitalocean.com/?refcode=55be147097e7</a> 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 <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p><pre class="crayon-plain-tag">, SUBSTRING(SHA(RAND()), -16))), 'root@alanadi.com'), ('2', '1', ENCRYPT('!!!!EPOSTASIFRESI!!!!', CONCAT('$6</pre><p>Bu kısımda <span style="color: red;">info@alanadi.com</span>'a gelen e-postaların <span style="color: red;">root@alanadi.com</span>'a gitmesi ayarlanıyor:</p><pre class="crayon-plain-tag"></pre><p></p>
<p></p><pre class="crayon-plain-tag"></pre><p>Aşağıdaki Shell komutlarıyla mevcut <span style="color: red;">/etc/postfix/main.cf</span> dosyasını yedekliyoruz ve nano ile açıyoruz:</p><pre class="crayon-plain-tag"></pre><p></p>
<p><span style="color: red;">/etc/postfix/main.cf</span> dosyasında yapacağımız değişiklikler (<span style="color: red;">alanadi.com</span> 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ı:</p>
<blockquote>
<p><strong><span style="color: purple;">[...]</span></strong><br />
#myhostname = virtual.domain.tld<br />
<span style="color: red;"><strong>myhostname = mail.alanadi.com</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#mydomain = domain.tld<br />
<span style="color: red;"><strong>mydomain = alanadi.com</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#myorigin = $myhostname<br />
#myorigin = $mydomain<br />
<span style="color: red;"><strong>myorigin = $mydomain</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>#</strong></span>inet_interfaces = all<br />
#inet_interfaces = $myhostname<br />
#inet_interfaces = $myhostname, localhost<br />
#inet_interfaces = localhost<br />
<span style="color: red;"><strong>inet_interfaces = all</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>#</strong></span>inet_protocols = all<br />
<span style="color: red;"><strong>inet_protocols = ipv4</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#mynetworks = 168.100.189.0/28, 127.0.0.0/8<br />
#mynetworks = $config_directory/mynetworks<br />
#mynetworks = hash:/etc/postfix/network_table<br />
<span style="color: red;"><strong>mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#relayhost = $mydomain<br />
#relayhost = [gateway.my.domain]<br />
#relayhost = [mailserver.isp.tld]<br />
#relayhost = uucphost<br />
#relayhost = [an.ip.add.ress]<br />
<span style="color: red;"><strong>relayhost =</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#recipient_delimiter = +<br />
<span style="color: red;"><strong>recipient_delimiter = +</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#smtpd_banner = $myhostname ESMTP $mail_name<br />
<span style="color: red;"><strong>smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)</strong></span><br />
<span style="color: red;"><strong>biff = no</strong></span></p>
<p><span style="color: red;"><strong># appending .domain is the MUA's job.</strong></span><br />
<span style="color: red;"><strong>append_dot_mydomain = no</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES</p>
<p><span style="color: red;"><strong># TLS parameters</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_cert_file=/etc/pki/tls/certs/www.alanadi.com.net.crt</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_key_file=/etc/pki/tls/private/www.alanadi.com.key</strong></span><br />
<span style="color: red;"><strong>smtpd_use_tls=yes</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_auth_only = yes</strong></span></p>
<p><span style="color: red;"><strong>#Enabling SMTP for authenticated users, and handing off authentication to Dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_type = dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_path = private/auth</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_auth_enable = yes</strong></span></p>
<p><span style="color: red;"><strong>#Enabling SMTP for authenticated users, and handing off authentication to Dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_type = dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_path = private/auth</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_auth_enable = yes</strong></span></p>
<p><span style="color: red;"><strong>smtpd_recipient_restrictions =</strong></span><br />
<span style="color: red;"><strong>        permit_sasl_authenticated,</strong></span><br />
<span style="color: red;"><strong>        permit_mynetworks,</strong></span><br />
<span style="color: red;"><strong>        reject_unauth_destination</strong></span></p>
<p><span style="color: red;"><strong>#Handing off local delivery to Dovecot's LMTP, and telling it where to store mail</strong></span><br />
<span style="color: red;"><strong>virtual_transport = lmtp:unix:private/dovecot-lmtp</strong></span></p>
<p><span style="color: red;"><strong>#Virtual domains, users, and aliases</strong></span><br />
<span style="color: red;"><strong>virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf</strong></span><br />
<span style="color: red;"><strong>virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf</strong></span><br />
<span style="color: red;"><strong>virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf</strong></span></p>
<p><span style="color: red;"><strong>#content_filter = amavis:[127.0.0.1]:10024</strong></span><br />
<span style="color: red;"><strong>#receive_override_options = no_address_mappings</strong></span>
</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak <span style="color: red;">/etc/postfix/main.cf</span> dosyasını kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">/etc/postfix/mysql-virtual-mailbox-domains.cf</span> dosyası açıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p><span style="color: red;">/etc/postfix/mysql-virtual-mailbox-domains.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote><p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT destination FROM virtual_aliases WHERE source='%s'</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">mysql-virtual-mailbox-domains.cf</span> dosyası açıyoruz:</p><pre class="crayon-plain-tag"></pre><p></p>
<p><span style="color: red;">mysql-virtual-mailbox-domains.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote>
<p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT 1 FROM virtual_domains WHERE name='%s'
</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">mysql-virtual-mailbox-maps.cf</span> dosyası açıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p><span style="color: red;">mysql-virtual-mailbox-maps.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote><p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT 1 FROM virtual_users WHERE email='%s'</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki komutlarla servisi yeniden başlatıp kurulumun sağlamasını yapıyoruz (değiştirilmesi gereken alanları değiştiriyoruz):</p><pre class="crayon-plain-tag"></pre><p></p>
<p>Aşağıdaki Shell komutlarıyla /etc/postfix/master.cf dosyasını yekleyip nano ile dosyayı açıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p>başlarında # (diyez) olan satırların aşağıdaki değişiklere göre #'leri kaldırarak değişikliklerini yapıyoruz:</p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>submission inet - n - - smtpd</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>smtps inet n - n - - smtpd</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_tls_wrappermode=yes</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_sasl_auth_enable=yes</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_client_restrictions=permit_sasl_authenticated,reject</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p>dosyanın en altına aşağıdaki ibareleri ekliyoruz:</p>
<blockquote><p><span style="color: red;"><strong>#</strong></span><br />
<span style="color: red;"><strong># Dovecot LDA</strong></span><br />
<span style="color: red;"><strong>dovecot unix - n n - - pipe</strong></span><br />
<span style="color: red;"><strong>  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}</strong></span></p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<h3><a name="dovecot-ayarlama"></a><span style="color: red;">e-Posta Sunucusu için Dovecot Ayarlamaları</span></h3>
<p>Aşağıdaki komutlarla değişiklik yapacağımız dovecot yapılandırma dosyalarını yedekliyoruz:</p><pre class="crayon-plain-tag"></pre><p></p>
<p>Değişikliklere başlıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# Protocols we want to be serving.<br />
<span style="color: red;"><strong>!include_try /usr/share/dovecot/protocols.d/*.protocol</strong></span><br />
#protocols = imap imaps pop3 pop3s lmtp<br />
<span style="color: red;"><strong>protocols = imap pop3 lmtp</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
# connection is considered secure and plaintext authentication is allowed.<br />
#disable_plaintext_auth = yes<br />
<span style="color: red;"><strong>disable_plaintext_auth = yes</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# NOTE: See also disable_plaintext_auth setting.<br />
auth_mechanisms = plain <span style="color: red;"><strong>login</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#!include auth-deny.conf.ext<br />
#!include auth-master.conf.ext</p>
<p><span style="color: red;"><strong>#</strong></span>!include auth-system.conf.ext<br />
<span style="color: red;"><strong>!include auth-sql.conf.ext</strong></span><br />
#!include auth-ldap.conf.ext<br />
#!include auth-passwdfile.conf.ext<br />
#!include auth-checkpassword.conf.ext<br />
#!include auth-vpopmail.conf.ext<br />
#!include auth-static.conf.ext
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# &lt;doc/wiki/MailLocation.txt&gt;<br />
#<br />
#mail_location =<br />
<span style="color: red;"><strong>mail_location = maildir:/var/spool/mail/vhosts/%d/%n:INDEX=/var/spool/mail/vhosts/%d/%n:INBOX=/var/spool/mail/vhosts/%d/%n/.INBOX</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# Typically this is set to "mail" to give access to /var/mail.<br />
#mail_privileged_group =<br />
<span style="color: red;"><strong>mail_privileged_group = mail</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p><span style="color: red;"><strong>(Bu dosyanın birkaç paragrafında değişiklikler mevcut!)</strong></span></p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service imap-login {<br />
  inet_listener imap {<br />
    <span style="color: red;"><strong>port = 143</strong></span><br />
  }<br />
  inet_listener imaps {<br />
    <span style="color: red;"><strong>port = 993</strong></span><br />
    <span style="color: red;"><strong>ssl = yes</strong></span><br />
  }</p>
<p>  # Number of connections to handle before starting a new process. Typically<br />
  # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0<br />
  # is faster. &lt;doc/wiki/LoginProcess.txt&gt;<br />
  #service_count = 1</p>
<p>  # Number of processes to always keep waiting for more connections.<br />
  #process_min_avail = 0</p>
<p>  # If you set service_count=0, you probably need to grow this.<br />
  #vsz_limit = 64M<br />
  <span style="color: red;"><strong>vsz_limit = 0</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service pop3-login {<br />
  inet_listener pop3 {<br />
    <span style="color: red;"><strong>port = 110</strong></span><br />
  }<br />
  inet_listener pop3s {<br />
    <span style="color: red;"><strong>port = 995</strong></span><br />
    <span style="color: red;"><strong>ssl = yes</strong></span><br />
  }<br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service lmtp {<br />
 <span style="color: red;"><strong>unix_listener /var/spool/postfix/private/dovecot-lmtp {</strong></span><br />
   <span style="color: red;"><strong>mode = 0600</strong></span><br />
   <span style="color: red;"><strong>user = postfix</strong></span><br />
   <span style="color: red;"><strong>group = postfix</strong></span><br />
  }<br />
  # Create inet listener only if you can't use the above UNIX socket<br />
  #inet_listener lmtp {<br />
    # Avoid making LMTP visible for the entire internet<br />
    #address =<br />
    #port =<br />
  #}<br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service auth {<br />
  # auth_socket_path points to this userdb socket by default. It's typically<br />
  # used by dovecot-lda, doveadm, possibly imap process, etc. Its default<br />
  # permissions make it readable only by root, but you may need to relax these<br />
  # permissions. Users that have access to this socket are able to get a list<br />
  # of all usernames and get results of everyone's userdb lookups.<br />
  <span style="color: red;"><strong>unix_listener /var/spool/postfix/private/auth {</strong></span><br />
    <span style="color: red;"><strong>mode = 0666</strong></span><br />
    <span style="color: red;"><strong>user = postfix</strong></span><br />
    <span style="color: red;"><strong>group = postfix</strong></span><br />
  <span style="color: red;"><strong>}</strong></span></p>
<p>  <span style="color: red;"><strong>unix_listener auth-userdb {</strong></span><br />
    <span style="color: red;"><strong>mode = 0600</strong></span><br />
    <span style="color: red;"><strong>user = vmail</strong></span><br />
    <span style="color: red;"><strong>#group = vmail</strong></span><br />
  <span style="color: red;"><strong>}</strong></span></p>
<p>  # Postfix smtp-auth<br />
  #unix_listener /var/spool/postfix/private/auth {<br />
  # mode = 0666<br />
  #}</p>
<p>  # Auth process is run as this user.<br />
  <span style="color: red;"><strong>user = dovecot</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service auth-worker {<br />
  # Auth worker process is run as root by default, so that it can access<br />
  # /etc/shadow. If this isn't necessary, the user should be changed to<br />
  # $default_internal_user.<br />
  <span style="color: red;"><strong>user = vmail</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# SSL/TLS support: yes, no, required. &lt;doc/wiki/SSL.txt&gt;<br />
#ssl = yes<br />
<span style="color: red;"><strong>ssl = yes</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before<br />
# dropping root privileges, so keep the key file unreadable by anyone but<br />
# root. Included doc/mkcert.sh can be used to easily generate self-signed<br />
# certificate, just make sure to update the domains in dovecot-openssl.cnf<br />
<span style="color: red;"><strong>#</strong></span>ssl_cert = &lt;/etc/pki/dovecot/certs/dovecot.pem<br />
<span style="color: red;"><strong>#</strong></span>ssl_key = &lt;/etc/pki/dovecot/private/dovecot.pem<br />
<span style="color: red;"><strong>ssl_cert = &lt;/etc/pki/tls/certs/www.alanadi.com.crt</strong></span><br />
<span style="color: red;"><strong>ssl_key = &lt;/etc/pki/tls/private/www.alanadi.com.key</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p>SSL Sertifikası oluşturmak için <a href="https://www.aycanaydemir.net/centos6-5-mukemmel-server/6/#Crypto" target="_blank" rel="noopener">buraya</a> bakabiliriz.</p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>plugin {<br />
  autocreate = Drafts<br />
  autocreate2 = Sent<br />
  autocreate3 = Trash<br />
  autosubscribe = Drafts<br />
  autosubscribe2 = Sent<br />
  autosubscribe3 = Trash<br />
}</strong></span>
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p>komutuyla yeni bir <span style="color: red;">/etc/dovecot/auth-sql.conf.ext</span> dosyası oluşturup, içine;</p>
<blockquote><p><span style="color: red;"><strong><br />
passdb {<br />
driver = sql<br />
args = /etc/dovecot/dovecot-sql.conf.ext<br />
}<br />
userdb {<br />
driver = static<br />
args = uid=vmail gid=mail home=/var/spool/mail/vhosts/%d/%n<br />
}<br />
</strong></span></p></blockquote>
<p>satırlarını ekliyoruz.</p><pre class="crayon-plain-tag"></pre><p></p>
<p>komutuyla yeni bir <span style="color: red;">/etc/dovecot/auth-sql.conf.ext</span> dosyası oluşturup, içine; <a href="https://www.aycanaydemir.net/wp-content/uploads/2015/05/dovecot-sql.conf.ext" target="_blank" rel="noopener">dovecot-sql.conf.ext</a> dosyasının içeriğini ekliyoruz. (<span style="color: red;">maildbname, mailusername ve mailpass</span> ibarelerini içerir. Bu yüzden bunları kendi verilerimizle değiştiriyoruz.)<br />
Alternatif bağlantılar (dovecot-sql.conf.ext): <a href="https://drive.google.com/file/d/0B5wuGHe6JlPNYUpWS0ZFMDNRSGc/view?usp=sharing" target="_blank" rel="noopener">1</a> <a href="https://yadi.sk/d/woIRAx-Gh6at8" target="_blank" rel="noopener">2</a> <a href="https://onedrive.live.com/redir?resid=8e86a4ba64a8db27!292&amp;authkey=!ADRHqJCvBEYUHak&amp;ithint=folder%2cext" target="_blank" rel="noopener">3</a></p>
<p></p><pre class="crayon-plain-tag"></pre><p>komutlarıyla gerekli grupları oluşturuyoruz, gerekli izinler veriliyor.</p><pre class="crayon-plain-tag"></pre><p></p>
<p>komutuyla <span style="color: red;">/etc/aliases</span> dosyasını açıyoruz, dosyanın sonuna;</p>
<blockquote>
<p><span style="color: red;"><strong>root: root@alanadi.com<br />
user: user@alanadi.com</strong></span>
</p></blockquote>
<p>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.</p>
<p></p><pre class="crayon-plain-tag"></pre><p>bu komutlarla da aliases veritabanını güncellenir ve ilgili servisler yeniden başlatılır.</p>
<h3><a name="deneme-postasi"></a><span style="color: red;">Deneme e-Postası Oluşturma</span></h3>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>mailx paketini kurduk, yapılandırma dosyasını yedekledik, nano ile açtık, içinde şöyle değişiklikler yapıyoruz:</p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
# Outgoing messages are sent in ISO-8859-1 if all their characters are<br />
# representable in it, otherwise in UTF-8.<br />
<span style="color: red;"><strong>#</strong></span>set sendcharsets=iso-8859-1,utf-8<br />
<span style="color: red;"><strong>set sendcharsets=utf-8</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p>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.</p>
<p>Şayet henüz üye değilseniz <a href="https://www.digitalocean.com/?refcode=55be147097e7">https://www.digitalocean.com/?refcode=55be147097e7</a> 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 <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p><pre class="crayon-plain-tag">, SUBSTRING(SHA(RAND()), -16))), 'user@alanadi.com');</pre><p>Bu kısımda <span style="color: red;">info@alanadi.com</span>'a gelen e-postaların <span style="color: red;">root@alanadi.com</span>'a gitmesi ayarlanıyor:</p><pre class="crayon-plain-tag"></pre><p></p>
<p></p><pre class="crayon-plain-tag"></pre><p>Aşağıdaki Shell komutlarıyla mevcut <span style="color: red;">/etc/postfix/main.cf</span> dosyasını yedekliyoruz ve nano ile açıyoruz:</p><pre class="crayon-plain-tag"></pre><p></p>
<p><span style="color: red;">/etc/postfix/main.cf</span> dosyasında yapacağımız değişiklikler (<span style="color: red;">alanadi.com</span> 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ı:</p>
<blockquote>
<p><strong><span style="color: purple;">[...]</span></strong><br />
#myhostname = virtual.domain.tld<br />
<span style="color: red;"><strong>myhostname = mail.alanadi.com</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#mydomain = domain.tld<br />
<span style="color: red;"><strong>mydomain = alanadi.com</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#myorigin = $myhostname<br />
#myorigin = $mydomain<br />
<span style="color: red;"><strong>myorigin = $mydomain</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>#</strong></span>inet_interfaces = all<br />
#inet_interfaces = $myhostname<br />
#inet_interfaces = $myhostname, localhost<br />
#inet_interfaces = localhost<br />
<span style="color: red;"><strong>inet_interfaces = all</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>#</strong></span>inet_protocols = all<br />
<span style="color: red;"><strong>inet_protocols = ipv4</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#mynetworks = 168.100.189.0/28, 127.0.0.0/8<br />
#mynetworks = $config_directory/mynetworks<br />
#mynetworks = hash:/etc/postfix/network_table<br />
<span style="color: red;"><strong>mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#relayhost = $mydomain<br />
#relayhost = [gateway.my.domain]<br />
#relayhost = [mailserver.isp.tld]<br />
#relayhost = uucphost<br />
#relayhost = [an.ip.add.ress]<br />
<span style="color: red;"><strong>relayhost =</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#recipient_delimiter = +<br />
<span style="color: red;"><strong>recipient_delimiter = +</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#smtpd_banner = $myhostname ESMTP $mail_name<br />
<span style="color: red;"><strong>smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)</strong></span><br />
<span style="color: red;"><strong>biff = no</strong></span></p>
<p><span style="color: red;"><strong># appending .domain is the MUA's job.</strong></span><br />
<span style="color: red;"><strong>append_dot_mydomain = no</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES</p>
<p><span style="color: red;"><strong># TLS parameters</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_cert_file=/etc/pki/tls/certs/www.alanadi.com.net.crt</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_key_file=/etc/pki/tls/private/www.alanadi.com.key</strong></span><br />
<span style="color: red;"><strong>smtpd_use_tls=yes</strong></span><br />
<span style="color: red;"><strong>smtpd_tls_auth_only = yes</strong></span></p>
<p><span style="color: red;"><strong>#Enabling SMTP for authenticated users, and handing off authentication to Dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_type = dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_path = private/auth</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_auth_enable = yes</strong></span></p>
<p><span style="color: red;"><strong>#Enabling SMTP for authenticated users, and handing off authentication to Dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_type = dovecot</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_path = private/auth</strong></span><br />
<span style="color: red;"><strong>smtpd_sasl_auth_enable = yes</strong></span></p>
<p><span style="color: red;"><strong>smtpd_recipient_restrictions =</strong></span><br />
<span style="color: red;"><strong>        permit_sasl_authenticated,</strong></span><br />
<span style="color: red;"><strong>        permit_mynetworks,</strong></span><br />
<span style="color: red;"><strong>        reject_unauth_destination</strong></span></p>
<p><span style="color: red;"><strong>#Handing off local delivery to Dovecot's LMTP, and telling it where to store mail</strong></span><br />
<span style="color: red;"><strong>virtual_transport = lmtp:unix:private/dovecot-lmtp</strong></span></p>
<p><span style="color: red;"><strong>#Virtual domains, users, and aliases</strong></span><br />
<span style="color: red;"><strong>virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf</strong></span><br />
<span style="color: red;"><strong>virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf</strong></span><br />
<span style="color: red;"><strong>virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf</strong></span></p>
<p><span style="color: red;"><strong>#content_filter = amavis:[127.0.0.1]:10024</strong></span><br />
<span style="color: red;"><strong>#receive_override_options = no_address_mappings</strong></span>
</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak <span style="color: red;">/etc/postfix/main.cf</span> dosyasını kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">/etc/postfix/mysql-virtual-mailbox-domains.cf</span> dosyası açıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p><span style="color: red;">/etc/postfix/mysql-virtual-mailbox-domains.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote><p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT destination FROM virtual_aliases WHERE source='%s'</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">mysql-virtual-mailbox-domains.cf</span> dosyası açıyoruz:</p><pre class="crayon-plain-tag"></pre><p></p>
<p><span style="color: red;">mysql-virtual-mailbox-domains.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote>
<p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT 1 FROM virtual_domains WHERE name='%s'
</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki Shell komutuyla yeni bir <span style="color: red;">mysql-virtual-mailbox-maps.cf</span> dosyası açıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p><span style="color: red;">mysql-virtual-mailbox-maps.cf</span> dosyasına aşağıdaki satırları ekliyoruz (değiştirilmesi gerekli alan kırmızı dikkat edelim):</p>
<blockquote><p>user = <span style="color: red;">mailusername</span><br />
password = <span style="color: red;">mailpass</span><br />
hosts = 127.0.0.1<br />
dbname = <span style="color: red;">maildbname</span><br />
query = SELECT 1 FROM virtual_users WHERE email='%s'</p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<p>Aşağıdaki komutlarla servisi yeniden başlatıp kurulumun sağlamasını yapıyoruz (değiştirilmesi gereken alanları değiştiriyoruz):</p><pre class="crayon-plain-tag"></pre><p></p>
<p>Aşağıdaki Shell komutlarıyla /etc/postfix/master.cf dosyasını yekleyip nano ile dosyayı açıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p>başlarında # (diyez) olan satırların aşağıdaki değişiklere göre #'leri kaldırarak değişikliklerini yapıyoruz:</p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>submission inet - n - - smtpd</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>smtps inet n - n - - smtpd</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_tls_wrappermode=yes</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_sasl_auth_enable=yes</strong></span><br />
<span style="color: red;"><strong>  -o smtpd_client_restrictions=permit_sasl_authenticated,reject</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p>dosyanın en altına aşağıdaki ibareleri ekliyoruz:</p>
<blockquote><p><span style="color: red;"><strong>#</strong></span><br />
<span style="color: red;"><strong># Dovecot LDA</strong></span><br />
<span style="color: red;"><strong>dovecot unix - n n - - pipe</strong></span><br />
<span style="color: red;"><strong>  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}</strong></span></p></blockquote>
<p>CTRL+X kombinasyonu ve Y tuşlarına basarak dosyayı kaydedip kapatıyoruz.</p>
<h3><a name="dovecot-ayarlama"></a><span style="color: red;">e-Posta Sunucusu için Dovecot Ayarlamaları</span></h3>
<p>Aşağıdaki komutlarla değişiklik yapacağımız dovecot yapılandırma dosyalarını yedekliyoruz:</p><pre class="crayon-plain-tag"></pre><p></p>
<p>Değişikliklere başlıyoruz:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# Protocols we want to be serving.<br />
<span style="color: red;"><strong>!include_try /usr/share/dovecot/protocols.d/*.protocol</strong></span><br />
#protocols = imap imaps pop3 pop3s lmtp<br />
<span style="color: red;"><strong>protocols = imap pop3 lmtp</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
# connection is considered secure and plaintext authentication is allowed.<br />
#disable_plaintext_auth = yes<br />
<span style="color: red;"><strong>disable_plaintext_auth = yes</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# NOTE: See also disable_plaintext_auth setting.<br />
auth_mechanisms = plain <span style="color: red;"><strong>login</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
#!include auth-deny.conf.ext<br />
#!include auth-master.conf.ext</p>
<p><span style="color: red;"><strong>#</strong></span>!include auth-system.conf.ext<br />
<span style="color: red;"><strong>!include auth-sql.conf.ext</strong></span><br />
#!include auth-ldap.conf.ext<br />
#!include auth-passwdfile.conf.ext<br />
#!include auth-checkpassword.conf.ext<br />
#!include auth-vpopmail.conf.ext<br />
#!include auth-static.conf.ext
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# &lt;doc/wiki/MailLocation.txt&gt;<br />
#<br />
#mail_location =<br />
<span style="color: red;"><strong>mail_location = maildir:/var/spool/mail/vhosts/%d/%n:INDEX=/var/spool/mail/vhosts/%d/%n:INBOX=/var/spool/mail/vhosts/%d/%n/.INBOX</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# Typically this is set to "mail" to give access to /var/mail.<br />
#mail_privileged_group =<br />
<span style="color: red;"><strong>mail_privileged_group = mail</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p><span style="color: red;"><strong>(Bu dosyanın birkaç paragrafında değişiklikler mevcut!)</strong></span></p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service imap-login {<br />
  inet_listener imap {<br />
    <span style="color: red;"><strong>port = 143</strong></span><br />
  }<br />
  inet_listener imaps {<br />
    <span style="color: red;"><strong>port = 993</strong></span><br />
    <span style="color: red;"><strong>ssl = yes</strong></span><br />
  }</p>
<p>  # Number of connections to handle before starting a new process. Typically<br />
  # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0<br />
  # is faster. &lt;doc/wiki/LoginProcess.txt&gt;<br />
  #service_count = 1</p>
<p>  # Number of processes to always keep waiting for more connections.<br />
  #process_min_avail = 0</p>
<p>  # If you set service_count=0, you probably need to grow this.<br />
  #vsz_limit = 64M<br />
  <span style="color: red;"><strong>vsz_limit = 0</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service pop3-login {<br />
  inet_listener pop3 {<br />
    <span style="color: red;"><strong>port = 110</strong></span><br />
  }<br />
  inet_listener pop3s {<br />
    <span style="color: red;"><strong>port = 995</strong></span><br />
    <span style="color: red;"><strong>ssl = yes</strong></span><br />
  }<br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service lmtp {<br />
 <span style="color: red;"><strong>unix_listener /var/spool/postfix/private/dovecot-lmtp {</strong></span><br />
   <span style="color: red;"><strong>mode = 0600</strong></span><br />
   <span style="color: red;"><strong>user = postfix</strong></span><br />
   <span style="color: red;"><strong>group = postfix</strong></span><br />
  }<br />
  # Create inet listener only if you can't use the above UNIX socket<br />
  #inet_listener lmtp {<br />
    # Avoid making LMTP visible for the entire internet<br />
    #address =<br />
    #port =<br />
  #}<br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service auth {<br />
  # auth_socket_path points to this userdb socket by default. It's typically<br />
  # used by dovecot-lda, doveadm, possibly imap process, etc. Its default<br />
  # permissions make it readable only by root, but you may need to relax these<br />
  # permissions. Users that have access to this socket are able to get a list<br />
  # of all usernames and get results of everyone's userdb lookups.<br />
  <span style="color: red;"><strong>unix_listener /var/spool/postfix/private/auth {</strong></span><br />
    <span style="color: red;"><strong>mode = 0666</strong></span><br />
    <span style="color: red;"><strong>user = postfix</strong></span><br />
    <span style="color: red;"><strong>group = postfix</strong></span><br />
  <span style="color: red;"><strong>}</strong></span></p>
<p>  <span style="color: red;"><strong>unix_listener auth-userdb {</strong></span><br />
    <span style="color: red;"><strong>mode = 0600</strong></span><br />
    <span style="color: red;"><strong>user = vmail</strong></span><br />
    <span style="color: red;"><strong>#group = vmail</strong></span><br />
  <span style="color: red;"><strong>}</strong></span></p>
<p>  # Postfix smtp-auth<br />
  #unix_listener /var/spool/postfix/private/auth {<br />
  # mode = 0666<br />
  #}</p>
<p>  # Auth process is run as this user.<br />
  <span style="color: red;"><strong>user = dovecot</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
service auth-worker {<br />
  # Auth worker process is run as root by default, so that it can access<br />
  # /etc/shadow. If this isn't necessary, the user should be changed to<br />
  # $default_internal_user.<br />
  <span style="color: red;"><strong>user = vmail</strong></span><br />
}<br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote><p><span style="color: purple;"><strong>[...]</strong></span><br />
# SSL/TLS support: yes, no, required. &lt;doc/wiki/SSL.txt&gt;<br />
#ssl = yes<br />
<span style="color: red;"><strong>ssl = yes</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span><br />
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before<br />
# dropping root privileges, so keep the key file unreadable by anyone but<br />
# root. Included doc/mkcert.sh can be used to easily generate self-signed<br />
# certificate, just make sure to update the domains in dovecot-openssl.cnf<br />
<span style="color: red;"><strong>#</strong></span>ssl_cert = &lt;/etc/pki/dovecot/certs/dovecot.pem<br />
<span style="color: red;"><strong>#</strong></span>ssl_key = &lt;/etc/pki/dovecot/private/dovecot.pem<br />
<span style="color: red;"><strong>ssl_cert = &lt;/etc/pki/tls/certs/www.alanadi.com.crt</strong></span><br />
<span style="color: red;"><strong>ssl_key = &lt;/etc/pki/tls/private/www.alanadi.com.key</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span></p></blockquote>
<p>SSL Sertifikası oluşturmak için <a href="https://www.aycanaydemir.net/centos6-5-mukemmel-server/6/#Crypto" target="_blank" rel="noopener">buraya</a> bakabiliriz.</p><pre class="crayon-plain-tag"></pre><p></p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
<span style="color: red;"><strong>plugin {<br />
  autocreate = Drafts<br />
  autocreate2 = Sent<br />
  autocreate3 = Trash<br />
  autosubscribe = Drafts<br />
  autosubscribe2 = Sent<br />
  autosubscribe3 = Trash<br />
}</strong></span>
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p>komutuyla yeni bir <span style="color: red;">/etc/dovecot/auth-sql.conf.ext</span> dosyası oluşturup, içine;</p>
<blockquote><p><span style="color: red;"><strong><br />
passdb {<br />
driver = sql<br />
args = /etc/dovecot/dovecot-sql.conf.ext<br />
}<br />
userdb {<br />
driver = static<br />
args = uid=vmail gid=mail home=/var/spool/mail/vhosts/%d/%n<br />
}<br />
</strong></span></p></blockquote>
<p>satırlarını ekliyoruz.</p><pre class="crayon-plain-tag"></pre><p></p>
<p>komutuyla yeni bir <span style="color: red;">/etc/dovecot/auth-sql.conf.ext</span> dosyası oluşturup, içine; <a href="https://www.aycanaydemir.net/wp-content/uploads/2015/05/dovecot-sql.conf.ext" target="_blank" rel="noopener">dovecot-sql.conf.ext</a> dosyasının içeriğini ekliyoruz. (<span style="color: red;">maildbname, mailusername ve mailpass</span> ibarelerini içerir. Bu yüzden bunları kendi verilerimizle değiştiriyoruz.)<br />
Alternatif bağlantılar (dovecot-sql.conf.ext): <a href="https://drive.google.com/file/d/0B5wuGHe6JlPNYUpWS0ZFMDNRSGc/view?usp=sharing" target="_blank" rel="noopener">1</a> <a href="https://yadi.sk/d/woIRAx-Gh6at8" target="_blank" rel="noopener">2</a> <a href="https://onedrive.live.com/redir?resid=8e86a4ba64a8db27!292&amp;authkey=!ADRHqJCvBEYUHak&amp;ithint=folder%2cext" target="_blank" rel="noopener">3</a></p>
<p></p><pre class="crayon-plain-tag"></pre><p>komutlarıyla gerekli grupları oluşturuyoruz, gerekli izinler veriliyor.</p><pre class="crayon-plain-tag"></pre><p></p>
<p>komutuyla <span style="color: red;">/etc/aliases</span> dosyasını açıyoruz, dosyanın sonuna;</p>
<blockquote>
<p><span style="color: red;"><strong>root: root@alanadi.com<br />
user: user@alanadi.com</strong></span>
</p></blockquote>
<p>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.</p>
<p></p><pre class="crayon-plain-tag"></pre><p>bu komutlarla da aliases veritabanını güncellenir ve ilgili servisler yeniden başlatılır.</p>
<h3><a name="deneme-postasi"></a><span style="color: red;">Deneme e-Postası Oluşturma</span></h3>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>mailx paketini kurduk, yapılandırma dosyasını yedekledik, nano ile açtık, içinde şöyle değişiklikler yapıyoruz:</p>
<blockquote>
<p><span style="color: purple;"><strong>[...]</strong></span><br />
# Outgoing messages are sent in ISO-8859-1 if all their characters are<br />
# representable in it, otherwise in UTF-8.<br />
<span style="color: red;"><strong>#</strong></span>set sendcharsets=iso-8859-1,utf-8<br />
<span style="color: red;"><strong>set sendcharsets=utf-8</strong></span><br />
<span style="color: purple;"><strong>[...]</strong></span>
</p></blockquote>
<p></p><pre class="crayon-plain-tag"></pre><p>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.</p>
<p><del>Şayet henüz üye değilseniz <a href="https://www.digitalocean.com/?refcode=55be147097e7">https://www.digitalocean.com/?refcode=55be147097e7</a> 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 <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></del></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/centos6-6-mysql-tabanli-sanal-kullanici-ve-alan-adlariyla-postfix-dovecot-yapilandirmasi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>iptables&#039;a xtables-addons+geoip Kurulumu</title>
		<link>https://www.aycanaydemir.net/iptablesa-xtables-addonsgeoip-kurulumu/</link>
					<comments>https://www.aycanaydemir.net/iptablesa-xtables-addonsgeoip-kurulumu/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Thu, 12 Jun 2014 07:46:06 +0000</pubDate>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=785</guid>

					<description><![CDATA[iptables'a xtables-addons+geoip Kurulumu DİKKAT! Öncelikle bu konfigürasyonun çalışması için gelişmiş kernel modüllerinin kurulabilmesi gerekmektedir. Bu da bazı vps sanallaştırma sistemleri altında mümkün olmamaktadır (OpenVZ gibi.). Kurulumunun bir CentOS CD/DVD/LiveUSB'sinden yapılabildiği VDS/Dedicated tipi sunucularda gelişmiş kernel modülleri büyük ihtimalle kullanılabilir olacaktır &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/iptablesa-xtables-addonsgeoip-kurulumu/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h3><span style="color: red;">iptables'a xtables-addons+geoip Kurulumu</span></h3>
<p><strong><span style="color: red;">DİKKAT!</span> Öncelikle bu konfigürasyonun çalışması için gelişmiş kernel modüllerinin kurulabilmesi gerekmektedir. Bu da bazı vps sanallaştırma sistemleri altında mümkün olmamaktadır (OpenVZ gibi.). Kurulumunun bir <span style=color:red>CentOS CD</span>/<span style=color:red>DVD</span>/<span style=color:red>LiveUSB</span>'sinden yapılabildiği <span style=color:red>VDS</span>/<span style=color:red>Dedicated</span> tipi sunucularda gelişmiş kernel modülleri büyük ihtimalle kullanılabilir olacaktır ve bu konfigürasyon da mümkündür.</strong></p>
<p></p><pre class="crayon-plain-tag">nano /etc/selinux/config</pre><p></p>
<p>komutuyla /etc/selinux/config dosyasını açtık,</p>
<blockquote><p><strong><span style="color: purple;">[...]</span></strong><br />
<strong><span style=color:red>#</span></strong>SELINUX=enforcing<br />
<strong><span style=color:red>SELINUX=disabled</span></strong><br />
<strong><span style="color: purple;">[...]</span></strong></p></blockquote>
<p>belirtilen değişiklikleri yapıp, dosyayı kaydedip kapatıyoruz.</p>
<p></p><pre class="crayon-plain-tag">echo 0 &gt; /selinux/enforce
yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel
yum install perl-Text-CSV_XS</pre><p></p>
<p>komutlarıyla /selinux/enforce dosyasının içeriğine "0" ekledik, kernel-devel de dahil ilgili paketleri indirip kurduk.</p>
<p></p><pre class="crayon-plain-tag">cd /usr/local/src
wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/1.39/xtables-addons-1.39.tar.xz
tar xvf xtables-addons-1.39.tar.xz</pre><p></p>
<p>komutlarıyla kurulum için /usr/local/src dizinine geçip kaynak kodlarını indirip arşiv formundan çıkarıyoruz.</p>
<p></p><pre class="crayon-plain-tag">cd xtables-addons-1.39
mkdir -p  /old/usr/local/src/xtables-addons-1.39
cp /usr/local/src/xtables-addons-1.39/mconfig /old/usr/local/src/xtables-addons-1.39/
nano mconfig</pre><p></p>
<p>komutlarıyla arşivden çıkarılan dizine geçip değişiklik yapacağımız <span style=color:red>/usr/local/src/xtables-addons-1.39/mconfig</span> dosyasını yedekledik ve nanoyla açtık,</p>
<blockquote><p><span style=color:red># -*- Makefile -*-<br />
#<br />
build_ACCOUNT=m<br />
build_CHAOS=m<br />
build_CHECKSUM=<br />
build_DELUDE=m<br />
build_DHCPMAC=m<br />
build_DNETMAP=m<br />
build_ECHO=<br />
build_IPMARK=m<br />
build_LOGMARK=m<br />
build_RAWNAT=<br />
build_STEAL=m<br />
build_SYSRQ=<br />
build_TARPIT=m<br />
build_TEE=<br />
build_condition=m<br />
build_fuzzy=m<br />
build_geoip=m<br />
build_gradm=m<br />
build_iface=m<br />
build_ipp2p=m<br />
build_ipset6=<br />
build_ipv4options=m<br />
build_length2=<br />
build_lscan=m<br />
build_pknock=m<br />
build_psd=m<br />
build_quota2=m</span></p></blockquote>
<p>açıklamada yeralan modüllerden kurulmasını istediklerimizin yanına "<strong><span style=color:red>m</span></strong>" harfini ekliyoruz, kurulmasını istemediklerimizin "<strong><span style=color:red>m</span></strong>" harflerini kaldırıyoruz. Örneğin "<strong><span style=color:red>build_geoip=m</span></strong>" şeklinde kurulacak bir modülken, "<strong><span style=color:red>build_ipset6=</span></strong>" modülü kurulmayacak olarak işaretlendi.</p>
<p></p><pre class="crayon-plain-tag">./configure
make &amp;&amp; make install</pre><p></p>
<p>komutlarıyla indirdiğimiz kaynak kodlarını derleyip kuruyoruz.</p>
<p></p><pre class="crayon-plain-tag">cd geoip/
./xt_geoip_dl
./xt_geoip_build GeoIPCountryWhois.csv
mkdir -p /usr/share/xt_geoip/
cp -r {BE,LE} /usr/share/xt_geoip/</pre><p></p>
<p>komutlarıyla da GeoIP veritabanını (ülke IP bloklarını) indirip ilgili dizinlere kopyalıyoruz.</p>
<p></p><pre class="crayon-plain-tag">iptables -I INPUT -m geoip --src-cc CN -j REJECT
service iptables save && service iptables restart</pre><p></p>
<p>komutlarıyla iptables servisini yeniden başlatarak sunucumuza <strong><span style=color:red>Çin Halk Cumhuriyeti</span></strong>'nden gelecek bağlantıları engellemiş olduk.</p>
<p></p><pre class="crayon-plain-tag">iptables -nvL
iptables -S</pre><p></p>
<p>komutlarıyla iptables tanımlamalarımızı listeliyoruz.</p>
<p></p><pre class="crayon-plain-tag">nano /usr/local/src/xtables-addons-1.39/geoip/geoip.sh</pre><p></p>
<p>komutuyla yeni bir /usr/local/src/xtables-addons-1.39/geoip/geoip.sh dosyası açıp,</p>
<blockquote><p><span style=color:red>#!/bin/bash</span></p>
<p><span style=color:red>cd /usr/local/src/xtables-addons-1.39/geoip && ./xt_geoip_dl && ./xt_geoip_build GeoIPCountryWhois.csv && sudo cp -fr {BE,LE} /usr/share/xt_geoip/</span><br />
<span style=color:red>exit 0</span></p></blockquote>
<p>kısımlarını ekliyoruz.</p>
<p></p><pre class="crayon-plain-tag">chmod 755 /usr/local/src/xtables-addons-1.39/geoip/geoip.sh
ln -s /usr/local/src/xtables-addons-1.39/geoip/geoip.sh /etc/cron.weekly/geoip.sh
ln -s /usr/local/src/xtables-addons-1.39/geoip/geoip.sh /usr/local/bin/geoip.sh
geoip.sh
ls -l /usr/share/xt_geoip/BE
ls -l /usr/share/xt_geoip/LE</pre><p></p>
<p>komutlarıyla az önce oluşturduğumuz scripte çalıştırılabilir şekilde okuma-yazma izinlerini verip, haftalık cron işlemlerinde çalıştırılması için <span style=color:orange>/etc/cron.weekly/</span> dizinine, "<strong><span style=color:red>geoip.sh</span></strong>" komutuyla çalışması için <span style=color:orange>/usr/local/bin/</span> dizinine linkliyoruz.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/iptablesa-xtables-addonsgeoip-kurulumu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fail2Ban Kurulumu</title>
		<link>https://www.aycanaydemir.net/fail2ban-kurulumu/</link>
					<comments>https://www.aycanaydemir.net/fail2ban-kurulumu/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Thu, 12 Jun 2014 07:44:51 +0000</pubDate>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=782</guid>

					<description><![CDATA[fail2ban Kurulumu [crayon-68780a530ebda567360976/] komutlarıyla paketi indirip kuruyoruz. Bu noktadan sonra gerekli konfigürasyon mevcut kurulum sonrası dosyalarda da yapılabilir, ancak olası saldırılarda saldırganın IP bilgilerini blocklist.de sitesi ile paylaşıp bizim adımıza ilgili servis sağlayıcısına bildirimde bulunmasını sağlayabiliriz. Bunun için; [crayon-68780a530ebde500220873/] komutlarıyla &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/fail2ban-kurulumu/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h3><span style="color: red;">fail2ban Kurulumu</span></h3>
<p></p><pre class="crayon-plain-tag">yum -y install fail2ban</pre><p></p>
<p>komutlarıyla paketi indirip kuruyoruz. Bu noktadan sonra gerekli konfigürasyon mevcut kurulum sonrası dosyalarda da yapılabilir, ancak olası saldırılarda saldırganın IP bilgilerini <a href="http://www.blocklist.de/" title="www.blocklist.de" target="_blank"><strong><span style=color:red>blocklist.de</span></strong></a> sitesi ile paylaşıp bizim adımıza ilgili servis sağlayıcısına bildirimde bulunmasını sağlayabiliriz. Bunun için;</p>
<p></p><pre class="crayon-plain-tag">mv -t /old/etc/ /etc/fail2ban
mv /old/etc/fail2ban /old/etc/fail2ban_orig</pre><p></p>
<p>komutlarıyla standart kurulum sonrasındaki konfigürasyon dosyalarını <span style=color:red>/old/etc/</span> dizinine taşıdık ve klasörün de ismini <strong><span style=color:red>fail2ban_orig</span></strong> (orijinal manasında) şeklinde değiştirdik.</p>
<p></p><pre class="crayon-plain-tag">cd /root/
mkdir -p fail2ban-blocklist &amp;&amp; cd fail2ban-blocklist
wget http://www.blocklist.de/downloads/fail2ban.config.debian6.tar.gz
tar -xzvf fail2ban.config.debian6.tar.gz
cp etc/* /etc -r</pre><p></p>
<p>komutlarıyla /root/ dizinine geçip, fail2ban-blocklist isimli bir klasör oluşturup yine bu dizine geçtik, fail2ban.config.tar.gz dosyası blocklist.de sitesinden indirip arşivden çıkarttık ve /etc/ dizinine yeni fail2ban konfigürasyon dosyalarını kopyaladık.</p>
<p></p><pre class="crayon-plain-tag">pico /etc/fail2ban/jail.conf</pre><p></p>
<p>/etc/fail2ban/jail.conf dosyasını açtık,</p>
<blockquote><p><strong><span style="color: purple;">[...]</span></strong><br />
destemail = fail2ban@blocklist.de<br />
<strong><span style=color:red>bccemail = kullanici@mailadresi.com</span></strong><br />
sendermail = <strong><span style=color:red>kullanici@mailadresi.com</span></strong><br />
<strong><span style="color: purple;">[...]</span></strong></p></blockquote>
<p>açıklamadaki kırmızı-kalın kısımlardaki gibi değişiklikleri uyguluyoruz, kullanici@mailadresi.com yazan kısmı kendi mail adresimizle değiştiriyoruz.</p>
<p></p><pre class="crayon-plain-tag">mkdir -p /old/etc/fail2ban/action.d
cp /etc/fail2ban/action.d/sendmail-whois-lines.conf /old/etc/fail2ban/action.d/
cat /dev/null &gt; /etc/fail2ban/action.d/sendmail-whois-lines.conf
pico /etc/fail2ban/action.d/sendmail-whois-lines.conf</pre><p> </p>
<p>komutlarıyla sonradan eklediğimiz fail2ban konfigürasyon dosyaları için yedek dizini oluşturup /etc/fail2ban/action.d/sendmail-whois-lines.conf dosyasını yedekledik, içeriğini sildik ve açtık.</p>
<p>Bu dosyanın içeriğini <a href="http://pastebin.com/sMXBt3FA" title="sendmail-whois-lines.conf" target="_blank"><strong><span style=color:red>sendmail-whois-lines.conf</span></strong></a> bağlantısındaki içerikle değiştirip (kullanici@mailadresi.com yazan yerleri kendi e-posta adresimizle değiştiriyoruz), dosyayı kaydedip kapatıyoruz.</p>
<p></p><pre class="crayon-plain-tag">service fail2ban restart
ln -s /var/lib/fail2ban/banned-ips /root/.fail2ban-ips</pre><p></p>
<p>komutuyla /var/lib/fail2ban/banned-ips dosyasını /root/.fail2ban-ips linkine bağladık. Artık;</p>
<p></p><pre class="crayon-plain-tag">cat /root/.fail2ban-ips</pre><p></p>
<p>komutlarıyla fail2ban sunucusunu yeniden başlatıp, (varsa) yasaklanan saldırgan IP'leri listeleyebileceğiz. Ayrıca mail sunucu kurulumu da tamamlandıktan sonra saldırı bilgilerini hem blocklist.de sunucusuna hem de bizim belirttiğimiz e-posta adresine postalayacaktır.</p>
<p>Saldırıdan kasıt profesyönel hacker aksiyonlarından ziyade, IP adresimizi veya ssh sunucu adresimizi ve portumuzu bilip root veya herhangi bir kullanıcıyla giriş yapmaya çalışan ve 6 yanlış girişten sonra başarılı olamayan denemelerdir. <strong><span style=color:red>Şifremizi bilip/kırıp kullanıcı girişi yapan kişi zaten sistemi eli geçirmiş demektir!</span></strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/fail2ban-kurulumu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CentOS6.5 Mükemmel Server</title>
		<link>https://www.aycanaydemir.net/centos6-5-mukemmel-server/</link>
					<comments>https://www.aycanaydemir.net/centos6-5-mukemmel-server/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Wed, 11 Jun 2014 14:19:38 +0000</pubDate>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=765</guid>

					<description><![CDATA[Kurulumu tamamlanmış salt haliyle bir CentOS6.5 sunucunun optimum ayarlarla çalışması için gerekli olan konfigürasyonu yapacağız. .bash_history dosyası boyutunu sınırsız yapma, komutların tarihlerini işleme Öncelikle yaptığımız işlemlerin sağlıklı bir şekilde kayıt edilmesini yani ssh ortamında girdiğimiz komutların tarih, saat formatıyla .bash_history &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/centos6-5-mukemmel-server/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<p>Kurulumu tamamlanmış salt haliyle bir CentOS6.5 sunucunun optimum ayarlarla çalışması için gerekli olan konfigürasyonu yapacağız.</p>
<h3><span style="color: red;">.bash_history dosyası boyutunu sınırsız yapma, komutların tarihlerini işleme</span></h3>
<p>Öncelikle yaptığımız işlemlerin sağlıklı bir şekilde kayıt edilmesini yani ssh ortamında girdiğimiz komutların tarih, saat formatıyla .bash_history dosyasında saklanmasını, komutu girer girmez .bash_history dosyasına yazılmasını (normal şartlarda oturum kapatılana dek yazılmaz) ve bu dosyanın komut sayısı ve dosya boyutunu sınırsız olarak ayarlamak amacıyla şu ssh komutlarını çalıştırıyoruz:</p><pre class="crayon-plain-tag">mkdir -p /old/etc/
cp /etc/profile /old/etc/
vi /etc/profile</pre><p>vi editörüyle açılan /etc/profile dosyasında bazı değişiklikler yapacağız, öncelikle "i" tuşuna basıp vi düzenleme arayüzüne geçiyoruz;</p>
<blockquote><p><strong><span style="color: purple;">[...]</span></strong><br />
<span style="color: red;"><strong>#</strong></span>HISTSIZE=1000<br />
<span style="color: red;"><strong>export HISTSIZE=<br />
export HISTFILESIZE=<br />
export HISTTIMEFORMAT="%Y.%m.%d-%T "<br />
shopt -s histappend<br />
# After each command, save and reload history<br />
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"</strong></span><br />
<strong><span style="color: purple;">[...]</span></strong></p></blockquote>
<p>kırmızı ve kalın renkten anlaşılacağı üzere HISTSIZE=1000 metninin başına diyez "#" ekleyip diğer kırmızı ve kalın metinleri altına ekliyoruz. Vi metin editöründe düzenleme arayüzünden çıkmak için ESC basılır, ve sırasıyla tırnaklar olmadan ":wq" ile dosya kaydedip çıkılır.</p><pre class="crayon-plain-tag">history -w</pre><p>komutuyla bir komut geçmişi dosyası oluşturup mevcut komut geçmişi ona ekliyoruz.</p>
<h3><span style="color: red;">cron.d Ayarlama</span></h3>
<p>cron ile çalışan tüm uygulamaları kendinize göre düzenlemek isteyebiliriz.</p><pre class="crayon-plain-tag">cp -t /old/etc/ -prf /etc/cron.d /etc/anacrontab /etc/crontab
cat /dev/null &gt; /etc/crontab
cat /dev/null &gt; /etc/anacrontab
vi /etc/cron.d/0hourly</pre><p>vi editör ile açılan /etc/cron.d/0hourly dosyasında değişiklikler yapacağız, klavyedeki "d" tuşuna iki kez basınca bulunulan satırı siler ve bu şekilde tüm satırları silip önce "ESC" sonra "i"ye basarak düzenleme arayüzüne geçip aşağıdaki metinlerin tümünü sayfaya yapıştırıyoruz;</p>
<blockquote><p>SHELL=/bin/bash<br />
#LANG=tr_TR.UTF-8<br />
#LANGUAGE=tr<br />
#LC_CTYPE=tr_TR.UTF-8<br />
#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin<br />
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br />
MAILTO=root<br />
#HOME=/</p>
<p># For details see man 4 crontabs</p>
<p># Example of job definition:<br />
# .---------------- minute (0 - 59)<br />
# | .------------- hour (0 - 23)<br />
# | | .---------- day of month (1 - 31)<br />
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...<br />
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
# m h dom mon dow user command<br />
###############################################################<br />
#Görev tanımlama örneği:<br />
# .---------------- dakika (0 - 59)<br />
# | .------------- saat (0 - 23)<br />
# | | .---------- ayın gün numarası (1 - 31)<br />
# | | | .------- ay (1 - 12) YADA jan,feb,mar,apr ...<br />
# | | | | .---- haftanın gün numarası yada adı (0 - 6) (Pazar=0 yada 7) YADA sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
#dk sa ag ay hg kull komut</p>
<p>00 * * * * root run-parts /etc/cron.hourly</p></blockquote>
<p>Saatlik çalışan cron görevlerine sunucunuzun "1 saatte bir açık olup olmadığını test eden" bir script ekleyeceğiz</p><pre class="crayon-plain-tag">cd /etc/cron.hourly
vi /etc/cron.hourly/01uptime</pre><p></p>
<blockquote><p>#!/bin/bash<br />
/usr/bin/uptime &gt;&gt; ${HOME}/.uptime<br />
exit 0</p></blockquote>
<p>vi'den "ESC" sonra da ":wq" tuşlayarak kaydedip çıkıyoruz.</p><pre class="crayon-plain-tag">chmod +x /etc/cron.hourly/01uptime
ln -s /etc/cron.hourly/01uptime /usr/local/bin/01uptime
vi /etc/rc.local</pre><p>/etc/rc.local dosyasında ilgili yerlere kırmızı ve kalın metinleri ekliyoruz, root'tan farklı bir kullanıcınızın da ana dizinine .uptime isimli bir dosya eklemek istiyorsanız <span style="color: red;"><strong>user1</strong></span>'i ilgili kullanıcı adıyla değiştirin, şaye böyle birşey istemiyorsanız o satırı silin veya daha başka kullanıcılar için isterseniz aynı mantıkla yeni satır ekleyin;</p>
<blockquote><p>#!/bin/sh<br />
#<br />
# This script will be executed *after* all the other init scripts.<br />
# You can put your own initialization stuff in here if you don't<br />
# want to do the full Sys V style init stuff.<br />
<span style="color: red;"><strong>su -c "/usr/local/bin/01uptime" root<br />
su -c "/usr/local/bin/01uptime" user1</strong></span><br />
touch /var/lock/subsys/local</p></blockquote>
<p></p><pre class="crayon-plain-tag">cp /etc/cron.d/dailyjobs /old/etc/cron.d/
mv /etc/cron.d/dailyjobs /etc/cron.d/1dailyjobs
vi /etc/cron.d/1dailyjobs</pre><p>Günlük çalışan cron uygulamalarınızın ayarları için /etc/cron.d/1dailyjobs dosyasında değişiklikler yapacağız;</p>
<blockquote><p>SHELL=/bin/bash<br />
#LANG=tr_TR.UTF-8<br />
#LANGUAGE=tr<br />
#LC_CTYPE=tr_TR.UTF-8<br />
#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin<br />
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br />
MAILTO=root<br />
#HOME=/</p>
<p># For details see man 4 crontabs</p>
<p># Example of job definition:<br />
# .---------------- minute (0 - 59)<br />
# | .------------- hour (0 - 23)<br />
# | | .---------- day of month (1 - 31)<br />
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...<br />
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
# m h dom mon dow user command<br />
###############################################################<br />
#Görev tanımlama örneği:<br />
# .---------------- dakika (0 - 59)<br />
# | .------------- saat (0 - 23)<br />
# | | .---------- ayın gün numarası (1 - 31)<br />
# | | | .------- ay (1 - 12) YADA jan,feb,mar,apr ...<br />
# | | | | .---- haftanın gün numarası yada adı (0 - 6) (Pazar=0 yada 7) YADA sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
#dk sa ag ay hg kull komut</p>
<p>00 00 * * * root run-parts /etc/cron.daily</p></blockquote>
<p>vi'den "ESC" sonra da ":wq" tuşlayarak kaydedip çıkıyoruz.</p><pre class="crayon-plain-tag">vi /etc/cron.d/2weeklyjobs</pre><p>Haftalık çalışan cron uygulamalarınızın ayarları için /etc/cron.d/2weeklyjobs dosyasında değişiklikler yapacağız;</p>
<blockquote><p>SHELL=/bin/bash<br />
#LANG=tr_TR.UTF-8<br />
#LANGUAGE=tr<br />
#LC_CTYPE=tr_TR.UTF-8<br />
#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin<br />
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br />
MAILTO=root<br />
#HOME=/</p>
<p># For details see man 4 crontabs</p>
<p># Example of job definition:<br />
# .---------------- minute (0 - 59)<br />
# | .------------- hour (0 - 23)<br />
# | | .---------- day of month (1 - 31)<br />
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...<br />
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
# m h dom mon dow user command<br />
###############################################################<br />
#Görev tanımlama örneği:<br />
# .---------------- dakika (0 - 59)<br />
# | .------------- saat (0 - 23)<br />
# | | .---------- ayın gün numarası (1 - 31)<br />
# | | | .------- ay (1 - 12) YADA jan,feb,mar,apr ...<br />
# | | | | .---- haftanın gün numarası yada adı (0 - 6) (Pazar=0 yada 7) YADA sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
#dk sa ag ay hg kull komut</p>
<p>00 00 * * 1 root run-parts /etc/cron.weekly</p></blockquote>
<p>vi'den "ESC" sonra da ":wq" tuşlayarak kaydedip çıkıyoruz.</p><pre class="crayon-plain-tag">vi /etc/cron.d/3monthlyjobs</pre><p>Aylık çalışan cron uygulamalarınızın ayarları için /etc/cron.d/3monthlyjobs dosyasında değişiklikler yapacağız;</p>
<blockquote><p>SHELL=/bin/bash<br />
#LANG=tr_TR.UTF-8<br />
#LANGUAGE=tr<br />
#LC_CTYPE=tr_TR.UTF-8<br />
#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin<br />
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br />
MAILTO=root<br />
#HOME=/</p>
<p># For details see man 4 crontabs</p>
<p># Example of job definition:<br />
# .---------------- minute (0 - 59)<br />
# | .------------- hour (0 - 23)<br />
# | | .---------- day of month (1 - 31)<br />
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...<br />
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
# m h dom mon dow user command<br />
###############################################################<br />
#Görev tanımlama örneği:<br />
# .---------------- dakika (0 - 59)<br />
# | .------------- saat (0 - 23)<br />
# | | .---------- ayın gün numarası (1 - 31)<br />
# | | | .------- ay (1 - 12) YADA jan,feb,mar,apr ...<br />
# | | | | .---- haftanın gün numarası yada adı (0 - 6) (Pazar=0 yada 7) YADA sun,mon,tue,wed,thu,fri,sat<br />
# | | | | |<br />
#dk sa gg ay hg kull komut</p>
<p>00 00 1 * * root run-parts /etc/cron.monthly</p></blockquote>
<p>vi'den "ESC" sonra da ":wq" tuşlayarak kaydedip çıkıyoruz.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/centos6-5-mukemmel-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PuTTy ile Şifresiz SSH Bağlantı Kurma</title>
		<link>https://www.aycanaydemir.net/putty-ile-sifresiz-ssh-baglanti-kurma/</link>
					<comments>https://www.aycanaydemir.net/putty-ile-sifresiz-ssh-baglanti-kurma/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Thu, 08 May 2014 08:29:55 +0000</pubDate>
				<category><![CDATA[PuTTY]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=142</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><iframe class="imgur-album" width="100%" height="550" frameborder="0" src="http://imgur.com/a/IO3FN/embed"></iframe></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/putty-ile-sifresiz-ssh-baglanti-kurma/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FFMPEG İpuçları</title>
		<link>https://www.aycanaydemir.net/video-donusturme/</link>
					<comments>https://www.aycanaydemir.net/video-donusturme/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Fri, 05 Apr 2013 12:36:35 +0000</pubDate>
				<category><![CDATA[FFMPEG]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=87</guid>

					<description><![CDATA[FFMPEG İpuçları MKVMerge ile bir mkv dosyasının özelliklerini görüntülemek için; [crayon-68780a530faea052887174/] komutunu uygulayabiliriz. Çıktısında içerdiği video ve ses dosyalarını formatlarıyla birlikte listeler. Bu listede birden çok ses dosyası mevcut ise ve hangisinin Türkçe veya seçeceğiniz dile ait olduğunu görebilmek için; &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/video-donusturme/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h2><span style="color: red;">FFMPEG İpuçları</span></h2>
<p>MKVMerge ile bir mkv dosyasının özelliklerini görüntülemek için;</p><pre class="crayon-plain-tag">mkvmerge --identify video.mkv</pre><p>komutunu uygulayabiliriz. Çıktısında içerdiği video ve ses dosyalarını formatlarıyla birlikte listeler. Bu listede birden çok ses dosyası mevcut ise ve hangisinin Türkçe veya seçeceğiniz dile ait olduğunu görebilmek için;</p><pre class="crayon-plain-tag">ffmpeg -i video.mkv</pre><p>komutunu uygulamalıyız. Bu komutun çıktısında mkvmerge komutuna benzer şekilde dosyaları formatlarıyla listeler. Tek farkı ilk dosya (genelde video dosyası) mkvmerge komutunda 1 ile başlarken, ffmpeg komutund 0:0 ile başlar. Seçeceğiniz dile ait olan ses dosyası ffmpeg'de sırası 0:1 ise mkvmerge ile ayırırken 2 olarak numaralandırılmalıdır.<br />
bir mkv dosyasını, video ve ses dosyalarına ayırmak için;</p><pre class="crayon-plain-tag">mkvextract tracks video.mkv 1:video-dosyası-salt.h264 2:ses-dosyası.ac3</pre><p>komutunu uygularız.</p>
<p>Bu noktadan sonra birkaç şekilde bu dosyaları birleştirme imkanı var:</p>
<h3><span style="color: blue;">MP4Box</span></h3>
<p></p><pre class="crayon-plain-tag">MP4Box -add video-dosyası-salt.h264 -add ses-dosyası.ac3 video+ses.mp4</pre><p>bu komutla kısa sürede birleştirme işlemi gerçekleşir, ancak görüntü ve sesin senkronize olmadığını görüp memnun kalmama ihtimaliniz çok yüksek.</p>
<h3><span style="color: blue;">FFMPEG</span></h3>
<p></p><pre class="crayon-plain-tag">ffmpeg -i video-dosyası-salt.h264 -i ses-dosyası.ac3 -c:v libx264 -crf 22 -preset veryfast -c:a copy video+ses.mp4</pre><p>bu komutla video ve ses senkronizasyonu neredeyse hatasızdır. Ancak sunucu/pc'nizin performansına bağlı olarak en iyi süre neredeyse videonuzun süresi kadardır. Yani birleştime işlemi bayağı uzun sürecektir.</p>
<p>-------------------------------------------------------------------------------------</p>
<h3><span style="color: blue;">FFMPEG ile Altyazı Entegrasyonu</span></h3>
<p></p><pre class="crayon-plain-tag">ffmpeg -i video.mkv -filter:v subtitles=alt-yazı.srt -c:v libx264 -crf 22 -preset veryfast -c:a copy video.mp4</pre><p></p><pre class="crayon-plain-tag">ffmpeg -i video.mkv -filter:v subtitles=alt-yazı.srt -c:v libx264 -crf 22 -preset veryfast -c:a libfdk_aac video.mp4</pre><p>komutlarıyla <span style="color: red;">video.mkv</span> dosyasına <span style="color: red;">alt-yazı.srt</span> altyazısını ekleyip formatını da <span style="color: red;">mp4</span>'e çevirerek boyutunu küçültebiliriz.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/video-donusturme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sun Java Kurulumu</title>
		<link>https://www.aycanaydemir.net/sun-java-kurulumu/</link>
					<comments>https://www.aycanaydemir.net/sun-java-kurulumu/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Mon, 11 Feb 2013 09:59:47 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=73</guid>

					<description><![CDATA[Ubuntu 11.04: Sun Java Kurulumu (PPA ile) [crayon-68780a530fbf5708552618/] komutuyla ferramroberto/java deposunu bilgisayarımıza ekliyoruz. [crayon-68780a530fbf9476273607/] komutuyla mevcut depolardan çekebileceğimiz paketlerin listesini güncelliyoruz. [crayon-68780a530fbfa734547972/] komutuyla da ilgili paketleri indirip kuruyoruz. [crayon-68780a530fbfc928606083/] komutundan sonra [crayon-68780a530fbfd425877352/] ibarelerini, [crayon-68780a530fbfe663506162/] komutundan sonra da [crayon-68780a530fbff565554802/] gibisinden ibareleri görmelisiniz. [crayon-68780a530fc00240465736/] &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/sun-java-kurulumu/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h2><font color=red>Ubuntu 11.04: Sun Java Kurulumu (PPA ile)</font></h2>
<p></p><pre class="crayon-plain-tag">sudo add-apt-repository ppa:ferramroberto/java</pre><p>komutuyla ferramroberto/java deposunu bilgisayarımıza ekliyoruz.</p><pre class="crayon-plain-tag">sudo apt-get update</pre><p>komutuyla mevcut depolardan çekebileceğimiz paketlerin listesini güncelliyoruz.</p><pre class="crayon-plain-tag">sudo apt-get install sun-java6-jre sun-java6-bin sun-java6-jdk sun-java6-plugin sun-java6-fonts</pre><p>komutuyla da ilgili paketleri indirip kuruyoruz.</p><pre class="crayon-plain-tag">java -version</pre><p>komutundan sonra</p><pre class="crayon-plain-tag">java version &quot;1.6.0_22&quot; 
OpenJDK Runtime Environment (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~11.04.1)
OpenJDK Server VM (build 20.0-b11, mixed mode)</pre><p> ibarelerini,</p><pre class="crayon-plain-tag">javac -version</pre><p>komutundan sonra da</p><pre class="crayon-plain-tag">javac 1.6.0_26</pre><p>gibisinden ibareleri görmelisiniz.</p><pre class="crayon-plain-tag">update-java-alternatives -l</pre><p>komutu ile sisteminizde yüklü olan java alternatiflerini listeyebilir,</p><pre class="crayon-plain-tag">sudo update-alternatives --config java</pre><p>komutundan sonra çıkan seçeneklerden sun javanın numarasını yazıp enterlayarak, varsayılan java kütüphanesini sun java yapabilirsiniz.</p>
<p>Mozilla Firefox eklentilerinden yan uygulamalara gidip "IcedTea-Web Plugin" eklentisini devre dışı bırakıp Sun Java'yı etkinleştirmelisiniz. Sistemi yeniden başlattığınızda Sun Java bilgisayarınıza başarıyla kurulmuş olacaktır.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/sun-java-kurulumu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SSH Sunucusu Kurulumu</title>
		<link>https://www.aycanaydemir.net/ssh-sunucusu-kurulumu/</link>
					<comments>https://www.aycanaydemir.net/ssh-sunucusu-kurulumu/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Sat, 05 Nov 2011 11:20:23 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=40</guid>

					<description><![CDATA[Ubuntu(Server)10.04 SSH Sunucusu Kurulumu (Open-SSH) [crayon-68780a530fd20801759729/] bilgisayarımızdan (veya sunucumuzdan) başka bir ssh sunucusuna bağlanabilmek için (konsol yardımıyla) ssh paketini, başka bir bilgisayardan bigisayarımıza/sunucumuza (putty, winscp, vs.. ile) bağlanabilmek için open-ssh paketlerini bilgisayarımıza indirip kuruyoruz. [crayon-68780a530fd23647257468/] /etc/ssh/ dizinindeki sshd_config konfigürasyon dosyasını &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/ssh-sunucusu-kurulumu/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h2><span style="color: red;">Ubuntu(Server)10.04 SSH Sunucusu Kurulumu (Open-SSH)</span></h2>
<p></p><pre class="crayon-plain-tag">sudo apt-get install ssh openssh-server</pre><p>bilgisayarımızdan (veya sunucumuzdan) başka bir ssh sunucusuna bağlanabilmek için (konsol yardımıyla) ssh paketini, başka bir bilgisayardan bigisayarımıza/sunucumuza (putty, winscp, vs.. ile) bağlanabilmek için open-ssh paketlerini bilgisayarımıza indirip kuruyoruz.</p><pre class="crayon-plain-tag">sudo vi /etc/ssh/sshd_config</pre><p><span style="color: orange;">/etc/ssh/</span> dizinindeki <span style="color: orange;">sshd_config</span> konfigürasyon dosyasını <span style="color: red;">Vi Metin Düzenleyicisi</span> ile açıyoruz. SSH Sunucularının varsayılan bağlantı portu <span style="color: red;"><strong>22</strong></span>'dir. Bu durum güvenlik açısından <span style="color: red;">büyük bir risk</span> oluşturduğundan sadece kendimizin <span style="color: red;">(veya ek olarak güvendiğimiz kişilerin de)</span> bileceği bir bir port belirleyip, <span style="color: red;"><strong>Port 22</strong></span> ibaresindeki <span style="color: red;">22</span>'yi belirlediğimiz port ile değiştiriyoruz.</p>
<p>Sunucuya bağlantı esnasında bir bildiri/duyuru görüntüleme imkanı var. Aynı dosya içerisindeki;</p><pre class="crayon-plain-tag">#Banner /etc/issue.net</pre><p>ibaresinin başındaki <span style="color: red;">#</span> (diyez)i kaldırarak, ssh bağlantısı sırasında <span style="color: red;">/etc/issue.net</span> dosyasının içeriğini ssh ile bağlananlara görüntületebilirsiniz. Bu dosyada işletim sistemi sürümü bilgisi mevcuttur. İsterseniz <span style="color: red;">Banner /etc/issue.net</span> ibaresinde başka bir dosya ismi belirtip içeriğine istediğiniz duyuruları koyabilirsiniz. Ancak Türkçe karakterler konusunda putty ve winscp gibi programların bir standardı olmadığından karakter bozukluğu gibi problem çıkabilir. Dosyayı kaydedip kapatıyoruz.</p>
<p><strong><span style="color: red;">Opsiyonel komutlar:</span></strong></p><pre class="crayon-plain-tag">sudo /etc/init.d/ssh restart</pre><p>Çalışan SSH Sunucusunu yeniden başlatır.</p><pre class="crayon-plain-tag">sudo /etc/init.d/ssh stop</pre><p>Çalışan SSH Sunucusunu durdurur.</p><pre class="crayon-plain-tag">sudo /etc/init.d/ssh start</pre><p>Çalışmayan SSH Sunucusunu başlatır.</p>
<p><strong><span style="color: red;">SSH Sunucusuna Bağlanma</span></strong></p><pre class="crayon-plain-tag">ssh localhost -l user -p 22</pre><p></p>
<p></p><pre class="crayon-plain-tag">ssh 127.0.0.1 -l user -p 22</pre><p></p>
<p></p><pre class="crayon-plain-tag">ssh 192.168.1.36 -l user -p 22</pre><p></p>
<p></p><pre class="crayon-plain-tag">ssh www.alanadi.com -l user -p 22</pre><p></p>
<p></p><pre class="crayon-plain-tag">ssh 212.34.11.09 -l user -p 22</pre><p></p>
<ul>
<li><span style="color: red;">localhost</span> ve <span style="color: red;">127.0.0.1</span> SSH Sunucusunun kurulu olduğu bilgisayar açık iken bağlanılabilecek adreslerdir, yani kendi kendinize bağlanırsınız;) <span style="color: red;">192.168.1.36</span> yine SSH Sunucusunun kurulu olduğu bilgisayarın modemden aldığı dahili IP adresidir. Yerel Ağdaki başka bir bilgisayar bu yolla sunucunun dahili IP adresini yazarak bağlanabilir. <span style="color: red;">www.alanadi.com</span> ve <span style="color: red;">212.34.11.09</span> örneklerinde olduğu gibi alan adı veya sunucunun IP numarası yazılarak uzaktaki SSH Sunucusuna bağlanılabilir.</li>
<li>Yukarıdaki komutlardaki <span style="color: red;">user</span> yerine bağlanılacak bilgisayardaki <span style="color: red;">kullanıcı adı</span> yazılmalıdır.</li>
<li><span style="color: red;">22</span> standart SSH portudur. Güvenlik nedeniyle değiştirilmiş bir port numarası varsa 22 yerine bu port numarası yazılmalıdır.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/ssh-sunucusu-kurulumu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FTP Sunucusu Kurulumu</title>
		<link>https://www.aycanaydemir.net/ftp-sunucusu-kurulumu/</link>
					<comments>https://www.aycanaydemir.net/ftp-sunucusu-kurulumu/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Fri, 04 Nov 2011 21:03:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=23</guid>

					<description><![CDATA[Ubuntu(Server)10.04 FTP Sunucusu Kurulumu (vsFTPd) [crayon-68780a530fe4f939932311/] komutuyla vsftpd paketlerini indirip kuruyoruz. [crayon-68780a530fe52347985352/] komutuyla /etc/ dizininde yer alan, vsftpd.conf konfigurasyon dosyasını Vi Metin Düzenleyicisi ile açıyoruz. [crayon-68780a530fe54457128734/] ibaresinin başındaki # (diyez)i kaldırıyoruz, [crayon-68780a530fe55169926702/] ibaresinin başındaki # (diyez)i kaldırıyoruz. Dosyayı kaydedip kapatıyoruz. &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/ftp-sunucusu-kurulumu/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h2><span style="color: red;">Ubuntu(Server)10.04 FTP Sunucusu Kurulumu (vsFTPd)</span></h2>
<p></p><pre class="crayon-plain-tag">sudo apt-get install vsftpd</pre><p>komutuyla <span style="color: red;">vsftpd</span> paketlerini indirip kuruyoruz.</p><pre class="crayon-plain-tag">sudo vi /etc/vsftpd.conf</pre><p>komutuyla <span style="color: orange;">/etc/</span> dizininde yer alan, <span style="color: red;">vsftpd.conf</span> konfigurasyon dosyasını <span style="color: red;">Vi Metin Düzenleyicisi</span> ile açıyoruz.</p><pre class="crayon-plain-tag">#local_enable=YES</pre><p>ibaresinin başındaki <span style="color: red;">#</span> (diyez)i kaldırıyoruz,</p><pre class="crayon-plain-tag">#write_enable=YES</pre><p>ibaresinin başındaki <span style="color: red;">#</span> (diyez)i kaldırıyoruz. Dosyayı kaydedip kapatıyoruz.</p><pre class="crayon-plain-tag">sudo /etc/init.d/vsftpd restart</pre><p>FTP Sunucusunu yeniden başlatıyoruz.</p>
<h2><span style="color: red;"><u>vsFTPd Sunucusunda root olarak giriş yapma:</u></span></h2>
<p><span style="color: red;"><u>1) Bu seçim ve ilgili değişiklikler <b>YALNIZCA ÇOK GEREKLİ İSE YAPILMALIDIR</b>, çünkü sistemin tüm dosya erişimleri <b>root şifreniz zayıfsa</b> güvenlik açısından büyük bir risk altındadır.<br />
2) root olarak giriş yapmaya gerek kalmadığında da kesinlikle eski haline çevrilmelidir.</u></span></p>
<p></p><pre class="crayon-plain-tag">sudo vi /etc/vsftpd.conf</pre><p>komutuyla <span style="color: orange;">/etc/</span> dizininde yer alan, <span style="color: red;">vsftpd.conf</span> konfigurasyon dosyasını <span style="color: red;">Vi Metin Düzenleyicisi</span> ile açıyoruz.</p><pre class="crayon-plain-tag">local_enable=YES</pre><p>ibaresinin hemen altına</p><pre class="crayon-plain-tag">userlist_file=/etc/ftpusers</pre><p>ibaresini ekliyoruz. Dosyayı kaydedip kapatıyoruz.</p><pre class="crayon-plain-tag">sudo vi /etc/ftpusers</pre><p>komutuyla <span style="color: orange;">/etc/</span> dizininde yer alan, <span style="color: red;">ftpusers</span> konfigurasyon dosyasını <span style="color: red;">Vi Metin Düzenleyicisi</span> ile açıyoruz, <span style="color: red;">root</span> ibaresinin başına <span style="color: red;">#</span> (diyez) ekliyoruz. Dosyayı kaydedip kapatıyoruz.</p><pre class="crayon-plain-tag">sudo /etc/init.d/vsftpd restart</pre><p>FTP Sunucusunu yeniden başlatıyoruz.</p>
<p><strong><span style="color: red;">FTP Sunucuya Başka Porttan Bağlanmak</span></strong></p><pre class="crayon-plain-tag">sudo vi /etc/vsftpd.conf</pre><p>komutuyla <span style="color: orange;">/etc/</span> dizininde yer alan, <span style="color: red;">vsftpd.conf</span> konfigurasyon dosyasını <span style="color: red;">Vi Metin Düzenleyicisi</span> ile açıyoruz.</p><pre class="crayon-plain-tag">connect_from_port_20=YES</pre><p>ibaresini</p><pre class="crayon-plain-tag">connect_from_port_20=NO
ftp_data_port=8020
listen_port=8021</pre><p>ile değiştiriyoruz, dosyayı kaydedip kapatıyoruz. Böylelikle ftp sunucumuzun standart <span style="color: red;">21</span> olan bağlantı portunu <span style="color: red;">8021</span> ile değiştirmiş olduk. Güvenlik riski yaşamamak için <span style="color: red;">ftp_data_port</span> ve <span style="color: red;">listen port</span> parametrelerini kendimizin ve ya ek olarak sadece güvendiğimiz kişilerin bileceği port olarak değiştirmek yerinde olacaktır (seçilen port <span style="color: red;">8021</span> ise <span style="color: red;">ftp_data_port</span> değeri 1 eksiği olmalı, <strong><span style="color: red;">8020</span></strong>). Değişikliklerin aktif olması için <span style="color: red;">vsftpd sunucusu</span> yeniden başlatılmalıdır.</p>
<p><strong><span style="color: red;">Opsiyonel komutlar:</span></strong></p><pre class="crayon-plain-tag">sudo /etc/init.d/vsftpd restart</pre><p>Çalışan FTP Sunucusunu yeniden başlatır.</p><pre class="crayon-plain-tag">sudo /etc/init.d/vsftpd stop</pre><p>Çalışan FTP Sunucusunu durdurur.</p><pre class="crayon-plain-tag">sudo /etc/init.d/vsftpd start</pre><p>Çalışmayan FTP Sunucusunu başlatır.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/ftp-sunucusu-kurulumu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JDownloader Kurulumu</title>
		<link>https://www.aycanaydemir.net/jdownloader-kurulumu/</link>
					<comments>https://www.aycanaydemir.net/jdownloader-kurulumu/#respond</comments>
		
		<dc:creator><![CDATA[aycanuAydemir]]></dc:creator>
		<pubDate>Fri, 04 Nov 2011 19:11:49 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.aycanaydemir.net/?p=12</guid>

					<description><![CDATA[Ubuntu 11.04: JDownloader Kurulumu (PPA ile) Ubuntu 9.10 [Karmic Koala], 10.04 [Lucid Lynx], 10.10 [Maverick Meerkat] ve 11.04 [Natty Narwhal] için [crayon-68780a530ffa8481923077/] komutuyla jd-team/jdownloader deposunu bilgisayarımıza ekliyoruz. [crayon-68780a530ffac498653167/] komutuyla mevcut depolardan çekebileceğimiz paketlerin listesini güncelliyoruz. [crayon-68780a530ffad211558016/] komutuyla da jdownloader paketini &#8230;<p class="read-more"><a href="https://www.aycanaydemir.net/jdownloader-kurulumu/">Sonraki Sayfa &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<h2><font color=red>Ubuntu 11.04: JDownloader Kurulumu (PPA ile)</font></h2>
<p>Ubuntu 9.10 <font color=orange>[Karmic Koala]</font>, 10.04 <font color=orange>[Lucid Lynx]</font>, 10.10 <font color=orange>[Maverick Meerkat]</font> ve 11.04 <font color=red>[Natty Narwhal]</font> için</p><pre class="crayon-plain-tag">sudo add-apt-repository ppa:jd-team/jdownloader</pre><p>komutuyla <font color=red>jd-team/jdownloader</font> deposunu bilgisayarımıza ekliyoruz.</p><pre class="crayon-plain-tag">sudo apt-get update</pre><p>komutuyla mevcut depolardan çekebileceğimiz paketlerin listesini güncelliyoruz.</p><pre class="crayon-plain-tag">sudo apt-get install jdownloader</pre><p>komutuyla da <font color=red>jdownloader</font> paketini indirip kuruyoruz.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aycanaydemir.net/jdownloader-kurulumu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
