Wednesday, November 21, 2018
Text Size

EasyBlog

This is some blog description about this site

  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that have been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Team Blogs
    Team Blogs Find your favorite team blogs here.
  • Login
    Login Login form

Soft

Subcategories from this category: CMS, joomla, OS, Linux, CentOS

Posted by on in Soft

маємо таку штуку:

http://www.icstation.com/icstation-channel-micro-relay-module-icse014a-p-5185.html

b2ap3_thumbnail_5185_3_2854.JPG

Features

1. It's designed with MICRO USB and serial port for communicating with outside. It's more convenient to connect module with PC and other device.
2. The normal working voltage of this module is 5V and it has the 5V power port.



Parameters

 

ICSE012A

ICSE013A

ICSE014A

Unit

Remark

CC

4

2

8

 

channel count of module

I

400

250

700

mA

working current

U

5

5

5

V

input voltage

 







 

whether have serial port

 

9600

9600

9600

bit/s

baud rate of serial port

F

1000

1000

1000

Hz

module control frequency

 

x

x



 

whether have power interface

Interface

Modules are with Micro USB, serial port and TTL serial interface. 
 

  • Micro USB:Standard micro USB female adapter.( can use the USB extension cord to connect with the PC and the other devices)
  • TX: Transmit
  • RX : Receive
  • 5V:Volt current condenser
  • GND : Ground
  • 5V power socket: Only the ICSE014A module has this interface.( it works when the MICRO USB can not supply enough power)
 

How to use it?

1).USB Usage method

    These modules use the USB port to connect with the PC as following:
img

Open the "Relay Board Manager" to control the module directly. Please refer the usage of this software to "Relay Board Manager_Reference".

2)Serial port using method

These modules can use the serial port to connect with other communication devices. These modules can receive the Single-byte instruction from the upper monitor.
Upper Monitor          0x50        0x51
ICSE012A          0xAB
ICSE013A          0xAD
ICSE014A          0xAC


These modules will work normally after they receive the "0X51" instruction. The bytes which these modules receive can control the modules directly and every singly byte control one channel of the module( "0" means start, "1"means stop).

The details are as following:


Bit
ICSE012A

ICSE013A

ICSE014A

Remark

0







Control the relay K1

1







Control the relay K2

2







Control the relay K3

3







Control the relay K4

4







Control the relay K5

5







Control the relay K6

6







Control the relay K7

7







Control the relay K8

 

Download PC.zip

=====================================

наша мета навчитися керувати цією штукою з лінукса

оскільки драйвери на Pl2302 вже є у самому ядрі тому їх інсталювати не потрібно .. 

коли ми вставляємо юзб реле в комп, нам в журналі видно таке 

Sep 29 12:04:29 localhost kernel: usb 4-2: new full speed USB device number 5 using uhci_hcd
Sep 29 12:04:30 localhost kernel: usb 4-2: New USB device found, idVendor=067b, idProduct=2303
Sep 29 12:04:30 localhost kernel: usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Sep 29 12:04:30 localhost kernel: usb 4-2: Product: USB-Serial Controller
Sep 29 12:04:30 localhost kernel: usb 4-2: Manufacturer: Prolific Technology Inc.
Sep 29 12:04:30 localhost kernel: usb 4-2: configuration #1 chosen from 1 choice
Sep 29 12:04:30 localhost kernel: pl2303 4-2:1.0: pl2303 converter detected
Sep 29 12:04:30 localhost kernel: usb 4-2: pl2303 converter now attached to ttyUSB0

вчимося включати і виключати його програмним методом фізично не витягуючи ЮЗБ дроту.

- нам потрібно знати до якого пристрою ми звиртаємося тому шукаємо його назву:

це можна подивитися або тут /sys/bus/usb/drivers/pl2303

але ми подивимося іншим методом

dmesg | grep ': pl2303 converter detected' |sed -e '$!d'| awk '{ print $2}'|sed 's/.$//'

(стираючи ззаду до переду оператори розділені | можна побачити що вони означають методом научного тику щоб довго не розписувати)

відєднуємо пристрій
echo -n "4-2:1.0" > /sys/bus/usb/drivers/pl2303/unbind
переконуємося що пристрій відєднаний
ls -lrt /dev/ttyUSB*
підєднуємо пристрій
echo -n "4-2:1.0" > /sys/bus/usb/drivers/pl2303/bind
(в даному випадку живлення на самі релюшки далі йде і вони залишаються у включеному стані якщо такий був вибраний)
налаштовуємо порт:
stty -F /dev/ttyUSB0 9600 -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

вітаємося 

echo -e -n "\x50" > /dev/ttyUSB0
активуємо контролер щоб він почав сприймати команди
echo -e -n "\x51" > /dev/ttyUSB0
вимкнути всі реле (тобто стан по замовчуванню)
echo -e -n "\xff" > /dev/ttyUSB0
увімкнути всі реле
echo -e -n "\x00" > /dev/ttyUSB0

значить з цього моменту далі получаєтсья так що не моджна звернутися до якогось конкретного реле. наступні звернення йдуть одночасно до всіх реле і якщо хочеш клацати лише перше реле і щоб інші не змінили свого стану тоді треба шось думати .. всі комбінації можливих станів це:

(щоб скласти таку табличку використали excel )

DEC2HEX(D2;2) DEC2BIN(D2;8)
0 00 00000000
1 01 00000001
2 02 00000010
3 03 00000011
4 04 00000100
5 05 00000101
6 06 00000110
7 07 00000111
8 08 00001000
9 09 00001001
10 0A 00001010
11 0B 00001011
12 0C 00001100
13 0D 00001101
14 0E 00001110
15 0F 00001111
16 10 00010000
17 11 00010001
18 12 00010010
19 13 00010011
20 14 00010100
21 15 00010101
22 16 00010110
23 17 00010111
24 18 00011000
25 19 00011001
26 1A 00011010
27 1B 00011011
28 1C 00011100
29 1D 00011101
30 1E 00011110
31 1F 00011111
32 20 00100000
33 21 00100001
34 22 00100010
35 23 00100011
36 24 00100100
37 25 00100101
38 26 00100110
39 27 00100111
40 28 00101000
41 29 00101001
42 2A 00101010
43 2B 00101011
44 2C 00101100
45 2D 00101101
46 2E 00101110
47 2F 00101111
48 30 00110000
49 31 00110001
50 32 00110010
51 33 00110011
52 34 00110100
53 35 00110101
54 36 00110110
55 37 00110111
56 38 00111000
57 39 00111001
58 3A 00111010
59 3B 00111011
60 3C 00111100
61 3D 00111101
62 3E 00111110
63 3F 00111111
64 40 01000000
65 41 01000001
66 42 01000010
67 43 01000011
68 44 01000100
69 45 01000101
70 46 01000110
71 47 01000111
72 48 01001000
73 49 01001001
74 4A 01001010
75 4B 01001011
76 4C 01001100
77 4D 01001101
78 4E 01001110
79 4F 01001111
80 50 01010000
81 51 01010001
82 52 01010010
83 53 01010011
84 54 01010100
85 55 01010101
86 56 01010110
87 57 01010111
88 58 01011000
89 59 01011001
90 5A 01011010
91 5B 01011011
92 5C 01011100
93 5D 01011101
94 5E 01011110
95 5F 01011111
96 60 01100000
97 61 01100001
98 62 01100010
99 63 01100011
100 64 01100100
101 65 01100101
102 66 01100110
103 67 01100111
104 68 01101000
105 69 01101001
106 6A 01101010
107 6B 01101011
108 6C 01101100
109 6D 01101101
110 6E 01101110
111 6F 01101111
112 70 01110000
113 71 01110001
114 72 01110010
115 73 01110011
116 74 01110100
117 75 01110101
118 76 01110110
119 77 01110111
120 78 01111000
121 79 01111001
122 7A 01111010
123 7B 01111011
124 7C 01111100
125 7D 01111101
126 7E 01111110
127 7F 01111111
128 80 10000000
129 81 10000001
130 82 10000010
131 83 10000011
132 84 10000100
133 85 10000101
134 86 10000110
135 87 10000111
136 88 10001000
137 89 10001001
138 8A 10001010
139 8B 10001011
140 8C 10001100
141 8D 10001101
142 8E 10001110
143 8F 10001111
144 90 10010000
145 91 10010001
146 92 10010010
147 93 10010011
148 94 10010100
149 95 10010101
150 96 10010110
151 97 10010111
152 98 10011000
153 99 10011001
154 9A 10011010
155 9B 10011011
156 9C 10011100
157 9D 10011101
158 9E 10011110
159 9F 10011111
160 A0 10100000
161 A1 10100001
162 A2 10100010
163 A3 10100011
164 A4 10100100
165 A5 10100101
166 A6 10100110
167 A7 10100111
168 A8 10101000
169 A9 10101001
170 AA 10101010
171 AB 10101011
172 AC 10101100
173 AD 10101101
174 AE 10101110
175 AF 10101111
176 B0 10110000
177 B1 10110001
178 B2 10110010
179 B3 10110011
180 B4 10110100
181 B5 10110101
182 B6 10110110
183 B7 10110111
184 B8 10111000
185 B9 10111001
186 BA 10111010
187 BB 10111011
188 BC 10111100
189 BD 10111101
190 BE 10111110
191 BF 10111111
192 C0 11000000
193 C1 11000001
194 C2 11000010
195 C3 11000011
196 C4 11000100
197 C5 11000101
198 C6 11000110
199 C7 11000111
200 C8 11001000
201 C9 11001001
202 CA 11001010
203 CB 11001011
204 CC 11001100
205 CD 11001101
206 CE 11001110
207 CF 11001111
208 D0 11010000
209 D1 11010001
210 D2 11010010
211 D3 11010011
212 D4 11010100
213 D5 11010101
214 D6 11010110
215 D7 11010111
216 D8 11011000
217 D9 11011001
218 DA 11011010
219 DB 11011011
220 DC 11011100
221 DD 11011101
222 DE 11011110
223 DF 11011111
224 E0 11100000
225 E1 11100001
226 E2 11100010
227 E3 11100011
228 E4 11100100
229 E5 11100101
230 E6 11100110
231 E7 11100111
232 E8 11101000
233 E9 11101001
234 EA 11101010
235 EB 11101011
236 EC 11101100
237 ED 11101101
238 EE 11101110
239 EF 11101111
240 F0 11110000
241 F1 11110001
242 F2 11110010
243 F3 11110011
244 F4 11110100
245 F5 11110101
246 F6 11110110
247 F7 11110111
248 F8 11111000
249 F9 11111001
250 FA 11111010
251 FB 11111011
252 FC 11111100
253 FD 11111101
254 FE 11111110
255 FF 11111111

 

 пробуємо знайти залежність між табличкою і восьмома реле

