Linux для web разработчика – Linux для веб-разработчика. Установка debian, nginx, php-fpm, mysql, nodejs, open-ssl, настройка программ и утилит

Содержание

Linux для начинающего разработчика или как навсегда забыть о Windows / Habr

Дисклеймер


Внимание, очень много букв! Предлагаю запастись попкорном и выделить время для данного мероприятия.

Пост предназначен в первую очередь для тех, кто занимается разработкой, но так же очень сильно поможет тем, кто пытался перейти на linux, но из-за каких бы то ни было непонятных вещей и трудностей плюнул и сказал: «Да ну нафиг этот линукс, еще возиться с ним буду».

В статье рассматривается установка Ubuntu 16.04 и настройка оной исключительно для работы.

Предыстория


Ранее уже были предприняты попытки перекатиться на linux, но из-за своей чрезмерной привязанности к продукту компании Microsoft, миграция в который раз откладывалась в «долгий ящик».

Так же меня всегда останавливало большое количество вопросов, на которые я не смог найти ответы, проблемы, ошибки и.т.д.
Но после того, как я заинтересовался и начал изучение Node.js, один товарищ меня все же подбил на переезд под предлогом того, что работать в linux будет удобнее. И вот, после нескольких неудачных попыток установки и некоторого времени использования Ubuntu в качестве основной ОС, я удалили драгоценную винду и навсегда забыл о ней. Ничуть об этом не жалею.

Приступаем к установке


Первое что нам надо сделать — записать загрузочную флешку или диск. Дистрибутив Ubuntu 16.04 весит всего 1.4 гб, поэтому лучше всего нам подойдет флешка. Скачиваем программу Unetbootin -> unetbootin.github.io.

Тут все довольно просто. Ставим «Образ диска», выбираем .iso файл, который мы скачали, выбираем носитель и нажимаем ОК. Запись не заставит себя долго ждать.

Перезагружаем систему и выбираем способ загрузки -> через USB. Но тут кого-то может подстерегать проблема, заключается она в том, что в обычном режиме загрузка не произойдет.

Чтобы все же завести флешку, пробуем загрузится с нее в UEFI режиме. Но позже, нас спросят, хотим ли мы продолжить установку в UEFI режиме. В случае если ваше решение перейти на linux является окончательным, то можете ответить утвердительно. Если же у вас есть необходимость загружаться в других ОС, то нажимаем «вернуться» (ума не приложу, почему именно так обозвали эту кнопку). Сама установка не должна вызывать каких-либо трудностей. Выбираем свой язык, и двигаемся дальше. Рекомендую в следующем окне поставить галочки:

В следующем окне выбираем пункт: «Другой вариант».

Далее нам нужно разметить диск. Если у вас 2 жестких диска и один из них не используется и на нем нет никаких данных, то просто выбираем его и нажимаем -> «Создать новую таблицу разделов».

У нас появится «свободное место», на него мы так же нажимаем и создаем первый раздел.

Раздел №1:

Размер root раздела может составлять и 4гб, но рекомендую поставить 40-50, чтобы имелся запас.
Тип — первичный
Местоположение — на всех разделах должно стоять «Начало этого пространства»
Использование — Ext4
Точка монтирования — " / "

Раздел №2:

Размер = размеру вашей оперативной памяти
Использование — раздел подкачки
Данный раздел играет роль резервной «оперативной» памяти, хранящейся на нашем жестком диске.

Раздел №3:

Размер = все оставшееся пространство
Тип — логический
точка монтирования — " /home "

Вот собственно и все, нажимаем продолжить, соглашаемся с тем что все файлы на разделах будут уничтожены. Далее — соглашаемся, вводим что просит. Теперь можно сходить попить кофе)

Настройка системы, оформление, подгонка под особенности железа


После установки мы конечно же перезагружаемся в нашу теперешнюю ОС, логинимся. Заходим в параметры системы -> программы и обновления, в первой вкладке выставляем галочки таким образом:

Сразу же выполним некоторые команды:

sudo apt update
sudo apt upgrade

sudo означает выполнение с правами администратора

После первой же команды у вас попросят пароль, который вы придумали на этапе установки. Не пугайтесь, если вы вводите пароль, а буквы не отображаются — это такая мера безопасности. Если спросит про установку пакетов и приветливо будет мигать курсором — смело пишем Y и нажимаем Enter. Так что же мы только что сделали сей командой? Мы дали команду пакетному менеджеру «apt» обновить список доступных пакетов и установить их. Принцип работы основывается на GIT, вы включаете репозитории, обновляете их, устанавливаете обновления.Это дает нам преимущество — у нас всегда все самое свежее. Список репозиториев лежит в /etc/apt/sources.list, но нам это вряд ли понадобится.

Обновление завершено — перезагружаемся, хоть и в linux это обычно не требуется, но возможно обновилось ядро и данную операцию все же следует провести. Вообще если после update вы видите строчки подобного содержания:

linux-headers, linux-generic

значит обновление затрагивает наше ядро и перезагрузка обязательна.

«Железные» проблемы


Лично у меня сразу возникла проблема с мышкой. Использую игровую мышь с чувствительностью 3800DPI. Естественно, она металась по всему монитору от малейшего передвижения. И проблема с отображением мониторов. У меня стоят 2х 17inch с соотношением 4:3. Один монитор у подключен в мат.плату, а второй — в видеокарту от AMD. С первым все было хорошо, а вот тот что на встроенной графике — затухал сразу же после входа в систему. На ум пришло написать скрипт в автозагрузку для замедления мышки и переопределения мониторов (может кому пригодится).
Решение проблемы с слишком шустрой мышкой

В консоли вводим xinput и видим список подключенных устройств. Находим свою мышь и переписываем ее ID. На моей мышке ID=11, вводим команду xinput list-props '11'. Перед нами опять появляется список, но уже с набором опций, нам нужна Device Accel Constant Deceleration, смотрим ее ID (в скобочках). У меня оно равно 274. Теперь, зная id мышки и id, мы пишем следующее:
xinput set-prop '11' 274 2

В домашнем каталоге создаем файл start.sh и открываем его, где последняя цифра (2) означает во сколько раз надо замедлить мышь. Данную команду можем сразу внести в наш скрипт.ё
#!/bin/bash
xinput set-prop '11' 274 2

Почему же мы не зашли в настройки и там не убрали чувствительность? Потому что диапазон регулировки там невелик. И скорее всего, его будет недостаточно.

Решение проблемы с некорректно отображаемыми мониторами


Заходим в настройки -> настройка экранов. Видим два мониторчика, мы можем схватить один из них и расположить так, как нам нужно, а так же выбрать, на каком располагать панель запуска. Нажимаем применить, и если после перезагрузки все останется на своих местах, значит никаких действий более не требуется.

Но у меня при выставленном в БИОС приоритете встроенной графики, после входа второй монитор выключался и оставался тот, что подключен к видеокарте. Что примечательно — после пробуждения из спящего режима, второй снова оживал и работал нормально. Смотрим нумерацию мониторов, здесь на главном мониторе стоит метка «Primary».

xrandr

Согласно номерам, выставляем как будут располагаться мониторы. Дописываем в наш скрипт:
#!/bin/bash
xinput set-prop '11' 274 2
xrandr --output VGA1-1 --primary
xrandr --output VGA1-1 --left-of VGA1

Теперь пришло время прописать скрипт в автозагрузку, открываем меню dash (клавиша WIN) и вводим в поиске:

«Автоматически запускаемые приложения». Нажимаем добавить, вписываем имя (не важно какое, главное чтобы вам был понятен смысл назначения этого элемента), описание оставляем пустым. Теперь в поле «команда» вводим следующее:

sh /home/user/start.sh

Этим самым мы отдаем команду на запуск скрипта. Путь у вас может быть любой другой. Сохраняем и при следующей перезагрузке проверяем работоспособность.

Если все же проблема с мониторами остается — попробуйте поколдовать с их расположением и приоритетом вывода видео в БИОС
Касательно драйверов — я не стал ставить поскольку все и без них работает хорошо, в случае с AMD установка драйверов может вызвать крах системы.

Настройка системы и установка программ


Добавление шрифтов windows

После установки браузера (чуть позже), вы заметите что шрифты на некоторых сайтах режут глаза и от них хочется плакать.

sudo apt install msttcorefonts
sudo fc-cache -fv

После перезагрузки браузера шрифты должны отображаться правильно. Если есть желание — вы можете выставить какой-либо из них как системный (в настройках или ubuntu tweak tool). Рекомендую зайти в ubuntu tweak и во вкладке «шрифты» выставить:

Софт из уже включенных репозиториев

Программы которые уже включены в репозиторий партнеров canonical вы можете установить следующим образом:

sudo apt install <Название программы>

Пакет программ, которыми пользуюсь я:

1. skype
2. ssh (для подключения и удаленного управления машиной)
3. unity-tweak-tool (Тонкая настройка оболочки unity)
4. ubuntu-tweak-tool (Расширенные настройки системы)
5. inkscape (Редактор векторной графики)
6. gimp (Использую вместо фотошопа)
7. clementine (Аудиопроигрыватель)
8. mc (файловый менеджер для терминала)
9. vlc (видеопроигрыватель, со множеством кодеков)

10. filezilla (ftp клиент)

Установка стороннего ПО

Чтобы установить стороннее ПО нам придется добавлять репозитории в систему.

Telegram

sudo add-apt-repository ppa:atareao/telegram
sudo apt update
sudo apt install telegram

Yandex browser

Качаем с официального сайта пакет, открываем его, в менеджере нажимаем «install».
Для просмотра видео, требуется flash, установим его.

sudo apt install pepperflashplugin-nonfree

Brackets

Мне нравится работать в «скобках», очень приятная и удобная вещь:

sudo add-apt-repository ppa:webupd8team/brackets
sudo apt-get update
sudo apt-get install brackets

Далее установим тему, я использую numix, но вы можете найти любую другую и установить ее.
sudo add-apt-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-gtk-theme numix-icon-theme n1umix-icon-theme-circle

После установки запускам unity tweak tool. Тему выставляем «Numix», значки так же «Numix». По душе темные темы? Запускаем ubuntu tweak tool и во вкладке «внешний вид» ставим «Применить темную тему глобально». Пока не вышли из ubuntu tweak, лучше прописать в автозагрузку skype и telegram.

Установка LAMP

Финальным штрихом установим LAMP сервер (Linux apache mysql php) и phpmyadmin:

sudo apt install lamp-server
sudo apt install phpmyadmin
sudo phpenmod mcrypt
sudo apt-get install php-mbstring php-gettext
sudo apt-get install php5-dev

Перезапустим apache:
sudo service apache2 reload

Пробуем зайти по адресу localhost. Если все в порядке, то двигаемся дальше. Открываем конфигурационный файл apache:
sudo nano /etc/apache2/apache2.conf

Находим там теги в них прописана информация о местоположении файлов нашего сервера, после последнего пишем такую конструкцию:

<Directory /home/user/public_html>
AllowOverride All
Require all granted

Путь можете указать какой вам удобно. В конце конфигурационного файла прописываем:

ServerName localhost

Внимание! Ниже описанные операции придется проделывать каждый раз при добавлении нового виртуального хоста!

Для добавления новых виртуальных хостов проделываем следующее. Создаем папку в директории /home/user/public_html/test, открываем /etc/hosts и в первую строку оного добавляем имя нашего сайта:

127.0.0.1 localhost testsite

Далее выполним в терминале:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf

Тем самым мы скопировали дефолтный конфигурационный файл для нашего сайта, открываем его:
sudo nano /etc/apache2/sites-available/testsite.conf

Раскомментируем строчку:
ServerName www.example.com

и вместо example.com впишем свое название. Далее подправим DocumentRoot который указывает на местоположение файлов нашего сайта, прописываем вместо стандартного /var/www — /home/user/public_html/test.

Теперь мы можем включить наш сайт:

sudo a2ensite testsite
sudo service apache2 reload

Вот и все. Базовая настройка завершена, можно пользоваться!

Не бойтесь искать в интернете, если вам что-то необходимо установить и настроить! Он не кусается. В данной статье я постарался изложить как можно подробнее процесс базовой настройки Ubuntu 16.04. Уверен, что после недели использования ubuntu в качестве основной ОС вы уже вряд ли вернетесь обратно.

Linux для web-разработчиков - студия Клондайк

Наша студия специализируется на комплексном интернет-маркетинге. Такой вид услуг подразумевает высокое качество работ. Проще говоря мы не работаем по схеме - создали и забыли. Мы ведем проекты на протяжении долгого времени (от нескольких месяцев до нескольких лет). В этой связи мы стараемся максимально стандартизировать все этапы работы, также как и среду работы. Благодаря этому качество исполнения у нас держится на достаточно высоком уровне.

В данной статье будет описываться пример перехода одной из студий на Линукс, а конкретно на дистрибутив Linux mint.

Для начала нужно описать причины, которые побудили компанию пойти на такой шаг.

Причина №1 - Проблемы закупки лицензионного ПО.

Конечно же ОС - Использовать нелицензионные копии ОС Windows в наше время достаточно опасно, в любой момент в дверь может постучаться отдел К.

В студиях полного цикла, где работают сотрудники разных профилей используется целый спектр специализированного программного обеспечения. Это и Фотошоп для дизайнера и Phpstorm для программистов. В ряде некоторых случаев можно воспользоваться бесплатными аналогами, но тут возникает вопрос удобства и привычки, который в достаточной мере влияет на производительность сотрудников и даже качества исполнения в конечном итоге.

Причина №2 - Идея максимально приблизить среду разработки к реальной.

Не секрет, что большинство серверов, на которых располагаются сайты используют ОС семейства UNIX. И для нормальной (читай комфортной и удобной) работы с серверами мы посадили наших web-девелоперов на Linux. Работая постоянно с терминалом с подмонтированными серверами сотрудники здорово повышают свой личный "скилл".

Кроме подмонтирования серверов в терминале мы так же подключили их напрямую в проводник. То есть, чтобы войти на сервер и провести простые и более операции с файлами (копирование, создание, удаление и т.д.) всего лишь можно воспользоваться стандартным проводником (NEMO). Никаких сторонних программ. Подробнее об этом чуть ниже.

Итак. Перечислим часто используемые инструменты web-разработчика.

  • редактор кода
  • графический редактор
  • средство для пакетного редактирования фотографий
  • файловый менеджер (с возможностью подключения к серверам)

Редактор кода

Sublime Text 3

Большинство сотрудников нашей компании использует отличный редактор Sublime Text 3. Он удобен и гибок в настройке. Используют его как контент-менеджеры, так и программисты. Огромное количество плагинов и возможность работы со сниппетами склоняет чашу весов в пользу Sublime Text 3.

Работа с Sublime Text 3 в Windows и Linux не отличается. Разве что пути до файлов настроек разные 😉

PHPstorm

PHPstorm - тяжеловес среди редакторов кода и несомненно лидер. В пользу него можно сказать многое. Это и возможность добавления сниппетов через GUI, да и вообще, для того чтобы настроить его под себя не нужно лезть в файлы настроек. Несомненным плюсом данной софтины является возможность работы с версионностью. Этакий аналог GIT. Программа сканирует файлы на сервере на предмет изменений и вовремя оповещает о таковых пользователя. Единственным минусом, который мы обнаружили во время тестирования программы на Linux оказалась ужасно долгая синхронизация.

Кроме Sublime Text 3 и PHPstorm были протестированы и другие решения, такие как Microsoft Visual Studio и Komodo, но в силу определенных обстоятельств в финал вышли только две программы.

Графический редактор

Использовать GIMP наш дизайнер бы наотрез отказался посади мы его на Linux, так как GIMP не умеет или вернее не корректно работает со слоями. Но так как дизайнер сидит за Mac, то кучи криков и возражений избежать удалось.

Что касается контент-менеджеров, то тут GIMP может полноценно заменить его аналоги на Windows. И даже больше, иногда контент-менеджерам приходится работать со слоями, и это им вполне удается, благо масштабы не те.

Учитывая что GIMP полностью позволяет выполнять поставленные задачи другие редакторы не тестились.

Средство для пакетного редактирования фотографий

Это особенно актуально для контент-менеджеров, которым очень часто нужно отресайзить кучу картинок, обрезать их под единый размер. На Windows для этих целей использовалась программа Infan View и она полностью удовлетворяла все потребности. В качестве альтернативы на Linux мы выбрали консольную утилиту ImageMagick. Да, программа консольная, но учитывая, что мы работаем на Linux, было бы, мягко говоря, не хорошо использовать только графическое ядро. Утилита обладает огромным функционалом, позволяющим производить практически любые действия над большим количеством фотографий.

Файловый менеджер

Вот тут мы и пришли к самому интересному. На Windows мы все использовали программу Winscp, на Linux полноценного аналога данной программы нет. Поэтому было принято решение использовать подмонтирование серверов как внешних дисков и последующая работа с ними через проводник Nemo. С точки зрения удобства работы данный способ очень хорош, но есть один большой минус. Это права. Создавая файл/папку на сервере мы создаём её от пользователя ROOT. Это плохо в первую очередь с точки зрения безопасности, во-вторых в последующим у тех, кто работал с созданными файлами или папками из под Windows возникали проблемы с их удалением/редактированием.

Данную проблему пока не удалось решить полностью. В качестве временного решения используем консольные команды меняющие права на папки и файлы с которыми мы работаем. Но и тут есть своя специфика. Данные команды нужно использовать крайне осторожно. Были случаи, когда по незнанию/рассеянности одной командой менялись права на весь сервер, что в свою очередь приводило к сбоям в работе.

Подытожим

Linux - это отличная операционная система, в которой однозначно можно работать web-разработчику. Большинство проблем, возникающих в процессе работы являются следствием незнания системы и "привычки", оставшийся после Windows.

