Настройка Ubuntu для веб-разработчика

Проверено на Xubuntu 12.04 – 16.10. Подойдет и для других дистрибутивов.

Установка LAMP сервера

источник

sudo apt-get install tasksel
sudo tasksel install lamp-server

Открываем в браузере http://localhost/ Если увидели: It works! — все сделано правильно.

Зададим веб-серверу Apache его имя — для этого введем в консоле:

sudo nano /etc/apache2/apache2.conf

И добавим строку:

ServerName localhost

Вместо localhost можно указать ваш домен, если он настроен.

Перезапустим Apache:

sudo service apache2 restart

Советую создать алиас для быстрого вызова данной команды. Использовать ее будете часто.

nano ~/.bash_aliases
alias apre="sudo service apache2 restart"

Чтобы алиас заработал сразу — можно ввести команду:

source ~/.bashrc

Модули Apache

Смотрим подключенные модули:

sudo a2dismod

Выведет список подключенных модулей, которые тут же можно отключить.

Или по-старинке:

ls /etc/apache2/mods-enabled/

Подключаем нужные модули (принцип работы тот же):

sudo a2enmod rewrite

Директория проектов

mkdir ~/Sites

Чтобы жить было легче — создаем симлинк:

sudo ln -s $HOME/Sites /sites

Если ваш раздел зашифрован, то директорию для сайтов придется создавать в другом месте:

sudo mkdir /home/public_html
cd /home/public_html
sudo mkdir `whoami`
sudo chown `whoami`:`whoami` `whoami`
chmod +x `whoami`
ln -s /home/public_html/`whoami` /home/`whoami`/Sites
sudo ln -s /home/public_html/`whoami` /sites

Добавление сайтов в Apache

sudo nano /etc/apache2/sites-available/vovan.conf

Добавляем запись для нового виртуального хоста (он же наш локальный сайт):

<VirtualHost *:80>
    DocumentRoot /sites/example/www
    ServerName example
    ServerAlias example.vovan
    ErrorLog /sites/example/error.log
    CustomLog /sites/example/access.log common
    <Directory "/sites/example/www">
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Включаем созданный хост в Apache:

sudo a2ensite vovan

Новые сайты добавляем в тот же файл:

<VirtualHost *:80>
    DocumentRoot /sites/example/www
    ServerName example
    ServerAlias example.vovan
    ErrorLog /sites/example/error.log
    CustomLog /sites/example/access.log common
    <Directory "/sites/example/www">
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /sites/adminer/www
    ServerName adminer
    ServerAlias adminer.vovan
    ErrorLog /sites/adminer/error.log
    CustomLog /sites/adminer/access.log common
    <Directory "/sites/adminer/www">
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Перезапустим Apache:

sudo service apache2 restart

PHP

Модули PHP

Установим модуль PHP для работы с JSON:

sudo apt-get install php5-json

Модуль PHP для работы с картинками:

sudo apt-get install php5-gd

Кэширование:

sudo apt-get install php5-memcache

Настройка PHP (php.ini)

sudo nano /etc/php5/apache2/php.ini

Меняем следующие настройки:

short_open_tag On
error_reporting = E_ALL
post_max_size = 128M
upload_max_filesize = 512M
date.timezone = "Europe/Moscow"

Свою временную зону смотрим по адресу http://ru2.php.net/manual/en/timezones.php

Настройка локального DNS

Установим Dnsmasq:

sudo apt-get install dnsmasq
sudo nano /etc/dnsmasq.conf

Находим строку с настройкой адреса address=/ (включаем поиск: Ctrl+w, пишем слово address=/, жмем Enter)

Правим ее следующим образом:

address=/vovan/192.168.10.303

Где vovan — это имя нашего домена, а 192.168.10.303IP адрес компьютера.

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

Узнать свой локальный айпи можно с помощью команды ifconfig

ifconfig

eth0 Link encap:Ethernet HWaddr 00:55:88:00:00:00 inet addr:192.168.10.303 ...

Перезапустим Dnsmasq:

sudo service dnsmasq restart

Теперь наши сайты доступны по адресам типа http://example.vovan

Установка Adminer

Быстрая компактная альтернатива phpMyAdmin. Качаем: http://www.adminer.org/

mkdir -p ~/Sites/adminer/www
mv ~/Downloads/adminer-4.2.2.php ~/Sites/adminer/www/index.php
chmod 755 ~/Sites/adminer/www/index.php
sudo nano /etc/apache2/sites-available/vovan.conf
<VirtualHost *:80>
    DocumentRoot /sites/example/www
    ServerName example
    ServerAlias example.vovan
    ErrorLog /sites/example/error.log
    CustomLog /sites/example/access.log common
    <Directory "/sites/example/www">
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /sites/adminer/www
    ServerName adminer
    ServerAlias adminer.vovan
    ErrorLog /sites/adminer/error.log
    CustomLog /sites/adminer/access.log common
    <Directory "/sites/adminer/www">
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Перезапустим Apache:

sudo service apache2 restart

По адресу http://adminer.vovan мы можем управлять локальными MySQL базами.

Установка Node.js

Ставим по инструкции (installation-instructions):

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install nodejs

Чтобы избежать проблем с правами — переопределим местонахождение пакетов (fixing-npm-permissions):

mkdir -p ~/.npm-global/bin
npm config set prefix '~/.npm-global'

Установка среды разработки

Большинство сред разработки написаны на Java, поэтому с нее и начнем.

Установка Java Platform (JDK/JRE)

sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update
sudo apt-get install oracle-java8-installer oracle-java8-set-default

Установка NetBeans IDE

Качаем: https://netbeans.org/downloads/

Устанавливаем:

sh ~/Downloads/netbeans-7.2.1-ml-php-linux.sh

Установка Atom

Качаем .deb

sudo dpkg -i ~/Downloads/atom-amd64.deb

Чтобы никогда не увидеть ошибку TypeError: Unable to watch path (typeerror-unable-to-watch-path):

sudo sysctl fs.inotify.max_user_watches=32768
echo 32768 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

Делаем Atom редактором по-умолчанию — заменим gedit.desktop на atom.desktop

sudo atom /usr/share/applications/defaults.list

Установка VirtualBox

Устанавливаем виртуальную машину через менеджер пакетов...

Из настроек виртуальной машины нас интересует только следующее:

  • Network

    Network → Adapter 1
      Attached to: NAT
      Advanced:
          PCnet-FAST III (Am79C973)
    
  • Shared Folders

    Add shared folder
      Folder Path: /sites
          Auto-mount
    

Установка Internet Explorer

Качаем и ставим нужные версии: https://dev.modern.ie/tools/vms/

Теперь, запущенный локально сайт, например http://localhost:3000 на виртуалке будет доступен по адресу http://10.0.2.2:3000/ А те, что добавлены в апач, по тем же ссылкам: http://adminer.vovan например.