Архив рубрики «Серверсайд»

Установка Zend Debugger на Denwer

17.03.2009

Zend Studio for Eclipse может быть настроена для отладки кода на удаленном сервере, коим по отношению к предлагаемому средой Zend Server является «ленивый» Denwer. Для этого необходимо два шага.

Шаг 1. Скачать Zend Debugger и выполнить приложенную инструкцию. Результат шага — скопированный ZendDebugger.dll:

и обновленная конфигурация php.ini:

zend_extension_ts = «./ZendDebugger.dll»
zend_debugger.allow_hosts = 127.0.0.1
zend_debugger.expose_remotely = always

Шаг 2. Скопировать dummy.php (он тоже в скачанном архиве) в корень нужного виртуального хоста и настроить Zend Studio:

Виртуальные серверы на lighttpd

02.02.2009

Добавляем в конец конфигурационного файла lighttpd

ee /usr/local/etc/lighttpd.conf

корневой путь /usr/local/www/test для нового сервера test.ru:

$HTTP["host"] == "test.ru" {
   server.document-root = "/usr/local/www/test"
}

и рестартуем сервер

/usr/local/etc/rc.d/lighttpd restart

При желании можно добавить отдельный лог для нового хоста или изменить прочие параметры, имена которых аналогичны основной секции настроек.

Предполагается, что на DNS-серверах настроен проброс с test.ru на IP-адрес настраиваемого сервера.

Три зла современного php

02.02.2009

1. Автоматическая система экранирования небезопасных символов.
Выключаем в php.ini:

magic_quotes_gpc Off

или при отсутствии доступа к нему (виртуальный хостинг) строкой в .htaccess:

php_value magic_quotes_gpc Off

2. Автоинициализация переменных из всяких глобальных массивов $_GET, $_POST и пр.
Выключаем в php.ini:

register_globals Off

в .htaccess:

php_value register_globals Off

3. Засилье старых книг по лингвистике и функциональному программированию на языке.
Актуальным материалом можно считать pdf для подготовки к инженерной сертификации (в сети можно найти бесплатно).

В 6-й версии языка первые две проблемы уйдут сами собой.

О смене порта ssh

21.11.2008

Если вы оставили для ssh в своей freebsd порт по умолчанию, то в /var/log/auth.log очень скоро заметите следы брутфорса. Простейшим средством от подобных атак является как раз смена порта:

ee /etc/ssh/sshd_config

и рестарт сервиса

/etc/rc.d/sshd restart

ТЧК

Subversion (svn) для freebsd без apache

08.11.2008

Устанавливаем svn из портов

cd /usr/ports/devel/subversion
make install clean

Добавляем инструкции в /etc/rc.conf

svnserve_enable="YES"
svnserve_flags="-d – -listen-port=3690"
svnserve_data="/home/svn/repositories"
svnserve_user="svn"
svnserve_group="svn"

Создаем директорию для репозитория

mkdir -p /home/svn/repositories

Добавляем группу и пользователя

pw group add svn
pw user add svn -g svn -s /sbin/nologin -d /home/svn/repositories/

Создаем репозиторий

svnadmin create /home/svn/repositories/
chown -R svn:svn /home/svn/

Раскомментруем следующие строки в /home/svn/repositories/conf/svnserve.conf

anon-access = none
auth-access = write
password-db = passwd

Добавляем необходимых пользователей в формате логин=пароль в /home/svn/repositories/conf/passwd

Примечения.
1. Для редактрирования файлов я использую команду «ee filename».
2. Запуск и остановка svn-демона осуществляется командами

/usr/local/etc/rc.d/svnserve start
/usr/local/etc/rc.d/svnserve stop

3. Сука-вордпресс ломает кавычки в командах и двойной минус перед listen.

Удаление портов freebsd

08.11.2008

Для виртуального сервера с ограничением ресурсов не только по процессорным мегагерцам, мегабайтам памяти, емкости жесткого диска встает задача избавления от неиспользуемых байтов. Коллекция портов (/usr/ports), с помощью которой идеологически устанавливается подавляющая часть ПО, может быть без сожаления удалена

rm -rf /usr/ports

и с той же простотой восстановлена

portsnap fetch extract

ТЧК

Дапм mysql по cron

30.10.2008

У меня возникла обыкновенная задача создания резервной копии одной из таблиц в базе данных. Скрипты с правами 0750 лежат в $HOME/bash, архивированные дампы ложатся в каталог $HOME/dump с правами 0660.

Скрипт

#!/bin/sh
DATE=`date +%d.%m.%Y_%H.%M`
HOST=mysql-sintownr.ht-systems.ru
USER=user
PASS=pass
BASE=base
TABLE=table
/usr/local/bin/mysqldump –host=$HOST –user=$USER –password=$PASS $BASE $TABLE | /usr/bin/gzip -c9 > $HOME/dump/cl.$DATE.gz

Запись в cron

sh $HOME/bash/cl.hourly.sh

Обновление freebsd

15.10.2008

Задался целью обновить программное обеспечение своего виртуального сервера, поднятое из портов.

Для обновления потребуется portmanager.

cd /usr/ports/ports-mgmt/portmanager
make install clean
rehash

Освежаем коллекцию портов.

portsnap fetch extract

Смотрим (шаг необязательный), что требует обновления.

pkg_version -vIL=

Запускаем апгрейд с логом.

portmanager -u -l

Локальный репозиторий под Windows

18.06.2008

Пусть d:\svn — будущий репозиторий. Тогда выполним следующие шаги.
1. Скачать и установить дистрибутив.
2. Добавить службу

sc create svnserve binpath= «C:\Program Files\Subversion\bin\svnserve.exe –service –root d:\svn» displayname= «Subversion» depend= tcpip start= auto 

3. Добавить репозиторий

svnadmin create d:\svn 

4. Отредактировать файлы в d:\svn\conf
svnserve.conf

[general]
auth-access = write
password-db = passwd 

passwd

[users]
das = 123 

5. Присоединиться к репозиторию IDE или клиентом по адресу svn://localhost с указанными в passwd логином и паролем.