Skip to content
This repository has been archived by the owner on Jan 17, 2020. It is now read-only.

Ubuntu 14.04 plus frontend guide

mrpavlikov edited this page Sep 6, 2014 · 30 revisions

Table of Contents generated with DocToc

Ubuntu после установки

Положим, что у нас на руках свежеустановленная Ubuntu 14.04.

Tilda

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

Terminal

Открываем стандартный терминал с помощью сочетания клавиш:

ctrl + alt + t

Меняем цвет терминала:

Edit -> Profile Preferences -> Colors

Убираем галку с Use colors from system theme, ставим Green on Black

Tilda: установка

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

sudo apt-get install tilda

Ищем в Dash: нажимаем клавишу Super, пишем Tilda, запускаем

Главное меню (Dash)

Меню в котором можно воспользоваться поиском как по локальным (установленные приложения, файлы и папки, музыка), так и по удалённым (доступные для установки приложения, видео на YouTube).

Tilda: настройка

В настройках меняем:

  1. Ставим галку на Start Tilda hidden
  2. Во вкладке Appearance ставим height 30% и width 100%
  3. В Extras включаем прозрачность: Enable Transparency
  4. Там же устанавливаем уровень прозрачности на свой вкус Level of Transparency
  5. Во вкладке Сolors ставим тему Green on Black

Теперь по хоткею F1 на любом рабочем столе будет открываться терминал

Tilda: автозапуск

Ищем в Dash приложение Startup Applications, жмем Add, указываем:

Поле Значение
Name: Tilda
Command: tilda

Restircted extras

help.ubuntu.ru:

К сожалению, в Ubuntu по умолчанию не входят библиотеки поддержки многих популярных форматов мультимедиа-файлов, а так же некоторые другие нужные программы, например, flash-плагин для интернет-браузера и набор шрифтов Microsoft. Поэтому всё это необходимо ставить дополнительно из репозиториев.

sudo apt-get install ubuntu-restricted-extras

Unity Tweak Tool

По умолчанию Ubuntu поставляется окружением рабочего стола Unity. Будем ориентироваться на него. Установим твикер:

sudo apt-get install unity-tweak-tool

Запускаем, правим

  • Launcher -> Search: ускоряем поиск приложений убирая галки с
    • Search online sources
    • Show "More Suggestion"
    • Enable search of your files
  • Switcher -> убираем Display "Show Desktop" icon из alt + tab

System update

Обновляем систему

sudo apt-get update && sudo apt-get upgrade

Workspaces: рабочие столы

Включаем дополнительные рабочие столы: в Dash вводим appearance, во вкладке Behavior отмечаем галку Enable workspaces.

Теперь можно переключать рабочий стол по сочетанию клавиш:

Ctrl + Alt + Стрелка

Перетащить окно между рабочими столами можно с помощью:

Ctrl + Alt + Shift + Стрелка

Посмотреть остальные хоткеи можно зажав клавишу Super.

Я, например, организую рабочие столы так

  1. Браузеры
  2. Редактор
  3. Терминалы
  4. Почта и прочее

Software

Скачиваем и устанавливаем следующие программы:

LAMP

Wikipedia:

LAMP — акроним, обозначающий набор (комплекс) серверного программного обеспечения, широко используемый во Всемирной паутине. LAMP назван по первым буквам входящих в его состав компонентов:

  • Linux — операционная система Linux;
  • Apache — веб-сервер;
  • MariaDB / MySQL — СУБД;
  • PHP — язык программирования, используемый для создания веб-приложений (помимо PHP могут подразумеваться другие языки, такие как Perl и Python).

Если Вы до этого использовали Windows, то, скорее всего локальные веб-серверы обслуживал Denwer. Теперь же мы установим все, как на настоящих серверах.

Apache

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

sudo apt-get install apache2

Проверяем, что Apache установился, зайдя в браузере по адресу http://localhost.

Все веб-серверы будут лежать внутри папки /var/www, добавляем ее в закладки Nautilus (проводника) для быстрого доступа:

Computer -> var -> www -> нажимаем Ctrl + D

