ubuntu / debian subversion 1.7 deb

Here is a repository for subversion 1.7 (tested on Kubuntu 11.04):

add this line in your /etc/apt/sources.list file

deb http://opensource.wandisco.com/ubuntu lucid svn17 

And adding the key for it: 

wget http://opensource.wandisco.com/wandisco-debian.gpg \
 -O /tmp/wandisco-debian.gpg &> /dev/null
apt-key add /tmp/wandisco-debian.gpg
rm -rf /tmp/wandisco-debian.gpg 
 

Change virtualbox hdd uuid

If you didn’t clone existing virtualbox image using  VBoxManage you will get error like this:
Cannot register the hard disk …. because a hard disk … with UUID … already exists

All you need to do is to run this:

VBoxManage internalcommands sethduuid HDD.vdi

Install nginx, php5 with php5-fpm on ubuntu

Here is described how to install nginx with php support on Ubuntu (Kubuntu) 10.10 but it can be used for any other Linux distribution.

If you already have installed Apache web server on your system make sure it is not running:

$ sudo /etc/init.d/apache2 status
Apache2 is running (pid 4757).

$ sudo /etc/init.d/apache2 stop
* Stopping web server apache2                                                                                                                                                                 … waiting

$ sudo /etc/init.d/apache2 status
Apache2 is NOT running.

Next step is to install nginx server:

$ sudo apt-get install nginx

and php fpm:

$ sudo apt-get install php5-fpm

Now you need to create a new virtual host with name example.loc or whatever your domain is

cd  /etc/nginx/sites-available/

sudo cp default example.loc

And now edit this file with editor you like (for example with nano):

sudo nano example.loc

server {

listen   80; ## listen for ipv4
#listen   [::]:80 default ipv6only=on; ## listen for ipv6

server_name  example.loc;

access_log  /var/log/nginx/localhost.access.log;

location / {
root   /var/www;
index  index.php index.html index.htm;
}

#location /doc {
#root   /usr/share;
#autoindex on;
#allow 127.0.0.1;
#deny all;
#}

#location /images {
#root   /usr/share;
#autoindex on;
#}

#error_page  404  /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   /var/www/nginx-default;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache’s document root
# concurs with nginx’s one
#
location ~ /\.ht {
deny  all;
}
}

cd /etc/nginx/sites-enabled/

sudo ln -s /etc/nginx/sites-available/example.loc example.loc

You can check if links are ok with :

$ ls -la
total 8
drwxr-xr-x 2 root root 4096 2011-02-21 11:09 .
drwxr-xr-x 5 root root 4096 2011-02-21 10:56 ..
lrwxrwxrwx 1 root root   34 2011-02-21 10:56 default -> /etc/nginx/sites-available/default
lrwxrwxrwx 1 root root   38 2011-02-21 11:09 example.loc -> /etc/nginx/sites-available/example.loc

Now add this domain in hosts file:

sudo nano /etc/hosts

Add this line (if this ip address already exists just append ‘example.loc’ at end of the line )

….

127.0.1.1       example.loc

….

You can check if conf syntax is OK with:

$ sudo nginx -t
the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful

Restart nginx and php fpm:

$ sudo /etc/init.d/nginx restart
Restarting nginx: nginx.
$ sudo /etc/init.d/php5-fpm restart
* Stopping PHP5 FPM…                                                                                                                                                                [ OK ]
* Starting PHP5 FPM…                                                                                                                                                                       Feb 21 11:17:02.990639 [WARNING] [pool www] pm.start_servers is not set. It’s been set to 20.
[ OK ]

Now you can test it with loading domain url in browser: http://example.loc
You can switch between Apache and nginx with:

$ sudo /etc/init.d/nginx stop

Stopping nginx: nginx.

$ sudo /etc/init.d/apache2 start
* Starting web server apache2

Rewrite rules used with Zend framework can be used with nginx like this:

.htaccess file:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ – [NC,L]
RewriteRule ^.*$ index.php [NC,L]

For nginx make this changes:

sudo nano /etc/nginx/sites-available/example.loc

….

location / {
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
root   /var/www;
index  index.php index.html index.htm;
}

