Инсталиране на Opencart 1.5.1.3 + Български език

Тази публикация ще обясни в 10 стъпки как се инсталира opencart 1.5.1.3 и българският пакет на потребителската част:

1. Прави се Потребител и парола в MySQL ( ДА НЕ СЕ ПОЛЗВА ROOT)

2. Всички файлове от папката upload се качат в главната root директория примерно "public_html"

3. Изпълняват се тия права:

chmod 0755 or 0777 image/
chmod 0755 or 0777 image/cache/
chmod 0755 or 0777 image/data/
chmod 0755 or 0777 system/cache/
chmod 0755 or 0777 system/logs/
chmod 0755 or 0777 download/
chmod 0755 or 0777 config.php
chmod 0755 or 0777 admin/config.php

4. Инсталира се през уеб инсталатора

5. Изтрива се папката install

6. Изтегля се http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4193&filter_search=bulgarian&filter_license=0&filter_download_id=23&sort=e.date_modified&order=DESC
Превода е само за потребителската част, но не смятам, че е проблем. Има и пълен пакет за потребителската и административната част за 10$. Ако някои не може да се справи с англисйкия на админ панел смятам, че е редно да плати 10 $, все пак 10 долара не са никак много.

7. Разархивира се сваления файл и съдържанието му се кача в  и "catalog\language" .

8. Настройки на езика от административния панел (http://example.com/admin/):

От административния панел на магазина se изберa System -> Localisations -> Languages -> Insert.
Попълват се полетата:
Language Name: Bulgarian
Code: BG
Locale: bg.UTF-8,BG,bulgarian
Image: bg.png
Directory: bulgarian
Filename: bulgarian
Status: Enabled
Sort Order: 1

9. Променяте Sort Order на английския език на "2"

10. Това е всичко. Пиете по една биричка за добре свършената работа.

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

FTP Рекурсивно променяне на пермишъните

Днес трябваше да помогна на един приятел да му сложа opencart + някакви модули там. Голям шит е да се инсталира каквото и да е през контрол панел , но както и да е все пак през фтп(няма ssh тоя хостинг план) обаче ги ръчнало с 700 и съответно не работи. Това opencart има 91919191 под директории това нещо беше абсурдно на ръка да ги променям . Щях да цъкам през "ftp" без графични приложения ама не става. Междо другото понеже съм натнат в къщи се сетих да споделя какво направих, че може да е полезно на някои.

Когато си нат и се опитваш да се вържеш към ftp през конзолен ftp клиент се получава следното:

current_user@current_user:~$ ftp ftpmashina.com
Connected to ftpmashina.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 7 of 50 allowed.
220-Local time is now 11:39. Server port: 21.
220-This is a private system -- No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (ftpmashina.com:current_user): ftpuser
331 User ftpuser OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
500 I won't open a connection to 10.10.10.3 (only to 77.85.229.10)
ftp: bind: Address already in use

Изпълнява се просто:

passive

и всичко се оправя.
Това не е нещо ново и интересно просто реших, че може да е полезно на някои.

Все пак не ми се пише скриптче рекурсивно да ги разцъка всичките папки файлове затова ще ползвам вече графичен фтп клиент . Любимият ми:

Filezilla

С това графично приложение което си работи перфектно под Debian( като гледам има го и за Windows сигурно и там ще работи добре) много лесно се прави рекурсивна промяна на пермишъните на папки и файлове.

PS: Filezilla е сериозен фаворит при Графичните FTP Клиенти и при това Свободен(коРЕМ<сиално казано: БЕЗПЛАТЕНО).

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

Date проблем с php на host.bg

В български хостинг провайдър host.bg когато се изпълни date() през php и връща следната грешка:

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for 'EET/2.0/no DST' instead in /path/file.php on line 9

Решенеито е просто: Преди използването на date() да се добави:

date_default_timezone_set('Europe/Sofia');


Проблема може да се реши и с error_reporting, но предпочитам по- горното решение.


PS:
Препоръчвам host.bg за хостинг. Пичовете са готини и съпорта им е много добре!

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

за Добруджа

Интересна публикация за Добруджа:

Заключена от долното течение на Дунав и Черно Море , в триъгълника между Балчик, Силистра и Дунавското устие, Добруджа е земята, на която през VII в. за пръв път са стъпили конниците на Аспарух и основали българската държава….

Източник:dobrudja-news.com

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

Показване на записаните пароли в IE с IE PassView

Един приятел си записал паролата от много време в Internet Explorer за една услуга, обаче днес сяда на друга машина и съответно :) не може да влезе защото е забравил паролата. Идеята е да си вземе паролата от старата машина и я запомни вече.