Теперь папка /var/www должна появиться во вкладке Bookmarks, между Devices и Network.

.htaccess

По умолчанию файлы .htaccess отключены, включим их отредактировав конфигурационный сервер Apache:

sudo gedit /etc/apache2/apache2.conf

Ищем в нем настройки папки /var/www:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Заменим в ней директиву AllowOverride:

AllowOverride All

После изменения любых настроек в конфиге Apache его нужно перезапустить, чтобы изменения вступили в силу:

sudo service apache2 restart

mod_rewrite

Включим модуль рерайтов, без него работает редкий сайт:

sudo a2enmod rewrite && sudo service apache2 restart

MySql

Устанавливаем mysql. В процессе установки Вас попросят ввести root'овый пароль для базы.

sudo apt-get install mysql-server php5-mysql

Создаем структуру базы данных:

sudo mysql_install_db

Удаляем default'ные настройки:

sudo mysql_secure_installation

Сначала вводим пароль, который указали при установке, на вопрос Change the root password отвечаем n, на остальные вопросы отвечаем по умолчанию (то, что выделено большой буквой).

Проверяем установку, вводим три команды (первая попросит пароль от базы данных):

mysql -uroot -p
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

exit

PHP

PHP: установка

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-curl php5-gd

Проверяем, что php установился:

php -v
PHP 5.5.9-1ubuntu4.3 (cli) (built: Jul  7 2014 16:36:58)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

mod_dir

Подкорректируем настройки Apache, чтобы по умолчанию открывался файл index.php, а не index.html. Для этого откроем конфигурационный файл модуля Dir веб-сервера Apache в текстовом редакторе:

sudo gedit /etc/apache2/mods-enabled/dir.conf

Заменим в нем список индексных файлов, удалив ненужные:

<IfModule mod_dir.c>
	DirectoryIndex index.php index.html
</IfModule>

Сохраняем и перезапускаем Apache:

sudo service apache2 restart

PhpMyAdmin

Устанавливаем phpmyadmin. В процессе установки потребуется root'овый пароль от базы данных, а также нужно будет ввести пароль для нового пользователя БД phpmyadmin.

sudo apt-get install phpmyadmin

Открываем настройки Apache:

sudo gedit /etc/apache2/apache2.conf

Добавляем в конец строчку

Include /etc/phpmyadmin/apache.conf

Перезапускаем apache:

sudo service apache2 restart

Проверяем, что phpmyadmin работает, зайдя в браузере по адресу:

http://localhost/phpmyadmin

В качестве логина следует вводить phpmyadmin, пароль Вы задавали в процессе установки. Заходить под пользователем root не рекоммендуется.

/var/www: устанавливаем права

В Ubuntu веб-сервер Apache работает от пользователя www-data (группа www-data). Мы добавляем Вашего пользователя в эту же группу, а также ставим на /var/www по умолчанию группу www-data. Если этого не сделать, то когда Вы будете создавать файлы в этой папке, они будут создаваться от группы и у Apache не будет к ним доступа на запись.

Подробнее про команды:

В качестве <username> нужно указать имя своего пользователя:

sudo adduser <username> www-data; sudo chgrp -R www-data /var/www; sudo chmod -R g+rw /var/www; find /var/www -type d -print0 | sudo xargs -0 chmod g+s

Теперь нужно перелогиниться, чтобы добавление пользователя в группу www-data возымело силу.

Nodejs

Устанавливаем nodejs и менеджер пакетов npm

sudo apt-get install nodejs nodejs-legacy npm

Npm пакеты

Устанваливаем необходимые пакеты с флагом -g, глобально. После этого любой из этих пакетов мы сможем использовать в терминале, как обычную команду.

sudo npm install -g bower jshint jscs csscomb gulp npm-check-updates

Ruby

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

sudo apt-get install ruby ruby-compass

Устанавливаем gem'ы:

sudo gem install compass sass scss-lint

Git

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

sudo apt-get install git

Указываем свои email и имя:

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

SSH ключ

Генерируем ssh ключ, указав в комментарии свой email:

ssh-keygen -t rsa -C "[email protected]"

