LINUX.ORG.RU
ФорумTalks

Влезло в 256 мегабайтов

 ,


2

3

Наконец-то довёл до логического завершения настройку VPS-а. 256 мегабайтов памяти, 25 ГБ диска. На всё это установился Debian 10 обычным инсталлятором (привет, центось, которая без гигабайта памяти даже инсталлятор не запускает). Поставил туда apache2, unbound, strongswan (ipsec), postfix, dovecot, spamassassin, opendkim. Всё прекрасно работает. Спамассассин вообще поразил моё воображение. За несколько месяцев 1 спам-письмо пролезло, ложных срабатываний вообще 0. Я думал, будет намного хуже.

vbezhenar@nether:~$ free
              total        used        free      shared  buff/cache   available
Mem:         236980      146160        7480        2288       83340       80556
Swap:        822268       95744      726524

В общем имейте в виду, 256 МБ хватает с головой.

Если кому интересны нюансы настройки, спрашивайте, конфигами поделюсь. Хотя ничего особенного, всё по манам и туториалам настраивал. Сложней всего оказалось подружить postfix и dovecot, чтобы авторизация была в одном месте.

PS письма в gmail уходят нормально, в спам не падают. Это ещё один момент, который меня сильно поразил. Правда на чужих аккаунтах не тестировал, только на своём.

★★★★★

Последнее исправление: Legioner (всего исправлений: 2)

привет, центось, которая без гигабайта памяти даже инсталлятор не запускает

VPS с готовыми образами

я ничё не понял

eR ★★★★★
()
Ответ на: комментарий от Meyer

Без. У меня там один аккаунт, зачем ему MySQL.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от leave

Обновлять сертификаты с letsencrypt-ом, также там WebDAV-сервер, куда я синхронизирую пароли с KeePass. Ну и может когда-нибудь блог заведу, если будет что писать, хотя это маловероятно.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от eR

Пробовал? У меня не работало, тупо kernel panic, вроде как этот самый initrd просто в память не помещался. По крайней мере в 7-й версии, 8 ещё не щупал.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

в 6-ой ставил так давным давно, 7 и 8 хз, мож 8 можно.

eR ★★★★★
()

256мб? это какая-то бесплатная VPS? помойму сейчас все бюджетные тарифы VDS/KVM за 200 рублей начинаются от 1гб...

Spoofing ★★★★★
()
Ответ на: комментарий от Spoofing

Нет, обходится примерно в 1 евро в месяц при годовой оплате. Но этого тарифа уже нет, поэтому рекламировать не буду. Дешевле в Нидерландах не нашёл. Но вообще встречаются такие тарифы у некоторых хостеров, поэтому ты зря так думаешь, что все тарифы начинаются от 1 GB. Вот казахстанский хостинг например: https://www.ps.kz/hosting/vps за 2000 тенге 256 МБ (пускай попозорятся на лоре).

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от leave

nginx не умеет нормально WebDAV, а апач из коробки умеет, для меня это решающий момент. А так да, согласен, nginx вроде как круче по всем параметрам.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

я хз чего он там не умеет, но у нас в продакшене вебдав на нжинксе живет уже 6 лет, через самый нагруженный инстанс льется в пике 340Мбит/с трафика

location / {
                expires max;
                root /home/dav_user/htdocs;
                client_max_body_size 20m;
                dav_methods PUT DELETE MKCOL COPY MOVE;
                dav_ext_methods PROPFIND OPTIONS;
                create_full_put_path on;
                dav_access user:rw group:r all:r;
                limit_except GET PUT DELETE MKCOL COPY MOVE PROPFIND OPTIONS {
                        allow 10.0.0.0/8;
                        deny   all;
                }
        }
leave ★★★★★
()

Я на 96 метрах, крутил сайт с форумом (apache2, php, mysql + phpbb), почтовик с imap, spamassasin, clamav, vpn аля pptp и еще и проксю на 100 рыл с правилами фильтрации:))) Правда все это было во времена ядра 2.6 и на RH 7.3 :)))

