Показаны сообщения с ярлыком ubuntu. Показать все сообщения
Показаны сообщения с ярлыком ubuntu. Показать все сообщения

вторник, 11 августа 2015 г.

Docker для PHP Разработчка. Часть 2 - Практическая.

Давайте создадим изолированно приложение. Используя Docker создадим PHP приложение, которое будет доступно через nginx web-сервер и общаться с MySQL БД.

понедельник, 10 августа 2015 г.

Docker для PHP Разработчка. Часть 1 - Теоретическая.

Навеяно этим Docker for PHP Developers и Run a Symfony application using Docker and docker-compose

Первое, что приходит на ум, если говорить о виртуализации локальных окружений - Vagrant. Vagrant - это, согласно официальной документации, утилита, для создания и конфгурирования легковесных, легко воспроизводимых и портативных дев окружений. В основном Vagrant поможет вам создать витруальную машину с уникальной комбинацией ПО, сконигурированного индивидуально для каждого проекта. Этот подход предлагает решить 3 вещи:
  1. Vagrant изолирует окружение для избежания конфликтов версий ПО.
  2. Vagrant сохраняет конфигурации и версии одинаковые для каждого члена команды.
  3. 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. Посмотреть список всех команд в хистори
# 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

Размер папки из консоли

du -hsx /usr/home/natan
du -h /* --max-depth=0

Создание ссылок на файлы

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
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
Скрипт сохраняем в папку /usr/bin под любым угодным вам именем и делаем исполняемым (sudo chmod +x). Я использовал fake_sendmail.sh.
Теперь все исходящие письма будут складываться в /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 месяца.

суббота, 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

Сервер

PHP 5.4 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curl
nginx + php-fpm
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)

Рабочее место

Ubuntu 14.04
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!)

Итак, настройка рабочего места программиста..