якщо взяти платку перед собою юзб виходом у верх тоді почерговість реле получиться така:
8-usb-4
7-------3
6-------2
5-------1

поставимо їх в рядок получиться 

12345678

приймаємо що 1 це замкнуто нормально замкнуті контакти а 0 це замкнуто нормально розмікнуті контакти (тобто на реле подана напруга)

значить починаємо зі стану коли всі реле без напруги топто 

11111111

і я хочу подати напругу лише на перше реле тобто 

01111111 що в шіснадцятковій системі дорівнює 7F

відсилаємо команду 

 echo -e -n "\x7F" > /dev/ttyUSB0

 

 щоб перевірити чи дана взаємозалежність працює пробуємо вибірково включити напругу для прикладу 1 і 2 і 4 і 8 реле 

це в нас полчиться так 

12345678

 00101110 -> 2e

 echo -e -n "\x2e" > /dev/ttyUSB0

 ============

 

 

 тепер створюємо правило щоб реле проходило автоматично ініціалізацію коли його вставляють в компютер
lsusb
Bus 004 Device 007: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

створюємо файл
/etc/udev/rules.d/95-my_usb_relay_rule.rules

ACTION=="add", SUBSYSTEM=="usb", SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2303", RUN+="/home/myhome/my_script"



#!/bin/bash
#sleep 1
devname=$(dmesg | grep 'pl2303 converter now attached to' |sed -e '$!d'| awk '{ print $8}')
echo "$devname" > "/var/reley_name"
stty -F /dev/$devname 9600 -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke
#sleep 1
echo -e -n "\x50" > /dev/$devname
#sleep 1
echo -e -n "\x51" > /dev/$devname
#echo "01111111" > "/var/reley_status"
#get saved relay status https://unix.stackexchange.com/a/65283/157086
relstatusbin=$(</var/reley_status)
relstatus16=$(echo "ibase=2;obase=10000;$relstatusbin"|bc)
echo -e -n "\x$relstatus16" > /dev/$devname

 

 

 

 

 

 

 

 
https://stackoverflow.com/questions/4189383/bash-script-to-detect-when-my-usb-is-plugged-in-and-to-then-sync-it-with-a-direc
https://stackoverflow.com/questions/26913755/need-help-understading-sending-bytes-to-serial-port/26925382#26925382

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hits: 826
0

Posted by on in joomla

xmap easydiscuss plg
easydiscuss XMAP plugin

Завантажити плагін xmap для компоненту  easydiscuss

plg_xmap_easydiscuss.zip

Hits: 1315
0

Posted by on in joomla

Since the component comments Komento is free and we do not violate any licenses if delete backward link to the developer.

So look for a file:

/сomponents/com_komento/helpers/helper.php

Now look for the following line: 

$html .= '<div style="text-align: center; padding: 20px 0;"><a href="http://stackideas.com">' . JText::_( 'COM_KOMENTO_POWERED_BY_KOMENTO' ) . '</a></div>';

and replace it with this tape: 

$html .= '';

Save file, and it works! For ease of searching text in files used program DREAMVIEWER CS6.  Search carried out in the middle of all the files that are contained on the site.

 

 
Hits: 44241
5 1

 

У цій статті ви дізнаєтеся про встановлення сертифікату SSL (Secure Certificate Server) для забезпечення захищеного зв'язку між Postfix SMTP - сервером і поштовим клієнтом, таких як The BAT,  Outlook, Thunderbird або іншим. Якщо не шифрувати дані які проходять під час відсилки або прийому пошти, тоді ми попадаємо під загрозу що хтось може викрасти пароль від пошти або прочитати наші листи.

 Стаття написана як продовження до попередньої статті: Створюємо поштовий сервер на Centos 6.3 для декількох віртуальних доменів які працюють на одному фізичному сервері http://disk.pp.ua/ua/blog/entry/stvoriuiemo-poshtovyi-server-na-centos-6-3-dlia-dekilkokh-virtualnykh-domeniv-iaki-pratsiuiut-na-odnomu-fizychnomu-serveri

Порядок створення CSR на Postfix MTA так само, як для веб-сервера. Ви повинні використати криптографічний інструмент OpenSSL, для реалізації протоколу Secure Sockets Layer (SSL v2/v3) і Transport Layer Security (TLS v1).

Для прикладу ми будемо генерувати сертифікат для нашого веб сервера який називається mail.disk.pp.ua

Крок # 1: Генеруємо PEM приватний ключ

# mkdir /etc/postfix/ssl
# openssl req -new -x509 -days 3650 -nodes -out /etc/postfix/ssl/cert.postfix.pem -keyout /etc/postfix/ssl/private.postfix.pem
Generating a 2048 bit RSA private key
.........................................+++
...............................+++
writing new private key to 'mail.disk.pp.ua.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:UA
State or Province Name (full name) []:Ukraine
Locality Name (eg, city) [Default City]:Lviv
Organization Name (eg, company) [Default Company Ltd]:company
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:mail.disk.pp.ua
Email Address []:mail@disk.pp.ua

Пам'ятаємо що свої ключі і сертифікати не можна ніколи і нікому давати!

Якщо маємо бажання / потребу / гроші, тоді можемо підписати свій ключ за допомогою акредитованого центру сертифікації (Certification authority, CA). Безкоштовно можна підписати сертифікат тут: http://www.startssl.com/

Перевіряємо чи в папці /etc/postfix/ssl з'явилися потрібні файли з власником root і атрибутами 600.

Крок # 2: налаштовуємо Postfix SMTP

відкриваємо: /etc/postfix/main.cf і редагуємо:

# SASL
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = /var/spool/postfix/private/dovecot-auth
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_non_fqdn_recipient,
    reject_unverified_recipient,
    reject_rbl_client cbl.abuseat.org,
# broken_sasl_auth_clients = yes
# smtpd_sasl_security_options = noanonymous, noplaintext
#TTL
smtpd_tls_security_level = may
smtpd_tls_key_file = /etc/postfix/ssl/private.postfix.pem
smtpd_tls_cert_file = /etc/postfix/ssl/cert.postfix.pem
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache
tls_random_source = dev:/dev/urandom
smtpd_tls_auth_only = yes 
# service postfix restart

Крок # 3: налаштовуємо Dovecot

 /etc/dovecot.conf

protocols = imap pop3
disable_plaintext_auth = yes
# ssl = no
#ssl_disable = no ssl_cert = /etc/postfix/ssl/cert.postfix.pem ssl_key = /etc/postfix/ssl/rivate.postfix.pem ssl_cipher_list = ALL:!LOW:!SSLv2
# service dovecot restart

Команда щоб перевірти чи Postfix підтримує SASL з'єднання

# postconf -a 

У новій версії Dovecot 2 є можливість вибрати окремий сертифікат для окремого віртуального домену


Ще трошки інформації по даній темі:

http://wiki.centos.org/HowTos/postfix_sasl

http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL

http://www.postfix.org/SASL_README.html


Продовження: 

Налаштувати SELinux для Postfix / Dovecot поштового сервера

Tagged in: CentOS Linux mail SSL/TLS
Hits: 1739
0

В даній статті я постараюся максимально описати всі основні нюанси і варіанти як зробити власну пошту для свого домена. Також по мірі нововведень і натхнення я буду доповнювати дану статтю.

