Category Archives: sadmin

sadmin

joomla съобщение: "Unable to load Cache Storage: database"

Днес на един сайт на joomla излязоха следните съобщения:

Unable to load Cache Storage: database
Unable to load Cache Storage: database
Unable to load Cache Storage: database

за да се фиксне е необходимо в configuration.php да се направят следните корекции:

ПРЕДИ
var $cache_handler = 'database';

СЛЕД
var $cache_handler = 'file';

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Squirrelmail с проблем при кирилица

При отваряне или препращане на писма с кирилица понякога не се прави коректно от squirrelmail затова е необходимо да конвертираме всичко в utf8 и да го сетнем.
squirrelmail-cyrillic-problem

Ето го и решението:

cd /usr/share/squirrelmail_nuts;
find . -iname squirrelmail.po|grep bg
cd locale/bg_BG/LC_MESSAGES/;

iconv -f CP1251 -t UTF-8 squirrelmail.po > squirrelmail.utf-8.po;
sed 's/cp1251/UTF-8/' squirrelmail.utf-8.po > squirrelmail.po;
rm squirrelmail.utf-8.po;
msgfmt -o squirrelmail.mo squirrelmail.po;

cd /usr/share/squirrelmail_nuts;
find . -iname i18n.php

vim ./functions/i18n.php
$languages["bg_BG"]["NAME"] = 'Bulgarian';
$languages["bg_BG"]["CHARSET"] = 'utf-8';
$languages["bg_BG"]["LOCALE"] = 'bg_BG.UTF-8';
$languages["bg"]["ALIAS"] = 'bg_BG';

vim  locale/bg_BG/setup.php
$languages['bg_BG']['NAME']    = 'Bulgarian';
$languages['bg_BG']['CHARSET'] = 'utf-8';
$languages['bg_BG']['LOCALE']  = 'bg_BG.UTF-8';
$languages['bg']['ALIAS']      = 'bg_BG';

/etc/init.d/apache2 reload

thx to Hipo

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Windows tips (Дата на инсталиране на Windows и програми)

Определяне кога са инсталирани приложенията в Windows:

1. В регистри: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall

InstallDate
YYYYMMDD (eg 20090301 for here March 1, 2009)

2. Чрез Control Panel -> Programs and Features
Колоната "Installed on"

Определяне кога е инсталиран съответния Windows

1. В cmd се изпълнява: systeminfo|find /i "original"

2. В cmd: WMIC OS GET installdate

Резултат:
20131019011658
Извод: 2013(year) 10(month) 19(date) 01(hour) 16(minutes) 58(seconds)

3. В регистри:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate

Конвертира се в decimal, и примерно излиза: 1414160971
Това като се конвертира чрез онлайн приложението unix time conversion(http://www.onlineconversion.com/unix_time.htm) Или local излиза същата дата както през systeminfo

Как да се редактира дата на създаване, дата на редактиране на файл или папка под Windows:

Чрез Attribute Changer- http://www.petges.lu/home/

Кога е създадена папка или файл под Windows?
File Properties -> Created

Кога е инсталиран Linux?

ls -ld /var/log/installer
ls -ld /lost+found
Датите на двете папки са едни и същи и тези дати са всъщност датите на инсталиране

PS: Съдебна експертиза, Съдебни експертизи, експертиза, expertiza, xpertiza

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Cron не изпълнява своите задачи

Cron не се изпълнява своите задачи. Cron е пуснат като демон и работи, но не изпълнява задачите си 🙂

Всъщност проблема беше, че в един момент задачите в /etc/crontab не искаха да се изпълняват .
Пуснахме cron в режим "higher log level" от тук :
/etc/default/cron
EXTRA_OPTS="-L 2"

# service cron restart
Restarting periodic command scheduler: cron.

и видяхме следното нещо в /var/log/syslog:

tail -f /var/log/syslog|grep CRON

Feb 24 11:59:14 beta /usr/sbin/cron[16571]: (CRON) INFO (pidfile fd = 3)
Feb 24 11:59:14 beta /usr/sbin/cron[16572]: (CRON) STARTUP (fork ok)
Feb 24 11:59:14 beta cron[16572]: Error: bad minute; while reading /etc/crontab
Feb 24 11:59:14 beta /usr/sbin/cron[16572]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Feb 24 11:59:14 beta /usr/sbin/cron[16572]: (CRON) INFO (Skipping @reboot jobs --- not system startup)

Т.е. има синтактична грешка която пречи на cron да изпълни задачите си и понеже има много задачи там като разгледахме ред по ред видяхме, че на една от задачите наистина имаше грешка. Скед като се отстрани грешката се рестартира cron и готово 🙂

tail -f /var/log/syslog|grep CRON

Feb 24 12:00:11 beta /usr/sbin/cron[16708]: (CRON) INFO (pidfile fd = 3)
Feb 24 12:00:11 beta /usr/sbin/cron[16709]: (CRON) STARTUP (fork ok)
Feb 24 12:00:11 beta /usr/sbin/cron[16709]: (CRON) INFO (Skipping @reboot jobs --- not system startup)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Кодиране на кирилица за url

Идеята е, че имаме 200 url-та които искаме да кодираме с  php. Ето го решението(може да се направи от file,mysql или тук ако са малко директно в масив):

# cat cyr_url_encoder.php

<?php
$links=array(
'http://www.example.bg/',
'http://www.example.bg/cart',
'http://www.example.bg/adds/Камиони',
'http://www.example.bg/listing/931/Двигател',
'http://www.example.bg/contact',
'http://www.example.bg/parts/Бусове',
'http://www.example.bg/статия/Авточасти%20За%20Hyundai',
'http://www.example.bg/listing/935/Радиатор%20Парно',
'http://www.example.bg/listing/891/Шарнир%20Долен',
'http://www.example.bg/listing/854/Глава'
);//End of $links=array(


$myfile = fopen("decoded.txt", "w") or die("Unable to open file!");
foreach ($links as $link)
{
echo "[1]Orig: $link\n";
$link=urldecode($link);
echo "[2]Decoded: $link\n";
$info=parse_url($link);
$scheme=$info['scheme'];
$host=$info['host'];
$path=$info['path'];
$path=urlencode($path);
$urlencode="$scheme://$host$path";
$urlencode=str_replace("%2F","/",$urlencode);
echo "[3]Encoded: $urlencode\n\n";
fwrite($myfile, "$urlencode\n");
};

Резултата:

# php cyr_url_encoder.php

[1]Orig: http://www.example.bg/
[2]Decoded: http://www.example.bg/
[3]Encoded: http://www.example.bg/

[1]Orig: http://www.example.bg/cart
[2]Decoded: http://www.example.bg/cart
[3]Encoded: http://www.example.bg/cart

[1]Orig: http://www.example.bg/adds/Камиони
[2]Decoded: http://www.example.bg/adds/Камиони
[3]Encoded: http://www.example.bg/adds/%D0%9A%D0%B0%D0%BC%D0%B8%D0%BE%D0%BD%D0%B8

[1]Orig: http://www.example.bg/listing/931/Двигател
[2]Decoded: http://www.example.bg/listing/931/Двигател
[3]Encoded: http://www.example.bg/listing/931/%D0%94%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB

[1]Orig: http://www.example.bg/contact
[2]Decoded: http://www.example.bg/contact
[3]Encoded: http://www.example.bg/contact

[1]Orig: http://www.example.bg/parts/Бусове
[2]Decoded: http://www.example.bg/parts/Бусове
[3]Encoded: http://www.example.bg/parts/%D0%91%D1%83%D1%81%D0%BE%D0%B2%D0%B5

[1]Orig: http://www.example.bg/статия/Авточасти%20За%20Hyundai
[2]Decoded: http://www.example.bg/статия/Авточасти За Hyundai
[3]Encoded: http://www.example.bg/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%8F/%D0%90%D0%B2%D1%82%D0%BE%D1%87%D0%B0%D1%81%D1%82%D0%B8+%D0%97%D0%B0+Hyundai

[1]Orig: http://www.example.bg/listing/935/Радиатор%20Парно
[2]Decoded: http://www.example.bg/listing/935/Радиатор Парно
[3]Encoded: http://www.example.bg/listing/935/%D0%A0%D0%B0%D0%B4%D0%B8%D0%B0%D1%82%D0%BE%D1%80+%D0%9F%D0%B0%D1%80%D0%BD%D0%BE

[1]Orig: http://www.example.bg/listing/891/Шарнир%20Долен
[2]Decoded: http://www.example.bg/listing/891/Шарнир Долен
[3]Encoded: http://www.example.bg/listing/891/%D0%A8%D0%B0%D1%80%D0%BD%D0%B8%D1%80+%D0%94%D0%BE%D0%BB%D0%B5%D0%BD

[1]Orig: http://www.example.bg/listing/854/Глава
[2]Decoded: http://www.example.bg/listing/854/Глава
[3]Encoded: http://www.example.bg/listing/854/%D0%93%D0%BB%D0%B0%D0%B2%D0%B0

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Проблем със сайт преминал от http към https

Проблема е, че сайта се беше счупил непосредствено след редиректа към https.

Ето го решението:

Заменяме js и css да не се зареждат през http, а през https, т.е.:

Преди:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

Сега:
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"></script>

Преди:
<link rel='stylesheet' type='text/css' href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/themes/base/jquery-ui.css' />

Сега:
<link rel='stylesheet' type='text/css' href='https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/themes/base/jquery-ui.css' />

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Пренасочване на WordPress http към https

В преден пост описах как става пренасочването на целия сайт от протокола http към https. Понеже имаше един случай и това на WordPress "не работи" ето го решението как да се подреди .htaccess :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Проверка за redirect, чрез curl

Идеята е, че не искам да ползвам web-sniffer(много време отнема да въвежам captcha и т.н.) и затова използвам следния command line метод:
$ curl -s -o /dev/null -I -w "HTTP_CODE:
%{http_code}\nREDIRECT_URL: %{redirect_url}\n"  http://domain.bg/
HTTP_CODE: 301
REDIRECT_URL: https://domain.bg/

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)