vasya_pupkin ★★★★★
()
Ответ на: комментарий от leave

льется в пике 340Мбит/с трафика

client_max_body_size 20m;

у нас в продакшене

340Мбит/с

20m;

продакшене

client_max_body_size

20m;

продакшен

Spoofing ★★★★★
()

Спамассассин вообще поразил моё воображение.

Хм, странно. Вроде как на 256Mb он будет падать от нехватки памяти и народ активно советуют rspamd.

Deleted
()
Ответ на: комментарий от Spoofing

Что тебя смущает, о властелин подкроватного хостинга? Файлы размером больше 20Мб на этом вебдаве не хранятся, да и эта цифра взята с большим запасом. Типичный размер около 500кб.

leave ★★★★★
()
Ответ на: комментарий от Deleted

Ну я свопа на всякий случай дал побольше, вроде в логах ничего про падения нет.

Feb 11 11:59:07 nether spamd[32414]: spamd: identified spam (23.7/5.0) for debian-spamd:106 in 1.8 seconds, 10224 bytes.
Feb 11 11:59:07 nether spamd[32414]: spamd: result: Y 23 - HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,MIME_BASE64_TEXT,MIME_HTML_ONLY,NORDNS_LOW_CONTRAST,RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_MSPIKE_BL,RCVD_IN_MSPIKE_L5,RCVD_IN_PBL,RCVD_IN_PSBL,RCVD_IN_RP_RNBL,RCVD_IN_SBL_CSS,RCVD_IN_XBL,RDNS_NONE,SPF_HELO_NONE,URIBL_ABUSE_SURBL,URIBL_BLACK,URIBL_DBL_SPAM,URIBL_SBL,URIBL_SBL_A scantime=1.8,size=10224,user=debian-spamd,uid=106,required_score=5.0,rhost=::1,raddr=::1,rport=60540,mid=<F4221AE3.5D878464@cerentini.com.br>,autolearn=spam autolearn_force=no
Feb 11 11:59:07 nether spamd[32413]: prefork: child states: II
Feb 11 12:43:10 nether spamd[32414]: spamd: connection from ::1 [::1]:60550 to port 783, fd 5
Feb 11 12:43:10 nether spamd[32414]: spamd: processing message <43C6EEE3.93D1F1FE@toleafoa.com> for debian-spamd:106
Feb 11 12:43:11 nether spamd[32414]: spamd: identified spam (32.1/5.0) for debian-spamd:106 in 0.5 seconds, 1791 bytes.
Feb 11 12:43:11 nether spamd[32414]: spamd: result: Y 32 - DRUGS_ERECTILE,HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MALF_HTML_B64,MIME_BASE64_TEXT,MIME_HTML_ONLY,ONLINE_PHARMACY,RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_MSPIKE_BL,RCVD_IN_MSPIKE_L5,RCVD_IN_PBL,RCVD_IN_PSBL,RCVD_IN_RP_RNBL,RCVD_IN_SBL_CSS,RCVD_IN_SORBS_WEB,RCVD_IN_XBL,RDNS_NONE,SPF_HELO_FAIL,SUBJECT_DRUG_GAP_L,TVD_VISIT_PHARMA,URIBL_ABUSE_SURBL,URIBL_BLACK,URIBL_DBL_SPAM,URIBL_SBL,URIBL_SBL_A scantime=0.5,size=1791,user=debian-spamd,uid=106,required_score=5.0,rhost=::1,raddr=::1,rport=60550,mid=<43C6EEE3.93D1F1FE@toleafoa.com>,autolearn=spam autolearn_force=no
Feb 11 12:43:11 nether spamd[32413]: prefork: child states: II
Feb 11 13:01:23 nether spamd[32414]: spamd: connection from ::1 [::1]:60552 to port 783, fd 5
Feb 11 13:01:23 nether spamd[32414]: spamd: processing message <QzvFJ-dUR1SIR00HJKMf0Q@ismtpd0018p1iad2.sendgrid.net> for debian-spamd:106
Feb 11 13:01:25 nether spamd[32414]: spamd: clean message (0.0/5.0) for debian-spamd:106 in 1.7 seconds, 25492 bytes.
Feb 11 13:01:25 nether spamd[32414]: spamd: result: . 0 - DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE,HTTPS_HTTP_MISMATCH,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE scantime=1.7,size=25492,user=debian-spamd,uid=106,required_score=5.0,rhost=::1,raddr=::1,rport=60552,mid=<QzvFJ-dUR1SIR00HJKMf0Q@ismtpd0018p1iad2.sendgrid.net>,autolearn=ham autolearn_force=no
Feb 11 13:01:25 nether spamd[32413]: prefork: child states: II
Feb 11 13:07:18 nether spamd[32414]: spamd: connection from ::1 [::1]:60554 to port 783, fd 5
Feb 11 13:07:18 nether spamd[32414]: spamd: processing message <8fd4ebb0-1c10-41bb-81cd-b743993fcf67@ind1s06mta1480.xt.local> for debian-spamd:106
Feb 11 13:07:19 nether spamd[32414]: spamd: clean message (-7.6/5.0) for debian-spamd:106 in 1.1 seconds, 110953 bytes.
Feb 11 13:07:19 nether spamd[32414]: spamd: result: . -7 - DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,USER_IN_DEF_DKIM_WL scantime=1.1,size=110953,user=debian-spamd,uid=106,required_score=5.0,rhost=::1,raddr=::1,rport=60554,mid=<8fd4ebb0-1c10-41bb-81cd-b743993fcf67@ind1s06mta1480.xt.local>,autolearn=ham autolearn_force=no
Feb 11 13:07:19 nether spamd[32413]: prefork: child states: II