Кожна організація яка себе поважає мусить мати власний поштовий сервер. Поштова пере-писка це основний метод обміном інформацією між організаціями. Якщо організація пише свої листи з загальнодоступних поштових сервісів (на зразок gmail.com, meta.ua, ukr.net, mail.ru), таку організацію не будуть вважати серйозною і про неї складеться негативна думка.

Як це працює

Почнемо з трошки теорії як це все працює щоб мати загальну думку того що ми робимо.

Для отримання листів використовується протокол РОР3 або ІМАР.

Для від-правки листів використовується протокол smtp.

Сама адреса електронної пошти вказує на місце-знаходження адресата. Для прикладу: user@disk.pp.ua: користувач user перебуває за адресою disk.pp.ua

Коли хтось відправляє Вам листа, його поштова система (SMTP сервер) приймає у нього лист і виконує наступні дії (спрощено):

  1. поміщає лист в чергу доставки з присвоєнням йому унікального ідентифікатора;
  2. Шукає MX запис в DNS записах домену disk.pp.ua. При відсутності MX - записи, запитує адресу безпосередньо домену;
  3. намагається з'єднатися з SMTP - сервером, обслуговую-чим домен disk.pp.ua і передати йому лист. В залежності від успішності цього процесу листа може бути доставлено як за пару хвилин так і за кілька днів. У разі виникнення помилок відправнику буде про це повідомлено.

На цьому, власне, робота SMTP - сервера відправника закінчується, і починається робота поштової системи одержувача (а це вже будемо ми). Ось що повинно відбуватися на стороні одержувача:

  1. SMTP - сервер приймає вхідний лист;
  2. перевіряє по базі аліасів, не потрібно цей лист відправити за іншою адресою;
  3. перевіряє, чи є такий одержувач;
  4.  якщо є - кладе лист йому в ящик, якщо немає, повідомляє SMTP - серверу відправника повідомлення про те, що такого користувача в цій поштовій системі немає.

Необхідно розуміти, що використання поштової скриньки user@disk.pp.ua не зобов'язує Вас використовувати SMTP - сервера disk.pp.ua для відправки листів. Тут все точно так само, як і в звичайній пошті: яку адресу відправника вкажете, таку і прочитають, а відправити листа можете через будь-яке відділення зв'язку (будь-який доступний вам SMTP - сервер, який буде пересилати листи від Вас), або можете адресату особисто в поштову скриньку покласти (безпосередньо з'єднуватися з SMTP - сервером одержувача і передавати йому лист, якщо це підтримується Вашим поштовим клієнтом). Як правило використовують проміжні SMTP - сервера - MTA (message transfer agent або mail transfer agent).

Postfix - це MTA. Він відповідає за прийом вхідних листів і передачу їх MDA (Mail delivery agent) для подальшого зберігання та доставка користувачеві по протоколу POP3/IMAP. Postfix так само відповідає за прийом і передачу вихідних від локальних користувачів листів іншим MTA, обслуговуваним поштові домени одержувачів.

sendmail - це MTA + MDA

Сyrus - це MDA. Він отримує від MTA листи по протоколу LMTP (Local Mail Transfer Protocol) або іншими механізмами, складає їх у папки користувачів і дозволяє користувачам отримувати до них доступ по одному з підтримуваних протоколів (POP3 або IMAP).
Dovecot - це MDA (Mail delivery agent)

Exim4 - це MDA (Mail delivery agent)

MySQL - це сервер баз даних, який ми будемо використовувати для зберігання облікових даних користувачів.

ClamAV - антивірус

sasl - система аутентифікації

SpamAssassin - це поштовий спам-фільтр, дія якого грунтується на теоремі Бeйса. Оскільки він написаний на Perl, застосовувати його на високо навантажених серверах не рекомендується, у зв'язку з повільною швидкодією.

Roundcube - web інтерфейс

Postgrey - демон який реалізує "Сірі списки" (Greylisting)

Робимо вибір компонентів

Нам потрібно вибрати який набір програм ми поєднаємо для реалізацій нашого поштового сервера. На даний час мене питання антивірусу і захисту від спаму не цікавить, тому я поки-що зупинюся на виборі компонентів MTA + MDA + MySQL + SASL + Веб інтерфейс. Базуючись на практиці і досвіді я вибираю компоненти по різних критеріях, таких як: безкоштовність компонентів, безвідказність, продуктивність, велика функціональність, дата останньої версії, та інших.

Тому остаточно це будуть:

  1. Postfix www.postfix.org
  2. Dovecot http://www.dovecot.org/
  3. PostfixAdmin http://sourceforge.net/projects/postfixadmin
  4. Roundcube http://sourceforge.net/projects/roundcubemail/

Компонент антивіруса і антиспаму поки-що я вважаю не потрібними, і при потребі встановлю його пізніше.  Дана інсталяція передбачає що: веб сервер з підтримкою PHP (apache), ДНС сервер (Bind), база даних (MySQL) вже про-інстальовані і коректно працюють.

Приступаємо до встановлення

Всі дії будуть виконуватися з під користувача root.

1) Створюємо базу даних і адміністратора для цієїж бази

За допомогою phpmyadmin Заходимо в базу даних MySQL з користувача який має доступ на повне адміністрування, і створюємо базу даних з назвою mail.

http://127.0.0.1/phpmyadmin

phpmyadmin.JPG

phpmyadmin2.JPG

Тепер створимо користувача mailadm з паролем mailpass і дамо йому повністю всі права до бази даних mail.

http://127.0.0.1/phpmyadmin -> Користувачі ->  Додати користувача

2) Завантажуємо і встановлюємо Postfix

# yum install postfix mysql pam  mod_ssl  openssl crypto-utils -y

робимо резервну копію налаштувань:

# mv /etc/postfix/main.cf /etc/postfix/main.cf.original

створюємо власний файл /etc/postfix/main.cf з потрібними налаштуваннями:

