АРМ (автоматизированное рабочее место): Ubuntu+LAMP+Symfony+KomodoEdit

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

Для вебдева нужно что? Сервер, отдающий контент, СУБД, Интерпретатор используемого языка. Для себя я выбрал Apache, MySQL и PHP. Долго писал на «чистом» ПХП, получая при этом так называемый спагетти-код. Потом писал свою CMS (да кто ж из нас не писал). Затем пришло время Рельсов, Джанги и иже с ними.

Для ПХП некоторое время не было фреймворков, кроме Zend Framework, но он мне не нравился и не нравится, после этого пробовал CodeIgniter и KohanaPHP, простые легкие и понятные фреймворки, но нет в них той красоты, которая есть в Рельсах. В конце концов пришел к Симфони (начинать с него было бы невозможно). О настройке рабочего места для написания кода под Симфони и пойдет речь дальше. Так уж сложилось исторически, что использую я в качестве десктопной ОС Ubuntu Linux (диски на халяву — это наше всё =), потому многие шаги будут использовать особенности данной системы, в основном установка програм.

Установка Apache+PHP+MySQL

Открываем консоль и пишем:

sudo aptitude update
sudo aptitude install apache2 php5 php5-mysql mysql-server

Теперь у вас установлен веб-сервер Apache, PHP и MySQL, а также модуль для работы с базами. Если вам нужны дополительные модули для PHP, то их установить достаточно легко, например:

sudo aptitude install php5-gd php5-imagick php5-xsl — устанавливает библиотеки GD, Imagick, XSL.

mysqladmin -u root password ваш_пароль_для_root — устанавливает пароль администраторской учетной записи для доступа к БД.

Настройка

Для управления модулями Apache и виртуальными хостами существуют команды: a2enmod (включает модуль), a2ensite (включает хост), a2dismod и a2dissite (выключают модуль и хост).

sudo a2enmod php5 — включаем модуль PHP
sudo /etc/init.d/apache2 force-reload — перезагружаем апач

Alt+F2 gksu gedit /var/www/phpinfo.php
там пишем знакомое <?php phpinfo() ?> , сохраняем и закрываем.
Открываем браузер:
http://localhost — для проверки работы апача
http://localhost/phpinfo.php — для проверки PHP

Наш любимый mod_rewrite

sudo a2enmod rewrite — активируем сам модуль

Alt+F2 gksu gedit /etc/apache2/sites-available/default
Меняем AllowOverride None на AllowOverride All, вот так:

<Directory />
        Options FollowSymLinks
        AllowOverride All
</Directory>

sudo /etc/init.d/apache2 force-reload — да, сервер нужно перезапускать после внесения изменений в настройках :)

А для того, чтобы апач не ругался при перезагрузке:

Alt+F2 gksu gedit /etc/apache2/httpd.conf

ServerName localhost

Итак, у нас теперь есть готовый веб-сервер с PHP и MySQL.

Ну и сам Symfony

Идем в меню System ? Administration ? Software Sources, во вкладке Third-Party Software жмём копку Add и вставляем туда следующее:
deb http://www.symfony-project.org/get debian/

затем

sudo aptitude update
sudo aptitude install php5-symfony

Легко и просто.

Без редактора ни шагу

Этот пункт может вызвать еще больше холиваров, чем выбор ОС — выбор редактора кода. Буду краток, я использую KomodoEdit. Для того, чтобы в автодополнении появлялись классы и функции Симфони, нужно сделать всего один шаг :)

Edit ? Preferences ? Languages ? PHP. В PHP directories добавить

/usr/share/php5

Вот, в принципе, и всё. Хэппи коддинг!

Теги: , , ,

Вы можете оставить комментарий или подписаться на RSS feed

Коментарии

Коротко и понятно, спасибо!
Хотя я остановился на ZF помимо Drupal.

в заголовке и URL очепятка: SyNfony

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

У ЗФ это одновременно есть и минус.
я не рассматриваю его как фреймворк. скорее, набор классов, подобно PEAR

Автор, свяжись со мной, есть разговор. :)

апач можно и так рестартонуть
sudo apache2ctl restart

… или сделать sudo apt-get install service и иметь возможность делать stop/start/restart и еще некоторые комманды путем набора sudo service restart, в данном случае == apache2.

«sudo apache2ctl опции» и «sudo apache2 опции» — равнозначные команды со множеством опций, насколько я знаю, а вот «sudo /etc/init.d/apache2 опция» имеет несколько другой характер и направлено только на включение, выключение, перезагрузку, «быструю перезагрузку» и т.д.

Я бы поспорил насчёт
«Для ПХП некоторое время не было фреймворков, кроме Zend Framework».

Согласно Wikipedia Symfony вообще была анонсирована 18 октября 2005, а ZF сутками позже :-)

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

Оставить комментарий

(обязательно)

(обязательно)