….

And you can force which server to load on system load with:

sudo sysv-rc-conf

Used resources:

http://www.howtoforge.com/installing-nginx-with-php5-and-php-fpm-and-mysql-support-on-ubuntu-10.10-p2

http://framework.zend.com/issues/browse/ZF-7701

dwoo with zend framework

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
function _initDwoo()
{
include_once ‘dwooAutoload.php’;

$viewInterface = new Dwoo_Adapters_ZendFramework_View ( array (
‘engine’ => array (
‘compileDir’ => realpath(APPLICATION_PATH . ‘/../tmp/templates/compiled’),  // calls the $dwoo->setCompileDir() method
‘cacheDir’ => realpath(APPLICATION_PATH . ‘/../tmp/templates/cache’)),  // calls the $dwoo->setCacheDir() method
‘compiler’ => array (
‘autoEscape’ => true ) ) );// calls $compiler->setAutoEscape()

$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer ( $viewInterface );
Zend_Controller_Action_HelperBroker::addHelper ( $viewRenderer );

return;
}

dwoo_zend_framework

The resource is not on the build path of PHP project

The resource is not on the build path of PHP project

Този проблем с Eclipse и phpeclipse има решенеие при редактирането на .project файла, като неговото съдържание трябва да е:

<?xml version=“1.0″ encoding=“UTF-8″?>
<projectDescription>
<name>project_name</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>net.sourceforge.phpeclipse.parserbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>net.sourceforge.phpeclipse.phpnature</nature>
</natures>
</projectDescription>

отворено писмо до нетуоркс (networx)

Публикувам това отворено писмо защото ако е вярно подобно държание на доставчик към клиент е възмутително!

http://www.krassyo.info/2009/07/29/open-letter-2/

Отворено писмо до г-н Свилен Максимов

сряда, 29 юли, 2009 @21:00  |  Публикувано от: krassyo

ОТВОРЕНО ПИСМО

От: Красимир Панайотов

До: инж. Свилен Максимов – главен администратор на “Нетуоркс България” ООД

На вниманието на интернет общността на Република България

Уважаеми г-н Максимов,
Уважаеми интернет потребители,
Уважаеми интернет доставчици,

Потребител съм на световната мрежа (за по-кратко ще я наричам “интернет”) от 1998 година. За голяма част от проектите, с които се занимавам ми е необходим широколентов интернет достъп и непрекъсваща свързаност.

От септември месец 2004 година до края на юни месец 2009 година ползвах услугите на русенския интернет доставчик “Нетуоркс България” ООД, още известен като Networx-BG: http://www.networx-bg.com. През цялото това време аз предплащах изрядно своите такси за интернет достъп като нито веднъж не съм просрочвал плащането си.

В началото на месец юни след една гръмотевична буря останах без интернет достъп в продължение на почти две денонощия. През това време се свързах четири пъти с поддръжката на въпросния интернет доставчик и нито веднъж не получих еднозначен отговор кога ще ми бъде възстановен достъпа до интернет.

Договорът на чиято база “Нетуоркс България” ООД предоставя достъп до интернет по кабелната си мрежа, който можете да прочетете тук: http://www.ruse-news.com/terms.html (с резервно копие на адрес: http://krassyo.bglinux.org/documents/nwx/networx-terms.html) дава неоправдания при днешното ниво на технологиите срок от 15 дни за отстраняване на проблеми. Това не даваше възможност да търся отговорност на фирмата заради отсъствието на интернет услуги през тези две денонощия и за това реших просто да сменя интернет доставчика си. В началото на месец юли се прехвърлих на настоящия си интернет доставчик – “Ен Би Ай Системи” ООД, който ползва при сключен договор с “Нетуоркс България” ООД преносната мрежа на “Нетуоркс България” ООД за да доставя своите интернет услуги на клиентите си. Бях привлечен заради високите скорости на широколентовия достъп, който ми беше и все още е необходимост, както и от мненията на други потребители на въпросния доставчик.

