За год работы в сфере Web технологий, мне не раз приходилось настраивать своё рабочее окружение. Для новичков не так то просто найти хороший гайд по настройке рабочего окружения.
В этом топике я хочу собрать всё полезное, что возможно пригодится новичкам и хабраюзерам.
Всё это я буду поднимать на Ubuntu 13.04. Предполагается что вы уже скачали её с официального сайт, и установили.
Итак, начнем. Я зайду под root'ом. Если у вас нет такого желания, просто дописывайте во все команды sudo и вводите пароль от системы.
Для начала установим NGINX. Добавим репозиторий проекта NGINX
и добавим туда строки и не забываем сохранять
Скачиваем GPG ключ
Устанавливаем его
Обновляем список пакетов
И наконец устанавливаем NGINX
Для проверки заходим в браузер, в адресной строке пишем localhost и если вы увидели страничку Welcome to nginx! значит вы на верном пути.
И так продолжаем. Устанавливаем PHP-FPM
Теперь нам нужно устранить уязвимости в PHP
Находим там строку
И приводим её к виду
Делаем рестарт PHP-FPM
Изменяем настройки виртуального хоста
Удаляем все старые настройки и вставляем это
Далее нам нужно проверить установился ли php-fpm. Для этого делаем следующее.
И пишем в него
Удаляем index.html
В браузере открываем localhost и если вы видите страничку PHP Version значит вы на верном пути
Далее устанавливаем MySQL, вам предложат установить пароль на пользователя root. Установите и запомните его.
Установим memcache. И после его установки перезапустим PHP(service php5-fpm restart)
Теперь на страничке phpinfo нужно найти пункт memcache. Если он есть, значит вы всё еще с нами.
Управление базой из командной строки не всегда удобно. Поэтому мы установим phpMyAdmin
У вас спросят кокой сервер вы ходите использовать, оставляем это поле пустым. Далее вам будет предложено настроить базу для работы сервиса. Сначала вводим пароль для root пользовате��я, далее для базы данных phpMyAdmin.
Открываем настройку виртуального хоста и вставляем в секцию server{ } следущее
В конечном итоге у вас должен получится конфиг вида
Устанавливаем xdebug для отладки наших приложений.
После чего перезапускаем php и ищем на localhost пункт xdebug
Для разработки я использую PHP IDE PhpStorm. Скачать её можно на официальном сайте www.jetbrains.com/phpstorm. Скачиваем и распаковываем в удобную для вас папку. Но для начала нам нужно установить Oracle Java 7.
Добавляем нужный репозиторий и обновляемся
Затем устанавливаем JDK (Java Development Kit)
После установки заходим в папку PhpStorm/bin и запускаем phpstorm.sh, после чего настраиваем IDE.
Теперь настраиваем IDE для работы с xdebug.
Открываем настройки идём в PHP, там выбираем:
PHP Languege level: 5.4
Добавляем интерпритатор: Name php5.4, PHP Home /usr/bin/, Debugger: Xdebug
и в Include path добавляем то что в ковычках: "/usr/share/php", ".", "/usr/share/pear"
Далее PHP->Servers нажимаем на + и добавляем сервер.
Name: localhost
Host: localhost
Port: 80
Debagger: Xdebug
И жмём OK.
Далее переходим в PHP->Debug. Находим тут секцию Xdebug и в ней Debug port пишем 9001
Теперь в PHP->Debug->DBGp Proxy и проверяем чтобы порт был 9001 и нажимаем ОК.
Выходи в главное окно и жмём там стрелку вниз и жмём Edit Configurations нажимаем на + и выбираем там PHP Web Aplication. Заполняем настройки:
Name: localhost
Server: выбираем localhost
Browser: Chrome скачанный с google.ru
Теперь нужно настроить php.ini для работы с xdebug
И добавляем в конец файла
Сохраняем. Перезапускаем nginx, php.
Настраиваем Chrome. Настройки->Внешний вид->Всегда показывать панель закладок. У вас должна появится панель закладок. Идём на сайт www.jetbrains.com/phpstorm/marklets и жмём кнопку Generate в разделе Xdebug, Перетаскиваем на панель Start debugger и Stop debugger.
Заходим в PhpStorm, открываем на индексный файл с phpinfo ставим точку останова на строке phpinfo(); и жмем трубку на панеле. После нажатия, верх трубки должен загорется зеленым. Открываем Chrome, заходим на localhost, жмем закладку «Start debugger», обновляем страницу и на мониторе видим PhpStorm с открытой панелью дебага.
На этом мой «небольшой» гайд подошел к концу. Надеюсь он кому то пригодится, кроме как мне.
Всем спасибо, с уважением amstr1k.
В этом топике я хочу собрать всё полезное, что возможно пригодится новичкам и хабраюзерам.
Всё это я буду поднимать на Ubuntu 13.04. Предполагается что вы уже скачали её с официального сайт, и установили.
Итак, начнем. Я зайду под root'ом. Если у вас нет такого желания, просто дописывайте во все команды sudo и вводите пароль от системы.
Для начала установим NGINX. Добавим репозиторий проекта NGINX
nano /etc/apt/sources.list
и добавим туда строки и не забываем сохранять
deb http://nginx.org/packages/ubuntu/ raring nginx
deb-src http://nginx.org/packages/ubuntu/ raring nginx
Скачиваем GPG ключ
wget http://nginx.org/keys/nginx_signing.key
Устанавливаем его
apt-key add nginx_signing.key
Обновляем список пакетов
apt-get update
И наконец устанавливаем NGINX
apt-get install nginx
Для проверки заходим в браузер, в адресной строке пишем localhost и если вы увидели страничку Welcome to nginx! значит вы на верном пути.
И так продолжаем. Устанавливаем PHP-FPM
apt-get install php5-cli php5-common php5-mysql php5-gd php5-fpm php5-cgi php5-fpm php-pear php5-mcrypt -y
Теперь нам нужно устранить уязвимости в PHP
nano /etc/php5/fpm/php.ini
Находим там строку
;cgi.fix_pathinfo = 1
И приводим её к виду
cgi.fix_pathinfo = 0
Делаем рестарт PHP-FPM
service php5-fpm restart
Изменяем настройки виртуального хоста
nano /etc/nginx/conf.d/default.conf
Удаляем все старые настройки и вставляем это
server {
listen 80;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Далее нам нужно проверить установился ли php-fpm. Для этого делаем следующее.
nano /usr/share/nginx/html/index.php
И пишем в него
<?php
phpinfo();
?>
Удаляем index.html
rm /usr/share/nginx/html/index.html
В браузере открываем localhost и если вы видите страничку PHP Version значит вы на верном пути
Далее устанавливаем MySQL, вам предложат установить пароль на пользователя root. Установите и запомните его.
apt-get install mysql-server mysql-client mysql-common
Установим memcache. И после его установки перезапустим PHP(service php5-fpm restart)
apt-get install memcached php5-memcached
Теперь на страничке phpinfo нужно найти пункт memcache. Если он есть, значит вы всё еще с нами.
Управление базой из командной строки не всегда удобно. Поэтому мы установим phpMyAdmin
apt-get install phpmyadmin
У вас спросят кокой сервер вы ходите использовать, оставляем это поле пустым. Далее вам будет предложено настроить базу для работы сервиса. Сначала вводим пароль для root пользовате��я, далее для базы данных phpMyAdmin.
Открываем настройку виртуального хоста и вставляем в секцию server{ } следущее
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
В конечном итоге у вас должен получится конфиг вида
server {
listen 80;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
}
Устанавливаем xdebug для отладки наших приложений.
apt-get install php5-xdebug
После чего перезапускаем php и ищем на localhost пункт xdebug
Для разработки я использую PHP IDE PhpStorm. Скачать её можно на официальном сайте www.jetbrains.com/phpstorm. Скачиваем и распаковываем в удобную для вас папку. Но для начала нам нужно установить Oracle Java 7.
Добавляем нужный репозиторий и обновляемся
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
Затем устанавливаем JDK (Java Development Kit)
sudo apt-get install oracle-jdk7-installer
После установки заходим в папку PhpStorm/bin и запускаем phpstorm.sh, после чего настраиваем IDE.
Теперь настраиваем IDE для работы с xdebug.
Открываем настройки идём в PHP, там выбираем:
PHP Languege level: 5.4
Добавляем интерпритатор: Name php5.4, PHP Home /usr/bin/, Debugger: Xdebug
и в Include path добавляем то что в ковычках: "/usr/share/php", ".", "/usr/share/pear"
Далее PHP->Servers нажимаем на + и добавляем сервер.
Name: localhost
Host: localhost
Port: 80
Debagger: Xdebug
И жмём OK.
Далее переходим в PHP->Debug. Находим тут секцию Xdebug и в ней Debug port пишем 9001
Теперь в PHP->Debug->DBGp Proxy и проверяем чтобы порт был 9001 и нажимаем ОК.
Выходи в главное окно и жмём там стрелку вниз и жмём Edit Configurations нажимаем на + и выбираем там PHP Web Aplication. Заполняем настройки:
Name: localhost
Server: выбираем localhost
Browser: Chrome скачанный с google.ru
Теперь нужно настроить php.ini для работы с xdebug
nano /etc/php5/fpm/php.ini
И добавляем в конец файла
zend.ze1_compatibility_mode = off
[xdebug]
xdebug.remote_enable = On
xdebug.max_nesting_level = 500
xdebug.remote_port = 9001
Сохраняем. Перезапускаем nginx, php.
Настраиваем Chrome. Настройки->Внешний вид->Всегда показывать панель закладок. У вас должна появится панель закладок. Идём на сайт www.jetbrains.com/phpstorm/marklets и жмём кнопку Generate в разделе Xdebug, Перетаскиваем на панель Start debugger и Stop debugger.
Заходим в PhpStorm, открываем на индексный файл с phpinfo ставим точку останова на строке phpinfo(); и жмем трубку на панеле. После нажатия, верх трубки должен загорется зеленым. Открываем Chrome, заходим на localhost, жмем закладку «Start debugger», обновляем страницу и на мониторе видим PhpStorm с открытой панелью дебага.
На этом мой «небольшой» гайд подошел к концу. Надеюсь он кому то пригодится, кроме как мне.
Всем спасибо, с уважением amstr1k.