Linux для веб разработчика - Вэб-шпаргалка для интернет предпринимателей!

Linux — отличная система для веб-разработки. Она хорошо настраивается, требует меньше ресурсов и многие вещи сделать проще, чем в Windows. Но что делать, если мы не хотим отказываться от привычных нам окошек, программ, утилит, которые предоставляет хорошо знакомая Windows? Можно поставить виртуальную машину с Linux на борту, установить все нужные программы, настроить окружение в Windows для работы с виртуалкой через sftp и работать, слушая при этом музыку через привычный аудиопрогрыватель. В статье показано, как можно настроить работу для тех, кто мало знаком с Linux и все еще думает, что это сложно и непонятно.

Общая схема работы.

Наша работа будет построена так: основная ОС — Windows, на ней виртуальная машина, в которой установлена Linux Debian 8. В Debian развернуто окружение для веб-разработки: nginx, php, mysql, nodejs. Никакого графического интерфейса, он нам не понадобится, только терминал. В Windows — ssh-клиент, sftp-клиент и настроен редактор кода для работы. Далее описываю всю схему более подробно. Примеры приведены для Windows 7 и Linux Debian 8.

Установка VirtualBox и Linux Debian 8

Дистрибутив debian скачиваем с официального сайта здесь — https://www.debian.org/distrib/, VirtualBox здесь — https://www.virtualbox.org/. Дальше нужно создать новую виртуальную машину и установить на нее debian. Не буду расписывать подробно, только основные моменты, которые использовал у себя:

  1. 1. Название — debian 8.
  2. 2. Жесткий диск .vdmk
  3. 3. Оперативная память — 1024 Мб
  4. 4. Система — предел загрузки цпу — 90%
  5. 5. Носители — добавить привод оптических дисков — выбираем наш образ
  6. 6. Сеть — тип подключения Сетевой мост

При установке debian выбираем пункт Install (просто Install). Установка самая обычная, затруднений быть не должно, большинство параметров оставляем по умолчанию. Создается суперпользователь root, для него создаем пароль (я задал root для удобства), и во время установки предлагается создать еще одного пользователя, назовем его developer.

Вот два пункта, которые я поменял за время установки

  • 1. зеркало архива debian — поставил mirror.yandex.ru
  • 2. Выбор ПО — снимаем все галки (все, что нам нужно, мы поставим сами)

На этом все, после перезагрузки система готова к работе, а мы к дальнейшей ее настройке.

Установка ssh-сервера на debian и ssh-клиента Putty в Windows

На самом деле установка Putty и работа с ним не обязательная часть. В виртуальной машине вполне можно работать и через консоль самой debian. Но Putty просто удобнее — это обычное Windows-приложение, мы можем в нем хранить настройки нескольких подключений, копировать команды из браузера и вставлять их в окно терминала и прочее.

Заходим в окно виртуальной машины и в терминале набираем команду su, вводим пароль root и готовимся установить openssh-сервер. Я пользуюсь aptitude ("менеджер пакетов" в debian) вместо стандартного apt-get, поэтому сначала можно установить его а уже потом ssh-сервер

Все! Теперь, чтобы подключаться к терминалу debian из Windows, нам нужно знать только ip-адрес, присвоенный нашей системе. Набираем команду ifconfig и среди кучи строк ищем айпи, у меня, например, оказался 192.168.0.31. Дальше в настройках буду использовать его для примера. Теперь нам нужно скачать Putty здесь — http://www.putty.org/

Запустить его и создать новое подключение:

  • 1. Host Name or IP address — 192.168.0.31
  • 2. port — 22 (по умолчанию)
  • 3. Saved Sessions — debian 8
  • 4. Жмем кнопку Save
  • 5. Жмем Open
  • 6. В окошке "putty security alert" жмем "Yes"

Если все сделали правильно, откроется терминал с приглашением ввести имя пользователя и пароль. Больше окно debian в VirtualBox нам не понадобится.

Установка WinSCP и sftp net drive

WinSCP — это удобный файл-менеджер для работы по sftp, похож на Total Commander.
Качаем его здесь — https://winscp.net/eng/download.php

Создаем новое подключение с настройками:

  • 1. Имя хоста — 192.168.0.31
  • 2. Порт — 22
  • 3. Имя пользователя — root
  • 4. Пароль — root/li>
  • 5. Жмем Сохранить
  • 6. В ответ на запрос "Продолжить подключение к внешнему серверу и добавить ключ в кэш?" — жмем да
  • 7. И наконец Войти

Чтобы можно было работать с файлами debian из привычного редактора, нужно установить sftp-драйвер.
Качаем здесь — https://www.nsoftware.com/netdrive/sftp/
В настройках вводим наш айпишник и запускаем. При этом у нас появится еще один диск, это и есть наша debian. Если при открытии мы попадаем в папку home и не можем подняться выше, нужно в настройках указать root directory "root folder on the Server — servers’s root folder" Теперь мы можем работать с файлами debian в любом редакторе кода.

Установка nginx, php-fpm, настройка конфига nginx и запуск первого сайта

Все, что мы делали до этого было подготовкой к самому интересному — непосредственному разворачиванию веб-сервера и php в debian. Установка выполняется двумя командами Все! Можно приступать к созданию нашего первого сайта в debian.

Небольшое отступление. Прежде чем запускать первый сайт, рекомендую установить тестовый редактор nano и замечательную программу tmux — что-то вроде оконного терминала. Дело в том, что можно вполне обойтись без них, файлы править в том же WinSCP, но, во-первых, иногда гораздо удобнее и быстрее сделать мелкие правки файлов прямо в консоли, а во-вторых, с самого начала привыкая работать в консоли linux, Вы сэкономите кучу времени в дальнейшем. Возможно, когда-то Вам придется работать с удаленными серверами, где будет только доступ по ssh и ничего больше. И скорее всего, этот момент наступит гораздо раньше, чем Вы предполагали. Подробности про nano и tmux расписывать не буду, легко гуглиться. Устанавливаются они так:

Перед созданием первого сайта хорошей практикой является создание отдельного пользователя для разработки, это будет созданный нами при установке developer, и отдельной папки под веб-проекты.

ВНИМАНИЕ: все дальнейшие операции в папке developer выполняются из пользователя developer, настройки конфигов nginx, php и прочих — от root-a. Желательно всегда работать под пользователем developer, а в root переключаться только для правки конфигов. В этой статье нам придется часто переключаться между пользователями, поэтому следите внимательно, с какими файлами Вы работаете. su переключает нас к пользователю root, su developer — к developer. Также для удобства можно завести 2 подключения в WinSCP — одно — от root-a, как мы и сделали, второе — от developer.

Для проектов создадим папку /home/developer/www, для логов — /home/developer/logs. В папке www создадим папку test.lc, а ней файл index.php с содержимым Все это делаем от имени developer.

Теперь нужно настроить конфиг виртуального хоста в nginx, подправить php.ini и запустить проект в браузере под Windows. Приступим (теперь делаем все от root-a) — создаем конфиг нового виртуального хоста и добавляем в него Уточняю — не стоит использовать этот конфиг в боевых условиях, он приведен только для примера разработки. Правильной настройкой конфигов nginx стоит заниматься специалистам в этой области 🙂

После этого нужно пофиксить cgi.fix_pathinfo=0 в файлике /etc/php5/fpm/php.ini и перезапустить nginx После этого в файле hosts в Windows добавляем строчку 192.168.0.31 test.lc и вводим в браузере http://test.lc/. Если все сделали правильно, то увидим строку "Hello, Debian 8" — все работает!

Установка и настройка Mysql

Следующим пунктом мы установим Mysql и подключимся к базе из нашего приложения. Зададим пароль для root — по привычке тоже root. Дальше мы создадим тестовую базу данных с одной табличкой, заполним ее данными и выведем в браузере ее содержимое.

Шаг 1. Создаем тестовую базу

Шаг 2. Создаем таблицу товаров (это одна команда)

Шаг 3. Заполняем таблицу данными

Шаг 4. Проверяем, что данных вставились успешно

Шаг 5. Выводим таблицу товаров на сайте. Для этого нужно заменить содержимое index.php следующим кодом

После всех этих действий обновляем страницу браузера и видим список наших товаров.

P.S. Хорошим тоном также считается создание новых пользователей Mysql под каждый проект, но для простоты и уменьшения кода мы этого не делали. На реальных проектах работать с базой от root-a не стоит, нужно создать отдельного пользователя с ограниченными правами.

Установка и настройка dbForge Studio for Mysql

Работать с Mysql через командную строку не очень-то удобно. Интереснее использовать клиент для работы с базой, например, phpmyadmin или workbench. Я покажу, как настроить работу с базой на примере dbForge, настройки для подключения к удаленной базе в других клиентах будут аналогичными. Скачать dbForge можно здесь — https://www.devart.com/ru/dbforge/mysql/studio/download.html
Для скачивания нужно только зарегистрироваться (бесплатно). После установки dbForge нужно создать новое подключение с такими настройками. Вкладка общие:

  • 1. Название — debian8
  • 2. хост — 127.0.0.1
  • 3. порт — 3306
  • 4. имя — root
  • 5. пароль — root
  • 6. Галочка "Сохранять пароль"

