Давайте создадим изолированно приложение. Используя Docker создадим PHP приложение, которое будет доступно через nginx web-сервер и общаться с MySQL БД.
Показаны сообщения с ярлыком ubuntu. Показать все сообщения
Показаны сообщения с ярлыком ubuntu. Показать все сообщения
вторник, 11 августа 2015 г.
понедельник, 10 августа 2015 г.
Docker для PHP Разработчка. Часть 1 - Теоретическая.
Навеяно этим Docker for PHP Developers и Run a Symfony application using Docker and docker-compose.
Первое, что приходит на ум, если говорить о виртуализации локальных окружений - Vagrant. Vagrant - это, согласно официальной документации, утилита, для создания и конфгурирования легковесных, легко воспроизводимых и портативных дев окружений. В основном Vagrant поможет вам создать витруальную машину с уникальной комбинацией ПО, сконигурированного индивидуально для каждого проекта. Этот подход предлагает решить 3 вещи:
Первое, что приходит на ум, если говорить о виртуализации локальных окружений - Vagrant. Vagrant - это, согласно официальной документации, утилита, для создания и конфгурирования легковесных, легко воспроизводимых и портативных дев окружений. В основном Vagrant поможет вам создать витруальную машину с уникальной комбинацией ПО, сконигурированного индивидуально для каждого проекта. Этот подход предлагает решить 3 вещи:
- Vagrant изолирует окружение для избежания конфликтов версий ПО.
- Vagrant сохраняет конфигурации и версии одинаковые для каждого члена команды.
- Vagrant можно настроить максимально похожим к продакшен окружению.
пятница, 20 сентября 2013 г.
Обновляем версию PHP c 5.3 до 5.4 (last stable)
В своем work flow мы используем Ubuntu 12.04. По-умолчанию при развертывании рабочего места на это версии Ubuntu ставится PHP 5.3.10. Здесь я расскажу как безболезненно обновиться до 5.4.19 (на самом деле до любой стабильной 5.4, просто на текущий момент это 19)
Итак, есть замечательный Ondrej :) которы собирает установочные пакеты (ну или как это называется) для Ubuntu. Нужно всего лишь добавить с свою систему его источник, и обновиться.
# sudo add-apt-repository ppa:ondrej/php5-oldstable # aptitude update # sudo apt-get install php5 libapache2-mod-php5ОСТРОЖНО! в репозитории ppa:ondrej/php5-oldstable - 5.4.Х а в ppa:ondrej/php5 - 5.5.Х (но для 5.5 не работает sphinx.so) Навеяно этим.
воскресенье, 3 февраля 2013 г.
15 Примеров к мастерству Linux: Command Line History
1. Посмотреть список всех команд в хистори
2. Поиск поистории используя Control+R
5. Execute previous command that starts with a specific word
Полный список:
http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/
# history | more
2. Поиск поистории используя Control+R
# [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt] (reverse-i-search)`red': cat /etc/redhat-release [Note: Press enter when you see your command, which will execute the command from the history] # cat /etc/redhat-release
5. Execute previous command that starts with a specific word
# !ps ps aux | grep yp root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00 ypbind root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp
Полный список:
http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/
суббота, 13 октября 2012 г.
Ubuntu startup - автозапуск программ
Посмотреть список всех программ автозапуска Ubuntu
# ls /etc/rc?.dПосмотреть список всех программ автозапуска CentOS
# chkconfig --list programNameДобавить в автозапуск Ubuntu
# update-rc.d programName defaultsДобавить в автозапуск CentOS
# chkconfig --add programNameУдалить из автозапуска Ubuntu
# update-rc.d -f programName removeУдалить из автозапуска CentOS
# chkconfig --del programName
понедельник, 10 сентября 2012 г.
Архивы из командной строки
сжать в .tar
# tar -cvf folder.tar /path/to/folder
сжать в .tar.gz
# tar -cvzf folder.tar.gz /path/to/folder
распаковать:
# tar -zxvf archive.tgz
разбить любой файл на части:
# split -a 1 -b 400m ./film.tar.gz ./splitted_archive.tar.gz.
где:
"-a 1" - использовать один символя для суффикса (a, b, c)
"-b 400m" - бить на части по 400 мегабайт.
"./film.tar.gz" - источник
"./splitted_archive.tar.gz." - название новых файлов (в конце будут прибавляться суфиксы: splitted_archive.tar.gz.a, splitted_archive.tar.gz.b, splitted_archive.tar.gz.c)
склеить файл из частей:
# cat ./splitted_archive.tar.gz.* > ./film.tar.gz
где:
"./splitted_archive.tar.gz.*" - маска для файлов с частями
"./film.tar.gz" - результрующий файл
История команд терминала в Ubuntu
покажет на экране список ВСЕХ выполненных команд
history
выведет их в файл
history > /tmp/terminal_commands.txt
Создание ссылок на файлы
ln -s /etc/nginx/sites-avaliable/advice.loc /etc/nginx/sites-enabled/advice.loc
Рекурсивное удаление .svn папок
Заходим в папку и в ней выполняем. Удаляются все вложенные относительно текущей
rm -rf `find . -type d -name .svn`
Заглушка mail
#!/bin/shСкрипт сохраняем в папку /usr/bin под любым угодным вам именем и делаем исполняемым (sudo chmod +x). Я использовал fake_sendmail.sh.
prefix="/var/mail/sendmail/new"
numPath="/var/mail/sendmail"
if [ ! -f $numPath/num ]; then
echo "0" > $numPath/num
fi
num=`cat $numPath/num`
num=$(($num + 1))
echo $num > $numPath/num
name="$prefix/letter_$num.html"
while read line
do
echo $line >> $name
done
chmod 777 $name
/bin/true
Теперь все исходящие письма будут складываться в /var/mail/sendmail. Так же необходимо выставить для папки права на запись. (chmod 777 -R /var/mail/sendmail).
Примечание: Для сбора писем почтовиком (о чем ниже), нужно в этой папке создать следующую структуру папок: /var/mail/sendmail/ — new И дать права на запись.
Настройка PHP. У меня стоит Кубунта, так что все пути относительно нее. Итак, находим в папке /etc/php5/apache2 файл php.ini и меняем в нем путь к sendmail на:
sendmail_path = /usr/bin/fake_sendmail.sh
пятница, 15 апреля 2011 г.
Шпоргалка по настройке хоста в Ubuntu
О том как поднять локально хост на Ubuntu для разработки.
Никогда не запоминаю такие последовательности, особенно когда такое нужно делать раз в 2-3 месяца.
Никогда не запоминаю такие последовательности, особенно когда такое нужно делать раз в 2-3 месяца.
суббота, 1 января 2011 г.
Описание окружения
Вот уже c 2011 года мы работаем на Ubuntu (начинали с 10.04, сейчас уже 14.04) - чему безумно рады.
В качестве IDE - PhpStorm.
Пишем на PHP (PHP 5.5) + Zend Framework v1/v2.
СУВ: git + gitosis (хостимся на своем сервере).
БД: MySQL, PostgreSQL redis.
Инструменты: memcache, PhpUnit, Codeception, Symfony, xDebug, APC, pivotaltracker.
Недавно отказались от eAccelerator (глючил с open_basedir) на офф. сайте есть патч, но это не серьезно (не серьезно, когда продашкен упал спустя 2 недели без видимых причин).
Стандарты кодирования от Zend
nginx + php-fpm
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
PHP 5.5 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curl
apache2 + mod_php
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
xDebug (any stable)
PhpStorm (any stable)
SmartGit (free version!)
В качестве IDE - PhpStorm.
Пишем на PHP (PHP 5.5) + Zend Framework v1/v2.
СУВ: git + gitosis (хостимся на своем сервере).
БД: MySQL, PostgreSQL redis.
Инструменты: memcache, PhpUnit, Codeception, Symfony, xDebug, APC, pivotaltracker.
Недавно отказались от eAccelerator (глючил с open_basedir) на офф. сайте есть патч, но это не серьезно (не серьезно, когда продашкен упал спустя 2 недели без видимых причин).
Стандарты кодирования от Zend
Сервер
PHP 5.4 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curlnginx + php-fpm
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
Рабочее место
Ubuntu 14.04PHP 5.5 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curl
apache2 + mod_php
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
xDebug (any stable)
PhpStorm (any stable)
SmartGit (free version!)
Итак, настройка рабочего места программиста..
Подписаться на:
Сообщения (Atom)