Стаття також доступна російською (перейти до перегляду).

Зміст:
- Базове ПЗ
- Інтерфейс управління системою
- Браузери
- Редактори та засоби для заміток
- Термінальні оболонки та протоколи
- Спеціальне ПЗ
- ПЗ для формування робочого середовища проекту
- Засоби контролю версій
- Програми для тестування та відлагодження коду проекту
- Інструменти для роботи з API
- Редактори коду
- Заходи безпеки
- Налаштування брандмауеру
- Робота у прихованій (сірій) зоні
- Регулярне створення бекапів
Робоче місце розробника повинно мати все необхідне для успішного виконання завдань по розробці php-коду проекту. Сюди відноситься не лише спеціальне програмне забезпечення (ПЗ), а й багато інших програм та інструментів ОС Ubuntu, котрі оптимізують роботу та дають змогу швидко виконувати проміжні операції, такі, наприклад, як навігація між компонентами, формування повідомлень, обробка результатів тестування, формування архівів та ще багато чого. Спробуємо охопити основні з програмних засобів та інструментів, котрі необхідні для формування робочого середовища php-розробника Ubuntu.
Базове ПЗ
До цієї категорії можна віднести всі програмні засоби, котрі роблять «спілкування» із комп’ютером зручним та ефективним. До них, зокрема, належать:
-
Інтерфейс управління системою;
-
Браузери;
-
Редактори та засоби для заміток;
-
Термінальні оболонки та протоколи.
Розглянемо окремо кожну із вказаних категорій ПЗ.
Інтерфейс управління системою
Ні в кого не викликає сумнівів стосовно того, що саме графічний користувацький інтерфейс GUI (Graphical User Interface) є найбільш зручним способом управління робочим середовищем користувача ПК. Він робить роботу розробника наглядною та зручною, мінімізуючи час користування клавіатурою.
Поточні версії Ubuntu за замовчуванням використовують графічну оболонку Unity, котра відрізняється декотрою «стійкістю» до модифікації та незначною кількістю налаштувань. І тому користувачі нерідко самостійно встановлюють інші графічні оболонки, котрих на даний час підтримується біля десятка:
-
Gnome Shell;
-
Budgie;
-
MATE;
-
Pantheon;
-
Deepin DE;
-
LXDE;
-
Cinnamon;
-
KDE Plasma;
-
Xfce.
Кожна з наведених оболонок має свої особливості та рекомендації до застосування. Gnome Shell є найбільш вдалим варіантом для використання та має ряд переваг:
-
Є одним із компонентів середовища GNOME третього покоління;
-
Інтегрована із сучасним віконним менеджером Mutter;
-
Підтримує режим Fallback для сумісності із застарілими системами;
-
Має плагін для браузера для швидкого встановлення розширень з сайту;
-
Має інструмент Gnome Tweak Tool для доступу до додаткових налаштувань.

Встановити оболонку Gnome Shell можна за допомогою наступної команди, набраної в терміналі:
$ sudo apt-get install gnome-shell
Стандартні налаштування Gnome не передбачають зміни параметрів багатьох елементів графічного середовища, і тому слід скористатися можливостями інструменту Gnome Tweak Tool.
Встановити його можна за допомогою додатку Ubuntu Software або через термінал. Для цього у терміналі слід ввести наступну команду:
$ sudo apt-get install gnome-tweak-tool
Після його встановлення користувачеві стануть доступними налаштування, котрі наведені нижче у лівій колонці: Основні, Автозапуск, Верхня панель, Зовнішній вигляд, Заголовки вікон, Клавіатура та миша, Вікна, Шрифти.