Приложението се казва IE PassView и е windows-ско разбира се.

До колкото гледах някои windows антивирусни го репортват като проблемно приложение, но от софтуерната компания казват че не е за притеснение(абе дали е или не незнам). За случая върши работа взима се паролата и се форматира машината(това разбира се не значи 100% безопасност. Най- добре е дори да няма никаква Интернет връзка за всеки случай).

Ето и как изглежда приложението:

 

 

 


IE PassView може да се изтегли от ТУК

PS: Приложението е свободно или freeware.

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

Моето vimrc

Това е моето vimrc което си ползвам:

cat ~/.exrc

syn on
colorscheme evening
set backspace=2
set nocompatible
set ruler
set history=50
set tabstop=2 shiftwidth=2 expandtab
set noai
set noautoindent

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

Интернет Термометър=Arduino + Ethernet Shield + DHT22

Идеята е да наблюдавам температурата в конкретно помещение и температурата на вън. Това обаче трябва да става през интернет.

За целта ще използвам Arduino Uno + Ethernet Shield + Два броя Термометъра DHT 22(позволяват работа с по дълъг кабел).

Прилагам проста схема за свързване на Arduino + Ethernet Shield + DHT 22:


Това се изпълнява два пъти като единствената разлика е, че се слагат на различни пинове.

Ето приложение с което да се тества схемата до тук:

// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain

#include "DHT.h"

#define DHTPIN 4     // what pin we're connected to

// Uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");

dht.begin();
}

void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();

// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
} else {
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
}
}

Тук се вижда, че се изисква библиотеката DHT(dht.h,dht.cpp)

Сега след като всичко работи и сме включили Ethernet Shield-а е време да приключваме, че изгубихме много време :))).

Ето го и кода(използва се ethernet библиотеката която може да се вкл от приложението Arduino 0.23):

#include <SPI.h>
#include <Client.h>
#include <Ethernet.h>
#include <Server.h>
#include <Udp.h>

#include "DHT.h"
#define DHTPIN1 2     // IN
#define DHTPIN2 4     // OUT
#define DHTTYPE DHT22   // DHT 22  (AM2302)

DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address (amri)
byte ip[] = { 192, 168, 1, 252 };           // ip in lan dhstudio.bg
byte gateway[] = { 192, 168, 1, 1 };            // internet access via router
byte subnet[] = { 255, 255, 255, 0 };                   //subnet mask
Server server(80);                                      //server port
byte sampledata=50;            //some sample data -- outputs 2 (ascii = 50 DEC)
int ledPin = 4;  // LED pin`
String readString = String(30); //string for fetching data from address
boolean LEDON = false; //LED status flag
void setup(){
//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet);
//Set pin 4 to output
pinMode(ledPin, OUTPUT);
//enable serial datada print
Serial.begin(9600);
}
void loop(){
// Create a client connection
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100)
{
//store characters to string
readString += c; //replaces readString.append(c);
}
//output chars to serial port
Serial.print(c);
//if HTTP request has ended
if (c == '\n') {
//dirty skip of "GET /favicon.ico HTTP/1.1"
if (readString.indexOf("?") <0)
{
//skip everything
}
else
// now output HTML data starting with standart header
client.println("HTTP/1.1 200 OK");

float t1 = dht1.readTemperature();
float h1 = dht1.readHumidity();
float t2 = dht2.readTemperature();
float h2 = dht2.readHumidity();
client.print(t1);client.print(",");
client.print(h1);client.print(",");
client.print(t2);client.print(",");
client.print(h2);
//clearing string for next read
readString="";
//stopping client
client.stop();
}
}
}
}
}