Вкладка безопасность

  • 1. Использовать протокол ssh
  • 2. Аутентификация с помощью пароля
  • 3. Хост — 192.168.0.31
  • 4. Порт — 22
  • 5. Пользователь — root
  • 6. Пароль — root
  • 7. Сохранять пароль

Нажимаем проверить и ОК. После этого должно создаться новое подключение, где мы увидим нашу тестовую базу и таблицу товаров. Можно добавить/изменить строки таблицы и убедиться в браузере, что все работает корректно.

Установка и настройка nodejs

И последним пунктом статьи будет описание настройки nodejs и запуск тестового проекта. Общая схема будет такой же, как и с php, поэтому описываю только основные моменты.

Шаг 1. Установка nodejs Проверяем установку командой node —version — смотрим версию nodejs.

Шаг 2. Создаем конфиг для нового хоста

Шаг 3. Тестовый проект.
Создаем папку /home/developer/www/test_node.lc. В папке создаем файл server.js с содержимым

Шаг 4. Запуск в debian.
Перезапускаем nginx и запускаем наш сервер.

Шаг 5. Проверка в Windows. В файле hosts добавляем строчку
192.168.0.31 test_node.lc
В браузере открываем http://test_node.lc/
Если все сделано правильно, то увидим приветствие "Hello World on port 3000". Все работает.

Установка git

А на эту тему написана отдельная статья — Как установить git в Linux

Вместо заключения

В этой статье мы кратко рассмотрели установку и настройку такой схемы веб-разработки, где непосредственно приложение работает в Linux, а доступ к этому приложению мы получаем из Windows. Возможно, у кого-то возникает вопрос: а зачем все это нужно? Ведь можно намного быстрее и проще настроить в самой винде, поставить денвер или OpenServer и не заморачиваться так. Или сразу перейти на Linux и не придумывать схемы работы с двумя ОС. Конечно, вопрос о том, как организовать свою работу, субъективный, это дело привычки и удобства. Но для себя я выделил несколько пунктов, почему стал работать именно так.

  • 1. Нежелание полностью отказываться от Windows, от ее привычных программ, проигрывателей, кнопки Пуск, привычных настроек и драйверов, игр, в конце-концов
  • 2. Неготовность переходить на Linux, ставить ее в качестве основной ОС. Перепробовал несколько дистрибутивов Linux, ни один не показался настолько удобным, как Windows 7.
  • 3. Удобство установки и настройки нужных программ в Linux
  • 4. Только командная строка, никакого графического интерфейса. Рано или поздно придется столкнуться с командной строкой на боевых сайтах, где не получится настроить GUI. К тому же, освоив командную строку Linux, будет легко работать, например, в терминале MacOS.
  • 5. Отказ от "комплектов" вроде денвера и установка всего руками, чтобы лучше понимать, что и как работает и настраивается
  • 6. Скорость работы Linux и отсутствие необходимости устанавливать в основной ОС программы и сервисы для работы.

О том, какая операционная система лучше, можно спорить бесконечно — у противоборствующих лагерей полно разумных аргументов. Сегодня мы поговорим про линуксовые системы — в отличие от конкурентов, они дают больше свободы, позволяют конфигурировать их под свои задачи и возможности машины. Формат open-source — ещё один их плюс. Это именно то, что так любят программисты. Если подумываете отказаться от «родных» Windows или MacOS — ловите подборку лучших дистрибутивов Linux-систем.

Ubuntu

Ubuntu считается лучшей системой для новичков, переход на неё с Windows и MacOS не уничтожит ни единой нервной клетки. Установка программ и пакетов предельно проста: базовое знакомство — и вы не почувствуете неудобств. Для разработчиков и программистов эта линуксовая ОС привлекательна стабильностью и надёжностью.

Ubuntu постоянно растёт и обновляется, в этом она схожа со «старшими» конкурентами. Как у Windows, у неё есть несколько дистрибутивов (Lubuntu, Xubuntu, Kubuntu), которые сохраняют функциональность, требуя меньше ресурсов. Это весомый аргумент для старых машин или задач, где нужна высокая производительность.

Бонус — отличная поддержка ОС. Все недочёты в Ubuntu устраняются молниеносно, техническая поддержка отвечает на вопросы постоянно, перечень дистрибутивов программ огромный и постоянно пополняется.

Pop!_OS

Американский производитель компьютеров и серверов System76 в прошлом году выпустил операционную систему Pop!_OS. Формально это та же Ubuntu, но изменения в графической оболочке GNOME и подключение собственных пакетов юридически сделали её новой системой.

По факту, для российского пользователя Pop!_OS — это Ubuntu с изменённым интерфейсом и улучшенной функциональностью. Если у вас есть претензии к внешнему виду первого фигуранта нашего списка — попробуйте Pop!_OS.

Debian

Debian — базовая ОС как для вышеупомянутых Ubuntu и Pop!_OS, так и менее раскрученных SteamOS, Linux mint, Knoppix. Исключительная стабильность делает Debian надёжным фундаментом для надстроек. Если захотите сделать свою операционную систему с блэкджеком и прочими приложениями — кастомизируйте Debian.

CentOS

Red Hat Enterprise Linux (RHEL) — одна из известнейших корпоративных ОС на базе Linux. CentOS — её ближайшая альтернатива, позволяющая запускать большинство приложений от RHEL и пользоваться менеджером загрузок YUM. Ещё одно преимущество — CentOS имеет доступ к репозиторию Red Hat Software Collections (RHSCL), расширяющему возможности по использованию языков и баз данных.

CentOS подходит для профессиональной разработки, позволяя не тратить время на организацию взаимодействия с коллегами и поиск свежих дистрибутивов.

Fedora

Альтернатива RHEL для корпоративного использования. Обновления выходят каждые полгода, все необходимые пакеты включены в базовую сборку, конфигурация автоматическая. Факт (почти реклама): Fedora использует сам Линус Торвальдс, оценивая эту ОС выше Ubuntu и Debian.

Kali Linux

Операционная система, предназначенная для программистов в области кибербезопасности. Если вы видели сериал «Мистер Робот», то наверняка приметили там Kali Linux. Она основана на Debian и содержит множество инструментов для взлома и защиты системы. К примеру, «из коробки» поставляются John the Ripper — утилита для восстановления паролей из хэшей, Aircrack-ng — улавливатель беспроводных сетей и перехватчик трафика, а также сканер OWASP ZAP. Такой набор будет интересен каждому разработчику, и это только малая часть возможностей.

Ещё одна фича — возможность полноценно установить ОС на Raspberry Pi в качестве альтернативы Raspbian.

Arch Linux

Если вам нужна легковесная операционная система с гибкими возможностями настройки (в том числе ядра), обратите внимание на Arch Linux. ОС поставляется с голым «фундаментом» и Pacman — менеджером пакетов. Графический интерфейс идёт как опция, а не необходимая составляющая, что ценят тру-программисты.

Gentoo

У Gentoo те же преимущества и недостатки, что у Arch. К первым можно отнести тотальный контроль над сборкой: буквально каждый элемент будет установлен только с вашего разрешения. Отсюда и недостатки — без опыта в линуксовых системах собрать удобную ОС будет затруднительно.

NuTyX

Вариация Linux ОС для профессиональных программистов. Ядро Kernel и менеджер пакетов — чтобы создать надёжную систему для личного пользования. Настройка здесь чуть удобнее, чем в предыдущих дистрибутивах, но лучше запаситесь кофе и терпением — установка займёт много времени.

OpenSUSE

Вернёмся к «дружелюбным» системам, на которые стоит обратить внимание Linux-новичку. OpenSUSE — достойная альтернатива Ubuntu. Удобна для разработчиков благодаря множеству доступных сред и приложений, загружаемых с помощью менеджера пакетов YaST. С ним вы забудете о стандартных приложениях Windows и MacOS — здесь тоже всё на высшем уровне.

Elementary OS

Завершим обзор самой понятной системой для новичков. В Elementary масса графических надстроек, так что перейти на нее с привычной ОС будет легко. Возможностей для разработчика здесь немного, зато пользователь оценит множество эксклюзивных GUI и приложений.

Если понравилась Elementary OS, обратите внимание на ChaletOS и Manjaro. Это схожие по устройству системы, которые подойдут для повседневного использования: просмотра почты, фотографий, видео. С их помощью можно дать вторую жизнь старому ноутбуку.

Сборок и кастомных систем Linux значительно больше перечисленных одиннадцати. Но именно они на сегодняшний день наиболее популярны и стабильны. Познакомьтесь с ними, «набейте руку», оцените преимущества и недостатки и обязательно расскажите о своем опыте в комментариях!

