Показаны сообщения с ярлыком PHP. Показать все сообщения
Показаны сообщения с ярлыком PHP. Показать все сообщения

четверг, 11 октября 2012 г.

Переносим базу Drupal/Pressflow 6, без очистки кэша

Drupal logo
Drupal logo (Photo credit: Wikipedia)
Мыши плакали, кололись, но продолжали жрать кактус.

Так и с друпалом, все плюются но продолжают использовать.

Случалось ли вам переносить базу друпала вместе с кэшем? Мда многие скажут что этим кэшем можно отдавить себе ... впрочем опустим это.

Конечно же самый простой способ это перед дампом очистить кэши и всё, или воспользоваться плагином самого друпала который создаст дамп без кэша, или использовать drush для этих целей. НО не всегда есть возможность воспользоваться перечисленными выше примерами (слишком высокая нагрузка для сброса кэша/несогласованно внесение изменений в прод/или бла-бла... что ни-будь ещё)

Если у вас именно этот случай читайте дальше.

среда, 19 сентября 2012 г.

CentOS LAMP чуть больше чем в две строчки

Устанавливаем httpd.
yum install -y httpd mysql mysql-server php php-cli\
 php-mysql php-common php-curl php-gd php-mcrypt php-suhosin
Записываем виртуалхост.
cat >> /etc/httpd/conf/httpd.conf <<EOF

NameVirtualHost *:80
<VirtualHost *:80>
        <Directory /opt/www/example.com>
        AllowOverride All
        </Directory>
    DocumentRoot /opt/www/example.com/

    ServerName example.com
    ErrorLog logs/example.com-error_log
    CustomLog logs/example.com-access_log common
</VirtualHost>
EOF
Создадим директорию сайта.
mkdir -p /opt/www/example.com/
Запишем httpd в автозагрузку и запустим сервис.
chkconfig --level 345 httpd on
service httpd start

Enhanced by Zemanta

Рассчитываем параметры prefork.c для Apache в Linux

English: Logo for the Apache HTTPD Server Proj...

Не так давно мне пришлось настраивать LAMP кластер с балансером несколькими WEB нодами и одной базой данных. В отличие от не больших сайтов с низкой загруженностью, крупным проектам нужна более детальная настройка. В этой статье я собираюсь рассказать о настройке лишь одного модуля под названием prefork.c это один из нескольки multi-processing модулей для Apache httpd и самый распространённый по ряду причин. Во время своих изысканий, я перерыл очень много документации и статей в интернете основная часть которых сводилась к тому, что параметры prefork.c для каждого хоста следует выбирать тестовым путём. Вышеуказанное заявление не лишено смысла, универсальных настроек не существует, но оно не решает основной задачи: а что же делать конкретно мне прямо сейчас, особенно в условиях продакшн сервера. Я решил попытаться ответить на этот вопрос, и сделать максимально простое и универсальное средство для решения этой задачи.

вторник, 11 сентября 2012 г.

PHP53u + memcache + apc в CentOS 5

Когда я попытался настроить memcache + APC в тестовой ветке CentOS 5, я очень удивился когда не нашел расширения memcache для php53 в репозитарии.

По этой пришлось использовать репозиторий IUS.

Приступим:
Установим репозитории в систему.
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-10.ius.el5.noarch.rpm
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-5-4.noarch.rpm

среда, 13 июня 2012 г.

Содержим в актуальном состоянии WEB Server на Debian


Если вы используете стабильную ветку Debian на момент написания этой статьи это Squeeze, и желаете иметь актуальные версии программ составляющих LAMP или у кого то может быть LNMP то вам прийдётся по душе репозиторий dotdeb.org

После его подключения у вас будут обновлены следующие пакеты, если конечно были до этого установлены.

mysql-5.5/
mysql-dfsg-5.1/
nginx/
percona-toolkit/
php5/
php5-pecl/
pinba-mysql-engine/
redis/
ruby-passenger/


