Настройка Ubuntu для веб-разработчика
Проверено на Xubuntu 12.04 – 16.10. Подойдет и для других дистрибутивов.
- Установка LAMP сервера
- Директория проектов
- Добавление сайтов в Apache
- PHP
- Настройка локального DNS
- Установка Adminer
- Установка Node.js
- Установка среды разработки
- Установка VirtualBox
Установка 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.303
— IP адрес компьютера.
Айпи нужен для того, чтобы наши сайты были доступны из виртуальных машин. Если же вам такая возможность не нужна, то можно оставить адрес по-умолчанию — 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_10.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
например.