понедельник, 7 июля 2014 г.

Новый диск в Убунту

Вот здесь рассказано как разбить и примаунтить новый диск в Убунту.  Все эти fdisk, mkfs, и  /etc/fstab очень кратко и с примерами.

понедельник, 12 августа 2013 г.

Мыло на Ubuntu Server: Postfix

Я тут бодался-бодался с sendmail, а потом устал.  Ну не форвардит он, то что сыплется в почтовый ящик root на мой gmail, хоть тресни.  Взял и поставил postfix, теперь можно отправлять что угодно куда угодно.  Вот тут все описано.

Я скопирую только команды, от себя добавлю только минимальные комментарии:

Ставим mailutils, он же поставит и postfix:

sudo apt-get install mailutils

Postfix спросит, что использовать для отправки.  Выбрать Internet Site.  Остальное- по умолчанию.

Правим конфиг:

sudo vim /etc/postfix/main.cf

Добавляем вот такие строки.  Внимательнее с последней (tls, а не tlsd):

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

Также можно закрутить гайки:

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

authorized_submit_users = root


Правим файл и именем и паролем с гугля:

sudo vim /etc/postfix/sasl_passwd

Добавляем:

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

Устанавливаем права доступа на файл с именем и паролем:

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

Копируем сертификат:

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

Загружаем новый конфиг postfix:

sudo /etc/init.d/postfix reload

Тестируем:

echo "Test mail from postfix" | mail -s "Test Postfix" you@example.com


суббота, 10 августа 2013 г.

Back-UPS APC на сервере Ubuntu

Вот тут хороший рецепт настройки демона для упсов APC, вплоть до отправки уведомлений на мыло. Мне нужно для дома, так что мыло не настроил.  UPD: Все-таки настроил, см. ниже.

Автор оригинального поста использовал для Back-UPS RS 800, а я- для Back-UPS RS 700G.

Устанавливаем apcupsd:

$ sudo apt-get install apcupsd


Правим конфиг:

$ sudo vim /etc/apcupsd/apcupsd.conf

Указываем в нем имя, кабель и тип соединения, комментируем DEVICE:

UPSNAME MyAwesomeUPS

UPSCABLE usb

UPSTYPE usb

#DEVICE 


Указываем, что настройку закончили.  Для этого правим:

$ sudo vim /etc/default/apcupsd

ISCONFIGURED=yes



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

$ sudo service apcupsd restart


Проверяем:

$ apcaccess

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

Теперь по поводу отправки сообщений типа "питание вырубилось" на мыло.

Автор оригинального поста использовал SendEmail- эдакий легкий клиент поверх SMTP.  А же решил, что поставлю Postfix.  В нем все очень просто с использованием gmail для отправки.  Про это отдельный пост.

А для того, чтобы сервер отправлял сообщения упс на gmail, надо совсем ничего.

Перебираемся в директорию /etc/apcupsd:

cd /etc/apcupsd

Правим скрипты changeme, commfailure, commok, offbattery и onbattery.  В них надо SYSADMIN поменять с root на myaccount@gmail.com:

SYSADMIN=myaccount@gmail.com

И все.  Понятно, postfix должен работать.


среда, 27 февраля 2013 г.

Клиент Wake On LAN

Понадобилось мне тут (опять) включать Ubuntu сервер удаленно.  Причем как из Windows, так и из Mac.  Под Ubuntu был wakeonlan, я о нем уже писал.  Вот что обнаружилось под OS Windows и OS X.

Windows

Мне понравилась WOL- Magic Packet Sender.  Очень простая и с удобным интерфейсом. Вот официальный скриншот:




OS X

Можно установить macports и запускать с ним wakeonlan.  Но я сделал по-другому.  Используем простенькую программку на Java.  Там если вниз чуть-чуть прокрутить, будет ссылка на код.  Он занимает одну страничку. Копируем его в файл WakeOnLan.java, в терминале говорим

javac WakeOnLan.java

Когда скомпилится, говорим (пример из Magic Packet Sender сверху):

java WakeOnLan 255.255.255.255 00-15-c5-42-61-c2

И все!  Ну и, понятно, работает это не только в OS X.





среда, 23 ноября 2011 г.

FTP на домашнем сервере

Вот никогда не думал, что потребуется FTP дома, а тут прога в телефоне хочет именно этот протокол.  Пришлось поднять FTP.  Далее кратко описано как и что.

FTP серверов под линукс есть несколько.  После быстрого гугления я остановился на ProFTPD.  Вот тут есть пример толкового конфига с внятными пояснениями.  Есть и рекоммендаци на случай, если надо открыть доступ "снаружи".  Я как раз этим конфигом и воспользовался- мне и надо-то, что анонимный доступ на чтение в одну директорию и только из локалки.

Вот что получилось.

Устанавливаем сервер
На вопрос, как запускать, я ответил- через initd, НЕ standalone.  Много клиентов у этого сервера не будет.
sudo apt-get install proftpd

Правим /etc/shells
sudo vim /etc/shells

Туда добавляем:
/bin/false

Создаем директорию для обмена
sudo mkdir /home/FTP-shared

Создаем юзера
sudo useradd userftp -p password -d /home/FTP-shared -s /bin/false
Пароль password надо заменить на реальный.

