«Golang или Go» и «Exim4»: разница между страницами

Материал из support.qbpro.ru
(Различия между страницами)
imported>Vix
(Новая страница: «'''Как установить GoLang (язык программирования Go) в Linux''' '''Go''' (также называемый '''GoLang''') — эт…»)
 
imported>Vix
Нет описания правки
 
Строка 1: Строка 1:
'''Как установить GoLang (язык программирования Go) в Linux'''
'''Установка и настройка'''
'''Go''' (также называемый '''GoLang''') — это язык программирования с открытым исходным кодом который позволяет пользователям легко писать простые, надежные и высокоэффективные компьютерные программы.


Разработанный в 2007 году в '''Google''' командой программистов — '''Робертом Гриземером''', '''Робом Пайком''' и '''Кеном''' '''Томпсоном''', это статически типизированный язык, такой же, как и другие системные языки, такие как '''C''', '''C++''', '''Java''' и многие другие.
Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt:
apt-get update


'''GoLang''' является высокопроизводительным языком с поддержкой сетевой и многопроцессорной обработки, а также масштабируемым в обширных системах. Ниже приведен список нескольких хорошо известных проектов с открытым исходным кодом, разработанных с использованием '''GoLang''':
Для установки выполните команду:
apt-get install exim4


    '''Docker'''
Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy:
    '''Kubernetes'''
apt-get install exim4-daemon-heavy
    '''Lime'''
    '''InfluxDB'''
    '''Gogs (Go Git Service)''' и другие.


==Установка GoLang в Linux-системах==
Чтобы перейти к настройке, выполните команду:
dpkg-reconfigure exim4-config


1. Перейдите на страницу https://golang.org/dl/ и загрузите последнюю версию (т.е. 1.7.3) GoLang следующим образом:
Нажмите Ok для начала настройки.
 
'''РЕШЕНИЕ ПРОБЛЕМ'''
$ cd ~/Downloads
<hr>
$ wget -c https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
* '''defer (-53): retry time not reached for any host'''
 
Повреждены ваши exim db Это возможно связанно с недоступостью почтового сервера какой-то время.
 
2. Затем проверьте целостность архива, проверив контрольную сумму SHA256 архивного файла, используя команду shasum, как показано ниже, где флаг -a используется для указания алгоритма, который будет использоваться:
 
$ shasum -a 256 go1.7.3.linux-amd64.tar.gz
ead40e884ad4d6512bcf7b3c7420dd7fa4a96140 go1.7.3.linux-amd64.tar.gz
 
'''Важно:''' чтобы показать, что содержимое загруженного архивного файла является точной копией, предоставленной на веб-сайте '''GoLang''', используется '''256-битное''' хеш значение, генерируемое из вышеприведенной команды. Результат выполнения команды, должен быть таким же, как и значение полученное вместе с ссылкой для загрузки.
 
Если это так, переходите к следующему шагу, иначе загрузите по новому архив и запустите проверку еще раз.
 
3. Теперь извлеките файлы из архива в каталог /usr/local, используя приведенную ниже команду.
 
$ sudo tar -C /usr/local -xvzf go1.7.3.linux-amd64.tar.gz
 
Где, '''-C''' указывает каталог назначения.
 
==Настройка среды '''GoLang''' в '''Linux'''==
 
4. Сначала настройте рабочее пространство Go, создав каталог ~/go_projects, который является корнем вашего рабочего пространства. Рабочее пространство состоит из трех каталогов, а именно:
 
    bin, который будет содержать исполняемые двоичные файлы Go;
    src, который сохранит ваши исходные файлы;
    pkg, который будет хранить объекты пакета.
 
Теперь создайте указанное выше дерево каталогов следующим образом:
 
$ mkdir -p ~/go_projects/{bin,src,pkg}
$ cd ~/go_projects
$ ls
 
5. Вот и пришло время запустить Go, как и остальные Linux-программы, его каталог установки должен быть сохранен как одно из значений переменной среды PATH.
 
Теперь добавьте /usr/local/go/bin в переменную среды PATH, вставив строку приведенную ниже в файл /etc/profile для общесистемной установки или $HOME/.profile или $HOME./Bash_profile для пользовательской установки:
 
Используя ваш любимый редактор, откройте соответствующий файл профиля пользователя в соответствии с вашим дистрибутивом и добавьте строку приведенную ниже, сохраните файл и выйдите из него:
 
export PATH=$PATH:/usr/local/go/bin
 
6. Затем установите значения переменных среды GOPATH и GOBIN в файле профиля пользователя (~/.profile или ~/bash_profile), чтобы указать на ваш каталог рабочей области.


export GOPATH="$HOME/go_projects"
'''решение:'''
export GOBIN="$GOPATH/bin"


Примечание. Если вы установили GoLang в пользовательский каталог, отличный от значения по умолчанию (/usr/local/), вы должны указать этот каталог как значение переменной GOROOT.
cd /var/spool/exim/db
rm -f retry retry.lockfile
rm -f wait-remote_smtp wait-remote_smtp.lockfile
service exim restart


Например, если вы установили GoLang в домашний каталог, добавьте строки приведенные ниже в файл $HOME/.profile или  $HOME/.bash_profile.
В дальнейшим имеет смысл: внести изменения в /etc/exim/exim.conf
в раздел


  export GOROOT=$HOME/go
  begin retry
  export PATH=$PATH:$GOROOT/bin
  *                      rcpt_451    F,1h,15m
*                      refused    F,1h,2m
*                      timeout_connect    F,2h,2m; F,6h,1h; F,4d,6h
*                      *          F,2h,2m; G,16h,1h,1.5; F,4d,6h


7. Последним шагом в этом разделе является внесение изменений в профиль пользователя в текущем сеансе bash следующим образом:
также обратите внимание на запуск с какой опцией он стартует: -q5m
* [https://www.linuxshop.ru/forum/f7/t31431--resheno-remote-smtp-defer-53-retry-time-not-reached-for-any-host-exchange-exim.html взято тут]


  $ source ~/.bash_profile
* Для решения проблемы с ssl в exim4.conf.template изменить:
  ...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = *


ИЛИ
на
...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !*


  $ source ~/.profile
* Если нужно жестко указать порт smtp, то:
  ...
dc_smarthost='mail.myhost.ru::25'
...


ИСТОЧНИКИК:
'''ИСТОЧНИКИ:'''
<hr>
<hr>
* [http://blog.sedicomm.com/2018/01/21/kak-ustanovit-golang-yazyk-programmirovaniya-go-v-linux/ Как установить GoLang (язык программирования Go) в Linux]
* [https://qna.habr.com/q/146009 Exim и внешний SMTP сервер, как заставить ходить почту?]
* [https://1cloud.ru/help/linux/nastrojka-exim4 Настройка EXIM4 для отправки почтовых сообщений в Linux]
* [https://serverspace.by/support/help/nastroika-exim-4-na-ubuntu/ Ubuntu. Настройка Exim4]

Версия от 19:39, 20 июля 2022

Установка и настройка

Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt:

apt-get update

Для установки выполните команду:

apt-get install exim4

Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy:

apt-get install exim4-daemon-heavy

Чтобы перейти к настройке, выполните команду:

dpkg-reconfigure exim4-config

Нажмите Ok для начала настройки. РЕШЕНИЕ ПРОБЛЕМ


  • defer (-53): retry time not reached for any host

Повреждены ваши exim db Это возможно связанно с недоступостью почтового сервера какой-то время.

решение:

cd /var/spool/exim/db
rm -f retry retry.lockfile
rm -f wait-remote_smtp wait-remote_smtp.lockfile
service exim restart

В дальнейшим имеет смысл: внести изменения в /etc/exim/exim.conf в раздел

begin retry
*                      rcpt_451    F,1h,15m
*                      refused     F,1h,2m
*                      timeout_connect    F,2h,2m; F,6h,1h; F,4d,6h
*                      *           F,2h,2m; G,16h,1h,1.5; F,4d,6h

также обратите внимание на запуск с какой опцией он стартует: -q5m

  • Для решения проблемы с ssl в exim4.conf.template изменить:
...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = *

на

...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !*
  • Если нужно жестко указать порт smtp, то:
...
dc_smarthost='mail.myhost.ru::25'
...

ИСТОЧНИКИ: