Oct 22 2011

Как запустить PHP 5.3 и 5.2 на одном WEB-сервере

1

Рубрика: Linux,PHPVitaly Kovalyshyn @ 15:42

Обновил один из серверов с Debian lenny до squeeze. Все прошло гладко, только вот на одном из старых сайтов (joomla 1.0) посыпалась куча deprecated функций PHP. Не хотел трогать код этого сайта, решил запустить для него отдельно PHP5.2 на том же сервере. Вот как это я реализовал.

Устанавливаем зависимости, скачиваем PHP5.2 и распаковываем архив:

aptitude install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev
cd /tmp
wget http://www.php.net/get/php-5.2.17.tar.gz/from/ru.php.net/mirror -O php-5.2.17.tar.gz
tar zxvf php-5.2.17.tar.gz
cd php-5.2.17

Из исходников собираем PHP5.2 и устанавливаем в /opt/php5.2:

./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysqli --with-mysql --with-curl --with-gd --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect
make
make install

Проверяем:

/opt/php5.2/bin/php -v
PHP 5.2.17 (cli) (built: Oct 22 2011 15:05:51)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Запускать для этого сайта PHP5.2 будем через fastcgi.

aptitude install libapache2-mod-fastcgi
a2enmod cgi fastcgi actions
invoke-rc.d apache2 restart

Создадим исполняемый файл /opt/php5.2/bin/php-cgi, который содержит:

#!/bin/sh
PHPRC="/opt/php5.2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php5.2/bin/php-cgi

В виртуальном хосте нужного сайта добавляем:


SetHandler application/x-httpd-php5

ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action application/x-httpd-php5 /php52-cgi
AddHandler application/x-httpd-php5 .php

Перезапустим Apache и проверяем что наш сайт уже использует PHP 5.2, когда все остальные 5.3

invoke-rc.d apache2 restart

Теги: , , , , , ,


Apr 07 2011

Вийшов GNOME3

1

Рубрика: UnixVitaly Kovalyshyn @ 08:31

Вже більше 7 років на домашньому комп’ютері у мене лише Linux. Спочатку я надавав перевагу KDE, проте пізніше повністю перейшов на GNOME. Що ж, для мене було цікавим прочитати та побачити нову версію – GNOME3. Запрошую: http://www.gnome3.org/

Теги: , , ,


Mar 15 2011

Блокуємо доступ до соціальних мереж

2

Рубрика: LinuxVitaly Kovalyshyn @ 13:30

Обслуговую багато віддалених Linux маршрутизаторів, а проблема одна й та сама – не дає працівникам спокою соціальна мережа! :-) Потрібно заблокувати з використанням iptables. Найшов просте рішення:

# deny rules
$IPTABLES -A FORWARD -m string --string "odnoklassniki.ru" --algo kmp --to 65535 -j DROP
$IPTABLES -A FORWARD -m string --string "facebook.com" --algo kmp --to 65535 -j DROP
$IPTABLES -A FORWARD -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP
$IPTABLES -A FORWARD -m string --string "vk.com" --algo kmp --to 65535 -j DROP

Теги: , , ,


Feb 09 2011

Postfix blacklist або відкидуємо небажані email адреси

3

Рубрика: FreeBSD,LinuxVitaly Kovalyshyn @ 23:34

Усе дуже просто: необхідно заблокувати певним адресатам писати нам листи :-)
Встановлено postfix, створюємо файл /etc/postfix/sender_access, куди заносимо наших небежених друзів:

user@bad.com REJECT

Створюємо базу:

postmap hash:sender_access

Прописуємо у конфіг main.cf

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access

Та перезапускаємо! Тепер наш “товариш” отримає:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

me@it-sfera.com.ua
SMTP error from remote mail server after RCPT TO::
host postfix [192.168.22.13]: 554 5.7.1 :
Sender address rejected: Access denied

—— This is a copy of the message, including all the headers. ——

Теги: , , , , ,


Nov 20 2010

Ubuntu 10.10 та iPhone в режимі модема

3

Рубрика: LinuxVitaly Kovalyshyn @ 16:29

На своєму домашньому нетбуці я встановив останню версію Ubuntu 10.10. Чудово працює, усі пристрої розпізнав “з коробки”. Також завівся і мій iPhone 3Gs, але не в режимі модема… А тут знадобилося вийти в інтернет через Utel.

Як змусити запрацювати модем? Необхідно встановити iPhone USB Ethernet Driver. У глобальній мережі Ви знайдете ось ці 3 пакунки:
dkms_2.1.1.2-3ubuntu1_all.deb
ipheth-dkms_1.0-1ubuntu1.1_all.deb
ipheth-utils_1.0-1ubuntu1.1_i386.deb

Після чого на iPhone для Utel прописуємо точку входу 3g.utel.ua і вмикаємо режим модему:

Інтернет запрацював на нетбуці, швидкість відмінна:

UPD: для мого тарифу Укртелеком заявляє швидкість 1024/256 і тішить, що саме так і є:

Теги: , , , , , ,


Oct 07 2010

Обмеження швидкості на Linux

1

Рубрика: LinuxVitaly Kovalyshyn @ 21:15

Сьогодні потрібно було обмежети для одного працівника (192.168.0.2) швидкість до 512 Кб/с на вхід та вихід. Допоміг ось такий скрипт:

#!/bin/bash
#
#  tc uses the following units when passed as a parameter.
#  kbps: Kilobytes per second
#  mbps: Megabytes per second
#  kbit: Kilobits per second
#  mbit: Megabits per second
#  bps: Bytes per second
#       Amounts of data can be specified in:
#       kb or k: Kilobytes
#       mb or m: Megabytes
#       mbit: Megabits
#       kbit: Kilobits
#  To get the byte figure from bits, divide the number by 8 bit
#
TC=/sbin/tc
IF=eth1                 # Interface
DNLD=512kbps        # DOWNLOAD Limit
UPLD=512kbps        # UPLOAD Limit
IP=192.168.0.2      # Host IP
U32="$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32"

start() {

    $TC qdisc add dev $IF root handle 1: htb default 30
    $TC class add dev $IF parent 1: classid 1:1 htb rate $DNLD
    $TC class add dev $IF parent 1: classid 1:2 htb rate $UPLD
    $U32 match ip dst $IP/32 flowid 1:1
    $U32 match ip src $IP/32 flowid 1:2

}

stop() {

    $TC qdisc del dev $IF root

}

restart() {

    stop
    sleep 1
    start

}

show() {

    $TC -s qdisc ls dev $IF

}

case "$1" in

  start)

    echo -n "Starting bandwidth shaping: "
    start
    echo "done"
    ;;

  stop)

    echo -n "Stopping bandwidth shaping: "
    stop
    echo "done"
    ;;

  restart)

    echo -n "Restarting bandwidth shaping: "
    restart
    echo "done"
    ;;

  show)

    echo "Bandwidth shaping status for $IF:\n"
    show
    echo ""
    ;;

  *)

    pwd=$(pwd)
    echo "Usage: $(/usr/bin/dirname $pwd)/tc.bash {start|stop|restart|show}"
    ;;

esac

exit 0

Теги: , , , ,


Aug 04 2010

Гуру системного администрирования 2010

2

Рубрика: Self-development,UnixVitaly Kovalyshyn @ 06:47

Системный Администратор - 2010

Системный Администратор - 2010

В этом году решил тоже пройти тестирование в конкурсе “Системный Администратор – 2010″. Вот результат:

Подведены итоги конкурса “Системный Администратор – 2010″.

В этом году в конкурсе приняли участие более 47 тысяч системных администраторов. Если представить стадион, на котором проходили игры Чемпионата мира по футболу в этом году, то участники конкурса заняли бы все трибуны!

Из всех участников 10 процентов получили рейтинг Гуру. Еще 20% стали Профи, 18% – опытные и 22% – начинающие системные администраторы. Среднее время прохождения теста – около часа.

Поздравляем, Вы показали отличные знания, получив рейтинг Гуру!

Теги: , , , , , ,


Jul 22 2010

Надсилаємо email з attachment з консолі

2

Рубрика: Shell,UnixVitaly Kovalyshyn @ 12:00

Сьогодні необхідно було надіслати Email з прикріпленим файлом на віддаленному сервері, доступ до якого я Ваю лише по SSH. Виявилося усе банально просто:

  1. Встановити mutt (у мене він вже був встановленний)
  2. Надсилаємо з консолі
 mutt -s "TEST mail" -a /home/samael/nazia.sql.bz sss@domain.org < /tmp/email_text

де,

  • sss@domain.org – одержувач
  • /tmp/email_text – тіло повідомлення (читається з приговленого файла “/tmp/email_text”)
  • /home/samael/nazia.sql.bz – додаток (опція -a)
  • “Test mail” – тема повідомлення (опція -s)

Теги: , , , , , ,


Apr 22 2010

Настройка ZFS раздела на FreeBSD

1

Рубрика: FreeBSDVitaly Kovalyshyn @ 08:31

Опишу настройку ZFS раздела на FreeBSD 8-STABLE, используя в качестве хранилища данных. Приобрел, для файлового сервера 1 Тб хард, теперь его нужно подключить к существующей системе.

ZFS – эта файловая система поддерживает большие объёмы данных изначально созданная в Sun Microsystems для операционной системы Solaris. Основное преимущество ZFS — это её полный контроль над физическими и логическими носителями. Зная, как именно расположены данные на дисках, ZFS способна обеспечить высокую скорость доступа к ним, контроль их целостности, а также минимизацию фрагментации данных. Это позволяет динамически выделять или освобождать дисковое пространство на одном или более носителях для логической файловой системы.

Для начала, прописываем загрузку модуля и старт ZFS при загрузке системы:

echo 'zfs_enable="YES"' >> /etc/rc.conf
echo 'zfs_load="YES"' >> /boot/loader.conf
kldload zfs

Теперь на новом разделе создаем ZFS файловую систему, включаем сжатие данных и указываем точку монтирования:

zpool create -m /mnt trank /dev/ad2
zfs create -o compression=gzip trank/media (включим компрессию для раздела media)
zfs set mountpoint=/mnt/media trank

Вот и все! Ничего не нужно прописывать в /etc/fstab

Теги: ,


Apr 18 2010

Как перезапустить PPPoE на FreeBSD?

2

Рубрика: FreeBSD,PerlVitaly Kovalyshyn @ 15:02

После того, как Укртелеком ввел новые тарифы на ADSL и до 24 Мбіт/с дома – это уже реальность, начал я думать какой-то скрипт для перезапуска PPPoE соединения. Моя линия смогла выдержать соединение на 17 Мбіт/с, но соединение на FreeBSD стало регулярно 1 раз в сутки зависать.

И так, на Perl написал скрипт, который пингует Яндекс (у Вас должен быть установлен perl модуль p5-Net-Ping) и если пинг не проходит, перезапускаем соединение. События логируем в /var/log/ppp.log для анализа. А вот и сам скрипт, который нужно прописать в crontab:

Читать далее →”Как перезапустить PPPoE на FreeBSD?”

Теги: , , , , , , , , ,


Следующая страница »