О том, какая операционная система лучше, можно спорить бесконечно — у противоборствующих лагерей полно разумных аргументов. Сегодня мы поговорим про линуксовые системы — в отличие от конкурентов, они дают больше свободы, позволяют конфигурировать их под свои задачи и возможности машины. Формат open-source — ещё один их плюс. Это именно то, что так любят программисты. Если подумываете отказаться от «родных» Windows или MacOS — ловите подборку лучших дистрибутивов Linux-систем.

Ubuntu

Ubuntu считается лучшей системой для новичков, переход на неё с Windows и MacOS не уничтожит ни единой нервной клетки. Установка программ и пакетов предельно проста: базовое знакомство — и вы не почувствуете неудобств. Для разработчиков и программистов эта линуксовая ОС привлекательна стабильностью и надёжностью.

Ubuntu постоянно растёт и обновляется, в этом она схожа со «старшими» конкурентами. Как у Windows, у неё есть несколько дистрибутивов (Lubuntu, Xubuntu, Kubuntu), которые сохраняют функциональность, требуя меньше ресурсов. Это весомый аргумент для старых машин или задач, где нужна высокая производительность.

Бонус — отличная поддержка ОС. Все недочёты в Ubuntu устраняются молниеносно, техническая поддержка отвечает на вопросы постоянно, перечень дистрибутивов программ огромный и постоянно пополняется.

Pop!_OS

Американский производитель компьютеров и серверов System76 в прошлом году выпустил операционную систему Pop!_OS. Формально это та же Ubuntu, но изменения в графической оболочке GNOME и подключение собственных пакетов юридически сделали её новой системой.

По факту, для российского пользователя Pop!_OS — это Ubuntu с изменённым интерфейсом и улучшенной функциональностью. Если у вас есть претензии к внешнему виду первого фигуранта нашего списка — попробуйте Pop!_OS.

Debian

Debian — базовая ОС как для вышеупомянутых Ubuntu и Pop!_OS, так и менее раскрученных SteamOS, Linux mint, Knoppix. Исключительная стабильность делает Debian надёжным фундаментом для надстроек. Если захотите сделать свою операционную систему с блэкджеком и прочими приложениями — кастомизируйте Debian.

CentOS

Red Hat Enterprise Linux (RHEL) — одна из известнейших корпоративных ОС на базе Linux. CentOS — её ближайшая альтернатива, позволяющая запускать большинство приложений от RHEL и пользоваться менеджером загрузок YUM. Ещё одно преимущество — CentOS имеет доступ к репозиторию Red Hat Software Collections (RHSCL), расширяющему возможности по использованию языков и баз данных.

CentOS подходит для профессиональной разработки, позволяя не тратить время на организацию взаимодействия с коллегами и поиск свежих дистрибутивов.

Fedora

Альтернатива RHEL для корпоративного использования. Обновления выходят каждые полгода, все необходимые пакеты включены в базовую сборку, конфигурация автоматическая. Факт (почти реклама): Fedora использует сам Линус Торвальдс, оценивая эту ОС выше Ubuntu и Debian.

Kali Linux

Операционная система, предназначенная для программистов в области кибербезопасности. Если вы видели сериал «Мистер Робот», то наверняка приметили там Kali Linux. Она основана на Debian и содержит множество инструментов для взлома и защиты системы. К примеру, «из коробки» поставляются John the Ripper — утилита для восстановления паролей из хэшей, Aircrack-ng — улавливатель беспроводных сетей и перехватчик трафика, а также сканер OWASP ZAP. Такой набор будет интересен каждому разработчику, и это только малая часть возможностей.

Ещё одна фича — возможность полноценно установить ОС на Raspberry Pi в качестве альтернативы Raspbian.

Arch Linux

Если вам нужна легковесная операционная система с гибкими возможностями настройки (в том числе ядра), обратите внимание на Arch Linux. ОС поставляется с голым «фундаментом» и Pacman — менеджером пакетов. Графический интерфейс идёт как опция, а не необходимая составляющая, что ценят тру-программисты.

Gentoo

У Gentoo те же преимущества и недостатки, что у Arch. К первым можно отнести тотальный контроль над сборкой: буквально каждый элемент будет установлен только с вашего разрешения. Отсюда и недостатки — без опыта в линуксовых системах собрать удобную ОС будет затруднительно.

NuTyX

Вариация Linux ОС для профессиональных программистов. Ядро Kernel и менеджер пакетов — чтобы создать надёжную систему для личного пользования. Настройка здесь чуть удобнее, чем в предыдущих дистрибутивах, но лучше запаситесь кофе и терпением — установка займёт много времени.

OpenSUSE

Вернёмся к «дружелюбным» системам, на которые стоит обратить внимание Linux-новичку. OpenSUSE — достойная альтернатива Ubuntu. Удобна для разработчиков благодаря множеству доступных сред и приложений, загружаемых с помощью менеджера пакетов YaST. С ним вы забудете о стандартных приложениях Windows и MacOS — здесь тоже всё на высшем уровне.

Elementary OS

Завершим обзор самой понятной системой для новичков. В Elementary масса графических надстроек, так что перейти на нее с привычной ОС будет легко. Возможностей для разработчика здесь немного, зато пользователь оценит множество эксклюзивных GUI и приложений.

Если понравилась Elementary OS, обратите внимание на ChaletOS и Manjaro. Это схожие по устройству системы, которые подойдут для повседневного использования: просмотра почты, фотографий, видео. С их помощью можно дать вторую жизнь старому ноутбуку.

Сборок и кастомных систем Linux значительно больше перечисленных одиннадцати. Но именно они на сегодняшний день наиболее популярны и стабильны. Познакомьтесь с ними, «набейте руку», оцените преимущества и недостатки и обязательно расскажите о своем опыте в комментариях!

Предлагаю немного отойти от темы WordPress и поговорить об обыденном — о работе. А точнее о том, какое программное обеспечение я использую ежедневно. Это вводная статья по данной тематики. И в будущем, я планирую более детальнее рассмотреть используемые мной программы.

С недавних пор, я более отрицательнее стал относится к использованию пиратского софта, музыке, сканированной литературе, пр. С чем это связано? — все это воровство :), в том или ином виде.
А сегодня рассмотрим первый пункт — софт, т. е. программное обеспечение. К большому счастью, я использую lUbuntu Linux, а под ним практически все программное обеспечение бесплатно!

Как я ранее уже писал, приоритетом выбора lUbuntu была скорость. Этому же принципу я придерживаюсь и при выборе программного обеспечения. Но все же, ищу золотую середину между — простотой, красотой и производительностью. Т.к. можно работать и в консоли, но это не так удобно чем архивация через PeaZip.
Рассмотрим программы по разделам с их кратким описанием:

Графика

Dia — позволяет строить бок-схемы, uml-схемы. Я использую для проектирования БД (просто и удобно).
Gpick — пипетка. Поможет вам. если нужно узнать какой-то цвет на экране того или иного элемента на экране (+ многое другое).
Inkscape — графический редактор для работы с векторной графикой (за пару лет пользовался раза три).
Kruler — нужна, если на экране требуется что-то замерять.
LibreOffice Draw — графический редактор (не знаю зачем он мне).
Pencil — проектирование интерфейсов сайтов, программ, прочее.
Pinta — простой графический редактор (наподобие паинта в Win, если я не ошибаюсь).
XnView — просмотр изображений и фотографий (кроссплатформенный!).
GIMP — мощная программа для работы с растровой графикой. Жаль, но PSD формат отображается плохо, некоторые слои не видны, шрифты не редактируются. Но удобно замерять размеры элементов при верстке. Для просмотра PSD использую тот же XnView.

Интернет

FileZilla — работа с FTP. Пользуюсь только тогда, когда файловый менеджер Krusader работает по FTP с «тормозами».
Google Chrome — основной рабочий браузер.
Opera 12.17 — использую только для тестирования верстки (все реже, и реже).
Firefox — использую для тестирования верстки.
PuTTY — клиент для работы по ssh.
Skype — куда же без него.
Pidgin — использую для подключения к ICQ и JivoSite.
TeamViewer — пользуюсь редко. Да, бывают недоверчивые или любопытные заказчики.
Thunderbird — мой любимый почтовый клиент.
Облако Mail.ru — использую в основном для создания скриншотов и демонстрации выполненной работы.

FreeMind — использую для построения карт ума и планирования. Удобная штука, советую.
LibreOffice Calc — аналого Excel от MS Office. Люблю автоматизировать всякие там расчеты (в перспективе экономит время).
LibreOffice Writer — аналого Word от MS Office.
MMEX — ведение домашней бухгалтерии. Поможет тем кто любит знать кто ему должен, кому он должен, и куда уходят деньги.
ReText — markdown редактор. На начальных этапах изучения данного синтаксиса, помогает исключить ошибки.

Программирование

