UBUNTOMANIA

Ubuntu - Linux для людей

Saturday, Dec 16th

Изменен:10:42:28 AM GMT

Вы здесь: Серверы Web

Web сервер Ubuntu, Apache Ubuntu, PHP Ubuntu

Zend Guard Loader (вместо Zend Optimizer)

(4 Голосов)

Zend Guard

Zend Guard является решением для защиты PHP кода как интеллектуальной собственности.
Zend Guard предоставляет независимым поставщикам программного обеспечения и ИТ-менеджерам возможность безопасно распространять и управлять распространением своих PHP приложений, не раскрывая их исходный код.
Zend Optimizer является бесплатным приложением, которое раскодирует файлы закодированные с помощью Zend Guard и повышает общую производительность ваших PHP-приложений.

В основном, Zend Optimizer всегда и использовался именно с целью ускорить php приложения. Только вот последняя версия Zend Optimizer поддерживается PHP не младше версии 5.2. То есть, актуальная версия  PHP 5.3 им уже не поддерживается. В данный момент на сайте разработчика доступны старая версия Zend Optimizer и Zend Guard Loader для достаточно свежих версий Ubuntu c PHP версии 5.3.

Ускоряет ли он работу в Ubuntu php приложений, точно не известно. Но для работы некоторых CMS, типа UMI-CMS, он необходим.

Установим Zend Guard Loader (замена Zend Optimizer, который работает на PHP только до версии 5.2).

На сайте разработчика: http://www.zend.com/en/products/guard/downloads после регистрации можем скачать актуальную и подходящую под вашу платформу версию.

Установка на примере версии Zend Guard Loader (Runtime for PHP 5.3).

Понятно, что PHP Ubuntu вместе со всем LAMP уже установлены.

После скачивания, перебрасываем его на сервер каким-либо доступным образом, в директорию /tmp

Переходим в директорию /tmp и распаковываем архив.

cd /tmp
sudo tar zxvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

Создаем директорию для Zend Guard Loader

sudo mkdir /opt/zend

Перемещаем Zend Guard Loader

sudo mv ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz/php-5.3.x/ZendGuardLoader.so /opt/zend/

Подключаем Zend Guard Loader - редактируем в вашем Ubuntu php.ini

sudo nano /etc/php5/apache2/php.ini

Сразу после строки [PHP] добавляем строчки:

zend_extension = /opt/zend/ZendGuardLoader.so
zend_optimizer.optimization_level = 15

Сохраняем и закрываем. Перезапускаем Apache.

sudo service apache2 restart
Обновлено 18.11.2011 01:58

Защита Apache от DDoS атак

(1 Проголосовало)

DDoS

DDoS атака - атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам), либо этот доступ затруднён.

Защитим Apache от DDoS атак

Установим модуль защиты

sudo apt-get install libapache2-mod-evasive

Создадим конфигурационный файл mod-evasive.conf

sudo nano /etc/apache2/mods-available/mod-evasive.conf

Со следующим содержимым:

<IfModule mod_evasive20.c>
DOSHashTableSize 4096
DOSPageCount 5
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>

Сохраняем (Ctrl-O) и закрываем (Ctrl-X).

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

sudo service apache2 restart
Обновлено 18.11.2011 02:02

Защита паролем любой папки на web-сервере средствами Apache

(2 Голосов)

Защита папок на Web-сервере

Защита папок от несанкционированного доступа средствами сервера Apache  и файлов .htaccess и .htpasswd (работает не только в связке Apache Ubuntu, но и с любым другим димтрибутивом). При меняется для защиты различной служебной информации сервера, а также, для любой другой.

Защитим паролем папку, на примере папки /var/www/php

sudo htpasswd -c /var/www/php/.htpasswd admin

Система запросит пароль и подтверждение - введите новый пароль для доступа к папке.
В данном случае "admin" - имя пользователя для доступа к папке. Оно может быть любым.
Создадим файл .htaccess, который и будет защищать нашу папку.

sudo nano /var/www/php/.htaccess

Со следующим содержимым:

AuthName "Password protected"
AuthType Basic
AuthUserFile /var/www/php/.htpasswd
require valid-user

Сообщим об этом всем серверу Apache

Внесем изменения в конфигурационный файл Apache в вашем Ubuntu Server

sudo nano /etc/apache2/sites-available/default

Внизу, перед строчкой </VirtualHost>, строкой выше
вносим следующий код:

<Directory "/var/www/php">
AllowOverride All
</Directory>

Сохраняем, закрываем, перезапускаем Apache

sudo service apache2 restart
Обновлено 18.11.2011 02:02

Установка и настройка eAccelerator

(1 Проголосовало)

eaccelerator

eAccelerator – это свободно-распространяемый PHP ускоритель, оптимизатор и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. Работает с PHP в режиме fastcgi или mod_php.

Для установки нам понадобятся инструменты для сборки из исходного кода.

Установим их.

sudo apt-get install build-essential php5-dev subversion

Скачаем последнюю версию исходников eAccelerator из репозитория SVN

svn --username anonymous --password anonymous co https://svn.eaccelerator.net/eaccelerator/trunk eaccelerator

На вопрос о доступе ответьте t или p (временно или постоянно).
Закачается последняя версия eAccelerator.

Зайдем в директорию и произведем сборку и установку eAccelerator.

cd eaccelerator
phpize
./configure
make
sudo make install

Создадим конфигурационный файл

sudo nano /etc/php5/conf.d/eaccelerator.ini

Со следующим содержимым:

zend_extension = "/usr/lib/php5/20090626+lfs/eaccelerator.so" ; Запуск как расширение Zend Guard Loader
; extension = "/usr/lib/php5/20090626+lfs/eaccelerator.so" ; Вместо верхней строки выберите эту, если хотите запустить eAccelerator самостоятельным расширением PHP eaccelerator.shm_size = "0"
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 = ""
eaccelerator.compress = "1"
eaccelerator.compress_level = "7"
eaccelerator.allowed_admin_path = "/var/www/"

Сохраняем (Ctrl-O), закрываем (Ctrl-X).

Установим управление eAccelerator'ом

sudo mkdir /var/www/ea
sudo cp control.php /var/www/ea/index.php

Установим логин/пароль для доступа к панели управления

sudo nano /var/www/ea/index.php

Там увидите строчки (21-22 строки) с логином и паролем - замените на свои.

Удаляем исходники

rm -rf ~/eaccelerator

Создаем папку для временных файлов

sudo mkdir /var/cache/eaccelerator

и выставляем права на запись

sudo chown www-data:www-data /var/cache/eaccelerator
sudo chmod -R 0777 /var/cache/eaccelerator

Перезапустим сервер Apache

sudo service apache2 restart

Проверим работу eAccelerator

php -m | grep eAccelerator

Должен выдать

eAccelerator
eAccelerator

Посмотрим, с чем "взлетел" php

php -v

Должен выдать что-то типа

PHP 5.3.6-13ubuntu3.2 with Suhosin-Patch (cli) (built: Oct 13 2011 23:19:13) 
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with eAccelerator v1.0-dev, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

Поправляем конфигурацию phpMyAdmin

который отказывается работать (выдает белый экран) при включенном eAccelerator

sudo nano /etc/apache2/conf.d/phpmyadmin.conf

В блоке <Directory /usr/share/phpmyadmin>, в конец блока <IfModule mod_php5.c>, прямо перед строкой </IfModule>, добавляем:

php_admin_value eaccelerator.enable 0

Сохраняем, закрываем, перезапускаем Apache

sudo service apache2 restart
Обновлено 03.02.2012 22:38

Страница 1 из 2

Еще статьи по теме