обрабатывает достаточно быстро, в Junk спам копится.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от turtle_bazon

Не знаю, я почитал про него, ему там redis нужен, вроде это что-то хипстерское, не доверяю я такому, непонятно, как оно на малых объёмах памяти будет работать. А спамассассин это старинное, проверенное. Я хотел его попробовать, если спамассассин не будет удовлетворительно фильтровать спам, но по факту пока нужды нет.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

непонятно, как оно на малых объёмах памяти будет работать

Оно настраивается. Норм работает. rspamd он и побыстрее. Как раз для таких систем норм, мне кажется.

turtle_bazon ★★★★★
()

Спамассассин вообще поразил моё воображение. За несколько месяцев 1 спам-письмо пролезло, ложных срабатываний вообще 0. Я думал, будет намного хуже.

У тебя какой-то неправильный спамассасин. Мне пролезает чуть более чем дохрена (минимум четверть), хотя и мыло много где светилось.

dimgel ★★★★★
()
Ответ на: комментарий от dimgel

Мне пролезает чуть более чем дохрена (минимум четверть), хотя и мыло много где светилось.

Обучать пробовали?

Serge10 ★★★★★
()
Ответ на: комментарий от Serge10

Как? Вот не знаю, как из thunderbird назад к spamd фидбэк давать. А заодно и ко всяким там gmail.com и mail.ru. Кто б научил.

dimgel ★★★★★
()
Ответ на: комментарий от dimgel

Опишу, как я сделал. В Thunderbird перемещаешь письмо в папку Junk, на сервере вызывается spamc (работает и в обратную сторону).

/etc/dovecot/conf.d/90-sieve.conf
...
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
  sieve_plugins = sieve_imapsieve sieve_extprogram
...

/etc/dovecot/conf.d/90-sieve-extprograms.conf
...
  sieve_pipe_bin_dir = /usr/lib/dovecot/sieve
...

/etc/dovecot/conf.d/91-imapsieve-spam.conf
plugin {
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_before = file:/usr/lib/dovecot/sieve/report-spam.sieve

  imapsieve_mailbox2_name = *
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve
}

