March 30th, 2012

Korchiy

Репозитории Debian

Информация взята из "хау-то" на сайте www.debian.org.

1. Для указания сетевых репозиториев нужно отредактировать файл sources.list

vi /etc/apt/sources.list

и заменить его содержание на:
#-----debian.org how-to------
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free

2. Обновить список и проапгрейдить содержание пакетов командами:

apt-get update

apt-get upgrade

После обновления можно устанавливать нужные пакеты программ.
Korchiy

Установка ProFTPd на Debian

1. Установка пакета:

apt-get install proftpd

при установке выбрать "standalone"

2. Настроить конфигурацию ProFTPd:
Сделать резервную копию файла /etc/proftpd/proftpd.conf

Изменить файл, раскомментировав строки:

# Запрет подниматься выше домашней директории пользователя
DefaultRoot ~
# Иначе пользователя без шелла не пустит в фтп
RequireValidShell off

Изменить:
UseIPv6 off # Отключить IPv6

Добавить в конец:
RootLogin off # Запретить логин из под рута
AllowStoreRestart on # Разрешить перезагрузку хранилища
AuthPAM off # Отключить PAM

3. Создать нового пользователя для FTP командой:

useradd ftpuser -p 111 -d /var/www -s /bin/false

ftpuser - имя пользователя
111 - временный пароль

Cменить пароль, иначе не будет авторизовывать этого пользователя через фтп:

passwd fptuser
ввести новый пароль

4. Перезапустить ProFTPd

/etc/init.d/proftpd restart

5. Поставить директории /var/www права 777
Korchiy

Выполнение скриптов PHP через планировщик Cron

1. Просмотр уже имеющихся заданий cron:

crontab -l

2. Добавление новых заданий в cron:

crontab -e

Системный файл с системными заданиями лучше не редактировать. Для каждого пользователя командой crontab -e создается свой файл с заданиями.

3. Формат записи заданий в cron:

* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)

Если ставится число - это означает что в момент наступления этого числа будет выполнена команда планировщика.

Например:
5 0 * * * команда
"команда" будет выполнена каждый день в 0 часов 5 минут.

Для выполнения команды через промежуток времени используется слеш.

Например:

*/1 * * * * команда
"команда" будет выполняться через одну минуту (каждую минуту) с момента запуска cron.

(!) Каждая команда должна располагаться на новой строчке. После последней команды должен идти перенос строки.

4. Ошибки, возникающие при выполнении команд через cron отправляются в файл почты /var/mail/root

Чтобы ошибки выводились в отдельный файл, его можно указать в строке с командой:

*/1 * * * * команда 2>/tmp/cron.tmp
Ошибки будут помещаться в файл /tmp/cron.tmp

5. Команды для выполнения скриптов PHP пишутся через интерпритатор PHP:

*/1 * * * * /usr/bin/php -q /var/www/test.php

test.php будет выполняться каждую минуту.

(!) Если в скриптах php используется команда include с относительным путем в скрипте должно быть указание на домашнюю директорию командой:

chdir('/var/www'); // "Домашней" считается директория /var/www

6. Перезапуск cron

/etc/init.d/cron restart