# Global Postfix configuration file. This file lists only a subset
# of all parameters. For the syntax, and for a complete parameter
# list, see the postconf(5) manual page (command: "man 5 postconf").
#
# For common configuration examples, see BASIC_CONFIGURATION_README
# and STANDARD_CONFIGURATION_README. To find these documents, use
# the command "postconf html_directory readme_directory", or go to
# http://www.postfix.org/.
#
# For best results, change no more than 2-3 parameters at a time,
# and test if Postfix still works after every change.
# SOFT BOUNCE
#
# The soft_bounce parameter provides a limited safety net for
# testing.  When soft_bounce is enabled, mail will remain queued that
# would otherwise bounce. This parameter disables locally-generated
# bounces, and prevents the SMTP server from rejecting mail permanently
# (by changing 5xx replies into 4xx replies). However, soft_bounce
# is no cure for address rewriting mistakes or mail routing mistakes.
#
soft_bounce = no
# LOCAL PATHNAME INFORMATION
#
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.
#
queue_directory = /var/spool/postfix
# The command_directory parameter specifies the location of all
# postXXX commands.
#
command_directory = /usr/sbin
# The daemon_directory parameter specifies the location of all Postfix
# daemon programs (i.e. programs listed in the master.cf file). This
# directory must be owned by root.
#
daemon_directory = /usr/libexec/postfix
# The data_directory parameter specifies the location of Postfix-writable
# data files (caches, random numbers). This directory must be owned
# by the mail_owner account (see below).
#
data_directory = /var/lib/postfix
# QUEUE AND PROCESS OWNERSHIP
#
# The mail_owner parameter specifies the owner of the Postfix queue
# and of most Postfix daemon processes.  Specify the name of a user
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM.  In
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
# USER.
#
mail_owner = postfix
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody
# INTERNET HOST AND DOMAIN NAMES
# 
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
myhostname = mail.disk.pp.ua
#myhostname = virtual.domain.tld
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
mydomain = localhost
# SENDING MAIL
# 
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
myorigin = $mydomain
# RECEIVING MAIL
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
# Enable IPv4, and IPv6 if supported
inet_protocols = all
# The proxy_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on by way of a
# proxy or network address translation unit. This setting extends
# the address list specified with the inet_interfaces parameter.
#
# You must specify your proxy/NAT addresses when your system is a
# backup MX host for other domains, otherwise mail delivery loops
# will happen when the primary MX host is down.
#
#proxy_interfaces =
#proxy_interfaces = 1.2.3.4
# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
#
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
#
# The default is $myhostname + localhost.$mydomain.  On a mail domain
# gateway, you should also include $mydomain.
#
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see VIRTUAL_README).
#
# Do not specify the names of domains that this machine is backup MX
# host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# STANDARD_CONFIGURATION_README).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#	mail.$mydomain, www.$mydomain, ftp.$mydomain
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#
# The local_recipient_maps parameter specifies optional lookup tables
# with all names or addresses of users that are local with respect
# to $mydestination, $inet_interfaces or $proxy_interfaces.
#
# If this parameter is defined, then the SMTP server will reject
# mail for unknown local users. This parameter is defined by default.
#
# To turn off local recipient checking in the SMTP server, specify
# local_recipient_maps = (i.e. empty).
#
# The default setting assumes that you use the default Postfix local
# delivery agent for local delivery. You need to update the
# local_recipient_maps setting if:
#
# - You define $mydestination domain recipients in files other than
#   /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
#   For example, you define $mydestination domain recipients in    
#   the $virtual_mailbox_maps files.
#
# - You redefine the local delivery agent in master.cf.
#
# - You redefine the "local_transport" setting in main.cf.
#
# - You use the "luser_relay", "mailbox_transport", or "fallback_transport"
#   feature of the Postfix local delivery agent (see local(8)).
#
# Details are described in the LOCAL_RECIPIENT_README file.
#
# Beware: if the Postfix SMTP server runs chrooted, you probably have
# to access the passwd file via the proxymap service, in order to
# overcome chroot restrictions. The alternative, having a copy of
# the system passwd file in the chroot jail is just not practical.
#
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify a bare username, an @domain.tld
# wild-card, or specify a user@domain.tld address.
# 
#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
local_recipient_maps = $virtual_mailbox_maps, $virtual_alias_maps, $transport_maps
# The unknown_local_recipient_reject_code specifies the SMTP server
# response code when a recipient domain matches $mydestination or
# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
# and the recipient address or address local-part is not found.
#
# The default setting is 550 (reject mail) but it is safer to start
# with 450 (try again later) until you are certain that your
# local_recipient_maps settings are OK.
#
unknown_local_recipient_reject_code = 550
# TRUST AND RELAY CONTROL
# The mynetworks parameter specifies the list of "trusted" SMTP
# clients that have more privileges than "strangers".
#
# In particular, "trusted" SMTP clients are allowed to relay mail
# through Postfix.  See the smtpd_recipient_restrictions parameter
# in postconf(5).
#
# You can specify the list of "trusted" network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the "ifconfig" command.
# 
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don't do this with a dialup site - it would cause Postfix to "trust"
# your entire provider's network.  Instead, specify an explicit
# mynetworks list by hand, as described below.
#  
# Specify "mynetworks_style = host" when Postfix should "trust"
# only the local machine.
# 
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = host
# Alternatively, you can specify the mynetworks list by hand, in
# which case Postfix ignores the mynetworks_style setting.
#
# Specify an explicit list of network/netmask patterns, where the
# mask specifies the number of bits in the network part of a host
# address.
#
# You can also specify the absolute pathname of a pattern file instead
# of listing the patterns here. Specify type:table for table-based lookups
# (the value on the table right-hand side is not used).
#
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 127.0.0.0/8, 10.2.0.0/28, 10.22.71.0/28, 10.6.0.0/28, 10.29.71.0/28, 10.3.0.0/28, 10.44.71.0/28
# The relay_domains parameter restricts what destinations this system will
# relay mail to.  See the smtpd_recipient_restrictions description in
# postconf(5) for detailed information.
#
# By default, Postfix relays mail
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
# - from "untrusted" clients to destinations that match $relay_domains or
#   subdomains thereof, except addresses with sender-specified routing.
# The default relay_domains value is $mydestination.
# 
# In addition to the above, the Postfix SMTP server by default accepts mail
# that Postfix is final destination for:
# - destinations that match $inet_interfaces or $proxy_interfaces,
# - destinations that match $mydestination
# - destinations that match $virtual_alias_domains,
# - destinations that match $virtual_mailbox_domains.
# These destinations do not need to be listed in $relay_domains.
# 
# Specify a list of hosts or domains, /file/name patterns or type:name
# lookup tables, separated by commas and/or whitespace.  Continue
# long lines by starting the next line with whitespace. A file name
# is replaced by its contents; a type:name table is matched when a
# (parent) domain appears as lookup key.
#
# NOTE: Postfix will not automatically forward mail for domains that
# list this system as their primary or backup MX host. See the
# permit_mx_backup restriction description in postconf(5).
#
#relay_domains = $mydestination
relay_domains = $transport_maps
# INTERNET OR INTRANET
# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
# REJECTING UNKNOWN RELAY USERS
#
# The relay_recipient_maps parameter specifies optional lookup tables
# with all addresses in the domains that match $relay_domains.
#
# If this parameter is defined, then the SMTP server will reject
# mail for unknown relay users. This feature is off by default.
#
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify an @domain.tld wild-card, or specify
# a user@domain.tld address.
# 
#relay_recipient_maps = hash:/etc/postfix/relay_recipients
# INPUT RATE CONTROL
#
# The in_flow_delay configuration parameter implements mail input
# flow control. This feature is turned on by default, although it
# still needs further development (it's disabled on SCO UNIX due
# to an SCO bug).
# 
# A Postfix process will pause for $in_flow_delay seconds before
# accepting a new message, when the message arrival rate exceeds the
# message delivery rate. With the default 100 SMTP server process
# limit, this limits the mail inflow to 100 messages a second more
# than the number of messages delivered per second.
# 
# Specify 0 to disable the feature. Valid delays are 0..10.
# 
#in_flow_delay = 1s
# ADDRESS REWRITING
#
# The ADDRESS_REWRITING_README document gives information about
# address masquerading or other forms of address rewriting including
# username->Firstname.Lastname mapping.
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
#
# The VIRTUAL_README document gives information about the many forms
# of domain hosting that Postfix supports.
# "USER HAS MOVED" BOUNCE MESSAGES
#
# See the discussion in the ADDRESS_REWRITING_README document.
# TRANSPORT MAP
#
# See the discussion in the ADDRESS_REWRITING_README document.
# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
#
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
# 
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible.  Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases
# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi".  This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
# ADDRESS EXTENSIONS (e.g., user+foo)
#
# The recipient_delimiter parameter specifies the separator between
# user names and address extensions (user+foo). See canonical(5),
# local(8), relocated(5) and virtual(5) for the effects this has on
# aliases, canonical, virtual, relocated and .forward file lookups.
# Basically, the software tries user+foo and .forward+foo before
# trying user and .forward.
#
#recipient_delimiter = +
# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
 
# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail
# The mailbox_command parameter specifies the optional external
# command to use instead of mailbox delivery. The command is run as
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
# Exception:  delivery for root is done as $default_user.
#
# Other environment variables of interest: USER (recipient username),
# EXTENSION (address extension), DOMAIN (domain part of address),
# and LOCAL (the address localpart).
#
# Unlike other Postfix configuration parameters, the mailbox_command
# parameter is not subjected to $parameter substitutions. This is to
# make it easier to specify shell syntax (see example below).
#
# Avoid shell meta characters because they will force Postfix to run
# an expensive shell process. Procmail alone is expensive enough.
#
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
#
#mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
# The mailbox_transport specifies the optional transport in master.cf
# to use after processing aliases and .forward files. This parameter
# has precedence over the mailbox_command, fallback_transport and
# luser_relay parameters.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf.  The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for    
# non-UNIX accounts with "User unknown in local recipient table".
#
#mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
# If using the cyrus-imapd IMAP server deliver local mail to the IMAP
# server using LMTP (Local Mail Transport Protocol), this is prefered
# over the older cyrus deliver program by setting the
# mailbox_transport as below:
#
# mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
#
# The efficiency of LMTP delivery for cyrus-imapd can be enhanced via
# these settings.
#
# local_destination_recipient_limit = 300
# local_destination_concurrency_limit = 5
#
# Of course you should adjust these settings as appropriate for the
# capacity of the hardware you are using. The recipient limit setting
# can be used to take advantage of the single instance message store
# capability of Cyrus. The concurrency limit can be used to control
# how many simultaneous LMTP sessions will be permitted to the Cyrus
# message store. 
#
# To use the old cyrus deliver program you have to set:
#mailbox_transport = cyrus
# The fallback_transport specifies the optional transport in master.cf
# to use for recipients that are not found in the UNIX passwd database.
# This parameter has precedence over the luser_relay parameter.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf.  The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for    
# non-UNIX accounts with "User unknown in local recipient table".
#
#fallback_transport = lmtp:unix:/var/lib/imap/socket/lmtp
#fallback_transport =
# The luser_relay parameter specifies an optional destination address
# for unknown recipients.  By default, mail for unknown@$mydestination,
# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned
# as undeliverable.
#
# The following expansions are done on luser_relay: $user (recipient
# username), $shell (recipient shell), $home (recipient home directory),
# $recipient (full recipient address), $extension (recipient address
# extension), $domain (recipient domain), $local (entire recipient
# localpart), $recipient_delimiter. Specify ${name?value} or
# ${name:value} to expand value only when $name does (does not) exist.
#
# luser_relay works only for the default Postfix local delivery agent.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must specify "local_recipient_maps =" (i.e. empty) in
# the main.cf file, otherwise the SMTP server will reject mail for    
# non-UNIX accounts with "User unknown in local recipient table".
#
#luser_relay = $user@other.host
#luser_relay = $local@other.host
#luser_relay = admin+$local
  
