пятница, 31 августа 2012 г.

Селестина, день 4

Попробовал сделать молнии на клинке, прямо сходу не так пошло. Надо переделывать. И цветы с волосами как-то не так выглядят, надо придумать что-то.


четверг, 30 августа 2012 г.

Селестина, день 3

Ещё немного осталось:


среда, 29 августа 2012 г.

PHP и ./configure --prefix

Собираю сухосин. Не могу префикс задать, вместо моего /usr/local/php52 встаёт дефолтный.
Нашёл "фичу", епт: можно хоть обделаться, передавая конфигуратору опции, которые, между прочим, в хелпе конфигуратора перечислены, но он их затрёт данными, получаемыми от php-config. Странное поведение, по идее, должно быть наоборот. В общем, вместо префиксов просто задал
./configure --with-php-config=/usr/local/php52/bin/php-config

вторник, 28 августа 2012 г.

Святая Селестина

Попалась тут на ебее Святая Селестина из Адепта Сороритас, в субботу приехала. Бросил облитераторов, взялся за неё.
Вот результат на второй вечер:


Сегодня-завтра может доделаю.

Сборка php 5.4 для cpanel с php 5.3

Сказали, что надо для панелей запилить пых 5.4, сохранив основным 5.3.
Собрал c блекджеком, проститутками и параметрами:
./configure --prefix=/usr/local/php54 --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd-native-ttf --enable-mbstring --enable-pdo --enable-soap --enable-sockets --enable-wddx --enable-zip --with-bz2 --with-curl=/opt/curlssl/ --with-freetype-dir=/usr --with-gd --with-gettext --with-imap=/opt/php_with_imap_client/ --with-imap-ssl=/usr --with-jpeg-dir=/usr --with-kerberos --with-libdir=lib64 --with-libexpat-dir=/usr --with-libxml-dir=/opt/xml2 --with-libxml-dir=/opt/xml2/ --with-mcrypt=/opt/libmcrypt/ --with-mysql=/usr --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=/usr/bin/mysql_config --with-pcre-regex=/opt/pcre --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-pic --with-png-dir=/usr --with-tidy --with-xmlrpc --with-xpm-dir=/usr --with-xsl=/opt/xslt/ --with-zlib --with-zlib-dir=/usr --with-zend-vm --with-pgsql --with-pdo-mysql --with-pdo-pgsql
Пришлось по мелочи либ доставить, конфигурялка подсказала. Взял стоковый php.ini, поправил лимиты на память, аплоад, пост и еррор лог задал.
Дальше самое интересное: в suphp указываем путь до нового пыха и в конфе апача добавляем хандлер:

/opt/suphp/etc/suphp.conf:
application/x-httpd-php54="php:/usr/local/php54/bin/php-cgi"

/usr/local/apache/conf/includes/pre_virtualhost_2.conf:
suPHP_AddHandler application/x-httpd-php54

Теперь клиенту достаточно добавить в .htaccess:
AddType application/x-httpd-php54 .php5 .php4 .php .php3 .php2 .phtml
Самое главное - не забыть закомментить всё при запуске easyapache ))

среда, 22 августа 2012 г.

Книжка про перл

$ mkdir beginning_perl
$ cd  beginning_perl
$ lynx --source http://www.perl.org/books/beginning-perl/| grep pdf| awk -F"\"" '{print $4}' | xargs wget
$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Beginning_Perl.pdf -dBATCH 3145_Intro.pdf 3145_Chap01.pdf 3145_Chap02.pdf 3145_Chap03.pdf 3145_Chap04.pdf 3145_Chap05.pdf 3145_Chap06.pdf 3145_Chap07.pdf 3145_Chap08.pdf 3145_Chap09.pdf 3145_Chap10.pdf 3145_Chap11.pdf 3145_Chap12.pdf 3145_Chap13.pdf 3145_Chap14.pdf 3145_AppA.pdf 3145_AppB.pdf 3145_AppC.pdf 3145_AppD.pdf 3145_AppE.pdf 3145_AppF.pdf 3145_AppG.pdf 3145_AppH.pdf 3145_AppJ.pdf 3145_Index.pdf

Cpanel wildcard domains and nginx

На днях появилась такая проблемка:
1. Клиент в сипанели цепляет вайдкардный домен вида *.domain.com.
2. Панель добавляет алиас www.*.domain.com.
3. При генерации конфига nginx в директиву server_name попадает значение  "*.domain.com www.*.domain.com"/
4. Nginx проверяет новый конфиг и говорит, что он invalid, т.к. "*" допускается только в начале или конце сервернейма.

Сипанель нельзя заставить генерить имена с "*" в середине, поэтому пришлось выгребать такие имена из нагенерённого конфига.

Сделал такую штуку:
#!/usr/bin/perl
my $filename=$ARGV[0];
open(IN, "<", $filename) or die "open error\n";

while (<IN>) {
        my($line) = $_;
        chomp($line);
        if (m/server_name/) {
                $line =~ s/\S+\*\S+//g;
        }
        print  "$line\n";
}
Дергаю её после генерации конфига, в патч для скрипта-генератора:
--- build-conf.sh       2010-03-04 14:26:39.000000000 +0300
+++ build-conf.sh_new   2012-08-22 11:58:27.000000000 +0400
@@ -16,13 +16,16 @@

 cd $ROOT

-if [ ! -f $NGINX/vhosts.conf.new ]; then
-       touch $NGINX/vhosts.conf.new
-       chmod 600 $NGINX/vhosts.conf.new
+if [ ! -f $NGINX/vhosts.conf.raw ]; then
+        touch $NGINX/vhosts.conf.raw
+        chmod 600 $NGINX/vhosts.conf.raw
 fi

 # build nginx conf using default template in $TMPL
-$ROOT/ngx_conf_gen.pl -c /usr/local/apache/conf/httpd.conf > $NGINX/vhosts.conf.new || exit 4
+$ROOT/ngx_conf_gen.pl -c /usr/local/apache/conf/httpd.conf > $NGINX/vhosts.conf.raw || exit 4
+
+# remove invalid wildcarded server_name (example: www.*.server.com)
+$ROOT/rm_badwildcard.pl $NGINX/vhosts.conf.raw > $NGINX/vhosts.conf.new

 new=`$MD5 $NGINX/vhosts.conf.new | cut -f1 -d' '`
 cur=`$MD5 $NGINX/vhosts.conf | cut -f1 -d' '`

понедельник, 13 августа 2012 г.

gem install pg fail

Поганый руби не собирает pg:
# gem install pg
Building native extensions.  This could take a while...
......
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

        /usr/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Офигенно, вроде бы попросту не находит libpq-fe.h. А он есть ))
Задавать пути бесполезно, всё равно не находит ))

А на самом деле нужно поставить девел набор - gcc, make и т.д. и тогда всё соберётся )) Ну кто бы мог подумать )) А в еррорах это написать не судьба