Gitg — клиент для git. Смешно вспоминать следующее. Когда работал с SVN, работал только через графический интерфейс и не как не мог перейти на работу в консоли. А вот с GIT вышло по другому, то ли клиентов удобных не нашел, то ли поумнел. В общем сейчас работаю через консоль.
SmartGit — если не ошибаюсь, то кросплатформенный клиент для работы с GIT (пользуюсь крайне редко).
RapidSVN — клиент для работы с SVN. Консольные команды для работы с SVN я еще не выучил (да наверное и не выучил).
IDLE — в мае будет год как я «мучу» Python.
Meld — программа для сравнения файлов/каталогов (т. е. поиск различий).
MySQL Workbench — клиент для работы с базой данных MySQL (насколько помню кросплатформенный). Пользуюсь редко, т. к. привык к phpMyAdmin.
Sqliteman — клиент для работы с БД SqLite (пользуюсь редко).
NetBeans — мой пока что любимый редактор PHP/HTML/JS/CSS/пр. кода.
Sublime Text — альтернатива NetBeans. Использую если нужно что-то по быстрому подправить.
Poedit — редактор языковых «po» файлов.

Прочее

Krusader — файловый менеджер (очень похож на Total Commander).
VLC — использую для просмотра видео и прослушивания музыки.
Leafpad — очень простой текстовый редактор. Использую если нужно просмотреть содержимое файлов большого размера. Раньше использовал Gedit но он глючил, хотя имеет подстветку.
Oracle VM VirtualBox — виртуальная машина. Использую если нужно поработать с триальной версией Windows. Спасибо Microsoft за такую возможность! И спасибо Adobe Photoshop за триальные версии своей продукции!
PeaZip — мой любимый архиватор с GUI интерфейсом. Ума не приложу, кому может быть удобно архивировать через консоль?
Wine — позволяет устанавливать ПО написанное под Windows на Linux (не помню когда пользовался последний раз).

На этом все! Позже, постараюсь написать обзоры используемых мной программ.

Рекомендуем к прочтению

маленькие удобства для веб-разработчика / Habr

Я установила себе Ubuntu второй системой примерно полгода назад. А за пару недель до выхода 10.04 отказалась от дабл-бута и перенесла Windows с фотошопом на виртуальную машину. Потому что фотошоп — это единственное, чего, к сожалению, не хватает для полноценной работы в Ubuntu. Зато в ней есть множество приятных мелочей, которых мне всегда сильно не хватало в Windows. Именно об этих полезных мелочах я и хочу рассказать.
Эта статья ни разу не претендует на исчерпывающее описание всех достоинств и недостатков Ubuntu с точки зрения веб-разработчика.
Я ни в коем случае не утверждаю, что в природе не существует аналогичных приспособлений под Windows. Но я — человек ленивый, а для Windows все, даже Putty, надо искать, скачивать, устанавливать… а за многое из найденного — еще и платить. В то время как в Ubuntu все это доступно прямо «из коробки».
Я еще не дошла до глубокого изучения прелестей консоли и конфигов. Меня пока чарует своими возможностями графический интерфейс.
Вряд ли эта статья будет полезна знатокам линукса, пользующимся консолью «с закрытыми глазами». Скорее она для таких как я новичков, а также для тех, кто еще решает — «А нужно ли мне это?»

Удобная работа с файлами прямо на сервере


Для того чтобы открывать файлы для редактирования прямо с сервера, в Наутилусе можно настроить закладки. Выбираем в меню «Переход» пункт «Соединиться с сервером», выбираем тип соединения (SSH, FTP, ресурс Windows, WebDAV или «другой адрес» — для возможного соединения по другим протоколам), заполняем нужные поля (адрес, имя пользователя, удаленная папка), устанавливаем флажок «Добавить закладку», вписываем имя закладки и жмем «Соединиться». При запросе пароля выбираем «Запомнить навсегда». Все, с этого момента ваша папка на сервере в любой момент доступна для вас из всех программ из меню «Открыть файл». Вот, например, скриншот меню Gimp'a с возможностью предпросмотра удаленного файла.