Особливістю використання утиліти є те, що, навіть, після її видалення, зроблені налаштування залишаться у системі незмінними. Видалити ж її можна за допомогою наступної команди:
$ sudo apt purge gnome-tweak-tool
Браузери
Веб-переглядач є обов’язковим інструментом будь-якого графічного середовища і тому заслуговує на особливу увагу. За замовчуванням в Ubuntu встановлений браузер Mozilla Firefox, можливостей котрого, зазвичай вистачає для роботи в мережі. Однак, у деяких випадках більш корисним може бути веб-переглядач Google Chrome, котрий відрізняється своєю швидкістю та повною інтегрованістю із сервісами Google.
Встановити його можна трьома способами:
-
Завантажити з веб-сайту компанії Google;
-
Скористатися можливостями Центру додатків Ubuntu;
-
За допомогою команд терміналу.
Перші два способи зазвичай не викликають питань, і тому продемонструємо використання третього способу для встановлення програми.
Завантажуємо deb-пакет:
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Встановлюємо завантажений пакет у системі:
$ sudo dpkg -i google-chrome-stable_current_amd64.deb
Усуваємо можливі складнощі із залежностями:
$ sudo apt --fix-broken install
Після встановлення програми, бажано одразу ж перевірити коректність її роботи. Це можна зробити кількома шляхами.
Запустити програму можна із меню Додатки головного меню системи або ввести в терміналі:
$ google-chrome
Потім перевірити її версію та наявність оновлень: Довідка > Про Google Chrome
Редактори та засоби для заміток
Офісні пакети повинні бути присутніми у будь-якому робочому середовищі. До версії Ubuntu 11.04 офісним пакетом за замовчуванням був Apache OpenOffice. Для всіх наступних версій таким пакетом є LibreOffice, котрий має свій PPA-репозиторій. Попередній пакет можна використовувати і зараз, однак окремо від LibreOffice, оскільки вони несумісні.


Встановлювати LibreOffice рекомендовано лише із репозиторію, оскільки це надає можливість оновлення пакету в автоматичному режимі. Встановити його можна двома шляхами:
-
За допомогою Центру додатків Ubuntu;
-
Із використанням команд терміналу.
Перед використанням будь-якого із вказаних способів необхідно додати у систему PPA-репозиторій у якості джерела даних та оновити індекс пакетів. Для цього необхідно ввести у терміналі:
$ sudo add-apt-repository ppa:libreoffice/ppa && sudo apt-get update
Для інсталяції всіх компонентів програми слід ввести у терміналі наступну команду:
$ sudo apt-get install libreoffice
У випадку використання Gnome Shell оболонки для завершення процесу інсталяції слід інтегрувати програму із Gnome-інтерфейсом:
$ sudo apt-get install libreoffice-gnome
Після завершення інсталяції основного пакету можна додатково встановити модулі довідки, локалізації та розширення. Переглянути список доступних модулів у терміналі можна так:
$ apt-cache search libreoffice-help
Список розширень може виглядати так:
-
libreoffice-l10n-ru — локалізація;
-
libreoffice-presentation-minimizer — стискання презентацій;
-
libreoffice-presenter-console — робота з презентаціями;
-
lo-menubar — глобальне меню.
-
libreoffice-help-ru — довідка;
-
libreoffice-pdfimport — робота із PDF;
-
libreoffice-report-builder-bin — робота із звітами;
-
mozilla-libreoffice — пакет для покращення продуктивності від Mozilla.
Для безпомилкової роботи деяких компонентів програми необхідна наявність Java Environment. Для цього достатньо завантажити dbe-пакет default-jre, котрий і встановить openjdk-6-jre.
Ще одним способом підвищення продуктивності роботи із системою є використання програмних засобів для створення та фіксації на робочому столі заміток в стилі Wiki.
Одним з них є програма Gnote. За форматом файлів, програма є повністю сумісною із Tomboy, що дозволяє змінювати програми для роботи із тими самими файлами заміток.

Встановити її можна з терміналу за допомогою наступних команд:
$ sudo apt update $ sudo apt -y install gnote
У випадку використання aptitude:
$ sudo aptitude update $ sudo aptitude -y install gnote
Для видалення програми і всіх її залежностей можна скористатися командою:
$ sudo apt-get -y autoremove --purge gnote
Термінальні оболонки та протоколи
Всі дистрибутиви Ubuntu за замовчуванням підтримують оболонку або, як кажуть, командний інтерпретатор bash, котрий не завжди задовольняє наші вимоги щодо зручності роботи та швидкості виконання команд.
Альтернативою тут може стати більш сучасний аналог – оболонка zsh із розширеними можливостями і покращеним інтерфейсом.
Наведемо тут декотрі із переваг:
-
Автодоповнення із «пам’яттю» із можливістю налаштування;
-
Окреме ведення історії команд для кожного активного екземпляру командного інтерпретатору;
-
Розширені можливості для підтримки масивів та змінних;
-
Виправлення помилок;
-
Підтримка кількох режимів сумісності між оболонками;
-
Запрошення командної строчки із можливістю налаштування.
Встановити її можна так:
$ sudo apt install zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)
Зміна поточної оболонки на нову:
$ chsh -s $(which zsh)
Оптимізувати роботу у термінальному режимі можна також за допомогою аліасів, тобто, скорочення назв команд та параметрів. Налаштувати їх для оболонки zsh можна у файлі ~/.zshrc.
Наведемо приклади створення аліасів для декотрих із найбільш вживаних конструкцій:
alias n='nano' alias q='exit' alias re='sudo /sbin/reboot' alias hi='history'
Вважаємо, що призначення вказаних команд є зрозумілим для більшості читачів.

