Собрать информацию из папки со спамом:
sa-learn --showdots --spam /home/vmail/<domain>/<user>/.Junk/*
То же самое для не спама:
sa-learn --showdots --ham /home/vmail/<domain>/<user>/cur/*
Из PECL-библиотек использую bbcode-1.0.2, crack-0.4, eaccelerator-0.9.6.1, svn-1.0.1, translit-0.6.1. После скачивания, распаковки и переименования папок этих расширений устанавливаем переменные окружения:
export PHP_AUTOCONF=/usr/local/bin/autoconf-2.13 export PHP_AUTOHEADER=/usr/local/bin/autoheader-2.13 export PHP_AUTOMAKE=/usr/local/bin/automake-1.4 export CFLAGS="-O3 -march=k8 -fomit-frame-pointer -pipe" export CXXFLAGS="-O3 -march=k8 -fomit-frame-pointer -pipe"
Далее конфигурируем PHP:
rm configure config.cache && ./buildconf --force ./configure --disable-debug --build=amd64-server-openbsd4.9 --target=amd64-server-openbsd4.9 --host=amd64-server-openbsd4.9 --disable-short-tags --with-pear --with-bz2=/usr/local/lib --with-curl --with-libdir=lib --with-jpeg-dir=/usr --with-png-dir=/usr/local --with-freetype-dir=/usr/local/lib --with-xpm-dir=/usr/X11R6 --with-t1lib=/usr --enable-gd-native-ttf --with-gmp --with-openssl --with-openssl-dir=/usr --with-kerberos=/usr/local --with-pspell --with-enchant --with-zlib --enable-re2c-cgoto --with-layout=GNU --enable-exif --enable-calendar --without-sqlite --enable-mbregex --enable-cli --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-magic-quotes --enable-bcmath --enable-ftp --with-gd --enable-mbstring --with-mcrypt --with-mysql=/usr/local --with-mysql-sock=/var/run/mysql/mysql.sock --disable-embedded-mysqli --with-mysqli=/usr/local/bin/mysql_config --with-pdo-mysql=/usr/local --with-snmp --enable-soap --enable-wddx --enable-sockets --with-tidy --with-xsl --enable-zip --enable-zend-multibyte --with-gettext --with-mhash --enable-bbcode --with-svn --with-crack --enable-translit --with-ldap --with-ldap-sasl --enable-intl --enable-eaccelerator --with-eaccelerator-shared-memory --with-eaccelerator-userid=www --with-iconv=/usr/local
Собираем:
make && make install
На случай, если потом понадобится вручную удалить вот пути установки:
Installing PHP SAPI module: fpm Installing PHP CLI binary: /usr/local/bin/ Installing PHP CLI man page: /usr/local/man/man1/ Installing PHP FPM binary: /usr/local/sbin/ Installing PHP FPM config: /usr/local/etc/ Installing PHP FPM man page: /usr/local/man/man8/ Installing PHP FPM status page: /usr/local/share/php/fpm/ Installing build environment: /usr/local/lib/php/build/ Installing header files: /usr/local/include/php/ Installing helper programs: /usr/local/bin/ program: phpize program: php-config Installing man pages: /usr/local/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/share/pear/ [PEAR] Archive_Tar - installed: 1.3.7 [PEAR] Console_Getopt - installed: 1.3.0 [PEAR] Structures_Graph- installed: 1.0.4 [PEAR] XML_Util - installed: 1.2.1 [PEAR] PEAR - installed: 1.9.4 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/share/pear to your php.ini include_path /home/web/src/php-5.3.9/build/shtool install -c ext/phar/phar.phar /usr/local/bin ln -s -f /usr/local/bin/phar.phar /usr/local/bin/phar Installing PDO headers: /usr/local/include/php/ext/pdo/
Получение исходников
От того, какая ветка ядра будет использоваться для компиляции ( current или stabile ), а так же в зависимости от того нужно исходники обновить, или скачать с нуля, будут использоваться различные команды:
Скачиваем current "с нуля":
cd /usr cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src
Скачиваем stable "с нуля":
cd /usr cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_4_9 -P src
Обновляем current:
cd /usr/src cvs -q up -Pd
Обновляем stable:
cd /usr/src cvs -q up -rOPENBSD_4_9 -Pd
ВАЖНО! Если обновляемые исходники были получены с другого сервера или с CD, в команду обновления необходимо добавить параметр "-d anoncvs@anoncvs.ca.openbsd.org:/cvs":
cd /usr/src cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs -q up -Pd
Добавление оптимизирующих ключей в Makefile
Подробнее об оптимизирующих ключах: ключи gcc компилятора, безопасные ключи для AMD.
cd /usr/src/sys/arch/amd64/conf config GENERIC.MP cd ../compile/GENERIC.MP nano Makefile
В файле комментируем переменную CMACHFLAGS и добавляем свой вариант ключей:
#CMACHFLAGS= -mcmodel=kernel -mno-red-zone -mno-sse2 -mno-sse \
-mno-3dnow -mno-mmx -msoft-float -fno-omit-frame-pointer
CMACHFLAGS= -mcmodel=kernel -msse2 -msse -m3dnow -mmmx \
-msoft-float -fomit-frame-pointer -mno-red-zone
Компилируем и устанавливаем ядро
# Чтобы отключить вывод можно использовать: # make clean && make depend 1>/dev/null && make 1>/dev/null make clean && make depend && make make install reboot
Компилируем userland
После компиляции ядра настоятельно рекомендуется перекомпилировать и его окружение (набор системных утилит, взаимодействующих с ядром).
# Очищаем /usr/obj директорию и ребилдим ссылки: rm -rf /usr/obj/* cd /usr/src make obj # Убеждаемся, что все необходимые директории созданы: cd /usr/src/etc && env DESTDIR=/ make distrib-dirs # Компилируем: cd /usr/src make build
Либо можно сделать это всё вот так (silent userland rebuild):
rm -rf /usr/obj/* 1>/dev/null && cd /usr/src && make obj 1>/dev/null \ && cd /usr/src/etc && env DESTDIR=/ make distrib-dirs \ && cd /usr/src && make build 1>/dev/null
Сделать DVD-ISO c диска:
dd if=/dev/dvd of=dvd.iso # for dvd dd if=/dev/cdrom of=cd.iso # for cdrom dd if=/dev/scd0 of=cd.iso # if cdrom is scsi
MOUNT ISO:
sudo mount -t iso9660 -o loop filename.iso /mount/point sudo mount -t iso9660 filename.iso /mount/point
Упаковка файла:
tar zcf имя_архива.tgz имя_файла tar jcf имя_архива.bz2 имя_файла
Распаковка файла:
tar zxf имя_архива.tgz tar jxf имя_архива.bz2
Копирование файла с сервера на сервер:
scp -P22 dump.bz2 user@192.168.1.3:/home/user/ scp -P22 user@192.168.1.3:/home/user/dump.bz2 dump.bz2
Перезагрузка сетевых настроек:
sh /etc/netstart lan0
Перезагрузка фаервола:
# Парсинг и проверка правил в файле pfctl -nf /etc/pf.conf # Загрузка и применение правил в файле pfctl -f /etc/pf.conf
Управление таблицами фаервола:
# Просмотр pfctl -t blocked_table -T show # Добавление pfctl -t blocked_table -T add 218.70.0.0/16 # Удаление pfctl -t blocked_table -T delete 218.70.0.0/16