Возможность редактировать даже графику прямо на сервере — это очень удобно, что уж говорить об обычных текстовых файлах (php, html, etc...). Естественно, аналогичным образом можно создать новый файл (в Gimp'е или в Geany) и сохранить его сразу на сервер.
В Geany с установленным плагином «Просмотр файлов» все файлы текущей директории будут видны в панели плагина, и их можно открывать оттуда просто двойным щелчком:

Ну и конечно же, можно легко и непринужденно копировать-вставлять-удалять файлы в самом Наутилусе. Как будто вы работаете с папкой на своем компьютере, а не с удаленной машиной. Если вы копируете на сервер файлы с не-NTFS диска — все права на файлы и папки будут сохранены. Это очень удобно — внимательно выставить все нужные права локально и потом перекинуть на сервер уже полностью подготовленный каталог будущего сайта.

Анализатор использования дисков


(Приложения — Стандартные — Анализатор использования дисков)

Этот чудесный анализатор — сам по себе вещь безмерно нужная и полезная, легко и наглядно помогающая понять — «Куда это с такой скоростью девается место на моем новеньком терабайтнике?!»
Но настоящий восторг — это наличие в нем возможности анализировать удаленные папки!
Нажимаем кнопочку «Сканировать удаленную папку»

и получаем уже знакомое нам окошко «Соединиться с сервером». Вводим все необходимые параметры, и через некоторое время (скорость сканирования зависит от скорости вашего соединения с интернетом) получаем результат, который можно отобразить в виде круговой диаграммы

или в виде древовидной карты

— и сразу становится ясно, куда вдруг резко «испарилось» место на сервере: разрослись ли логи из-за каких-то системных ошибок или ошибок в скриптах, или же это друг, любезно пущенный «пожить» со своим «маленьким, чисто html-ным!» сайтиком, закачал втихую пару гигабайт порнухи и раздает всем желающим 😉
При наведении мышки на любую область диаграммы или карты отображается название папки и ее размер, а при клике вы автоматически перейдете к этой папке в дереве папок слева. Вид визуального представления справа при этом тоже изменится — отобразятся только папки внутри выбранной. Так можно покопаться вглубь и посмотреть, что именно занимает место.

Несколько рабочих столов


Как мне всегда не хватало этого в Windows… мгновенное переключение между столами с помощью горячих клавиш или «горячих зон» — это даже еще не все… Благодаря многооконному интерфейсу Gimp'a можно разнести на разные столы несколько изображений, и панели сложить на отдельный стол — а его еще ругают, что якобы неудобный… это единственное, чего нет в фотошопе в отличие от Gimp'a!

Обработка изображений


Когда мне впервые пришлось столкнуться с RAW-фотографиями в Windows, пришлось слегка поломать голову — что это такое и чем его открыть? Не знаю, есть ли нативное средство хотя бы для просмотра «равок» в Win7, а в XP даже для этого приходилось искать сторонние программы. В Ubuntu же умеет смотреть и минимально обрабатывать RAW даже примитивнейший F-Spot, установленный «из коробки». Однако для мало-мальски пристойной обработки его, конечно же, недостаточно. И тут приходит на помощь еще одна «фишка» Ubuntu, кажущаяся чудом новичку после Windows — Синаптик! Набираем в поиске синаптика «RAW» — и получаем ассортимент разных бесплатных (!) программ для работы с «сырыми» изображениями. Я выбрала UFRaw — вместе с одноименным плагином для Gimp'а. О бесплатной программе для обработки RAW с таким функционалом пользователи Windows могут только мечтать...

Gimp — излюбленная тема холиваров 🙂 Привыкнуть к нему совсем несложно. С теми простенькими макетами, которые я делаю сама, он вполне справляется. У него есть и некоторые «фишки», которые со временем начинают казаться даже удобными — например, сохранение эффектов в отдельных слоях, или возможность выбрать, как применить еще раз последний фильтр — с выбранными ранее настройками, или с вызовом окна настроек. Удобные окна настроек поворота, масштабирования, выделения с возможностью ввода точных чисел. В фотошопе тоже все это конечно есть, но на мой вкус — в Гимпе удобнее, сподручнее. С Гимпом несложно подружить и графический планшет. Я, пожалуй, могла бы и совсем отказаться от фотошопа, если бы макеты в psd не были «индустриальным стандартом». Чего по-настоящему очень остро не хватает в Гимпе в сравнении с фотошопом — это развитого диалога Save for web. В устанавливаемом дополнительно плагине с таким названием нет ни настройки палитры для 8-битных изображений, ни возможности тонко настроить dithering для них же, ни параметров сжатия для jpg. Разработчики этого плагина, по-моему, совсем не поняли, для чего используется одноименный диалог фотошопа.

Текстовые редакторы с подсветкой кода


Этого добра всегда навалом под любую ОС, в том числе и бесплатного 🙂 Вполне достаточная для работы подсветка имеется и в установленном «из коробки» Gedit. Gedit также имеет дополнительные модули, которые могут быть полезны для разработчика: впечатлила интерактивная консоль Python, быстрая вставка тэгов, вставка времени-даты — не совсем обычные возможности для «блокнота по умолчанию».
Я не любитель сложных IDE (хотя таковые для Ubuntu имеются), поэтому выбрала для себя в качестве постоянного редактора Geany, хотя для быстрых правок частенько использую Gedit.

Скрипты!


«Я еще не волшебник, я только учусь». Однако возможность набросать скриптик и одним махом обработать пару гигабайт фоток для размещения на сайте — завораживает! Или повесить на крон скриптик синхронизации rsync и всегда иметь на своем домашнем компутере свеженькие бэкапы всех подотчетных серверов и виртуальных хостингов.

Мораль


Ubuntu значительно удобнее для человека, постоянно работающего в интернете, чем Windows. Ее не нужно «подключать» к интернету — она его часть. Даже новичок, тыкающийся в интерфейсе наугад, — имеет «из коробки» больше удобных возможностей и инструментов, которые не нужно искать и покупать.

Небольшая просьба


Поделитесь, пожалуйста, в комментариях другими удобствами, о которых я не упомянула — а значит, скорее всего, я о них не знаю.

10 лучших открытых инструментов для разработчика в Linux / Habr

«Linux может быть великолепной средой для разработки программного обеспечения, но вам нужны правильные инструменты, чтобы использовать его на полную мощность», — говорит Джек Валлен (Jack Wallen).

Без надёжных инструментов разработки вы не сможете воспользоваться лучшими преимуществами Linux. К счастью, Linux и открытое инструментальное программное обеспечение легко доступно. Однако, если вы новый пользователь, вы можете не знать, какие утилиты лучше выбрать, так что вот 10 выдающихся инструментов, которые помогут поднять вашу разработку на другой уровень.

1. Bluefish

Bluefish — одна из популярнейших интегрированных сред разработки, доступных для работы в вебе. Bluefish может обрабатывать языки программирования и языки разметки, но фокусируется на создании динамических и интерактивных веб-сайтов. Как и многие приложения для Linux, Bluefish быстр и лёгок — он использует примерно 30‒40 процентов ресурсов, потребляемых аналогичными приложениями.

Bluefish может открывать несколько документов одновременно: до 3 500 документов, если необходимо. Он включает в себя поддержку проекта, удалённую поддержку файлов, поиск и замену (включая регулярные выражения), неограниченную отмену/принятие сделанных изменений, настраиваемую подсветку синтаксиса для многих языков, сглаживание текста в окнах, а также поддержку различных кодировок.

Одной из лучших особенностей Bluefish является Quickbar — пользовательская панель, которая позволяет вам добавлять кнопки путём кликания по правой клавише мыши и выбора пункта «Добавить в Quickbar» (Add To Quickbar). Вы можете добавлять в Quickbar любую HTML-кнопку.

В Bluefish есть ряд простых инструментов, которые помогут вам добавить различные элементы в ваш код. Нужен auto-submit select box в DHTML? Легко. Выберите «Auto-submit Select Box» из выпадающего списка «DHTML» и заполните необходимые пункты для добавления элемента в ваш код. В Bluefish есть мастера для Си, Apache, DHTML, DocBook, HTML, PHP+HTML и SQL. Если вы разрабатываете свои сайты вручную, то без Bluefish вам не обойтись.

2. Anjuta

Anjuta — свободная открытая интегрированная среда разработки для языков Си и C++. Anjuta мощна и проста в установке (например, команда urpmi anjuta в Mandriva Linux). Anjuta предлагает такие функции, как управление проектами, прикладные мастера, интерактивный отладчик и мощный редактор исходного кода — с просмотром кода, его автозаполнением и подсветкой синтаксиса.

Anjuta имеет гибкий интерфейс пользователя, который позволяет вам перемещать (drag-and-drop) инструменты в набор инструментов для организации интерфейса пользователя в вариант, который вам больше нравится. Плюс каждый размещённый пользователем набор инструментов постоянен для проекта, так что вы можете иметь различные наборы инструментов для каждого проекта.

Anjuta также имеет мощную систему плагинов, которая позволяет вам решать для каждого проекта какие плагины активны, а какие — нет. И, как во всех открытых проектах, вы можете сами разработать свои плагины для Anjuta.

Одним из самых мощных инструментов в Anjuta является менеджер проекта. Он не только может открывать почти все проекты, основанные на Automake и Autoconf; он не добавляет никакой информации, связанной с Anjuta, так что ваш проект также может обслуживаться и разрабатываться вне Anjuta.

3. Glade

Glade — это RAD-инструмент, используемый для создания инструментария GTK+ и для среды рабочего стола GNOME. Его интерфейс подобен GIMP и может быть настроен и даже встроен в Anjuta.

Glade включает в себя ряд шаблонов, таких как текстовые блоки, диалоги, чекбоксы и меню, созданных для ускорения разработки интерфейсов. Конструкции интерфейса хранятся в XML, который позволяет им быть легко связанным со внешними инструментами.

Установка Glade проста. Например, в Fedora вы можете запустить команду yum install glade3. В Glade нет такого мощного менеджера проекта как в Anjuta, но вы можете создавать, редактировать и сохранять проекты с Glade.

4. GCC

GCC — это набор компиляторов для Си, C++, Objective-C, Фортрана, Java и Ады, разработанный в рамках проекта GNU. Это инструмент командной строки, но он очень мощен. Многие интегрированные среды разработки имеют инструменты, которые являются только front-end’ами для GCC. Наиболее часто используются компиляторы для кода на Си и C++.

Как один инструмент компилирует приложения на разных языках? Просто: для Си вы применяете команду gcc, а для C++ вы применяете команду g++ — два компилятора в одном инструментарие. И g++ — компилятор, а не просто препроцессор.

GCC построит объектный код из исходного кода без использования посредника. Этот метод создаёт лучший объектный код и даёт вам больше отладочной информации.

5. Kdevelop

Kdevelop был создан в 1998 году как простая в использовании интегрированная среда разработки для среды рабочего стола KDE. Kdevelop в настоящее время распространяется под лицензией GNU General Public License и свободен для использования.

Он основан на плагинах, так что вы можете добавлять и удалять их для создания точно того, что вы хотите. Kdevelop также включает в себя поддержку профилей, так что различные наборы плагинов могут быть ассоциированы с конкретными проектами.

Kdevelop поддерживает 15 языков программирования, каждый из которых имеет свои языковые особенности. Он также предлагает отладчик, систему управления версиями Subversion, мастера приложений, просмотрщик документации, управление сниппетами, интеграцию Doxygen, инструменты RAD, поддержку Ctags, переформатирование кода, поддержку QuickOpen и панель окон с панелью инструментов.

Одной из лучших особенностей Kdevelop является то, что он снимает множество низкоуровневых задач из рук пользователей. Kdevelop включает в себя менеджер Automake.

Ещё один полезный штрих заключается в том, что можно мгновенно видеть различие между ошибками, предупреждениями и сообщениями.

6. GDB

GDB не является инструментом для разработчиков, но этот инструмент многие разработчики считают для себя важным. GDB — это отладчик проекта GNU.

Этот инструмент запускается из командной строки и даёт разработчику мгновенный отзыв из другой программы, пока она выполняется. То есть вы создаёте и завершаете приложение только для того, чтобы узнать о том, что есть проблемы. Для того, чтобы помочь найти эти проблемы вы можете запустить вашу программу из утилиты GDB, которая поможет вам узнать, где эти проблемы. С GDB вы можете делать следующее:

  • запускать ваше приложение с указанием аргументов, переключателей или вводов, которые будут влиять на его поведение;
  • заставлять ваше приложение останавливаться на конкретном поведении;
  • проверять что произошло, когда ваше приложение остановилось;
  • добавлять изменения в вашу программу, так что вы можете тестировать прямо в полёте.

GDB также очень удобно иметь при создании отчёта об ошибках.
7. KompoZer

KompoZer — простой в использовании WYSIWYG-инструмент, направленный на нетехнических пользователей, которые хотят создать профессиональный веб-сайт без знания HTML.

KompoZer имеет ряд выдающихся особенностей. Одной из лучших особенностей является возможность открыть веб-сайт из URL, редактировать этот сайт и загрузить отредактированный сайт. Эта особенность упрощает обновление сайтов, лишая необходимости редактировать HTML. Конечно же, вам потребуется разрешение на загрузку сайта. Эта особенность также хороша для использоваия других сайтов в качестве шаблонов.

KompoZer не следует рассматривать только как инструмент для начинающих. Думайте о нём как о бесплатной открытой замене Microsoft FrontPage и Adobe Dreamweaver. И, как его более дорогостоящие альтернативы, в KompoZer можно перемещаться между WYSIWYG и редактированием кода путём кликания по табу.

8. Eclipse

Eclipse — мультиязычная интегрированная среда разработки, написанная на Java, с обширной системой плагинов, позволяющей вам расширить функциональность. Скачиваемый более миллиона раз ежемесячно, Eclipse — одно из сильнейших решений в области разработки программного обеспечения. Это, по сути, стандарт для открытой разработки.

Предположительно, сильнейшим аспектом Eclipse является особенность плагинов. Только для языков в Eclipse создано 58 плагинов. На этих языках не говорят — это языки разработки. Eclipse имеет огромное сообщество и множество организаций, предлагающих обучение интегрированным средам разработки, которое включает в себя даже университет Eclipse.

9. Make

Make — это утилита Linux, которая может автоматически определить, какие части программы нужно перекомпилировать. После того, как Make работает в частях, которые должны быть перекомпилированы, он выдаёт команды, необходимые для завершения действия.

Make часто используется при установке приложений из исходного кода, так что разработчики открытых приложений должны иметь хорошее представление об этом инструмение и о том, как он используется. Если вы планируете разработку приложения, которое можно будет установить из исходного кода, вам нужно знать как создавать Makefile.

Этот Makefile описывает отношения между разными файлами. Если вы знакомы с установкой приложений, вы знаете строковый тип ./configure; make; make install.

10. Quanta Plus

Quanta Plus — другой инструмент HTML для разработки, похожий на KompoZer. Он способен как на WYSIWYG, так и на ручной режим и поддерживает HTML, XHTML, CSS, XML и PHP.

Особенности Quanta Plus заключаются в завершении тегов на лету, управлении проектами, быстром предварительном просмотре, отладчике PHP, поддержке CVS и Subversion. Quanta Plus, в отличие от KompoZer, направлен на более опытного пользователя, который хочет хороший редактор WYSIWYG.

А что используетет вы?

Какие советы и мнения вы можете дать, основываясь на своём опыте, по инструментам, которые мы рассмотрели? Или у вас есть любимая свободная интегрированная среда разработки, которая не включена в этот список?

выбираем дистрибутив — Хабр Q&A

Задавался (и задаюсь) точно таким же вопросом, как автор.

Ищу дистр, пробую разные. Все нравятся по-своему, но всё никак не могу прочувствовать «своё». Пожалуй причиной этому я вижу различные баги, с которыми большинству пользователей (включая меня) бороться совсем не интересно. Тут бы возможности новой для себя системы осваивать, а не пытаться, встретив неожиданное поведение ОСи, понять, баг ли это или ты что-то не понимаешь. Ибо это замедляет изучение значительно.

Пожалуй самый обескураживающий лично меня и одновременно один из самых сложных в преодолении баг это проблема с экранным тирингом.
Общаясь с одним разбирающимся в этом господином, уяснил для себя, что для преодоления сей проблемы нужно сочетание нескольких факторов.
Либо это KDE+проприетарные дрова Nvidia с определенными настройками, либо проприетарщина от ATI c включенной (и достаточно компромиссной ввиду её тормознутости опцией TearFreeDesktop), либо любой композитный менеджер. В общем примерно как-то так, за точность сведений не ручаюсь, ибо с этим для меня, начинающего линуксоида, всё сложно.

KDE мне не понравился и в итоге я ушёл на банальную Ubuntu 12.04 LTS, в которой ТИРИНГА НЕТ ИЗ КОРОБКИ (степень капса лишь отчасти отражает степень испытанного мною счастья, когда я об этом узнал). Тем более среда Unity очень понравилась, особенно её сочетания кнопок (опять же всё из коробки).

Несмотря на то, что бунта в среде прожённых линуксоидов вроде как моветон, она позволяет — и это не секрет — легко нагугливать решения многих проблем + что немаловажно, работать уже сразу после её установки, параллельно изучая систему с любой скоростью и интенсивностью, в противовес тому, что на прочих, менее дружелюбных дистрах нужно потратить не один день, чтобы просто привести систему к работоспособному состоянию и которые — эти дистры — грузят тебя большим количеством смежной инфы, которая хотя, безусловно, и ценна для изучения системы, но отнюдь не приносит удовольствия, когда ты не хочешь с ней разбираться, а лишь хочешь поскорее заставить систему работать.

Вообще в бунте баги есть, но они не критичные и работать особо не мешают.

Полезные программы для Web программиста под Ubuntu

Предлагаю немного отойти от темы WordPress и поговорить об обыденном — о работе. А точнее о том, какое программное обеспечение я использую ежедневно. Это вводная статья по данной тематики. И в будущем, я планирую более детальнее рассмотреть используемые мной программы.

С недавних пор, я более отрицательнее стал относится к использованию пиратского софта, музыке, сканированной литературе, пр. С чем это связано? - все это воровство :), в том или ином виде.
А сегодня рассмотрим первый пункт — софт, т. е. программное обеспечение. К большому счастью, я использую lUbuntu Linux, а под ним практически все программное обеспечение бесплатно!