Ще один спосіб оптимізації роботи із терміналом – це його заміна на більш гнучкий варіант, котрий дозволяє працювати одразу із кількома екранами. Прикладом тут може стати програмний засіб під назвою Термінатор, котрий легко може замінити gnome-terminal. Встановити його можна так:
$ sudo apt install terminator

Не менш важливою є оптимізація роботи із захищеним мережевим протоколом SSH (Secure Shell). Це можна зробити за допомогою файлу конфігурації клієнта ~/.ssh/config. Наприклад, можна автоматизувати процес підключення до будь-якого визначеного хоста, створивши відповідні записи у файлі конфігурації. Для цього можна використати редактор nano:
$ nano ~/.ssh/config
Host * Port 2115 Host test_server HostName test_server.thematrix.io User newuser Port 2222 IdentityFile /home/newdir/.ssh/test_server.private_key
Перший запис застосовує порт 2115 до всіх хостів. Другий запис визначає окремі параметри підключення для хоста test_server. Ми навели лише один приклад автоматизації процесу роботи із SSH, а їх можна навести безліч.
Збільшити швидкість завантаження пакетів можна, змінивши стандартний менеджер пакетів.
Спочатку підключається відповідний PPA-репозиторій:
$ sudo add-apt-repository ppa:apt-fast/stable
Після цього оновлюється індекс пакетів та встановлюється новий менеджер:
$ sudo apt update $ sudo apt install apt-fast
Хотілося б окремо зупинитися на засобах формування HTTP-запитів, наприклад, таких, як curl та wget.
cURL є бібліотекою, котра використовується для формування та відправки HTTP-запитів із різних мовних засобів, зокрема і php. За її допомогою відбувається взаємодія із багатьма серверами. До php вона під’єднується у якості окремого модулю, котрий, зазвичай включений за замовчуванням.
Якщо ж за якоюсь причиною модуль не підключений, то під’єднати його можна у файлі php.ini, розкоментувавши строчку extension=php_curl.dll.
Утиліта wget є незамінним засобом для завантаження різних типів файлів з веб- та FTP-серверів. Встановити її дуже просто:
$ sudo apt-get install wget
Спеціальне ПЗ
До спеціальних програмних засобів можна віднести наступні категорії програмного забезпечення:
-
ПЗ для формування робочого середовища проекту;
-
Засоби контролю версій;
-
Програми для тестування та відлагодження коду проекту;
-
Інструменти для роботи з API;
-
Редактори коду.
Розглянемо кожну із вказаних категорій ПЗ.
ПЗ для формування робочого середовища проекту
Перед початком роботи над будь-яким PHP-проектом повинно бути сформоване його робоче середовище із усіма необхідними залежностями, у котрому б відбувалися процеси створення, тестування та відлагодження коду проекту.
На даний час найбільш сучасним варіантом для цього є контейнерне середовище, котре може бути створене за допомогою наступних відомих засобів: Docker, Composer, Kubernetes або їх комбінацією.
Для прикладу, продемонструємо розгортання середовища за допомогою інструменту Composer.
Оновлюємо індекс пакетів:
$ sudo apt update
Встановлюємо мовний інтерпретатор:
$ sudo apt install php
Перевірити коректність встановленого засобу та його версію можна так:
$ php -v
Якщо все гаразд, завантажуємо завантажувач Composer із офіційного веб-ресурсу:
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Ініціюємо процес локальної інсталяції вказаного інструменту:
$ php composer-setup.php