Сохраняем в директории по умолчанию (жмем enter):

Enter file in which to save the key (/home/koste/.ssh/id_rsa):

Указываем passphrase для разблокировки ключа. Этот пароль нужно будет вводить один раз за сеанс работы с системой (т.е. после каждого логина).

Enter passphrase (empty for no passphrase)

Чтобы посмотреть ключ и скопировать его для добавления на Github / Gitlab / Bitbucket мы можем воспользоваться командой cat:

cat ~/.ssh/id_rsa.pub

Git clone

Проверяем, что git и ключ работают:

cd /var/www
git clone [email protected]:mrpavlikov/kelnik-foundation.git kelnik-foundation
cd kelnik-foundation
npm install

Если npm в процессе установки начнет ругаться, что ему не хватает прав, то скорее всего в домашней директории создалась папка tmp от пользователя root. Исправляем запуском команды

sudo chown <username>:<username> ~/tmp

после чего заново запускаем

npm install

Virtual host

Например, в Denwer нужно создать в определенной папке новую директорию вида example.local, и этот домен будет открываться в браузере локально. В Linux эта процедура чуть сложнее.

Чуть раньше мы склонировали в папку /var/www/kelnik-foundation репозиторий. Положим, мы хотим, чтобы этот виртуальный хост имел имя foundation.local.

Первое, что нам нужно сделать — создать конфигурацию. Впоследствии для каждого проекта (папки в /var/www/) нужно будет делать свой конфигурационный файл.

Virtual host: создание конфига

Зайдем в папку, в которой лежат все конфиги виртуальных хостов:

cd /etc/apache2/sites-available/

В этой папке есть шаблонный конфиг 000-default.conf, скопируем его и назовем по имени домена, по которому он будет открываться foundation.local.conf:

sudo cp 000-default.conf foundation.local.conf

Важно: у конфига всегда должно быть расширение .conf

Откроем вновь созданный файл в текстовом редакторе:

sudo gedit foundation.local.conf
  • Удалим комментарии
  • В качестве имени сервера укажем foundation.local
  • Добавим параметр ServerAlias, чтобы проект открывался также по адресу www.foundation.local
  • Укажем в качестве DocumentRoot (публичная часть) папку, в которую мы склонировали проект. Здесь следует обратить внимание на www на конце, публичная директория на уровень глубже папки проекта.
  • Добавим префикс foundation.local- к именам файлов ErrorLog и CustomLog, чтобы логи для каждого проекта велись отдельно
  • Для примера добавим переменную окружения, обозначающую, например, для Zend, что проект работает в режиме разработки, от этого параметра может зависеть вывод ошибок и т.д.

В итоге конфиг должен выглядеть примерно так:

<VirtualHost *:80>
    ServerName foundation.local
    ServerAlias www.foundation.local

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/kelnik-foundation/www

    SetEnv APPLICATION_ENV "development"

    ErrorLog ${APACHE_LOG_DIR}/foundation.local-error.log
    CustomLog ${APACHE_LOG_DIR}/foundation.local-access.log combined
</VirtualHost>

Virtual host: включение

Мы добавили конфигурацию нового виртуального хоста. Создали мы его в папке sites-available, что как бы намекает нам, что этот конфиг доступен, но не включен. Каждый конфиг, который мы создаем, нужно включать:

sudo a2ensite foundation.local.conf

На заметку:

  • В любой момент виртуальный хост можно выключить командой a2dissite, при этом его конфиг не сотрется.
  • Выполнить команду a2ensite и прочие команды Apache можно из любой папки. Кнопка tab совершит автодополнение в любом случае, так как система знает, где находятся конфигурационные файлы каждой такой команды.

Для вступления настроек в силу перезапускаем Apache:

sudo service apache2 restart

/etc/hosts

Последнее приготовление, нужно рассказать нашей системе, что адреса, указанные для виртуального хоста должны открываться локально. Редактируем файл /etc/hosts:

sudo gedit /etc/hosts

Добавим в конец строчки:

127.0.0.1   foundation.local
127.0.0.1   www.foundation.local

Готово! Проверяем, что все работает: http://foundation.local/example.html