Не се оказах излъган в избора си. Скоростите, които получавах до вечерта на 24-ти юли 2009 година бяха близки до посочените в догова с “Ен Би Ай Системи” ООД. Ден по-рано (на 23-ти юли 2009 година) публикувах стойностите на скоростите ми в официалния форум на “Нетуоркс България” ООД на адрес: http://forum.networx-bg.com/viewtopic.php?f=22&t=24336&start=120#p245419 (с резервно копие на адрес: http://krassyo.bglinux.org/documents/nwx/networx-bg_forum.html#p245419).

Не зная дали би било правилно да свържа тази констатация за добри скорости с последвалото на 24-ти юли 2009 година ограничаване на скоростта ми през преносната мрежа на “Нетуоркс България” ООД с нареждане на главния администратор на “Нетуоркс България” ООД – Свилен Максимов.

Освен, че скоростта ми беше ограничена, моят интернет достъп до мрежата на “Ен Би Ай Системи” ООД беше невъзможен в продължение на няколко часа по време на извършването на промените по скоростта ми на достъп. Свързах се поддръжката на интернет доставчика ми и минути по-късно благодарение на адекватната и навременна тяхна реакция имах отново интернет достъп.

Часове по-късно установих, че моята скорост е ограничена на 10 мегабита в секунда (10Mbps), което е далеч от съвременните разбирания за широколентов интернет достъп. Свързах се отново с поддръжката на “Ен Би Ай Системи” ООД, от където минути по-късно потвърдиха опасенията ми – ниската скорост на интернет достъпа ми се дължи на издаденото нареждане от главния администратор на “Нетуоркс България” ООД лично на мен да ми бъде ограничен достъпа през преносната мрежа на “Нетуоркс България” ООД от 100 мегабита в секунда (100Mbps) на 10 мегабита в секунда (10Mbps). По този начин благодарение на наказанието, което еднолично ми наложи г-н Свилен Максимов не мога да се възползвам от пълната скорост на интернет достъпа, който ми предоставя интернет доставчика ми.

При молба от страна на служители от “Ен Би Ай Системи” ЕООД към поддръжката на преносната мрежа на “Нетуоркс България” ООД за отстраняване на проблема, отсреща следвал отказ без обяснение защо ми е ограничена скоростта. Единственото обяснение било, че това е нареждане на г-н Свилен Максимов, който не веднъж е обяснявал колко европейско е отношението му както към конкуренцията, така към неговите клиенти и служители.

Информацията беше потвърдена и от мой познат – служител в отдел поддръжка на “Нетуоркс България” ООД, който ме помоли “да не вдигам много шум”. Аз обаче не мисля да се съглася с него, защото конкретния казус засяга мен и в частност парите, които плащам за достъп до интернет, скорост на достъпа, която не получавам заради нареждането на главния администратор на “Нетуоркс България” ООД лично на мен да ми бъде наложено ограничение на скоростта.

Не. Не мисля да си трая, защото това е неоправдан реваншизъм от страна на човек с власт, който работи като главен администратор на фирма, имаща най-високия процентен дял от пазара на интернет услуги в град Русе.

Позволявам си да Ви попитам г-н Максимов, европейско ли е това отношение и в интерес на Вашия корпоративен клиент “Ен Би Ай Системи” ООД ли е това?
Осъзнавате ли, че така правите лоша реклама на своите партньори и корпоративни клиенти, които играят напълно лоялна игра спрямо Вас?
Морално удовлетворение ли печелите, когато си играете на лошия мрежов администратор и доказвате на свой бивш лоялен клиент, че можете да му спрете кранчето към интернет, дори и когато той вече не ползва услугите на фирмата, за която Вие работите?
Носи ли голямо удоволствие погазването на етиката на безпристрастния мрежов администратор?

Г-н Максимов, ако желаете да отговорите на това отворено писмо, можете да го сторите под формата на коментар тук.

Обръщам се към общността на българските блогъри и интернет потребителите ако не подкрепят методите на работа на главния администратор на „Нетуоркс България“ ООД да разпространят това отворено писмо за да покажем на останалите интернет потребители, че подобен тип „наказания“ са неприемливи за нас.

