понедельник, 25 апреля 2011 г.

Установка Webmin на Ubuntu Linux

Webmin — это графический web интерфейс для управления сервером на базе Unix подобных операционных систем. То есть установив Webmin вы можете удалённо конфигурировать и управлять Linux сервер в удобном графическом интерфейсе на русском языке через браузер.
Возможности.
  • Полное управление ОС (загрузка, процессы, состояние, log-файлы);
  • Управлять пользователями и группами и их правами;
  • Управлять всеми серверами (Apache, FTP, SSH, Samba);
  • Настройка сети в том числе и Firewall;
  • Проводить резервное копирование, и многое другое;
Поскольку Webmin это графический WEB интерфейс, то для его работы необходим web-сервер. Webmin представляет из себя набор cgi-скриптов, написанных на Perl, поэтому надо сначала поставить пакеты необходимые для его работы.
Запукаем терминал и одной командой устанавливаем необходимые пакеты:
sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
Далее я бы порекомендовал поставить SSH сервер, так как удаленно администрировать намного проще:
sudo apt-get install openssh-server
Осталось скачать самую свежую версию Webmin это можно сделать двумя способами.
Добавляем репозиторий Webmin, редактируем файл /etc/apt/sources.list:
sudo gedit /etc/apt/sources.list
В самом конце добавляем строку:
deb http://download.webmin.com/download/repository sarge contrib
Сохраняем изменения Ctrl+S и закрываем редактор.
Устанавливаем GPG ключ:
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
Устанавливаем Webmin для этого вводим команду:
sudo apt-get update
sudo apt-get install webmin
Запустить Webmin можно через браузер для этого введите следующий адресу в строку url:
https://localhost:10000
Примите сертификат и авторизируйтесь, используя учётную запись пользователя имеющего права на sudo.

Подключение mod_rewrite в Apache 2 в Ubuntu

Включаем  mod_rewrite:

Код:
sudo a2enmod rewrite

он создает симлинк в папке mods-enabled
в принципе, можно вместо вышеприведенного короткого кода написать и длинный:

Код:
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

После этого нужно в виртуальном хосте для твоего сайта (лежит в /etc/apache2/sites-available) написать:

<VirtualHost *>
        RewriteEngine On
</VirtualHost>

После этого перезагрузить апач:

sudo /etc/init.d/apache2 reload
 
если не помогло
То возможно в VirtualHost написано 
AllowOverride None - а это просто отключает .htaccess в котором  
прописана реврайт рулы. 
Пишем  AllowOverride All и все работает. 

Установка php EAccelerator на Linux Ubuntu

EAccelerator – это бесплатный opensource продукт, ускоряет выполнение скриптов от 2 до 10 раз

Как работает EAccelerator?

Перед тем как выдать html-содержимое клиенту, php компилирует скрипт в промежуточный байт-код, выполняет его… И так каждый раз.
Нельзя ли как нибудь оптимизировать и сэкономить процессорное время? Конечно можно! И в этом нам поможет EAccelerator! Он берет откомпилированный php-файл, и складывает его во временный каталог. Когда в следующий раз пользователь обращается к php-файлу, он сначала проверит – нет ли уже «готового» файла в кеше, и если есть – напрямую выдает его, экономя драгоценные такты процессора. Например, у меня нагрузка в часы пик упала с 80% до 5-15%.
Вещь однозначно из разряда must-have, я считаю что его вообще было бы здорово включить в базовую поставку PHP.
Ладно, не будем отвлекаться – а переходим сразу к практике – к установке.

Установка EAccelerator

Скачиваем последнюю версию и распаковываем
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
tar xjvf eaccelerator-0.9.6.tar.bz2
Далее командуем
cd eaccelerator-0.9.6
sudo phpize
Если будет ругаться что-то вроде:
phpize not found
то устанавливаем пакет:
sudo apt-get install php5-dev
и повторяем предыдущий шаг.
ОК. phpize успешно отработал.
Командуем в консоли:
./configure --enable-eaccelerator=shared
Далее:
make
make install
или лучше
chekinstall