Всё достаточно просто.
Достаточно прописать репозиторий в /etc/apt/sources.list , и добавить в apt его ключ.
При обновлении системы вышеуказанные пакеты будут обновляться из repo. dotdeb.org.
Пример для Debizn Squeeze
cat >> /etc/apt/sources.list <<EOF
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
EOF

wget http://www.dotdeb.org/dotdeb.gpg && cat dotdeb.gpg | sudo apt-key add -

apt-get update
apt-get dist-upgrade -y

понедельник, 16 апреля 2012 г.

Устанавливаем USVN на Debian Squeeze x64


Прежде чем приступим к установке, необходимо понизить версию php до версии 5.2 как это сделано в статье Понижение версии php5.3 до php5.2 в Debian 6 squeeze поскольку USVN сделан на старой версии Zend'a которая не умеет работать с php5.3

Когда будет устанавливаться MySQL-Server, нужно будет придумать и ввести пароль MySQL Root. Запомните его, или запишите.
apt-get update
apt-get install -y subversion php5 php5-cli php5-mysql mysql-server mysql-client apache2 libapache2-mod-php5 \
 php5-common php5-curl php5-gd php5-mcrypt php5-suhosin libapache2-mod-encoding libapache2-svn

Удалим дефолтовый index.html чтобы не мешался, и включим модуль rewrite.
rm /var/www/index.html 
git clone https://github.com/usvn/usvn.git /var/www/
mkdir /var/www/files/
chown -R www-data:www-data /var/www/
a2enmod rewrite
/etc/init.d/apache2 restart

четверг, 29 марта 2012 г.

Обновляем PHP в Centos 5 до версии 5.3


Для для обновления нам понадобится подключить репозитарий содержащий нужную нам ветку php.
cat > /etc/yum.repos.d/CentOS-Testing.repo <<EOF
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/\$releasever/testing/\$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*
EOF
Теперь мы сохраним список установленных модулей PHP, удалим существующие модули из системы, и на базе сохранённого списка, установим новые модули PHP.
rpm -qa |grep php > old_php.log
yum erase php-* -y
yum --enablerepo=c5-testing install $(cat old_php.log \
 | sed -e 's/-5.*$//g' | sed -e 's/php/php53/g' \
 | awk '{ printf $1" " }') -y

На этом обновление PHP завершено.
Проверим версию установленного PHP.
php -v
PHP 5.3.3 (cli) (built: Feb 22 2012 19:38:14) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Осталось перезапустить WEB сервер.

/etc/init.d/httpd restart





Enhanced by Zemanta

пятница, 20 января 2012 г.

Понижение версии php5.3 до php5.2 в Debian 6 squeeze


Для начала соберём список всех php модулей установленных в систему, и удалим их.
PHP=`dpkg -l | grep -i php | awk '{ printf $2" " }'`
apt-get purge ${PHP}
Добавим в sources.list старый репозиторий


cat >> /etc/apt/sources.list <<EOF
deb http://archive.debian.org/debian/ lenny main
deb-src http://archive.debian.org/debian/ lenny main
EOF

apt-get update
Объясним системе что нас интересует php версии ни как не выше 5.2

среда, 18 января 2012 г.

Web файлохранилище XtraFile на Debian

Мне кажется время от времени всем хочется иметь сервис хранения файлов по типу RapidShare, DepositFiles, iFolder и прочего, но только без лишних проблем, ограничения скорости и подобных неприятностей. Но всё ни как не доходили руки написать, или хотябы поискать готовые решения. На самом деле готовые решения уже есть omploader, XtraFile, Jyraphe, FileZ.

Сегодня я хотел бы рассказать об одном из таких сервисов. Я решил остановиться на XtraFile хоть он уже давненько не развивается, но чем то он мне приглянулся.

Для начала установим всё что нужно
apt-get update
apt-get install -y unzip php5 php5-cli  php5-mysql mysql-server \ 
 mysql-client apache2 libapache2-mod-php5 libfcgi-dev libmhash-dev sudo
a2enmod actions rewrite
/etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .

Если у вас Debian 6 Squeeze то вам прийдётся понизить версию php5.3 до php5.2

вторник, 6 сентября 2011 г.