Windows nginx php postgresql

DMTR3000S / wsl2.md

  1. Устанавливаем из магазина приложений (или из Github) новый Windows Terminal.

Запускаем установленный Terminal

В одной вкладке открываем Cmd.exe из меню

echo останавливаем работу wsl wsl --shutdown echo тут смотрим имя под которым зарегистрирован дистрибутив. Скорей всего `Ubuntu` будет написано wsl --list echo меняем версию Wsl wsl --set-version Ubuntu 2 

Во второй вкладке открываем Ubuntu .

sudo apt update sudo apt upgrade sudo apt purge openssh-server #не помню зачем я удалял sudo apt install openssh-server #и затем снова устанавливал, но, кажется, была какая-то ошибка sudo locale-gen "ru_RU.UTF-8" sudo dpkg-reconfigure locales #выбираем ru_RU.UTF-8 UTF-8 echo Устанавливаем Php из стороннего репозитория sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt upgrade sudo apt install php-bcmath php-cli php-common php-curl php-fpm php-gd php-intl php-json php-mbstring php-xdebug php-zip php-pgsql php-pear php-soap echo Устанавливаем сервер и базу sudo apt install mc nginx postgresql 

Открываем новую вкладку Ubuntu

sudo apt autoremove sudo apt autoclean cd ~ mkdir tmp cd tmp echo Устанавливаем composer php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" HASH="$(wget -q -O - https://composer.github.io/installer.sig)" php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') < echo 'Installer verified'; >else < echo 'Installer corrupt'; unlink('composer-setup.php'); >echo PHP_EOL;" sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer echo Устанавливаем Nodejs curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejs cd .. 

sudo nano /etc/nginx/nginx.conf

в нижней половине файла находим две строки и одну раскоментируем, а вторую закоментируем:

include /etc/nginx/conf.d/*.conf; #include /etc/nginx/sites-enabled/*; 

Нажимаем Ctrl+X , затем Y , и Enter

если там что-то есть, удалим этот файл sudo rm file.conf

sudo nano /etc/nginx/conf.d/my_project.loc.conf

Нажимаем Ctrl+X , затем Y , и Enter

sudo nano /etc/php/7.4/fpm/pool.d/my_project.loc.conf

[my_project.loc] pm = dynamic pm.start_servers = 1 pm.min_spare_servers = 1 pm.max_children = 5 pm.max_spare_servers = 5 listen = /var/run/php/my_project.loc.sock ;listen = 9004 ;listen.allowed_clients = 127.0.0.1 listen.mode = 0660 listen.owner = www-data listen.group = www-data user = vasya group = vasya chdir = /srv/http/my_project.loc catch_workers_output = yes ;php_flag[display_errors] = On php_admin_value[post_max_size] = 30M php_admin_value[upload_max_filesize] = 32M php_admin_value[error_log] = /var/log/loc.error.log ;php_admin_value[access_log] = off php_admin_value[display_errors] = On ;stderr php_admin_value[log_errors] = On php_admin_value[upload_tmp_dir] = /var/tmp php_admin_value[session.save_path] = /var/tmp 

Нажимаем Ctrl+X , затем Y , и Enter

Обратите внимание: вместо vasya напишите ваше имя в linux

cd /srv sudo mkdir http chown vasya:vasya http cd http composer create-project laravel/laravel my_project.loc 
sudo su - postgres psql create database my_project; create user vasya with password 'vasya'; grant all privileges on database my_project to vasya; \q exit 

Чтобы стартануть всё это, надо, при входе в Ubuntu (например после перезагрузки компа), выполнить

sudo service nginx start && sudo service php7.4-fpm start && sudo service postgresql start 

Добавим наш локальный домен в c:\Windows\System32\drivers\etc\hosts

Открываем Firefox, в адресной строке пишем http://my_project.loc

Настраиваем PhpStorm (Windows)

File > Open > \\wsl$\Ubuntu\srv\http\my_project.loc
Open

В шторме должно появиться:

изображение

  1. Error: Windows Defender чего-то там. нажимаем fix > automaticly
  2. Error: idea.case.sensitive.fs чего-то там. Идём в Help > Custom Properties , добавляем idea.case.sensitive.fs=true
  • Закрываем проект (сделай сначала это)
  • Закрываем шторм

Запускаем cmd.exe as admin, там выполняем:

mklink /D "c:\var\www\my_project.loc" "\\wsl$\Ubuntu\srv\http\my_project.loc" 

c:\var\www\my_project.loc — это путь, где вы хотите, чтобы находился проект в windows. Можно сменить на любой другой.

  • Стартуем шторм, но не открываем тот проект. Открываем «новый», уже из пути, что создали ранее c:\var\www\my_project.loc . (не спрашивайте зачем такие ухищрения. Есть глюк, когда шторм, каждый раз при запуске, сообщает, что Windows Defender. )

File / Settings / Directories:

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

  • level 7.4
  • CLI interpriter: Ubuntu.
    Если такого нет, то нажимаем три точки > плюсик > wsl > выбираем Ubuntu > ok изображениеизображение

изображение

изображение

изображение

  • Открываем терминал
  • composer update
  • npm install
  • npm run dev
  • .

Если обновить composer или npm из терминала, или переключить ветку git checkout xyz не встроенными средствами, то случается так, что PhpStorm не сразу видит изменения в папках. Чтобы перечитать файлы, надо в контекстном меню нужной папки выбрать «reload from disk».

Настраиваем PhpStorm (Linux)

  1. Скачиваем с официального сайта PhpStorm Установить можно в домашнюю директорию пользователя или (например) в /usr/phpstorm. Права на эту папку лучше сменить на пользователя от имени которого вы запускаете шторм, — это нужно для обновлений. Установка осуществляется простым разархивированием (если в архиве есть дополнительная папка, содержащая шторм, то распаковываем не её, а только её содержимое).
  2. Скачиваем X11 Настройки VcXsrv:

image

image

image

В дополнительных параметрах указываем способ переключения языков -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:alt_space_toggle

#!/bin/bash export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ''):0 &&\ /usr/phpstorm/bin/phpstorm.sh > /dev/null 2>&1 & 

Выставляем ему параметры rwx

Источник

zippaaa / wsl2.md

  1. Устанавливаем из магазина приложений (или из Github) новый Windows Terminal.

Запускаем установленный Terminal

В одной вкладке открываем Cmd.exe из меню

echo останавливаем работу wsl wsl --shutdown echo тут смотрим имя под которым зарегистрирован дистрибутив. Скорей всего `Ubuntu` будет написано wsl --list echo меняем версию Wsl wsl --set-version Ubuntu 2 

Во второй вкладке открываем Ubuntu .

sudo apt update sudo apt upgrade sudo apt purge openssh-server #не помню зачем я удалял sudo apt install openssh-server #и затем снова устанавливал, но, кажется, была какая-то ошибка sudo locale-gen "ru_RU.UTF-8" sudo dpkg-reconfigure locales #выбираем ru_RU.UTF-8 UTF-8 echo Устанавливаем Php из стороннего репозитория sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt upgrade sudo apt install php-bcmath php-cli php-common php-curl php-fpm php-gd php-intl php-json php-mbstring php-xdebug php-zip php-pgsql php-pear php-soap echo Устанавливаем сервер и базу sudo apt install mc nginx postgresql 

Открываем новую вкладку Ubuntu

sudo apt autoremove sudo apt autoclean cd ~ mkdir tmp cd tmp echo Устанавливаем composer php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" HASH="$(wget -q -O - https://composer.github.io/installer.sig)" php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') < echo 'Installer verified'; >else < echo 'Installer corrupt'; unlink('composer-setup.php'); >echo PHP_EOL;" sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer echo Устанавливаем Nodejs curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejs cd .. 

sudo nano /etc/nginx/nginx.conf

в нижней половине файла находим две строки и одну раскоментируем, а вторую закоментируем:

include /etc/nginx/conf.d/*.conf; #include /etc/nginx/sites-enabled/*; 

Нажимаем Ctrl+X , затем Y , и Enter

если там что-то есть, удалим этот файл sudo rm file.conf

sudo nano /etc/nginx/conf.d/my_project.loc.conf

Нажимаем Ctrl+X , затем Y , и Enter

sudo nano /etc/php/7.4/fpm/pool.d/my_project.loc.conf

[my_project.loc] pm = dynamic pm.start_servers = 1 pm.min_spare_servers = 1 pm.max_children = 5 pm.max_spare_servers = 5 listen = /var/run/php/my_project.loc.sock ;listen = 9004 ;listen.allowed_clients = 127.0.0.1 listen.mode = 0660 listen.owner = www-data listen.group = www-data user = vasya group = vasya chdir = /srv/http/my_project.loc catch_workers_output = yes ;php_flag[display_errors] = On php_admin_value[post_max_size] = 30M php_admin_value[upload_max_filesize] = 32M php_admin_value[error_log] = /var/log/loc.error.log ;php_admin_value[access_log] = off php_admin_value[display_errors] = On ;stderr php_admin_value[log_errors] = On php_admin_value[upload_tmp_dir] = /var/tmp php_admin_value[session.save_path] = /var/tmp 

Нажимаем Ctrl+X , затем Y , и Enter

Обратите внимание: вместо vasya напишите ваше имя в linux

cd /srv sudo mkdir http chown vasya:vasya http cd http composer create-project laravel/laravel my_project.loc 
sudo su - postgres psql create database my_project; create user vasya with password 'vasya'; grant all privileges on database my_project to vasya; \q exit 

Чтобы стартануть всё это, надо, при входе в Ubuntu (например после перезагрузки компа), выполнить

sudo service nginx start && sudo service php7.4-fpm start && sudo service postgresql start 

Добавим наш локальный домен в c:\Windows\System32\drivers\etc\hosts

Открываем Firefox, в адресной строке пишем http://my_project.loc

Настраиваем PhpStorm (Windows)

File > Open > \\wsl$\Ubuntu\srv\http\my_project.loc
Open

В шторме должно появиться:

изображение

  1. Error: Windows Defender чего-то там. нажимаем fix > automaticly
  2. Error: idea.case.sensitive.fs чего-то там. Идём в Help > Custom Properties , добавляем idea.case.sensitive.fs=true
  • Закрываем проект (сделай сначала это)
  • Закрываем шторм

Запускаем cmd.exe as admin, там выполняем:

mklink /D "c:\var\www\my_project.loc" "\\wsl$\Ubuntu\srv\http\my_project.loc" 

c:\var\www\my_project.loc — это путь, где вы хотите, чтобы находился проект в windows. Можно сменить на любой другой.

  • Стартуем шторм, но не открываем тот проект. Открываем «новый», уже из пути, что создали ранее c:\var\www\my_project.loc . (не спрашивайте зачем такие ухищрения. Есть глюк, когда шторм, каждый раз при запуске, сообщает, что Windows Defender. )

File / Settings / Directories:

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

  • level 7.4
  • CLI interpriter: Ubuntu.
    Если такого нет, то нажимаем три точки > плюсик > wsl > выбираем Ubuntu > ok изображениеизображение

изображение

изображение

изображение

  • Открываем терминал
  • composer update
  • npm install
  • npm run dev
  • .

Если обновить composer или npm из терминала, или переключить ветку git checkout xyz не встроенными средствами, то случается так, что PhpStorm не сразу видит изменения в папках. Чтобы перечитать файлы, надо в контекстном меню нужной папки выбрать «reload from disk».

Настраиваем PhpStorm (Linux)

  1. Скачиваем с официального сайта PhpStorm Установить можно в домашнюю директорию пользователя или (например) в /usr/phpstorm. Права на эту папку лучше сменить на пользователя от имени которого вы запускаете шторм, — это нужно для обновлений. Установка осуществляется простым разархивированием (если в архиве есть дополнительная папка, содержащая шторм, то распаковываем не её, а только её содержимое).
  2. Скачиваем X11 Настройки VcXsrv:

image

image

image

В дополнительных параметрах указываем способ переключения языков -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:alt_space_toggle

#!/bin/bash export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ''):0 &&\ /usr/phpstorm/bin/phpstorm.sh > /dev/null 2>&1 & 

Выставляем ему параметры rwx

Источник

Читайте также:  Синтаксический сахар python примеры
Оцените статью