Как я ранее уже писал, приоритетом выбора lUbuntu была скорость. Этому же принципу я придерживаюсь и при выборе программного обеспечения. Но все же, ищу золотую середину между — простотой, красотой и производительностью. Т.к. можно работать и в консоли, но это не так удобно чем архивация через PeaZip.
Рассмотрим программы по разделам с их кратким описанием:

Графика

Dia — позволяет строить бок-схемы, uml-схемы. Я использую для проектирования БД (просто и удобно).
Gpick — пипетка. Поможет вам. если нужно узнать какой-то цвет на экране того или иного элемента на экране (+ многое другое).
Inkscape — графический редактор для работы с векторной графикой (за пару лет пользовался раза три).
Kruler — нужна, если на экране требуется что-то замерять.
LibreOffice Draw — графический редактор (не знаю зачем он мне).
Pencil — проектирование интерфейсов сайтов, программ, прочее.
Pinta — простой графический редактор (наподобие паинта в Win, если я не ошибаюсь).
XnView — просмотр изображений и фотографий (кроссплатформенный!).
GIMP — мощная программа для работы с растровой графикой. Жаль, но PSD формат отображается плохо, некоторые слои не видны, шрифты не редактируются. Но удобно замерять размеры элементов при верстке. Для просмотра PSD использую тот же XnView.

Интернет

FileZilla — работа с FTP. Пользуюсь только тогда, когда файловый менеджер Krusader работает по FTP с «тормозами».
Google Chrome — основной рабочий браузер.
Opera 12.17 — использую только для тестирования верстки (все реже, и реже).
Firefox — использую для тестирования верстки.
PuTTY — клиент для работы по ssh.
Skype — куда же без него.
Pidgin — использую для подключения к ICQ и JivoSite.
TeamViewer — пользуюсь редко. Да, бывают недоверчивые или любопытные заказчики.
Thunderbird — мой любимый почтовый клиент.
Облако Mail.ru — использую в основном для создания скриншотов и демонстрации выполненной работы.

Офис

FreeMind — использую для построения карт ума и планирования. Удобная штука, советую.
LibreOffice Calc — аналого Excel от MS Office. Люблю автоматизировать всякие там расчеты (в перспективе экономит время).
LibreOffice Writer — аналого Word от MS Office.
MMEX — ведение домашней бухгалтерии. Поможет тем кто любит знать кто ему должен, кому он должен, и куда уходят деньги.
ReText — markdown редактор. На начальных этапах изучения данного синтаксиса, помогает исключить ошибки.

Программирование

Gitg — клиент для git. Смешно вспоминать следующее. Когда работал с SVN, работал только через графический интерфейс и не как не мог перейти на работу в консоли. А вот с GIT вышло по другому, то ли клиентов удобных не нашел, то ли поумнел. В общем сейчас работаю через консоль.
SmartGit — если не ошибаюсь, то кросплатформенный клиент для работы с GIT (пользуюсь крайне редко).
RapidSVN — клиент для работы с SVN. Консольные команды для работы с SVN я еще не выучил (да наверное и не выучил).
IDLE — в мае будет год как я «мучу» Python.
Meld — программа для сравнения файлов/каталогов (т. е. поиск различий).
MySQL Workbench — клиент для работы с базой данных MySQL (насколько помню кросплатформенный). Пользуюсь редко, т. к. привык к phpMyAdmin.
Sqliteman — клиент для работы с БД SqLite (пользуюсь редко).
NetBeans — мой пока что любимый редактор PHP/HTML/JS/CSS/пр. кода.
Sublime Text — альтернатива NetBeans. Использую если нужно что-то по быстрому подправить.
Poedit — редактор языковых «po» файлов.

Прочее

Krusader — файловый менеджер (очень похож на Total Commander).
VLC — использую для просмотра видео и прослушивания музыки.
Leafpad — очень простой текстовый редактор. Использую если нужно просмотреть содержимое файлов большого размера. Раньше использовал Gedit но он глючил, хотя имеет подстветку.
Oracle VM VirtualBox — виртуальная машина. Использую если нужно поработать с триальной версией Windows. Спасибо Microsoft за такую возможность! И спасибо Adobe Photoshop за триальные версии своей продукции!
PeaZip — мой любимый архиватор с GUI интерфейсом. Ума не приложу, кому может быть удобно архивировать через консоль?
Wine — позволяет устанавливать ПО написанное под Windows на Linux (не помню когда пользовался последний раз).

На этом все! Позже, постараюсь написать обзоры используемых мной программ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *