OroCrm OroCommerce Marello Docker Images
Oro docker now available here https://github.com/djocker
Show & Tell
"I'm Dorothy Gale from Kansas"
PUT YOUR BEARD IN MY MOUTH

blake kathryn

ellievsbear

@theartofmadeline
sheepfilms
todays bird
Sweet Seals For You, Always

#extradirty

if i look back, i am lost
🪼
Today's Document
Noah Kahan
Lint Roller? I Barely Know Her

Andulka

No title available
2025 on Tumblr: Trends That Defined the Year
𓃗
will byers stan first human second

seen from Malaysia
seen from China

seen from Australia
seen from United States
seen from United States
seen from Colombia
seen from United States
seen from United States

seen from Netherlands
seen from Australia

seen from Malaysia
seen from Finland

seen from Malaysia

seen from United Kingdom
seen from Singapore
seen from United States
seen from United Kingdom
seen from United States

seen from Malaysia

seen from Malaysia
@xcherepanov-blog
OroCrm OroCommerce Marello Docker Images
Oro docker now available here https://github.com/djocker
OroCRM Stackfile for Tutum
Configuration for deploy OroCRM Application based on docker containers to Tutum.co
If you want to build containers based on your own source code use Vagrant Builder.
Cheap and high-quality Magento light checkout extension for your store to increase your sales and reduce cart abandonments
Best of all one page checkout extensions for magento
orocrm-docker-vagrant - Docker Image packaging for OroCRM
Vagrant box for building and running OroCRM docker containers https://github.com/SergeyCherepanov/orocrm-docker-vagrant
Setup Magento linux environment (varnish, nginx, php-fpm, mysql) in one linux command.
Доработанное расширение для мадженты.
By now, I’m pretty much used to and accept OSX as a desktop operating system. I remember it being quite a change when I first moved over (from Gentoo linux and Gnome 2). The mouse movement was wonky, I had to overcome years of muscle memory (learning to use the cmd instead of control key), and…
Установка phpunit
pear channel-discover pear.phpunit.de pear channel-discover pear.symfony.com pear install phpunit/PHPUnit pear install phpunit/DbUnit pear install phpunit/PHPUnit_Selenium pear install phpunit/PHPUnit_Story
Интересные и красивые графики и диаграммы на JavaScript.
Упаси вас господи столкнуться с Российской Сборкой Magento.
Функция для работы с json в mysql
Функция проверки является ли строка числом
CREATE FUNCTION IsNumeric (SIN VARCHAR(1024)) RETURNS TINYINT RETURN SIN REGEXP '^(-|\\+){0,1}([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+|[0-9]+)$';
Функция поиска значения по ключу
DELIMITER $$ CREATE FUNCTION `json`(`json` TEXT, `search_key` VARCHAR(255)) RETURNS TEXT CHARSET utf8 DETERMINISTIC BEGIN DECLARE i INT DEFAULT 1; DECLARE json_length INT DEFAULT LENGTH(json); DECLARE state ENUM('reading_key','done_reading_key','reading_string', 'reading_array', 'reading_number'); DECLARE tmp_key TEXT; DECLARE tmp_value TEXT; DECLARE current_char VARCHAR(1); WHILE i <= json_length DO SET current_char = SUBSTRING(json,i,1); IF state = 'reading_key' THEN IF current_char = '"' THEN SET state = 'done_reading_key'; ELSE SET tmp_key = CONCAT(tmp_key, current_char); END IF; ELSEIF state = 'done_reading_key' THEN IF current_char = '"' THEN SET state = 'reading_string'; ELSEIF current_char = '[' THEN SET state = 'reading_array'; ELSEIF IsNumeric(current_char)=1 THEN SET state = 'reading_number'; SET tmp_value=CONCAT(tmp_value, SUBSTRING(json,i,1)); END IF; ELSEIF state = 'reading_string' OR state = 'reading_array' THEN IF current_char = '\\' THEN SET i = i + 1; SET tmp_value = CONCAT(tmp_value, SUBSTRING(json,i,1)); ELSEIF (state = 'reading_string' AND current_char = '"') OR (state = 'reading_array' AND current_char = ']') THEN IF search_key = tmp_key THEN RETURN tmp_value; ELSE SET state = NULL; END IF; ELSE SET tmp_value = CONCAT(tmp_value, current_char); END IF; ELSEIF (state = 'reading_number') THEN IF (state = 'reading_number' AND isNumeric(current_char)!=1) THEN IF search_key = tmp_key THEN RETURN tmp_value; ELSE SET state = NULL; END IF; ELSE SET tmp_value=CONCAT(tmp_value, SUBSTRING(json,i,1)); END IF; ELSE IF current_char='"' THEN SET state = 'reading_key'; SET tmp_key = ''; SET tmp_value = ''; END IF; END IF; SET i = i + 1; END WHILE; RETURN NULL; END$$ DELIMITER ;
Установка Deluge BitTorrent в Ubuntu Server
Установка
Чтобы получить последнюю версию добавляем PPA репозиторий:
sudo apt-get update sudo apt-get install python-software-properties
sudo add-apt-repository ppa:deluge-team/ppa
Обновляем список пакетов:
sudo apt-get update
Устанавливаем клиента, консоль и демона:
sudo apt-get install deluge-common deluge-console deluged
Если хотим веб-интерфейс ставим и его:
sudo apt-get install deluge-webui
Все! Запускаем демона:
deluged
Настройка
Что бы включить удаленный доступ запускаем консоль:
deluge-console
И выполняем комманды:
config -s allow_remote True config allow_remote
Выходим из консоли:
exit
Добавляем пользователя для удаленного доступа (эти данные никак не связаны с вашим linux пользователем) и указываем права доступа:
echo "username:password:level" >> ~/.config/deluge/auth
Подробнее по правам доступа тут.
И перезапускаем демона:
pkill deluged deluged
Если хотим чтобы deluge запускался вмести с системой необходимо создать скрипты которые будут это делать.
Создаем конфиг:
sudo vim /etc/default/deluge-daemon
Вставляем туда этот код, обязательно в DELUGED_USER должен быть указан пользователь от имени которого будет работать демон:
# Configuration for /etc/init.d/deluge-daemon # The init.d script will only run if this variable non-empty. DELUGED_USER="" # Should we run at startup? RUN_AT_STARTUP="YES"
Создаем скрипт запуска:
sudo vim /etc/init.d/deluge-daemon
И пишем в него:
#!/bin/sh ### BEGIN INIT INFO # Provides: deluge-daemon # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Daemonized version of deluge and webui. # Description: Starts the deluge daemon with the user specified in # /etc/default/deluge-daemon. ### END INIT INFO # Author: Adolfo R. Brandes PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Deluge Daemon" NAME1="deluged" NAME2="deluge" DAEMON1=/usr/bin/deluged DAEMON1_ARGS="-d" # Consult `man deluged` for more options DAEMON2=/usr/bin/deluge-web DAEMON2_ARGS="" # Consult `man deluge-web` for more options PIDFILE1=/var/run/$NAME1.pid PIDFILE2=/var/run/$NAME2.pid UMASK=022 # Change this to 0 if running deluged as its own user PKGNAME=deluge-daemon SCRIPTNAME=/etc/init.d/$PKGNAME # Exit if the package is not installed [ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME # Load the VERBOSE setting and other rcS variables [ -f /etc/default/rcS ] && . /etc/default/rcS # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ] then log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it." exit 0 fi if [ -z "$DELUGED_USER" ] then log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME." exit 0 fi # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --exec $DAEMON1 \ --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null RETVAL1="$?" start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --exec $DAEMON2 \ --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null RETVAL2="$?" [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 1 start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile --exec $DAEMON1 \ --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS RETVAL1="$?" sleep 2 start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile --exec $DAEMON2 \ --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS RETVAL2="$?" [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2 } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2 RETVAL2="$?" start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1 RETVAL1="$?" [ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2 rm -f $PIDFILE1 $PIDFILE2 [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME1" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac :
Устанавливаем права на выполнение для root:
sudo chmod 755 /etc/init.d/deluge-daemon
Добавляем скрипт в автозагрузку и выгрузку:
sudo update-rc.d deluge-daemon defaults
Ну и проверяем сделанную работу:
sudo reboot
Веб интерфейс будет доступен по адресу http://ВАШДОМЕН:8112 с паролем по умолчанию "deluge" По мотивам: UserGuide
Экстремальная скорость Magento: как получить мгновенную скорость загрузки страницы
Факт: молниеносно быстрые магазины электронной коммерции имеют более высокий процент конверсии. Даже с учётом размера и сложности Magento можно получить практически мгновенную скорость загрузки страницы. Как ускорить Magento 1.6? Прежде всего, если вы не читали основы ускорения и производительности Magento, вы должны сделать это сейчас. Прочтите введение по ускорению здесь. После того как вы это сделали и если вы до сих пор ещё не вспотели, пришло время, чтобы подняться на ступеньку выше. Пришло время для сверхзвуковой производительности Magento!
Read More
Заставить браузер скачивать файлы, а не открывать.
Решение для Apache
Добавляем в файл .htaccess эти строки:
<IfModule mod_headers.c> Header set Content-Disposition attachment </IfModule>
Все файлы в папке где лежит .htaccess будут скачиваться, если необходимы дополнительные условия то надо воспользоваться дерективами <Location />, <Directory /> или <Files />.
Установка Java в Ubuntu Server 10.04
sudo apt-get install python-software-properties sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" sudo apt-get update sudo apt-get install sun-java6-jre sudo update-alternatives --config java
Sendmail-заглушка для php в Ubuntu Linux
Задача:
При отправке письма через sendmail сохранить его просто в папку на сервере.
Решение:
Создаем sh скрипт /usr/bin/fake_sendmail.sh:
vim /usr/bin/fake_sendmail.sh
C кодом:
#!/bin/sh prefix="/var/mail/sendmail" date=`date \+\%Y\%m\%d\%H\%M\%N` name="$prefix/$date.eml" while read line do echo $line >> $name done chmod 666 $name
Дадим ему права на выполнение:
chmod +x /usr/bin/fake_sendmail.sh
Теперь в настройках php.ini (у меня он в /etc/php5/apache2/php.ini) меняем путь к sendmail:
sendmail_path = /usr/bin/fake_sendmail.sh
Перезапускаем Аpache и проверяем.