/usr/lib/dovecot/sieve/report-ham.sieve
require ["vnd.dovecot.pipe", "copy"];
pipe :copy "report-ham.sh";

/usr/lib/dovecot/sieve/report-ham.sh
#!/bin/sh
exec /usr/bin/spamc --learntype=ham --username=debian-spamd

/usr/lib/dovecot/sieve/report-spam.sieve
require ["vnd.dovecot.pipe", "copy"];
pipe :copy "report-spam.sh";


/usr/lib/dovecot/sieve/report-spam.sh
#!/bin/sh
exec /usr/bin/spamc --learntype=spam --username=debian-spamd

# sievec /usr/lib/dovecot/sieve/report-ham.sieve
# sievec /usr/lib/dovecot/sieve/report-spam.sieve

Там ещё заморочка с этим юзером. Как я понимаю, все правила для каждого юзера отдельно считаются. Я через –username=debian-spamd делаю так, чтобы все правила через этого юзера проходили. Соответственно в postfix надо тоже spamc от этого юзера запускать и в spamd разрешить чего-то:

/etc/default/spamassassin
OPTIONS="--allow-tell --create-prefs --max-children 5 --helper-home-dir --username debian-spamd"
Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 3)
Ответ на: комментарий от dimgel

Как? Вот не знаю, как из thunderbird назад к spamd фидбэк давать.

Заводите отдельную imap-папку для спама на сервере. Тем же thunderbird перемещаете туда спам. Далее выполняете на сервере команду от имени владельца почты:

sa-learn --spam --mbox ~/mail/spam

где --mbox указывает на формат папки со спамом (если у Вас другой формат, замените), а далее идет путь к самой папке.

Ну а после того, как в почтовом ящике спама не осталось, стоит выполнить обратное обучение:

sa-learn --ham --mbox ~/mail/inbox

В принципе, удобно эти команды добавить в крон и вызывать первую ежедневно по ночам (когда нагрузка минимальна), а вторую ежемесячно.

Serge10 ★★★★★
()
Ответ на: комментарий от atrus

В принципе можно и MySQL утрамбовать.

Тогда колбаса была вкуснее. Сейчас на amd64 мегабайт 100-150 он возьмёт.
В зависимости от базы, конечно.

Будет полоскать байты в свопе безвылазно.

aidaho ★★★★★
()
Ответ на: комментарий от vasya_pupkin

Я на 96 метрах, крутил сайт с форумом (apache2, php, mysql + phpbb), почтовик с imap, spamassasin, clamav, vpn аля pptp и еще и проксю на 100 рыл с правилами фильтрации:))) Правда все это было во времена ядра 2.6 и на RH 7.3 :)))

Только если в параллельной вселенной. В RH 7.3 были ядро 2.4 и Apache 1.3.

OSBuster
()
Ответ на: комментарий от xdimquax

А зачем тебе Нидерланды?

Насколько я знаю, одна из самых адекватных стран в Европе в плане законов. Торренты я без VPN качаю, но в теории могу и через него.

Кстати, вот 5 евро в год.

OpenVZ, IPv4 за NAT. Для меня не подойдёт.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)

Если кому интересны нюансы настройки, спрашивайте, конфигами поделюсь.

Поделись, пожалуйста.

hopheynananey
()
Ответ на: комментарий от OSBuster

Только если в параллельной вселенной. В RH 7.3 были ядро 2.4 и Apache 1.3.

А ты прав...Запамятовал я уже на старости лет...

vasya_pupkin ★★★★★
()
Ответ на: комментарий от vasya_pupkin

Перепутал с 6 веткой, когда с 2.2 переходили на 2.4....

vasya_pupkin ★★★★★
()
15 сентября 2020 г.

Полгода спустя таки дошли руки сгенерить HTML-ку по всему конфигу, на всякий случай оставлю ссылку, вдруг кому понадобится. https://vbezhenar.com/host-configuration.html

Legioner ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.