Аз съм си го направил да ми извежда температурата и влажността на двата сензора разделени със запетая понеже ги парсвам по друг начин, но информацията може да се изведе по всякакъв HTML начин :)

Ето и малко снимки на завършения проект:

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 проблем с upload

Преместих блога на друга машина и като реших да кача тази снимка ми върна това съобщение:

“File.gif” не успя да бъде качен поради грешка
Неуспешно създаване на директория /var/www/wp-content/uploads/2011/12. Имате ли право да пишете в родителската ѝ категория?

Решението е просто да се каже какъв е абсолютния път на блога в базата:

update wp_options set option_value='/new_www/wp-content/uploads' where option_name='upload_path';

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Postfix бележки

Изтриване на всички писма от/до MAILER-DAEMON в опашката:

mailq | grep MAILER-DAEMON | awk '{print $1}' | tr -d '*' | postsuper -d --

Изтриване на всички писма в опашката:

postsuper -d ALL

В лог-а на postfix извеждаше:

….
Dec  4 21:32:09 mash postfix/qmgr[4892]: 888AB46267A0: from=<>, size=5961, nrcpt=1 (queue active)
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: mail for [127.0.0.1]:10024 is using up 4001 of 4001 active qu
eue entries
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: you may need to reduce amavis connect and helo timeouts
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: so that Postfix quickly skips unavailable hosts
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: you may need to increase the main.cf minimal_backoff_time and maximal_backoff_time
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: so that Postfix wastes less time on undeliverable mail
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: you may need to increase the master.cf amavis process limit
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: please avoid flushing the whole queue when you have
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: lots of deferred mail, that is bad for performance
Dec  4 21:32:09 mash postfix/qmgr[4892]: warning: to turn off these warnings specify: qmgr_clog_warn_time = 0

Поправка:

vim /etc/postfix/master.cf

Преди:
amavis unix -- -- -- -- 2 smtp

Сега:
amavis unix -- -- -- -- 250 smtp

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

Apache2 vhost списък

Извеждане на списъка на всички виртуални хостове (работещи) в apache2:

pff:/var# apache2 -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:*                    is a NameVirtualHost
default server example.com (/etc/apache2/sites-enabled/000-default:2)
port * namevhost example.com (/etc/apache2/sites-enabled/000-default:2)
port * namevhost example1.com (/etc/apache2/sites-enabled/000-default:49)
port * namevhost example2.com (/etc/apache2/sites-enabled/000-default:73)
port * namevhost example3.com (/etc/apache2/sites-enabled/000-default:91)
Syntax OK

isp2:/var# apache2 -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:*                    is a NameVirtualHost
default server isp2.dcable.net (/etc/apache2/sites-enabled/000-default:2)
port * namevhost isp2.dcable.net (/etc/apache2/sites-enabled/000-default:2)
port * namevhost enciklopedia.info (/etc/apache2/sites-enabled/000-default:49)
port * namevhost eseta.org (/etc/apache2/sites-enabled/000-default:73)
port * namevhost gubite.com (/etc/apache2/sites-enabled/000-default:91)
port * namevhost grimirane.com (/etc/apache2/sites-enabled/000-default:109)
port * namevhost pletivo.org (/etc/apache2/sites-enabled/000-default:127)
port * namevhost jenata.org (/etc/apache2/sites-enabled/000-default:144)
port * namevhost mladok.com (/etc/apache2/sites-enabled/000-default:161)
port * namevhost testove.dcable.net (/etc/apache2/sites-enabled/000-default:179)
port * namevhost obiavi.dcable.net (/etc/apache2/sites-enabled/000-default:198)
port * namevhost pchelite.info (/etc/apache2/sites-enabled/000-default:216)
port * namevhost webdesign7.net (/etc/apache2/sites-enabled/000-default:232)
port * namevhost xn--80abls2bib.name (/etc/apache2/sites-enabled/000-default:248)
port * namevhost xn--80abjcmfj6a9b.name (/etc/apache2/sites-enabled/000-default:265)
Syntax OK

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

Личен Блог на Мартин Петров