Після завершення процесу завантажувач можна видалити із системи за допомогою команди:
$ php -r "unlink('composer-setup.php');"
Засоби контролю версій
Існує три категорії систем контролю версій або VCS (Version Control System): локальні, централізовані та розподілені. До останньої категорії відноситься популярна GIT-система. Можна виділити наступні її переваги:
-
Масштабованість;
-
Висока швидкість роботи;
-
Збереження всіх версій файлів проекту;
-
Логування всіх подій;
-
Рівномірний розподіл навантажень між розробниками;
-
Атомарність всіх операцій.
Встановити GIT дуже просто. Розглянемо цей процес для Linux-сумісних систем.
Оновлюємо пакети:
$ sudo apt-get update
Ініціюємо процес інсталяції:
$ sudo apt-get install git
Виконаємо необхідні налаштування:
$ git config --global user.name "Alexander" $ git config --global user.email "developer@gmail"
Встановимо каталог із ім’ям my_project у якості git-репозиторію:
$ git init my_project
Надалі робота з git буде полягати у послідовному виконанні основних команд:
git add file git commit -m «коментар до комміту» git push origin «ім'я_гілки»
Програми для тестування та відлагодження коду проекту
Однією з найбільш відомих платформ для проведення модульного тестування є PHPUnit. Встановити її можна за допомогою модулю PHAR, котрий включений у PHP за замовчуванням.
PHPUnit вимагає наявності наступних розширень: dom, json, spl, pcre та reflection, котрі зазвичай включені у PHP за замовчуванням.
Розглянемо процес встановлення платформи за допомогою модулю PHAR.
Скачуємо із офіційного веб-ресурсу:
$ wget https://phar.phpunit.de/phpunit-|version|.phar
Встановлюємо права:
$ chmod +x phpunit-|version|.phar
Копіюємо у локальну директорію:
$ sudo mv phpunit-|version|.phar /usr/local/bin/phpunit
Окрім того, встановити засіб також можна в автоматичному режимі за допомогою Composer. Для цього достатньо включити до файлу composer.json проекту залежність від phpunit/phpunit або скористатися командою:
$ composer require --dev phpunit/phpunit ^6.0
Для перевірки встановленої версії програми слід набрати в терміналі:
$ phpunit --version
Для функціональності звітів по покриттю коду тестами PHPUnit вимагає наявності розширення Xdebug версії 2.5.0 або вище. Встановити його можна за допомогою пакетного менеджеру або з репозиторію модулів для PHP під назвою PECL (PHP Extension Community Library).
Команда інсталяції розширення за допомогою пакетного менеджеру для ОСUbuntu версій 18.04 LTS/Bionic та 20.04 LTS/Focal буде такою:
$ sudo apt-get install php-xdebug
Інсталяція програми за допомогою розширення PECL вимагає наявності компіляторів GCC (GNU Compiler Collection) та пов’язаних з ними бібліотек, а також файлів заголовків PHP.
У такому разі слід використати команду:
$ pecl install xdebug
PECL повинен додати строчку у файл конфігурації php.ini для завантаження Xdebug. Перевірити це можна так:
$ php -v
Якщо за результатами останньої команди виводиться номер версії Xdebug, то все гаразд, можна налаштовувати опції покрокового відлагодження програми та інші функції.
Інструменти для роботи з API
Будь-який сучасний проект у своєму складі обов’язково має модуль для зв’язку із іншими програмами або інтерфейсами. Такий модуль має назву інтерфейсу програмування додатків або API (Application Programming Interface). Для його розробки зазвичай використовуються спеціалізовані ПЗ, одним з яких є Postman.
Виділимо основні можливості вказаного засобу:
-
Відправка різних типів HTTP-запитів;
-
Функція тестування API;
-
Автоматизація роботи завдяки об’єднання запитів та тестів у колекції та середовища;
-
Підтримка змінних для оптимізації роботи із даними.
Завантажити програму можна із офіційного сайту розробників, після чого розгорнути на своєму ПК чи VPS-сервері та зареєструватися в ній.
Перше, що потрібно буде зробити – створити робочий простір, як показано нижче.

Після створення робочого простору стане доступною робоча область для формування HTTP-запитів та виконання інших операцій.

Редактори коду
Редактори коду є невід’ємною частиною ПЗ робочого місця будь-якого девелопера. Засіб VS code або Visual Studio Code від Microsoft є одним з найефективніших у когорті редакторів IDE. Він був створений на основі платформ NodeJS та Electron та увібрав у себе їх найкращі риси:
-
Влаштований відлагоджувальник коду;
-
Підтримка Git;
-
Підсвічування синтаксису для багатьох мов програмування;
-
Інтегрований термінал;
-
Автодоповнення коду;
-
Рефракторинг та сніппети.
Програму можна встановити через Центр додатків Ubuntu, SNAP або термінал.
Для встановлення VS code через термінал необхідно виконати наступну послідовність команд:
$ sudo apt install software-properties-common apt-transport-https wget
Встановлюємо ключ репозиторію та під’єднуємо сам репозиторій:
$ wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
Оновлюємо індекс пакетів:
$ sudo apt update
Встановлюємо програму:
$ sudo apt install code
Відкрити програму можна у терміналі або через головне меню системи.
У терміналі:
$ code
Головне вікно програми представлене нижче.