Создаем директории для скачки/закачки
sudo mkdir /home/FTP-shared/public
sudo mkdir /home/FTP-shared/upload

Назначаем права
sudo chmod 755 /home/FTP-shared
sudo chmod 755 /home/FTP-shared/public
sudo chmod 777 /home/FTP-shared/upload

Правим конфиг
sudo mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.old
sudo vim /etc/proftpd/proftpd.conf

Туда добавляем (перед секцией Global):

<Limit LOGIN>
AllowUser userftp
DenyALL
</Limit>

<Directory /home/FTP-shared>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
DenyAll
</Limit>
</Directory>

<Directory /home/FTP-shared/public/*>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD>
DenyAll
</Limit>
</Directory>

<Directory> /home/FTP-shared/upload/>
Umask 022 022
AllowOverwrite on
<Limit READ RMD DELE>
DenyAll
</Limit>

<Limit STOR CWD MKD>
AllowAll
</Limit>
</Directory>


<Anonymous /home/FTP-shared>
   User userftp
   Group nogroup
   UserAlias anonymous userftp
   MaxClients 8 "Max number of clients reached (%m)"
   DisplayChdir .message

  <Directory *>
   <Limit WRITE>
    DenyAll
   </Limit>
  </Directory>
</Anonymous>

Правим /etc/fstab
sudo vim /etc/fstab

Туда добавляем путь, который будет доступен по FTP:
/stuff/books /home/FTP-shared/public none bind 0 0

Итоги
После рестарта сервера (не FTP, а компьютера), анонимному пользователю (и пользователю userftp) будет доступно содержимое директории /stuff/books- только на чтение из /home/FTP-shared/public.  Также, пользователь userftp сможет создавать директории и файлы в /home/FTP-shared/upload.

Проверено с помощью Total Commander и проги в телефоне.

воскресенье, 5 сентября 2010 г.

Монтируем NTFS раздел

Сначала надо создать директорию, куда будем монтировать и указать права, чтобы все могли читать и писать:

sudo mkdir /media/ntfs
sudo chmod 777 /media/ntfs

Надо узнать, что это за раздел (sdaX или UUID). Выполняем команду

sudo blkid

/dev/sda1: UUID="32BC7A86BC7A447F" TYPE="ntfs"
/dev/sda3: LABEL="DISK_D" UUID="183CA8473CA8222C" TYPE="ntfs"
/dev/sda5: UUID="684620ab-0bec-45b2-8aa7-d874a1c0867e" TYPE="ext4"
/dev/sda6: UUID="417c722d-aba4-4f58-a847-91d1eb9e5019" TYPE="swap"

Монтировать можно временно:

sudo mount -t ntfs-3g /dev/sda3 /media/ntfs

... или постоянно:

sudo vim /etc/fstab

В конец файла добавляем:

# ntfs partition
UUID=183CA8473CA8222C /media/ntfs ntfs-3g defaults,users 0 3

И перемонтируем все разделы:

sudo mount -a


суббота, 27 февраля 2010 г.

Установка ICC 11.1 на клиенте Ubuntu 9.10

Интеловский компилятор становится все более и более популярным среди линуксоидов, и, мол, хорошо оптимизирует для родных процов. Вот и я решил посмотреть, что это за зверь, поскольку процессоры AMD не юзаю, использую только Intel.

Установка на Ubuntu- это вам не кнопки нажимать. Никаких "sudo apt-get install icc". Интел постарался усложнить жизнь по максимуму, хотя пересобирать из исходников ничего не придется. Вот тут расписано (по-английски) что и как надо сделать для установки на 32- и 64-х битные Ubuntu 9.10 и на старые версии ОС. Также, указано, какую Java скачать/установить для графического дебаггера IDB. Я тут кратко изложу про 32-х битную Ubuntu 9.10 только в плане компилятора, до дебаггера пока руки не дошли.

Во-первых, надо установить вот что (занятно, для установки готового компилятора нужен GCC):
  • gcc
  • build-essential
  • g++
  • rpm
Потом надо установить старую библиотеку The GNU Standard C++ Library V3 из репов Lenny. На открывшейся странице скачиваем deb-пакет с libstc++5 для i386 и устанавливаем с помощью GDebi.

Затем надо скачать собственно ICC 11.1, для чего надо его сначала найти, вот ссылка. После подтверждения лицензии, откроется страница для скачивания, надо только кликнуть на нужный компилятор, и зарегистрироваться. Золотой ключик переписывать с экрана не обязательно, он должен прийти по мылу, как и адрес, где можно наконец-то скачать вожделенный компилятор (700 Mb с хвостиком).

Далее, скаченный архив надо распаковать. Затем, в консоли перейти в поддиректорию с файлами компилятора и запустить install.sh. В процессе надо будет выбрать, как устанавливать- для всех пользователей или только для текущего, еще раз принять лицензионное соглашение, затем указать, куда ставить.

После того, как компилятор установился, надо запустить скрипт для установки переменных среды. В моем случае это
$ source ~/intel/Compiler/11.1/069/bin/iccvars.sh ia32

Проверяем, что компилятор установлен:
$ icc --version

Да, для компиляции C++ надо вызывать icpc. icc- это для С.

HTML документация:
~/intel/Compiler/11.1/069/Documentation/en_US/documentation_c.html