# JUNK MAIL CONTROLS
# 
# The controls listed here are only a very small subset. The file
# SMTPD_ACCESS_README provides an overview.
# The header_checks parameter specifies an optional table with patterns
# that each logical message header is matched against, including
# headers that span multiple physical lines.
#
# By default, these patterns also apply to MIME headers and to the
# headers of attached messages. With older Postfix versions, MIME and
# attached message headers were treated as body text.
#
# For details, see "man header_checks".
#
#header_checks = regexp:/etc/postfix/header_checks
# FAST ETRN SERVICE
#
# Postfix maintains per-destination logfiles with information about
# deferred mail, so that mail can be flushed quickly with the SMTP
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
# See the ETRN_README document for a detailed description.
# 
# The fast_flush_domains parameter controls what destinations are
# eligible for this service. By default, they are all domains that
# this server is willing to relay mail to.
# 
#fast_flush_domains = $relay_domains
# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#:CD
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP
# PARALLEL DELIVERY TO THE SAME DESTINATION
#
# How many parallel deliveries to the same user or domain? With local
# delivery, it does not make sense to do massively parallel delivery
# to the same user, because mailbox updates must happen sequentially,
# and expensive pipelines in .forward files can cause disasters when
# too many are run at the same time. With SMTP deliveries, 10
# simultaneous connections to the same domain could be sufficient to
# raise eyebrows.
# 
# Each message delivery transport has its XXX_destination_concurrency_limit
# parameter.  The default is $default_destination_concurrency_limit for
# most delivery transports. For the local delivery agent the default is 2.
#local_destination_concurrency_limit = 2
#default_destination_concurrency_limit = 20
# DEBUGGING CONTROL
#
# The debug_peer_level parameter specifies the increment in verbose
# logging level when an SMTP client or server host name or address
# matches a pattern in the debug_peer_list parameter.
#
debug_peer_level = 2
# The debug_peer_list parameter specifies an optional list of domain
# or network patterns, /file/name patterns or type:name tables. When
# an SMTP client or server host name or address matches a pattern,
# increase the verbose logging level by the amount specified in the
# debug_peer_level parameter.
#
debug_peer_list = 127.0.0.1
#debug_peer_list = some.domain
# The debugger_command specifies the external command that is executed
# when a Postfix daemon program is run with the -D option.
#
# Use "command .. & sleep 5" so that the debugger can attach before
# the process marches on. If you use an X-based debugger, be sure to
# set up your XAUTHORITY environment variable before starting Postfix.
#
debugger_command =
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
	 ddd $daemon_directory/$process_name $process_id & sleep 5
# If you can't use X, use this to capture the call stack when a
# daemon crashes. The result is in a file in the configuration
# directory, and is named after the process name and the process ID.
#
# debugger_command =
#	PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
#	echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
#	>$config_directory/$process_name.$process_id.log & sleep 5
#
# Another possibility is to run gdb under a detached screen session.
# To attach to the screen sesssion, su root and run "screen -r
# " where  uniquely matches one of the detached
# sessions (from "screen -list").
#
# debugger_command =
#	PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
#	-dmS $process_name gdb $daemon_directory/$process_name
#	$process_id & sleep 1
# INSTALL-TIME CONFIGURATION INFORMATION
#
# The following parameters are used when installing a new Postfix version.
# 
# sendmail_path: The full pathname of the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
# 
sendmail_path = /usr/sbin/sendmail.postfix
# newaliases_path: The full pathname of the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases.
#
newaliases_path = /usr/bin/newaliases.postfix
# mailq_path: The full pathname of the Postfix mailq command.  This
# is the Sendmail-compatible mail queue listing command.
# 
mailq_path = /usr/bin/mailq.postfix
# setgid_group: The group for mail submission and queue management
# commands.  This must be a group name with a numerical group ID that
# is not shared with other accounts, not even with the Postfix account.
#
setgid_group = postdrop
# html_directory: The location of the Postfix HTML documentation.
#
html_directory = no
# manpage_directory: The location of the Postfix on-line manual pages.
#
manpage_directory = /usr/share/man
# sample_directory: The location of the Postfix sample configuration files.
# This parameter is obsolete as of Postfix 2.1.
#
sample_directory = /usr/share/doc/postfix-2.6.6/samples
# readme_directory: The location of the Postfix README files.
#
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
#
#
#
virtual_mailbox_domains = mysql:$config_directory/sql/vdomains.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = mysql:$config_directory/sql/vmailbox.cf
virtual_alias_maps = mysql:$config_directory/sql/valias.cf
virtual_minimum_uid = 1113
virtual_uid_maps = static:1113
virtual_gid_maps = static:12
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
####smtpd_sasl_auth_enable = yes
smtpd_sasl_auth_enable = no
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/dovecot-auth
smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_non_fqdn_recipient,
    reject_unverified_recipient,
    reject_rbl_client cbl.abuseat.org,
maximal_queue_lifetime = 1d 
bounce_queue_lifetime = 1d 
mailbox_size_limit = 0

Створюємо користувача під яким буде працювати Postfix. Назвемо користувача vmail з ідентифікатором ID - 1113, і добавимо його до групи mail.А якщо користувач вже існує тоді просто вписуємо в вищенаведені налаштування ідентифікатор користувача.

# useradd -r -u 1113 -g mail -d /var/vmail -s /sbin/nologin -c Virtual vmail

створюємо папку vmail куди буде попадати вся перепска, і даємо їй потрібні дозволи:

# mkdir -p -v /var/vmail
# chmod 750 -R /var/vmail
# chown vmail:mail /var/vmail

Налаштовуємо доступ до бази даних MySQL

# mkdir /etc/postfix/sql
# vi /etc/postfix/sql/vdomains.cf
user = mailadm
password = mailpass
hosts = localhost
dbname = mail
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx='0' AND active='1'

Щоб зберегти і вийти з редактора vi Потрібно натиснути кнопку Esc (редактор перейде в режим команд) і тепер написати дві великих букви ZZ.

# vi /etc/postfix/sql/vmailbox.cf
user = mailadm
password = mailpass
hosts = localhost
dbname = mail
table = mailbox
select_field = CONCAT(domain,'/',maildir)
where_field = username
additional_conditions = and active = '1'
#query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s'AND active = '1'
# vi /etc/postfix/sql/valias.cf
user = mailadm
password = mailpass
hosts = localhost
dbname = mail
table = alias
select_field = goto
where_field = address
additional_conditions = and active = '1'
#query = SELECT goto FROM alias WHERE address='%s' AND active = '1'

3) Встановлюємо та налаштовуємо Dovecot

# yum install dovecot dovecot-mysql -y

Налаштовуємо dovecot як локальний транспорт і дописуємо в кінці документа /etc/postfix/master.cf наступні стрічки:

dovecot    unix    -    n    n    -    -    pipe
             flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

 Додаємо до /etc/postfix/main.cf наступні стрічки:

smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_non_fqdn_recipient,
    reject_unverified_recipient,
    reject_rbl_client cbl.abuseat.org,

 Збережемо оригінальний файл настройок /etc/dovecot/dovecot.conf

# mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig

Створюємо файл /etc/dovecot/dovecot.conf і впишемо туди наступні налаштування:

# vi /etc/dovecot/dovecot.conf
auth_debug = yes
auth_debug_passwords = yes
auth_verbose = yes
base_dir = /var/run/dovecot/
disable_plaintext_auth = no
ssl = no
first_valid_uid = 1113
last_valid_uid = 1113
log_timestamp = %Y-%m-%d %H:%M:%S
mail_debug = yes
mail_location = maildir:/var/vmail/%d/%u
passdb {
args = /etc/dovecot-sql.conf
driver = sql
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
user = postfix
group = postfix
mode = 0660
}
unix_listener auth-master {
user = vmail
group = mail
mode = 0660
}
unix_listener auth-userdb {
user = vmail
group = mail
mode = 0660
}
#user=root
}
service imap-login {
executable = /usr/libexec/dovecot/imap-login
inet_listener imap {
address = *
port = 143
}
}
service imap {
executable = /usr/libexec/dovecot/imap
}
service pop3-login {
executable = /usr/libexec/dovecot/pop3-login
inet_listener pop3 {
address = *
port = 110
}
}
service pop3 {
executable = /usr/libexec/dovecot/pop3
}
userdb {
args = /etc/dovecot-sql.conf
driver = sql
} 

Створюємо настройки для бази даних  /etc/dovecot-sql.conf

# vi /etc/dovecot-sql.conf
driver = mysql
connect = host=localhost dbname=mail user=mailadm password=mailpass
default_pass_scheme = MD5
user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n'as mail, 1113 AS uid, 12 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 1113 as userdb_uid, 12 asuserdb_gid FROM mailbox WHERE username = '%u' AND active = '1'

4) Встановлюємо PostfixAdmin

На цьому етапі ми повинні мати робочий веб сервер з підтримкою php.

# cd /var/www/html
# wget http://sourceforge.net/projects/postfixadmin/files/latest/download
# tar -xvzf postfixadmin-2.3.5.tar.gz
# mv postfixadmin-2.3.5/ postfixadmin
# cd postfixadmin
# gedit /var/www/html/postfixadmin/config.inc.php
$CONF['configured'] = true;
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'mailadm';
$CONF['database_password'] = 'mailpass';
$CONF['database_name'] = 'mail';
$CONF['emailcheck_resolve_domain']='NO';

Прописуємо все в автозагрузку:

# chkconfig --level 35 dovecot on
# chkconfig --level 35 postfix on
# chkconfig --level 35 saslauthd on