В актуалните си изявления, г-н Максимов, ползващ псевдоним TK3C-Pyce в официалния форум на „Нетуоркс България“ ООД споменава за индивидуалното си отношение към моят достъп до мрежата, позовавайки се на съществуващ договор между „Ен Би Ай Системи“ ЕООД и „Нетуоркс България“ ООД, който регламентира предоставянето на 10 Mbps свързаност по преносната мрежа на „Нетуоркс България“ ООД за клиентите на „Ен Би Ай Системи“ ЕООД. Въпреки това от отговора във форума става ясно, че само аз съм с „врътнато кранче“, защото според него не си зная мярката. Мярката за какво, г-н Максимов? Изявленията на главният администратор на „Нетуоркс България“ ООД във форума на интернет доставчика можете да прочетете на адрес http://forum.networx-bg.com/viewtopic.php?f=36&t=25310#p246132 (с резервно копие тук http://krassyo.bglinux.org/documents/nwx/nwx-boss.html#p246132).

С уважение,
Красимир Панайотов

Инсталиране на Google Chromium browser в Убунту (Ubuntu)

Днес си инсталирах Gogole Chromium browser на Linux (Kubuntu).

За тези които искат да го пробват ето как:

Редактира се файала с хранилищата (repositories)

/etc/apt/sources.list

добавят се следните 2 реда:

deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

Под конзола:

sudo apt-get update

Разбира се липсват ключовете:

W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5

За това се генерира ключа:

sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 5A9BF3BB4E5E17B5

след успешното импортиране се показва:

Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –recv-keys –keyserver keyserver.ubuntu.com 5A9BF3BB4E5E17B5
gpg: requesting key 4E5E17B5 from hkp server keyserver.ubuntu.com
gpg: key 4E5E17B5: public key „Launchpad PPA for chromium-daily“ imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Отново се изпълнява:

sudo apt-get update

Инсталира се стандартно за дебиан базирани дистрибуции:

Името на пакета е chromium-browser, а не chromium, което е някаква игра която си инсталирах като не знаех името на пакета :)

sudo apt-get install chromium-browser
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
chromium-browser
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.7MB of archives.
After this operation, 39.5MB of additional disk space will be used.
Get:1 http://ppa.launchpad.net jaunty/main chromium-browser 3.0.182.1~svn20090525r16857-0ubuntu1~ucd1~jaunty [16.7MB]
100% [1 chromium-browser 1036035/16.7MB 6%]
Fetched 16.7MB in 13s (1241kB/s)
Selecting previously deselected package chromium-browser.
(Reading database … 198852 files and directories currently installed.)
Unpacking chromium-browser (from …/chromium-browser_3.0.182.1~svn20090525r16857-0ubuntu1~ucd1~jaunty_i386.deb) …
Setting up chromium-browser (3.0.182.1~svn20090525r16857-0ubuntu1~ucd1~jaunty) …

Това е! :)

пуска се с:

chromium-browser

новината за нейтив поддръжка прочетох тук

http://www.ghacks.net/2009/05/26/google-browser-chromium-alpha-for-linux/

Създаване на PDF от снимки под Линукс (Кубунту)

Снимах си една книжка и стигнах до проблема да създам PDF файл от тези снимки. Първоначално се насочих към GS (ghost script), но има много по лесен начин за това. Използването на convert. Разбира се тази програма не върви стандартно с дистрибуцията и е необходимо да се инсталира допълнителен пакет.

The program ‘convert’ can be found in the following packages:
* imagemagick
* graphicsmagick-imagemagick-compat
Try: sudo apt-get install <selected package>
bash: convert: command not found

Аз използвах imagemagick.

sudo apt-get install imagemagick

И разбира се начинът, по който се прави конверирането:

convert *.jpg test.pdf

източникът е http://bitprison.net/jpg_to_pdf

Linux (Kubuntu) SMTP през Gmail

Това което ми беше необходимо е да мога да изпращам писма от Linux (Kubuntu) като използвам SMTP на GMail и най-вече да мога да пращам писма от PHP. Настройката се прави през кубунту (Kubuntu). Като начало е нужно да се инсталира postfix

sudo apt-get install postfix

Настройиките по време на инсталацията са без значение, като аз използвам настройките по подразбиране:  Internet и името на локалния хост.
Необходимо е да се променият следните файлове:

/etc/postfix/main.cf
/etc/postfix/generic
/etc/postfix/generic.db
/etc/postfix/passwd
/etc/postfix/passwd.db

sudo /etc/init.d/postfix stop

редактиране на /etc/postfix/main.cf

sudo mousepad /etc/postfix/main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA’s job.
append_dot_mydomain = no

# Uncomment the next line to generate „delayed mail“ warnings
#delay_warning_time = 4h

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localhost, localhost.localdomain

#mynetworks = 127.0.0.0/8
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/23
#mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all

##########################################
##### non debconf entries start here #####

##### client TLS parameters #####
smtp_tls_loglevel=1
smtp_tls_security_level=encrypt
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous

##### map jane@localhost to jane.doe@gmail.com #####
smtp_generic_maps=hash:/etc/postfix/generic

relayhost=[smtp.gmail.com]:587

редактиране на/etc/postfix/generic and /etc/postfix/generic.db
за изпращане на писма не е необходимо, но все пак …

sudo mousepad /etc/postfix/generic

jane@localhost   jane.doe@gmail.com

/etc/postfix/generic.db се получава по следния начин:

cd /etc/postfix
sudo postmap generic

Редактиране на /etc/postfix/sasl/passwd и /etc/postfix/sasl/passwd.db
файлът passwd съдържа Gmail паролата.

sudo mousepad /etc/postfix/sasl/passwd

[smtp.gmail.com]:587    jane.doe@gmail.com:doeadeer

за създаване на  passwd.db, се изпълнияват следните команди:

cd /etc/postfix/sasl
sudo postmap passwd
sudo chown root.root passwd passwd.db
sudo chmod 600 passwd passwd.db

След това се прави Start или reload на Postfix

sudo /etc/init.d/postfix start
sudo  postfix reload

тестване извърших с PHP с най-прост скрипт:

<?php

$message = „Line 1\nLine 2\nLine 3″;

if(mail(‘test@test.com’, ‘My Subject’, $message))
{
print ‘OK’;
}
else
{
print ‘Error’;
}
?>

По вече подробности може да се намерят от страницата:

https://help.ubuntu.com/community/GmailPostfixFetchmail

virtual hosts на apache в Kubuntu

За създаването на нови вируални хостове в кубунту се предполага че има работещо Apache. Има две папки, в които се намират конфигурационните файлове за това (т.е.конфигурационниа файл се намира в едната папка, а в другата се прави само линк към него). Тези две папки са:

/etc/apache2/sites-available/
/etc/apache2/sites-enabled/

В папкта sites-available има подразбиращ се конфигурационен файл default, който може да се копира и да се промени според изискванията за новиа виртуален хост.

Ето един примерен файл създаден в sites-available: test.lan

<VirtualHost *>
ServerName test.lan
ServerAdmin test@gmail.com

DocumentRoot /var/www/test.lan/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
# This directive allows us to have apache2′s default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory „/usr/lib/cgi-bin“>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ „/usr/share/doc/“
<Directory „/usr/share/doc/“>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

След това трябва да се съзададе линк към този файл в папката sites-enabled

$cd /etc/apache2/sites-enabled/

$sudo ln -s /etc/apache2/sites-available/test.lan test.lan

За да бъде открит хоста е необходимо да се добави името на хоста в hosts файла:

/etc/hosts

Необходимо е на реда където се намира:

127.0.0.1 localhost

да се добави името на новия виртуален хост

127.0.0.1 localhost test.lan

Като на края разбира се е необходимо да се рестартира Apache сървъра

sudo /etc/init.d/apache2 reload

или

sudo /etc/init.d/apache2 restart

Специално за Убунту базираните дистрибуции има и по лесен начин за пускане и спиране на виртуалне хост.

пускане на виртуален хост:

sudo a2ensite test.lan

спиране на виртуален хост:

sudo a2dissite test.lan

Информация за това може да се намери на много места, ето едно от тях:

http://www.debuntu.org/2006/02/22/7-virtual-hosting-using-apache-2

Follow

Get every new post delivered to your Inbox.