Підвищити продуктивність роботи з редактором над об’ємними PHP-проектами можна за допомогою розширення для VS Codeпід назвою PHP Intelephense. Воно, зокрема, надає наступні додаткові кейси:
-
Покращена навігація між компонентами;
-
Наявність деталізованих інформаційних підказок;
-
Автоматичне форматування коду;
-
Звіти про помилки у реальному режимі часу;
-
Покращене автодоповнення коду.
Встановити PHP Intelephense можна за допомогою наступних кроків:
-
Викликати вкладку розширень (CTRL + SHIFT + X);
-
Ввести у полі пошуку intelephense;
-
Натиснути кнопку Встановити.

Після завершення процесу підключення PHP Intelephense розробник рекомендує відключити розширення PHP Language Features, встановлене за замовчуванням. Його можна знайти у списку влаштованих розширень вікна Extensions.
У випадку встановлення редактору VS Codeчерез репозиторій Microsoft, видалити його можна за допомогою команди:
$ sudo apt purge code
Після чого слід від’єднати репозиторій за допомогою системної служби Програми та оновлення.
Заходи безпеки
Для можливості організації безпечного робочого місця девелопера слід вжити ряд додаткових заходів, до котрих можна віднести наступні дії:
-
Налаштування брандмауера;
-
Робота у прихованій (сірій) зоні;
-
Регулярне створення бекапів.
Розглянемо кожен із наведених заходів.
Налаштування брандмауеру
Краще для цієї мети скористатися інтерфейсом iptables під назвою UFW (Uncomplicated Firewall) або «спрощений брандмауер».
Розглянемо послідовно всі етапи налаштувань.
Інсталяція:
$ sudo apt install ufw
Поновлення правил UFW, встановлених за замовчуванням:
$ sudo ufw default deny incoming $ sudo ufw default allow outgoing
Після цього наш брандмауер буде забороняти всі вхідні з’єднання та дозволяти вихідні.
Дозволимо вхідні з’єднання на порту 22:
$ sudo ufw allow 22
Активуємо брандмауер:
$ sudo ufw enable
Дозволимо з’єднання на порту 22 лише із визначеної IP-адреси:
$ sudo ufw allow from 203.0.112.5 to any port 22
З’єднання з усіх інших IP-адрес будуть блокуватися, захищаючи наш канал.
Так само можна дозволити з’єднання лише із визначеної підмережі IP-адрес у певному діапазоні:
$ sudo ufw allow from 203.0.112.0/24
Тут дозволеними є лише адреси у діапазоні від 203.0.112.1 до 203.0.112.254
Лише тільки цих заходів буде достатньо, щоб унебезпечити себе від зайвих клопотів у вигляді мережевих атак.
Робота у прихованій (сірій) зоні
Під такою зоною розуміється мережа із локальними IP-адресами, котрі не мають виходу у глобальну мережу. Це означає, що під’єднатися до такого ПК ззовні просто неможливо. Організувати це можна, наприклад, орендувавши VPS-сервер із публічним або «білим» IP у провайдера. Після цього залишається налаштувати власний VPN-сервер, котрий і буде «роздавати» локальні або «сірі» IP-адреси під’єднаним до нього машинам.
Регулярне створення бекапів
Ні для кого не секрет, що чим краще налагоджена система бекапів, тим більш безпечною буде робота. Найкращий варіант – це повна автоматизація процедури створення бекапів, як це, наприклад, реалізовано у хостинг-провайдера FREEhost.UA, котрий вже кілька років надає окрему послугу на базі виділених серверів бекапів, розміщених у різних країнах світу, зокрема, Німеччині.
Дивіться наш канал Youtube на https://www.youtube.com/freehostua.
Ми у чомусь помилилися, чи щось пропустили?
Напишіть про це у коментарях, ми з задоволенням відповімо та обговорюємо Ваші зауваження та пропозиції.
|
Дата: 28.04.2025 Автор: Олександр Ровник
|
|

Авторам статті важлива Ваша думка. Будемо раді його обговорити з Вами:
comments powered by Disqus