запускаємо http://127.0.0.1/postfixadmin/setup.php перевіряємо чи всюди все написано ОК, якщо якогось компонента не вистачає тоді потрібно проінсталювати його додатково. В мому випадку невистачає: IMAP functions - NOT FOUND тому я її зараз проінсталю:

# yum -y install php-imap

перезавантажуємо Веб-сервер (apache):

# service httpd restart

повторно заходимо на сторінку щоб переконатися що всі залежності працюють http://127.0.0.1/postfixadmin/setup.php. Тепер нам потрібно ввести новий пароль ля адмінстратора:

postfixpass.JPG

отримуємо стрічку яку вставляємо в файл: config.inc.php

# gedit /var/www/html/postfixadmin/config.inc.php
$CONF['setup_password'] = '**********************************************************************';

Тепер створюємо аккаунт адміністратора:

postfixpass2.JPG

Для прикладу я додав адміністратора adm@disk.pp.ua і після цього має зявитися повідомлення: Admin has been added!

Тепер нам достпна адміністративна панель: http://127.0.0.1/postfixadmin

postfixpass3.JPG

Добавляємо новий домен: Domain List -> New Domain. Добавляємо нову пошту, памятаємо що наш поштовий сервер має бути прописаний в МХ записах DNS сервера який обслуговує домен для якого ми робимо поштову скриньку.

4) Встановлюємо RoundCube Web Mail

На даному етапі ми встановимо веб інтерфейс для наших поштових скриньок, щоб не маючи поштового клієнта можна було добратися до пошти за допомогою веб сторінки.

# cd /var/www/html
# wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.8.4/roundcubemail-0.8.4.tar.gz/download
# tar -xvzf roundcubemail-0.8.4.tar.gz
# mv roundcubemail-0.8.4/ roundcube
# vi /etc/httpd/conf.d/roundcube.conf

 вписуємо наступний вміст:

Alias /webmail /var/www/html/roundcube
AddType application/x-httpd-php .php .php3 .php4 .phtml
# forcing open_base dir do not affect anything
php_admin_value open_basedir /
# AddDefaultCharset UTF-8
AddType text/x-component .htc
php_flag display_errors Off
php_flag log_errors On
php_value error_log logs/errors
php_value upload_max_filesize 5M
php_value post_max_size 6M
php_value memory_limit 64M
php_flag display_errors Off
php_flag log_errors On
php_value error_log logs/errors
php_value upload_max_filesize 5M
php_value post_max_size 6M
php_value memory_limit 64M
Order allow,deny
Deny from all
Order deny,allow
Allow from all

 створюємо базу даних

# mysqladmin -p create roundcubemail
Enter password:
# mysql -p
Enter password:
mysql> GRANT ALL ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'password';

 Тиснемо Ctrl+C (щоб вийти з бази даних)

# chown apache:apache -R /var/www/html/roundcube/temp
# chown apache:apache -R /var/www/html/roundcube/logs
# service httpd restart

Переходимо до сторінки інсталяції http://127.0.0.1/roundcube/installer/ і перевіряємо чи нема помилок, якщо є помилки то виправляємо їх. В мене виникла помилка з: date.timezone:  NOT OK (empty value detected)

щоб виправити її я відредагував файл: /var/www/html/roundcube/.htaccess

...
...
php_value date.timezone Europe/Kiev
...

 Оновлюємо сторінку  http://127.0.0.1/roundcube/installer/ і продовжуємо інсталяцію.
В настройках я нічого не змінюю і вибираю все по стандарту, вписую лише імя і пароль користувача до бази даних.

Поміщаємо згенеровані файли main.inc.php та db.inc.php в /var/www/html/roundcube/config

тиснемо далі і бачимо знов помилку, Перевіряємо атрибути папки /var/www/html/roundcube/config

postfixp4ass_20121211-165251_1.JPG

Знов рефрешимо сторінку і бачимо ще останню помилку DB Schema. Тиснемо під даною помилкою кнопку створити таблицю і начебто більше помилок немає.

Стираємо або перейменовуємо папку /var/www/html/roundcube/installer

# rm -R -f /var/www/html/roundcube/installer

 і тепер нам доступний веб інтерфейс за адресою: http://127.0.0.1/roundcube/

 /var/www/html/roundcube/config

 Відкриваємо в фаєрволі потрібні порти: 110,25,143

 Перезавантажуємо всі служби, вимикаємо Selinux, і відправляємо тестового листа. На даній стадій листи між вашими поштовими скриньками мають відсилатися без проблем. Якщо листи не відсилаються на інші поштові сервери (для прикладу gmail, meta,...) читаємо далі.

Перевіряємо чи наш поштовий сервер (ІР адреса) не знаходиться в чорних списках

Всі листи між моєю мережею відправляються і приймаються без проблем, але чомусь відправити лист на відомі поштові сервери такі як мета.юа, або гмаіл.ком, чи укр.нет не вдається. В одному листі мені повернулася помилка що моя айпі адреса знаходиться в чорному списку. Тому потрібно витерти зі всіх чорних списків айпі адресу. Для цього можна скористатися різними сервісами, перше що мені попало в пошуку це:

http://whatismyipaddress.com/blacklist-check

Вписуємо свою айпі адресу і шукаємо. Все що позначене червоним знаком оклику потрібно виправити!

Що робити якщо все налаштовано правильно а пошта далі не працює?

ви пробуєте відсилати пошту на відомі поштові сервери а у відповідь отримуєте повідомлення:

: host mx2.hotmail.com[65.55.37.72] said: 550 OU-001
(COL0-MC1-F9) Unfortunately, messages from 10.0.0.10 weren't sent.
Please contact your Internet service provider since part of their network
is on our block list. You can also refer your provider to
http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to MAIL
FROM command)

або

: host imx1.rambler.ru[81.19.66.234] said: 554 5.7.1
Client host [10.0.0.10] blocked using xbl.spamhaus.org;
http://www.spamhaus.org/query/bl?ip=10.0.0.10 (in reply to RCPT TO
command)

або

: host gmail-smtp-in.l.google.com[173.194.69.27] said:
550-5.7.1 [10.0.0.10] The IP you're using to send mail is not
authorized to 550-5.7.1 send email directly to our servers. Please use the
SMTP relay at your 550-5.7.1 service provider instead. Learn more at 550
5.7.1 http://support.google.com/mail/bin/answer.py?answer=10336
dv5si245712bkc.238 - gsmtp (in reply to end of DATA command)

або

: host mx.yandex.ru[213.180.193.89] said: 550 5.7.1 Policy 
rejection on the target address (in reply to RCPT TO command)

тоді вам потрібно видалити вашу айпі адресу з чорних списків!!! зазвичай більшість поштових серверів використовують блок списки від провайденра: http://www.spamhaus.org/query/ip/10.0.0.10

Коли пройде декілька годин (зазвичай близько 3-5 годин в окремих випадках доба) знову попробуйте відсилати пошту.

 

Як запобігти попаданню в блок списки?

Не відсилати листи для користувачів яких не існує

Не відсилати спаму

Не відсилати листи від не відомих клієнтів (зазвичай спам вірусів)

УВАГА!!! після багатьох попаданнь і розблокуваннь ваша айпі адреса буде занесена в блок-список без можливості розблокування!

  


Для глибшого ознайомлення можна полистати книжечку:

Гильдебрандт Р., Кеттер П. Postfix. Подробное руководство. – Пер. с англ. – СПб.: Символ Плюс, 2008. – 512 с., ил.

Postfix_-_podrobnoe_rukovodstvo.pdf


Читаємо продовження:

Налаштування захищеного SSL/TLS з'єднання для Postfix / Dovecot поштового сервера

Налаштувати SELinux для Postfix / Dovecot поштового сервера

 

Tagged in: domain mail MX pop3 smtp
Hits: 7308
5 1

Joomla — відкрита універсальна система керування вмістом для публікації інформації в інтернеті. Підходить для створення великих і маленьких корпоративних сайтів, інтернет порталів, онлайн-магазинів, сайтів спільнот і персональних сторінок. З особливостей Joomla можна відзначити: гнучкі інструменти з управління обліковими записами, інтерфейс для управління медіа-файлами, підтримка створення багатомовних варіантів сторінок, система управління рекламними кампаніями, адресна книга користувачів, голосування, вбудований пошук, функції категоризації посилань і обліку кліків, WYSIWYG-редактор, система шаблонів, підтримка меню, управління новинними потоками, XML-RPC API для інтеграції з іншими системами, підтримка кешування сторінок і великий набір готових доповнень .

Joomla! написана на мові PHP з використанням архітектури MVC. Для збереження інформації використовується база даних MySQL, PostgreSQL та MS SQL.

Для початку ми маємо усвідомлювати що наш хостинг на якому ми будемо це все робити підтримує всі необхідні функції, такі як PHP і бази даних одного з наступних типів  MySQL, PostgreSQL та MS SQL

1. завантажуємо версію яка нам подобається http://www.joomla.org/download.html

joomla_d.JPG

Хоча третя версія вже доступна і коректно працює, але я вибираю версію 2.5 оскільки маю на меті в майбутньому використовувати модулі які не адаптовані під третю версію. Звісно можна власноруч адаптувати потрібні компоненти з 2.5 версії на 3, але для мене поки-що це не потрібне. Зберігаємо і розпаковуємо зіп архів з інсталятором (приблизно 7.6 мегабайта).

Тепер розпаковані файли нам потрібно помістити в папку яка буде кореневою для сайту. А також для зручності даємо повні права на читання і запис для всіх папок і файлів які знаходяться в цій кореневій папці.

Відкриваємо браузер і переходимо на наш сайт http://site.ua і якщо все зроблене правильно тоді ми маємо отримати наступний результат в браузері:

b2ap3_thumbnail_joomla_i1.JPG

Вибираємо мову і тиснемо ДАЛІ

b2ap3_thumbnail_joomla_i2.JPG

Перевіряємо чи все підтримується, якщо всюди все зелене тоді тиснемо ДАЛІ, якщо щось червоним тоді виправляємо помилки і оновлюємо сторінку.

b2ap3_thumbnail_joomla_i3.JPG

Перечитуємо ліцензію і рухаємося Далі
joomla_i4.JPG

Заповнюємо настойки для під'єднання до бази даних (префікс генерується автоматично тому можна його не змінювати) і знову тиснемо ДАЛІ

joomla_i5.JPG

Налаштування FTP я пропускаю, оскільки мені воно не потрібне, але будь-які налаштування можна налаштувати в будь-який момент тому якщо в майбутньому буде в цьому потреба це все можна зробити пізніше. Переходимо ДАЛІ

joomla_i6.JPG

Заповнюємо всі поля з зірочкою. Якщо ви перший раз встановлюєте джумлу тоді раджу натиснути кнопку  Встановити демонстраційні дані, і продовжуємо ДАЛІ

joomla_i7.JPG

Видаляємо теку встановлення INSTALLATION, будь яким зручним вам способом, або за допомогою кнопки, або перейшовши в папку з файлами де знаходиться ваш сайт.

От і все, якщо все правильно тоді ви зможете зайти на свій сайт через браузер, або зайти в панель адміністратора через посилання http://ващ_сайт/administrator/

Також вас може зацікавити стаття, як закрити доступ до адміністративної частини: Закриваємо доступ до вмісту apache 

Tagged in: install joomla manual setup
Hits: 1357
0

Та сама проблема, даний компонент коментарів до джумли - Komento неукомплектований українською мовою, тому пропоную долучитися до перекладу і разом довести переклад до гарного вигляду.

Прошу залишати коментарі з пропозицією виправлення, чи доповнення

http://disk.pp.ua/language/uk-UA/uk-UA.com_komento.ini

Hits: 1837
0

Оскільки я так зрозумів що на офіційному сайті не буде нормального перекладу українською мовою для компоненту EasyBlog. Тому я взявся перекладати даний компонент власноруч. Всім хто бажає допомогти в перекладі, виправити або добавити більш детальний переклад прошу писати свої відгуки в коментарі (варіант вашого перекладу)

Завжди свіжий і найбільш точний переклад буде міститися за цим постійним посиланням:

http://disk.pp.ua/language/uk-UA/uk-UA.com_easyblog.ini

Hits: 3246
0

Для початку реєструємося на сайті: https://www.dnsexit.com/Direct.sv?cmd=signup dnsexit2.JPG

Success !! 	

 	

Congratulations!! Sign up is successful.

An email containing a link to verify your email address has been sent to ****@disk.pp.ua.
Please check your email and click on the link to verify your email address.

You can click on continue below to proceed login to your account.

 

Йдемо на пошту, і підтверджуємо свою скриньку.

Тепер ми вже можемо зайти на сайт з під свого користувача: https://www.dnsexit.com/Direct.sv?cmd=login

Далі ми можемо перенести вже існуючий домен який нам належить і зробити з нього динамічний, або зареєструвати новий домен. Я вибираю другий варіант і переходжу до сторінки реєстрації: http://www.dnsexit.com/Direct.sv?cmd=freeSub

dnsexit3.JPG

Домен успішно створений, по замовчуванню час TTL (Time to live) становить 2 хвилини, тобто наше ім'я домену яке ми зареєстрували буде жити в інтернеті дві хвилини, тобто цей час означає наскільки довго DNS сервери повинні тримати інформацію нашого доменного імені в своєму кеші.

Тепер налаштуємо клієнт для обновлення актуальної інформації про нашу айпі адресу. тут є список клієнтів які пропонують для використання: http://www.dnsexit.com/Direct.sv?cmd=userIpClients

Для Centos 6.3 є готові демони, але нижче бачимо можливість написати власноруч скрипт для обновлення IP адреси. Оскільки ми легкими шляхами не йдемо то пишемо скрипт самостійно для обновлення айпі за допомогою такого посилання 

http://www.dnsexit.com/RemoteUpdate.sv?login=yourlogin&password=yourpassword&host=yourhost.yourdomain.com&myip=xxx.xx.xx.xxx

назву я свій скрипт: 

sanya-ip-dnsexit.sh

#!/bin/bash
### 
### Script for Dynamic DNS 
### update IP address for http://www.dnsexit.com using ppp0 conection
### [root@localhost ~]# sh /sys_sanya/sanya-ip-dnsexit.sh
### Copyright 2012 Sanya Snex ( http://disk.pp.ua )
### 
### Default settings, may be changed
LOGFILE="/var/log/dnsexit-update.log"
### Start of script
ADRESS="------CHANGE-----"
PASS="------CHANGE-----"
LOGIN="------CHANGE-----"
OS=`uname`
case $OS in
   Linux) IP=`ifconfig ppp0  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`;;
   FreeBSD|OpenBSD) IP=`ifconfig  | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'` ;;
   SunOS) IP=`ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{ print $2} '` ;;
   *) IP="Unknown";;
esac
echo "$IP"
(
   wget -q --delete-after "http://www.dnsexit.com/RemoteUpdate.sv?login=$LOGIN&password=$PASS&host=$ADRESS&myip=$IP"
echo "$(date) Running $0 update IP address: $IP for domain: $ADRESS"
) >>$LOGFILE 2>&1

Відредагуйте 11,12 і 13 стрічку відносно свого домена і збережемо. Перевіряємо чи айпі адреса коректно оновлюється http://www.dnsexit.com/Direct.sv?cmd=verifyDNS

Оскільки я для під'єднання до інтернету використовую з'єднання ppp0 за допомогою утиліти rp-pppoe, тому я буду виконувати даний скрипт  sanya-ip-dnsexit.sh при кожному під'єднанні пристрою ppp0. 

Для цього відредагуємо файл: /etc/ppp/ip-up і перед стрічкою exit 0 допишемо команду на виконання нашого скрипту:

sh /sys_sanya/sanya-ip-dnsexit.sh
exit 0

 Наразі ніби все. Доменне ім'я створено і коректно оновлюється при кожному переконекті з інтернетом. 

 

Hits: 1244
5 1

 В наш час багато інтернет провайдерів не надають статичної ай-пі адреси, і для того щоб найти свій комп'ютер серед інших комп'ютерів в інтернеті ми не можемо використати ІР адресу оскільки вона завжди буде змінюватися. Тому скористаємося безкоштовним сервісом динамічного DNS сервера за допомогою сайту freedns.afraid.org

Для початку реєструємося на сайті: http://freedns.afraid.org/signup/ пам'ятаємо що потрібно ввести стабільну електронну пошту, бо це єдина можливість для відновлення втраченого паролю

b2ap3_thumbnail_dns.jpg

У відповідь ми отримаємо листа:

Your signup to FreeDNS.afraid.org has been received.

To enable/activate your account into an operational status, you
must visit this activation URL:

 -> http://freedns.afraid.org/signup/activate.php?RFWK31U1UARFGuLEAHJKAN

+----------------------------------+
 Your signup credentials are:
+----------------------------------+
 Name: ххххххххх ххххххххххх
 Username: ххххххххххх
 Signup IP: хххххххххх
 Signup Date: 2012-12-26 02:07:04
+----------------------------------+

Please take a moment to understand what FreeDNS enables you to
do, in hopes this will answer your initial questions ...:

All free accounts come with:
 - Unlimited DNS query traffic
 - 5 free subdomains from domains in the shared system
 - 20 free subdomains per domain of your own

FreeDNS lets you:
 - Instant update access, all changes to your domains/subdomains
   go live immediately.
 - Create free subdomains out of the shared domain base.
 - Host/manage your own domain's DNS without cost.
 - Redirect your hostname(s) to any URL on the internet.
 - Support for CNAME, A, AAAA, MX, NS, TXT, LOC, RP, HINFO, SRV records.
 - Support for Round Robin DNS.
 - Support for IPv6 Reverse DNS.
 - Support for Dynamic DNS / free Dynamic DNS clients available
   to ensure your IP is always up-to-date.
 - Great way to learn about DNS for novices.

If thats still not enough, accounts may be instantly upgraded to
also include:

 - Wildcard DNS ability, *.anything.domain.com flows to you.
 - Control TTL expire/cache on your DNS records (advanced).
 - 10 additional subdomains per dollar, per month ($5 = 50
   subdomains (Bargain! Perfect for shell companies)).
 - Knowledge that your supporting one of the most stable DNS
   services on the Internet who truly desires your utmost
   satisfaction.

I would love an opportunity to earn your business.  If you have
any domain needs beyond what is covered on the website, then
please do not hesitate to reply to this email.

Welcome to FreeDNS.afraid.org!

-Josh

--
Joshua Anderson
Senior Admin @ FreeDNS.afraid.org
Now servicing 1,223,205 members and 97,638 domains.
Currently processing 2,836 DNS queries per second.

The highest compliment we could receive would be a premium membership.

 

Підтверджуємо реєстрацію і переходимо по ссилці яка була в листі. Тиснемо Add a subdomain 

b2ap3_thumbnail_freedns.afraid.org.JPG

Тепер налаштуємо Динамічне обновлення ІР адреси для нашого субдомена dom12.chikenkiller.com

Заходимо на сторінку http://freedns.afraid.org/scripts/freedns.clients.php і шукаємо клієнт який нам найбільше сподобається по стабільності і функціональності. 

свою думку я зупинив на update.sh

#!/bin/sh
#FreeDNS updater script

UPDATEURL="http://freedns.afraid.org/dynamic/update.php?_YOURAPIKEYHERE_"
DOMAIN="_YOURDOMAINHERE_"

registered=$(nslookup $DOMAIN|tail -n2|grep A|sed s/[^0-9.]//g)

  current=$(wget -q -O - http://checkip.dyndns.org|sed s/[^0-9.]//g)
       [ "$current" != "$registered" ] && {                           
          wget -q -O /dev/null $UPDATEURL 
          echo "DNS updated on:"; date
  }

 

Тепер нам потрібно знайти своє API і вставити його в скрипт замість _YOURAPIKEYHERE_ . Скористаємося наступною адресою http://freedns.afraid.org/api/ 

 _YOURDOMAINHERE_  це буде наш  субдомен dom12.chikenkiller.com 

в результаті ми створюємо скрипт  update.sh в  якому вже буде міститися інформація про наш динамічний домен. Наступний крок полягає в тому що нам потрібно виконувати скрипт при зміні айпі адреси. Одним з методів це може бути виконання скрипту за допомогою Запланованих завдань за допомогою cron і оновляти запис A в DNS сервері який знаходиться на freedns.afraid.org. Але оскільки на даний час я використовую для з'єднання з інтернетом підключення типу PPPoE тому більш раціональніше змінювати  запис A в DNS сервері який знаходиться на freedns.afraid.org лише при під'єднанні  PPPoE з'єднання. Для того щоб мережевий протокол передачі кадрів PPP через Ethernet (Point-to-point protocol over Ethernet) працював я використовую утиліту rp-pppoe. Заходимо в розташування налаштуваннь утиліти rp-pppoe: /etc/ppp/ip-up і перед стрічкою 

exit 0

дописуємо шлях на виконання нашого скрипту update.sh

sh /etc/ppp/update.sh
exit 0

От і все, тепер при кожному переконекті  PPPoE  зєднання IP адреса домена  dom12.chikenkiller.com буде змінюватися автоматично

Проблема: при використанні безкоштовного акаунту неможна вказати TTL (по замовченню стоїть 1 година) для запису А в доменному імені  dom12.chikenkiller.com, тому попередня айпі адреса деякий час може і далі триматися в кешах інших DNS серверів.

Hits: 1132
5 1

Покищо самий нормальний і безкоштовний це Slogin:

http://joomline.ru/download/cat_view/41-download/66-slogin.html

Уважно читаємо налаштування!

 

Hits: 493
0

CentOS (Community ENTerprise Operating System) - це безкоштовна операційна система яка зроблена на базі комерційної операційної сисеми Red Hat Linux. Основне завдання даної системи це побудова стабільного сервера.

У світі понад 30% веб серверів побудовані на CentOS. Проект не пов'язаний з Red Hat таким чином, не отримує жодної фінансової чи матеріально-технічної підтримки від компанії, замість цього, проект CentOS покладається на пожертви від користувачів і cпонсорів.

Завантажити дану операційну систему монжа з офіційного сайту за адресою: http://www.centos.org/modules/tinycontent/index.php?id=30

Найпростіший спосіб установки це за допомогою компакт диска, але також доступні і інші методи установки.

Tagged in: CentOS
Hits: 558
0

     Оскільки Xmap генерує карту сайту динамічно при кожному зверненні до сайту, тому такого файлу як sitemap.xml немає. Але за допомогою файлу .htaccess ми пропишемо потрібні нам шляхи до цього файлу.

 

Hits: 1100
5 1

Transmission BitTorrent Client

В даному прикладі ми встановлюємо Transmission 2.73 на CentOS 6.3

Для початку нам потрбіно встановити завантажити останню версію торент клієнта Transmissioт. Для цього заходимо на сайт розробника http://download-origin.transmissionbt.com/files/ і дивимося яка версія сама "свіжа". В мому випадку це Transmission 2.73.

Завантажуємо і розпаковуємо актуальну версію:

$ wget http://download-origin.transmissionbt.com/files/transmission-2.73.tar.bz2

Розпаковуємо:

$ tar xjvf transmission-2.73.tar.bz2

Переходимо до папки:

# cd transmission-2.73

Попробуємо зробити інсталятор:

# ./configure

Дивимося на звіт який нам висвітив термінал і встановлюємо компоненти яких не вистачає. В мому випадку невистачає libevent у вас може невистачати інших файлів. Тому я встановлюю libevent. Для цього я заходжу на сайт http://libevent.org/ і завантажую актуальну версію.

# wget https://github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz

# tar xvf libevent-2.0.20-stable.tar.gz

# cd libevent-2.0.20-stable

# ./configure --prefix=/usr/local

# make && make install

# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig


Інсталяція libevent-2.0.20-stable пройшла без проблем, тепер назад повертаємося до встановлення transmission-2.73

# cd /root/transmission-2.73

# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

# ./configure

# make && make install


Настройка Веб-інтерфейсу для httpd, файл /etc/httpd/conf/httpd.conf (Не обовязковий крок)

 

Alias /transmission/web /usr/share/transmission/web
RewriteEngine on
RewriteRule /transmission[/]?$ /transmission/web [R=permanent]
ProxyPass /transmission http://127.0.0.1:9091/transmission
ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
<Location /transmission>
  Options None
  Order allow,deny
  Allow from 127.0.0.1
  <IfModule expires_module>
    ExpiresActive On
    ExpiresByType image/gif A43200
    ExpiresByType image/png A43200
    ExpiresByType application/javascript A43200
    ExpiresByType text/css A43200
  </IfModule>
</Location>

Перезапуск httpd:

# service httpd restart

Настройка параметрів запуску, файл /etc/sysconfig/transmission-daemon:

 

TRANSMISSION_HOME="/var/lib/transmission"                                                                                                            
DAEMON_USER="root"                                                                                                                                  
DAEMON_ARGS="--no-auth --allowed 127.0.0.1,192.168.0.111 --config-dir $TRANSMISSION_HOME/.config/transmission-daemon"

Добавляємо в автозагрузку:

# chkconfig transmission-daemon on

Запуск

# service transmission-daemon start

Якщо все зроблено правельно тоді демон повинен працювати.

Налаштування

Тепер потрібно налаштувати демон. Основні настройки будуть доступні через веб інтерфейс: http://127.0.0.1:9091/transmission/web/

Незабуваємо відкрити вхідні порти в фаєрволі!

Також окрім оригінального веб-інтерфейсу доступні інші панелі крос-платформенні панелі керування. Найбільш поширена і досить функціональна знаходиться тут: http://code.google.com/p/transmisson-remote-gui/

Часті питаня:

П. Чи можна окремий торент завантажувати в окрему папку?

В. Так. Ця функція доступна в transmisson-remote-gui

 

 

 

Hits: 1157
5 1

Для кращої інтерпретації програмних кодів та іншої текстової інформації дуже зручно використовувати текстові редактори з підсвіткою синтаксису. Такі редактори дозволяють перевіряти код на помилки або візуально відокремити одні теги від інших. Тому на нашому сайті  http://disk.pp.ua  дозволено використовувати підсвічування коду за допомогою різних пензлів і шаблонів.

Hits: 1242
5 2

Posted by on in joomla

 

Оскільки компонент коментарів Komento є безкоштовним і ми непорушуємо жодних ліцензій якщо витремо зворотню ссилку до розробника. Тому шукаємо файл

/сomponents/com_komento/helpers/helper.php

Тепер шукаємо наступну стрічку:

 

$html .= '<div style="text-align: center; padding: 20px 0;"><a href="http://stackideas.com">' . JText::_( 'COM_KOMENTO_POWERED_BY_KOMENTO' ) . '</a></div>';

і заміними її такою стрічкою:

 

$html .= '';

Зберігаємо і все працює! Для зручності пошуку тексту в файлах було використано програму DREAMVIEWER CS6. Пошук здійснювався в середині всіх файлів які містилися на сайті.

 

 
Hits: 29240
5 1