Каталог, где разместился наш турбо-ускоритель будет выглядеть примерно так /. Если у тебя эта строчка отличается (например ты скачал более свежую версию EAccelerator, то не забудь заменить ее в конфиге, который будет приведен ниже)
ОК. Самое время приступать к конфигурации нашего зверя.

Настройка EAccelerator

Переходим в каталог конфигов PHP:
cd /etc/php5/conf.d/
И создаем дополнительный конфиг для нашего EAccelerator (имя файла ты можешь поменять по своему вкусу, но расширение .ini не трогай 
sudo nano eaccelerator.ini
Итак, открыли наш любимый Nano.
Быстренько набрасываем туда следующие строчки:
zend_extension                  = "/usr/lib/php5/20060613/eaccelerator.so"
eaccelerator.shm_size           = "16"
eaccelerator.cache_dir          = "/var/cache/eaccelerator"
eaccelerator.enable             = "1"
eaccelerator.optimizer          = "1"
eaccelerator.check_mtime        = "1"
eaccelerator.debug              = "0"
eaccelerator.filter             = ""
eaccelerator.shm_max            = "0"
eaccelerator.shm_ttl            = "0"
eaccelerator.shm_prune_period   = "0"
eaccelerator.shm_only           = "0"
eaccelerator.compress           = "1"
eaccelerator.compress_level     = "7"
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
И сохраняем.
ОК. Почти все готово, остались мелочи.
Создадим каталог под кеш, дадим разрешение на запись в него www-демону, а всех остальных пользователей отправим в пешее эротическое путешествие (незачем им в этот каталог совать свой нос).
sudo mkdir /var/cache/eaccelerator
sudo chown root:www-data /var/cache/eaccelerator
sudo chmod g=rwx,o= /var/cache/eaccelerator
Отлично. Перезапускаем индейца:
sudo /etc/init.d/apache2 restart
Трижды стукаем в бубен, скрещиваем пальцы, и печатаем:
php -v
Если вывалилось нечто подобное:
PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 4 2010 06:06:53)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
 Значит установка завершилась успешно.


суббота, 23 апреля 2011 г.

Админ панель для RED5

Небольшое дополнение к предыдущему посту.
Для тех, у кого в сборке Red5 отсутствует панель регистрации пользователей (обычно она располагается по адресу http://[sitename]:5080/admin/register.html):
  1. Идем на сайт проекта http://code.google.com/p/red5/downloads/list и качаем оттуда два файла, admin.jsp и AdminPlugin-1.0.zip
  2. admin.jsp кидаем в $RED5_HOME/webapps/root/
  3. Содержимое архива AdminPlugin-1.0.zip кидаем в папку $RED5_HOME/plugins/
  4. Перезагружаем сервер Red5, открываем страницу по адресу http://[sitename]:5080/admin.jsp
  5. Вводим нужные данные для нового пользователя, переходим на http://[sitename]:5080/demos/adminPanel.html, логинимся и оказываемся в панели администрирования.

Установка медиа-сервера Red5 на Ubuntu Server

Установка медиа-сервера Red5 на удаленную машину с Ubuntu, как оказалось, дело не такое уж и сложное. Опишу вкратце, как это делается.
Итак, для начала, у кого еще не стоит :), ставим subversion:
sudo apt-get install subversion
Затем ставим дистрибутивы Java (на данный момент последняя версия 1.6.0.15) и утилиту Ant:

apt-get install openjdk-6-jdk 
apt-get install openjdk-6-jre
apt-get install ant
Далее получаем из SVN сам Red5:

cd ~
mkdir temp
cd temp
Добавляем в окружение пути:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
export ANT_HOME=/usr/share/ant/
Компилируем Red5 из SVN:
cd red5
/usr/share/ant/bin/ant
Копируем скомпилированный сервер в нужную папку. Я выбрал /usr/share/red5/
mkdir /usr/share/red5
cp -R ./dist/* /usr/share/red5/
Выставляем права и тадам! Все почти готово!
cd /usr/share/red5
chmod 755 red5.sh
Теперь можно запускать и останавливать сервер следующими командами:
/usr/share/red5/red5.sh &
/usr/share/red5/red5-shutdown.sh &
Либо мочить процесс по ps ax | grep java, если что-то пошло не так (:

В итоге, зайдя по адресу http://[ваш_домен]:5080/ , вы увидите стартовую страницу работающего сервера:



Для того, чтобы было удобно использовать сервер как сервис, заюзаем скрипт, который я позаимствовал у Simon Eisenmann:
Создаем файл в /etc/init.d/red5, куда вставляем следующий код:
#! /bin/sh
#
# red5      red5 initscript
#
# Author:   Simon Eisenmann <simon@struktur.de>.
#
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Red5 flash streaming server"
NAME=red5
RED5_HOME=/usr/share/red5
DAEMON=$RED5_HOME/$NAME.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
# Read config file if it is present.
if [ -r /etc/default/$NAME ]
then
    . /etc/default/$NAME
fi
#
#   Function that starts the daemon/service.
#
d_start() {
    start-stop-daemon --start --pidfile $PIDFILE \
                --chdir $RED5_HOME --background --make-pidfile \
        --exec $DAEMON
}
#
#   Function that stops the daemon/service.
#
d_stop() {
    start-stop-daemon --stop --quiet --pidfile $PIDFILE \
        --name java
        rm -f $PIDFILE
}
case "$1" in
  start)
    echo -n "Starting $DESC: $NAME"
    d_start
    echo "."
    ;;
  stop)
    echo -n "Stopping $DESC: $NAME"
    d_stop
    echo "."
    ;;
  restart|force-reload)
    echo -n "Restarting $DESC: $NAME"
    d_stop
    sleep 1
    d_start
    echo "."
    ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac
exit 0
Затем выставляем ему права и добавляем в сервисы:
chmod 755 /etc/init.d/red5
чтобы севис сам запускался можно просписать строку запуска в /etc/rc.local
 sudo -u root -H /etc/init.d/red5 start
  или лучше сделать так

update-rc.d red5 defaults

Все, сервер Red5 готов, запускать и останавливать можно следующими командами:
/etc/init.d/red5 start
/etc/init.d/red5 stop
/etc/init.d/red5 restart
Red5 испозует следующие порты в дефолтной настройке, не забывайте их открыть, если у вас стоит файрволл:
Default ports:
1935,8088,5080,1936
RTMP: 1935
RTMPT: 8088
HTTP servlet engine port: 5080
Debug proxy port: 1936
Тепер можно зайти в панель установки приложений (http://[ваш_домен]:5080/installer/) и установить основное приложение oflaDemo, c которого можно начинать разбираться в устройстве Red5.
Проверить, открыты ли порты, можно приложением, входящим в комплект Red5, по адресу http://[ваш_домен]:5080/demos/port_tester.html

Как перенести машину из VirtualBox на Hiper-V

По работе возникла надобность перенести настроенную виртуальную машину из VirtualBox на Hiper-V сервер для чего было проделана следующие операции

1. Конвертируем жесткий диск из .vdi в .raw
VBoxManage.exe internalcommands converttoraw ubuntu-server.vdi ubuntu-server.raw

2. Конвертируем жесткий диск из .raw в .vhd. для этой операции пришлось воспользоваться WinImage portable
где в меню Disk выбираем Convert Virtual Hard Disk Image,

3. Создаем новую машину в Hiper-V. сетевую карту лучше поставить Legacy. и подключаем созданный  жесткий диск .vhd

4. Если в гостевой ос были установлены дополнения от VirtualBox то их можно удалить перейдя в каталог /etc/init.d/ и выполнив следующие команды:

chkconfig --del «vboxadd»
chkconfig --del «vboxadd-service»
chkconfig --del «vboxadd-x11»

Затем удаляем из каталога /etc/init.d эти файлы (vboxadd, vboxadd-service, vboxadd-x11)