Blog logotype

Установки на Linux для Web-разработки. Заметки

Небольшое примечание

Перед каждой установкой программы желательно обновлять пакеты:

sudo apt-get update

Редакторы

  • Установим два редактора:
    Visual Studio Code:
sudo apt-get install ubuntu-make 
umake ide visual-studio-code

... и Sublime Text:

sudo add-apt-repository ppa:webupd8team/sublime-text-3  
sudo apt-get install sublime-text-installer

Git

  • Устанавливаем git, если не установлен и генирируем ssh-ключ для работы с репозиторием:
ssh-keygen -t rsa -b 4096  
cat ~/.ssh/id_rsa.pub

Ключ копируем и вставляем сюда{:rel="nofollow"}.
И запускаем ssh-agent:

eval "$(ssh-agent -s)"

Теперь можно работать с репозиториями.

Сервер

Для сервера будем использовать стек LEMP (Linux, Nginx, MySQL и PHP).

  • Установим Nginx:
sudo apt-get install nginx

Запускается он автоматически, поэтому зайдя на localhost{:rel="nofollow"} вы увидете страницу от Nginx.
По умолчанию сайты находятся в папке /usr/share/nginx/html. Если нужно поменять путь, то в файле конфигурации, /etc/nginx/sites-available/default.conf, нужно найти и изменить строчку: root /usr/share/nginx/html; на нужный нам путь.

  • Установим MySQL:
sudo apt-get install mysql-server
  • Установим PHP: sudo apt-get install php php-cli php-fpm php-mysql
    Теперь нам необходимо изменить одну из настроек в файле конфигурации PHP, для чего откроем файл "php.ini" Находим параметр "cgi.fix_pathinfo", убираем символ комментария в начале строки (";") и установливаем значение параметра 0, чтобы в результате получилось:
    cgi.fix_pathinfo=0
    Перезапускаем процесс PHP:
    sudo systemctl restart php7.0-fpm
  • Настроим Nginx для работы с PHP:
    Добавим в директиву "index" значение "index.php" первым в списке (чтобы PHP файлы имели приоритет в обработке веб-сервером перед HTML):
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;

Установим директиву "server_name" в значение IP адреса или доменного имени нашего сервера:
server_name server_domain_or_IP; Раскомментировать секцию, которая описывает настройки обработки PHP и блок location для файлов .htaccess. Сервер Nginx не обрабатывает эти файлы; если один из этих файлов попадёт в document root, его нельзя отображать клиентам. Вот, что должно получиться в итоге:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
    deny all;
}

После проверим файл на наличии ошибок:
nginx -t
и перезагрузим nginx:
nginx -s reload

  • Тестирование
    В папке для сайтов создаём php-файл со строкой:
    <?php phpinfo();
    и открываем его в браузере. Если появляется страница, содержащую информацию о сервере, значит nginx обслуживает файлы PHP. Теперь можно удалить этот файл и продолжить работать.
  • WordPress
    Для работы с WordPress нужно настроить MySQL. Зайдём через root-пользователя:
    mysql -uroot -p
    Создадим базу данных:
    CREATE DATABASE wordpress;
    Создадим нового пользователя:
    CREATE USER 'user'@'localhost' IDENTIFIED BY 'testpass';
    Предоставим пользователю полный доступ к базе данных:
    GRANT ALL PRIVILEGES ON blog . * TO 'user'@'localhost';
    Сбрасываем привилегии:
    FLUSH PRIVILEGES;
    Далее скачиваем WordPress и помещаем его в папке сайта. В файле wp-config.php изменяем параметры MySQL на только что настроенные:
define('DB_NAME', 'wordpress');
define('DB_USER', 'user');
define('DB_PASSWORD', 'testpass');
define('DB_HOST', 'localhost');

Открываем в браузере wp-activate.php и следуем по инструкции.

Sass

  • Установим Ruby, а далее и Sass:
sudo apt-get install ruby
sudo gem install sass

Gulp

  • Для начала нужно устрановить node.js:
    sudo apt-get install nodejs
    На всякий случай, можно проверить версию:
    nodejs -v
  • Далее установим сборщик пакетов, npm:
    sudo apt-get install npm
    Проверить версию можно также, как и у node.js.
  • Далее установим Gulp.
    npm install --global gulp
    В данном случае мы установили Gulp глобально, то есть его можно использовать в любом месте системы. Чтобы установить его только в папке разработки можно использовать команду:
    npm install --save-dev gulp
  • Создаём проект:
    nmp init
    Настройки проекта будут находиться в файле package.json
  • Проверяем работу. В файле gulpfile.js пишем следующий код:
gulp.task('hello', function() {
    console.log('Hello, World!');
});

И в терминале запускаем его:
gulp hello
В результате должны увидеть фразу "Hello, World!".

Jekyll

  • Устанавливаем павкет ruby и ruby-dev для разработки:
    sudo apt-get install ruby ruby-dev
  • Далее устанавливаем Jekyll и Bundler:
    sudo gem install jekyll bundler
  • Переходим в папку с готовым Jekyll-сайтом и запускаем сервер:
    bundle exec jekyll serve
  • И переходим на localhost:4000{:rel="nofollow"}.
  • Если нужно начать новый проект, то используем команду:
    jekyll new название_проекта
  • И также переходим в папку "название_проекта" и запускаем сервер.

React JS

Для работы с реактом, должны быть установлены NodeJS и npm

  • Установим create-react-app:
    sudo npm install -g create-react-app
  • Инициализируем проект:
    create-react-app my-app
  • Переходим в папку my-app и запускаем проект в режиме разработки:
    npm start
    Суть в том, что страница localhost:3000{:rel="nofollow"} будет перезагружаться как только будут произведены какие-либо изменения в файлах.