Linux для php разработчика

11 лучших дистрибутивов 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 значительно больше перечисленных одиннадцати. Но именно они на сегодняшний день наиболее популярны и стабильны. Познакомьтесь с ними, «набейте руку», оцените преимущества и недостатки и обязательно расскажите о своем опыте в комментариях!

Читайте также:  Genius wizardpen 5x4 драйвер windows 10

О том, какая операционная система лучше, можно спорить бесконечно — у противоборствующих лагерей полно разумных аргументов. Сегодня мы поговорим про линуксовые системы — в отличие от конкурентов, они дают больше свободы, позволяют конфигурировать их под свои задачи и возможности машины. Формат 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 значительно больше перечисленных одиннадцати. Но именно они на сегодняшний день наиболее популярны и стабильны. Познакомьтесь с ними, «набейте руку», оцените преимущества и недостатки и обязательно расскажите о своем опыте в комментариях!

Источник

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

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

Читайте также:  Поколения операционных систем mac os

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

Наша работа будет построена так: основная ОС — 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.

Читайте также:  Усиление микрофона windows 10 пропало

Для проектов создадим папку /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 и отсутствие необходимости устанавливать в основной ОС программы и сервисы для работы.

Источник

Оцените статью