Linux

’рубрика’

Поиск в терминале по дате изменения и типу файла

Март 12, 2015

Tags: , ,
Записано в Linux, Ubuntu    |    Постоянная ссылка

Поиск grep с учетом расширения файла

Декабрь 30, 2014

Только звучит просто:

find . -name "*.php" -exec grep -H "some_string" {} \;

Записано в Linux    |    Постоянная ссылка

Отправка писем через localhost, LAMP и postfix в Ubuntu 14.04

Август 10, 2014

Ранее уже многократно пытался настроить sendmail на локалке (не путать с сервером, домен localhost) и на новой системе вновь решил это сделать и ничего не вышло. Сначала он у меня зависал надолго, но на этот раз удалось сделать, чтобы отрабатывал быстро, но отправлять он в итоге письма так и не стал, хотя статус вызова mail был true.

Конспектирую, так как описанные настройки postfix пришлось совмещать и все наконец-то заработало!

Вот код php скрипта:

<?php
try {
	echo ( int ) mail( 'mymail@yandex.ru', 'hello', 'message' );
} catch ( RuntimeException $e ) {
	print_r( $e );
}
?>

А вот результат (заголовки письма на почте):

Return-Path: <mailfrom@gmail.com>
Received: from yasamposebe.localdomain (ppp85-141-143-38.pppoe.mtu-net.ru. [85.141.143.38])
        by mx.google.com with ESMTPSA id f9sm13453063lbd.46.2014.08.10.05.29.58
        for <mailto@gmail.com>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Sun, 10 Aug 2014 05:29:58 -0700 (PDT)
Received: by yasamposebe.localdomain (Postfix, from userid 33)
	id 3F7022A41F4; Sun, 10 Aug 2014 16:29:58 +0400 (MSK)
To: mailto@gmail.com
Subject: hello
X-PHP-Originating-Script: 1000:index.php
Message-Id: <20140810122958.3F7022A41F4@yasamposebe.localdomain>
Date: Sun, 10 Aug 2014 16:29:58 +0400 (MSK)
From: mailfrom@gmail.com (www-data)

message

Воспользовался в сумме двумя инструкциями:

  1. http://onedev.net/post/277
  2. https://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/

Во 2-й не было того, что должно быть в 1-й и это очень важно. Если возникнет проблема и у меня о ней ни слова, открываем 2-ю ссылку, там нереальное количество комментариев.

Основной прикол в том, что как только сделал все по 1-й инструкции у меня отправка работать не стала.

Приступим.

Шаг 1

Выполняем в терминале:

sudo apt-get install postfix ca-certificates

Шаг 2

Правим или создаем следующий файл: /etc/postfix/mail.cf

Содержимое заменяем на:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

Шаг 3

Создавать файлы transport и generic и генерить по ним db не нужно.

Шаг 4

Создаем файл: /etc/postfix/sasl_passwd

Вставляем в него:

[smtp.gmail.com]:587 USERNAME@gmail.com:PASSWORD

Шаг 5

Выставляем верные права:

sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

Шаг 6 (микс)

Этот шаг по-моему ни на что не влияет и состоит из комбинаций к обоих ресурсов.

1) Выполняем:

ln -s /etc/ssl/certs/Equifax_Secure_CA.pem /etc/postfix/cacert.pem

2) Выполняем:

cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem

Кажется, что это должно защищать вашу почту от взломщиков, но не уверен и очень сильно.

Шаг 7

Все, перегружаем postfix:

sudo /etc/init.d/postfix reload

Шаг 8

Для настройки PHP открываем /etc/php5/apache2/php.ini и добавляем строчку (или редактируем):

sendmail_path = /usr/sbin/sendmail -t -i -f mailfrom@gmail.com

Итог

Выполняем мой скрипт и ничего не доходит. Смотрим логи:

tail /var/log/mail.log

и видим:

Aug 10 17:06:26 localhost postfix/qmgr[10887]: 1E8EE2A60F0: from=<mailfrom@gmail.com>, size=363, nrcpt=1 (queue active)
Aug 10 17:06:27 localhost postfix/smtp[10893]: 1E8EE2A60F0: to=<mailto@gmail.com>, relay=smtp.gmail.com[74.125.143.109]:587, delay=1.8, delays=0.08/0.01/0.79/0.94, dsn=2.0.0, status=sent (250 2.0.0 OK 1407675987 ok1sm13606396lbc.18 - gsmtp)
Aug 10 17:06:27 localhost postfix/qmgr[10887]: 1E8EE2A60F0: removed
Aug 10 17:08:33 localhost postfix/pickup[10886]: EA5C02A60F0: uid=33 from=<mailfrom@gmail.com>
Aug 10 17:08:33 localhost postfix/cleanup[10909]: EA5C02A60F0: message-id=<20140810130833.EA5C02A60F0@yasamposebe.localdomain>
Aug 10 17:08:34 localhost postfix/qmgr[10887]: EA5C02A60F0: from=<mailfrom@gmail.com>, size=363, nrcpt=1 (queue active)
Aug 10 17:08:34 localhost postfix/smtp[10911]: EA5C02A60F0: SASL authentication failed; server smtp.gmail.com[74.125.143.109] said: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbsqB?534-5.7.14 KhsSR6I87oK_C4TxS1NdQVQS0PzikND9qj70eQUKk8MeycvYLSVk3BUS0n1iw4_mpyZqQ4?534-5.7.14 3yMySUSy7AyIQTC_-H5OFkRu4_h9s-S-8lQfWUpmmMPQC5auCDcLZJoiShf7RbwUYPA3WN?534-5.7.14 kY8Q2WVTwMAFBLLK3I1w0DJYeWKL1NLJunjI0_j7fgGhZY1R37qD6c-kHtKUiv8WSWS0rB?534-5.7.14 s2GcHKw> Please log in via your web browser and then try again.?534-5.7.14 Learn more at?534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 xu8sm4583002lab.41 - gsmtp
Aug 10 17:08:35 localhost postfix/smtp[10911]: EA5C02A60F0: SASL authentication failed; server smtp.gmail.com[74.125.143.108] said: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtLc?534-5.7.14 31FFOiu5FqZ0Bfjx2r1ySB4Sk0YcmdfsVWH5-Gh9JYixVrhSegWVvaLeiv70vybEEbXYTa?534-5.7.14 LN9iG7Zj6lLE0CQyfj5ahIn_aBsjT--qNNkzx9XoJQwVNGkfL59w880vDElZemD3oxSaja?534-5.7.14 LqO_5fggvWCw2ol4D9_yOzlq1vtp69C5pD2n8tWOPkexG3hWHZMDaVVF8jn-loCGR1EbzY?534-5.7.14 v5j77eg> Please log in via your web browser and then try again.?534-5.7.14 Learn more at?534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 kz1sm4588917lab.11 - gsmtp
Aug 10 17:08:35 localhost postfix/smtp[10911]: connect to smtp.gmail.com[2a00:1450:4010:c04::6d]:587: Network is unreachable
Aug 10 17:08:35 localhost postfix/smtp[10911]: EA5C02A60F0: to=<mailto@gmail.com>, relay=none, delay=1.3, delays=0.11/0.01/1.2/0, dsn=4.4.1, status=deferred (connect to smtp.gmail.com[2a00:1450:4010:c04::6d]:587: Network is unreachable)

Вот мы и подошли к главному. Несмотря на все, пройти аутентификацию не получается. В добавок мы получаем на почту письмо от Google с темой "Ненадежным приложениям разрешен доступ к аккаунту Google". Переходим по ссылке и возможно подтверждаем наши действия, но это не помогает.

Решение - необходимо выполнить все шаги:

  1. переходим по ссылке и жмем "Продолжить": https://accounts.google.com/DisplayUnlockCaptcha
  2. переходим по ссылке и подтверждаем действия при необходимости: https://security.google.com/settings/security/activity
  3. главное, открываем вкладку "Безопасность" в профиле Google: https://www.google.com/settings/security - на панели "Доступ к аккаунту" жмем "Настройки" и выбираем "Включить".

После 3-го пункта повторяем отправку и все работает. Не уверен, что п. 3 безопасен, поэтому лучше его выключать в периоды, когда разработка не ведется и проверять отправку писем на localhost не требуется.

В завершение

Спасибо обоим авторам. Время идет и что-то может меняться. Уверен, что кому-то пригодится моя инструкция. В особенности мне самому, когда настанет время все переустанавливать.

Tags: , , , ,
Записано в Linux    |    Постоянная ссылка

Комбинация клавиш на открытие Sublime Text 2 в Ubuntu

Август 9, 2014
По-быстрому:
  1. качаем с оф. сайта программу
  2. создаем ссылку для работы редактора через команду в терминале sudo ln -s /home/samposebe/Документы/Programs/Sublime\ Text\ 2/sublime_text /usr/bin/sublime
  3. переходим в параметры системы - клавиатура - комбинации клавиш - дополнительно
  4. жмем +
  5. сначала пишем название, потом команду "sublime"
  6. после создания выделяем добавленную строчку и нажимаем нужную комбинацию на клавиатуре

Записано в Linux    |    Постоянная ссылка

Найти большие файлы через терминал FreeBSD

Сентябрь 2, 2013

Две команды:

find / -type f -size +1G | xargs ls -lh
ls -lSh |head

Ссылки по теме

Tags: ,
Записано в Linux    |    Постоянная ссылка

Решение проблемы imagepng pChart permissions denied

Май 3, 2013

Анализируя ошибки, которые возникали на сервере, заметил PHP Warning - "imagepng ... permissions denied" при работе pChart 2.0. График должен был записаться в папку с правами 777, но файл там уже был и прав 644 на перезапись не хватало. Выделять 777 на файлы не хотелось, хотя вариант рабочий.

Решением стало определение группы владельца и группы www (пользователь, под которым работает Apache) для нужной папки. Прав на нее теперь хватает 755, а на файлы 644.

Tags:
Записано в Linux, PHP, Программирование    |    Постоянная ссылка

Ubuntu 12.04 и E:Encountered a section with no Package: header, E:Problem with MergeList

Февраль 2, 2013

При очередном обновлении Ubuntu 12.04 показалась ошибка:

  • E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists

А всякая ошибка в Ubuntu приводит к разочарованию. Ведь надеешься, что новая версия системы прежде всего сохраняет традиции предыдущих версий и по примеру Ubuntu 9-10 будет сверх-стабильной.

Проблема решается в 2 команды:

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update

После система обновляется, как и прежде, но следующий вызов менеджера обновлений вновь выводит ошибку и команды становятся постоянным лекарством. Я решил обновиться до версии 12.10, проблема с обновлением исчезла.

Ссылка по теме

Tags:
Записано в Linux, Ubuntu    |    Постоянная ссылка

Нерабочий интернет в Windows XP в Virtualbox, Ubuntu 12.10

Февраль 2, 2013

Столкнулся с проблемой, что Интернет отказался работать в Windows XP под виртуальной машиной. Странно, подключение шло напрямую, без прокси (Yota).

Решение оказалось простым. Достаточно открыть свойства соединения и напрямую прописать DNS:

  • 208.67.222.222
  • 208.67.220.220

Далее необходимо нажать "Исправить" и после восстановления соединения Интернет начинает работать.

Однако, что касается корпоративной сети на работе, Интернет идет через прокси и заставить его работать в XP в Virtualbox мне так и не удалось...

Ссылка по теме

Tags: , ,
Записано в Linux, Ubuntu    |    Постоянная ссылка

Устраняем ошибку Virtualbox Kernel driver not installed (rc=-1908) в Ubuntu 12.10

Декабрь 1, 2012

Ранее говорил о том, как исправить ошибку Virtualbox, которая не позволяет запустить виртуальную машину в Ubuntu 9, 10:

Решил создать для Ubuntu 12.10 отдельный пост, как продолжение. Ошибка решается выполнением данных команд:

sudo apt-get install linux-headers-$(uname -r)
sudo apt-get remove virtualbox-dkms
sudo apt-get install virtualbox-dkms

1-я строчка останавливала меня от действий, но сделал и ничего плохого не случилось, Virtualbox запустил виртуальную машину, ошибка исчезла.

Важно также иметь последнюю версию Virtualbox и скачивать установщик с официального сайта, без обращения к Центру приложений.

Ссылка по теме

Tags:
Записано в Linux, Ubuntu    |    Постоянная ссылка

Впечатления от запуска GhostBSD 2.5 с LiveCD

Декабрь 1, 2012

Решил посмотреть, как покажет себя GhostBSD 2.5 на моих компьютерах. Скачивал GNOME версию здесь:

На том компьютере, что послабее не работала USB-клавиатуры и я не смог залогиниться в системе. На том, что посильнее клавиатура определилась и вход был без проблем. Изображение было четким, значит видеокарта нашла в системе поддержку. Интерфейс очень хороший, привычный, как в Ubuntu 10. Центр приложений отображает по группам программы, которые есть в портах. Единственное и может это скорее ограничение LiveCD, сеть не позволяла подключиться, Интернет не работал, как при использовании Wifi-адаптера, так и простого провода. Проблема однозначно не в прокси.

GhostBSD 2.5 работает под GNOME 2 и в принципе очень мне понравилась. Как только освободится 3-й компьютер, сразу установлю систему.

Tags: ,
Записано в Linux    |    Постоянная ссылка