• PHPStorm + Git + ISPManager = как наиболее оптимально настроить перечисленное на одном сервере?

    lamo4ok
    @lamo4ok Автор вопроса
    Алексей POS_troi: все верно, так и планировал - иначе я не совсем понимаю, как отлаживать код, не переключаясь в IDE между его проектом, который "смотрит" в репозиторий какой-то отдельно лежащий и проектом, который "смотрит" на код собственно на тестовом или рабочем сервере.
  • PHPStorm + Git + ISPManager = как наиболее оптимально настроить перечисленное на одном сервере?

    lamo4ok
    @lamo4ok Автор вопроса
    Алексей POS_troi: Алексей Ямщиков: изначально Git не было, поэтому действительно, сконфигурировано сейчас было так:

    Есть PHPStorm, есть проект, созданный в нем. У него рут-папкой обозначена директория, на которую смотрит и веб-сервер - то есть пишу что-то на локальной машине, деплою на сервер - вуаля, код сразу на сервере. Такая конфигурация вроде как естественная для такого варианта работы, но по сарказму выше понял, что так делать в случае Git не надо :)

    Верно ли я понимаю, что в итоге надо отдельного пользователя(ей) создать для работы в Git, которые заодно будут иметь доступ и ко всем папкам всех пользователей хостинга (ну то есть по сути ко всем папкам виртуальных хостов апача).
    Потом нужно создать какую-то папку для репозиториев, где будут храниться все репозитории, то есть это будет что-то вида:
    common.git
    --site1.com.git
    --site2.com.git

    И так далее, где будут храниться сами репозитории. И нужно тогда PHPStorm настроить на эти репозитории, чтобы он туда файлы выгружал или как там это верно будет сказать, Git там контролировал изменения, в общем делал все то, что от него требуется, и потом, когда нужно, в PHPStorm нажимается волшебная кнопка, которая дает команду Git задеплоить код в ту папку, в которую нужно, в рабочую или в тестовую.

    И тогда еще два вопроса:

    1. А в рамках PHPStorm всю ту работу с ветками можно делать? Не из встроенной консоли, понятное дело - это можно откуда угодно делать :)
    2. Как тогда отлаживать проекты на php в рамках PHPStorm? Ведь он будет работать с файлами, которые не в папке виртуального хоста веб сервера, а с файлами, которые где-то там отдельно живут своей жизнью вместе с Git.
  • PHPStorm + Git + ISPManager = как наиболее оптимально настроить перечисленное на одном сервере?

    lamo4ok
    @lamo4ok Автор вопроса
    Алексей Ямщиков: я благодарен, честное слово :) В общем с пользователями разобрались, придется какого-то отдельного пользователя создавать, я вас понял, и под ним все это делать.

    Ниже скорректирую вопрос про PHPStorm.
  • Работа с Git на удаленном сервере без установленного локально из PHPStorm - реально?

    lamo4ok
    @lamo4ok Автор вопроса
    Алексей Ямщиков: дело в том, что я и правда новичок в плане Git и надеялся, что PHPStorm сам отправляет тому удаленному бинарнику файлы на проверку, тот их обрабатывает, при необходимости выполняет все свои функции и так далее. Ну или например что PHPStorm сначала отправляет файлы и сохраняет их в какой-то папке, а тот удаленный бинарник их обрабатывает.

    Спасибо.
  • Работа с Git на удаленном сервере без установленного локально из PHPStorm - реально?

    lamo4ok
    @lamo4ok Автор вопроса
    DevMan: поверьте, читал, но была надежда, что это для тех, кто изначально и репозитории хранит локально, ну или работает прямо на сервере. Спасибо!
  • PHPStorm + Git + ISPManager = как наиболее оптимально настроить перечисленное на одном сервере?

    lamo4ok
    @lamo4ok Автор вопроса
    Алексей Ямщиков: я без претензии, ребят, я действительно в этом полный ноль. Просто вопрос изначально про то, как начать работать со всем этим в PHPStorm из одного проекта, а не как просто прикрутить Git на своем сервере. На этот счет мануалов в сети полным полно, а тут более комплексно интересует.

    В разные папки (тестовую и продакшен) деплоить по push разные ветки (branch)
    Тестовую как оттестировали сливать в продакшен ветку.

    не влияет никак. Вам нужно понять как работает web server фактически, что бы таких вопросов не задавать.

    В первой цитате содержится ответ на вторую - в том-то и дело, что действительно нужно создать разные папки и деплоить по пуш в одну тестовый код, а во вторую рабочий. Ну или создать два репозитория в разных папках и один принять за главный, а другой за тестовый, и связать их через клонирование и потом "remote add shared". Но если возможно нормально работать и с одним репозиторием, а не с этой конфигурацией с двумя, то конечно этот вариант лучше. Просто изначально наткнулся на мануал с такой конфигурацией и остановился на нем.

    Так вот, проблема в том, что в описанной мною конфигурации эти папки находятся в разных местах, и владельцы и группы у них тоже разные. Разные настолько, что не должны никак пересекаться, это фактически как бы разные пользователи хостинга, по сути. Вопрос в том, как и где лучше сделать один репозиторий:

    в папке, к которой есть доступ у пользователя, под которым работает тестовый сайт?
    в папке, к которой есть доступ у пользователя, под который работает основной сайт?
    где-то в отдельной папке?

    И соответственно под кем тогда должен ходить на удаленный сервер, где расположены эти папки, PHPStorm или просто локальный Git? Сделать нового пользователя, который будет иметь доступ ко всему, создать папку с репозиторием где-то отдельно, и пускай под этим пользователем все выполняется?
    Или под кем-то из созданных пользователей это делать? И возможно ли это, когда пользователь, под кем крутится тестовый сайт, что-то пушит в репозиторий в рабочую папку (то есть в папку другого, не этого пользователя), и Git это сам делает, не смотря на то, что пользователь, который ему это сказал сделать, не имеет доступа к этой рабочей папке? В это слабо верится, так как тогда получается при желании можно нарушить безопасность на сервере.

    Поясните эту фразу пожалуйста. Что значит, в вашем понимании, прикрутить репозиторий к домену?


    Имелось ввиду, что создаются два репозитория, они связываются между собой, как указано выше, и из каждого репозитория деплоится в свою папку, в рабочую или тестовую. Но я сейчас уже понимаю, что более оптимальный вариант - один репозиторий с двумя ветками, и вопрос теперь только в том, как настроить это, при условиях, описанных выше - то есть когда есть два пользователя, не имеющих доступа к папкам друг друга, а тестовый и рабочий сайты находятся как раз в папке первого и в папке второго пользователя.

    Извините, если сбивчиво и непонятно, стараюсь и текст не растягивать, и понятно описывать. Выходит не очень, видимо :)
  • Работа с Git на удаленном сервере без установленного локально из PHPStorm - реально?

    lamo4ok
    @lamo4ok Автор вопроса
    Поясню, что я имел ввиду - то есть PHPStorm не может грубо говоря использовать тот бинарник git, который на удаленном сервере есть, подключаясь к этому серверу по ssh, например? И вместо этого он использует локально установленный Git, который сам уже заходит через ssh или что-то там еще и делает необходимые вещи?
  • Работа с Git на удаленном сервере без установленного локально из PHPStorm - реально?

    lamo4ok
    @lamo4ok Автор вопроса
    Поясню, что я имел ввиду - то есть PHPStorm не может грубо говоря использовать тот бинарник git, который на удаленном сервере есть, подключаясь к этому серверу по ssh, например? И вместо этого он использует локально установленный Git, который сам уже заходит через ssh или что-то там еще и делает необходимые вещи?
  • PHPStorm + Git + ISPManager = как наиболее оптимально настроить перечисленное на одном сервере?

    lamo4ok
    @lamo4ok Автор вопроса
    Видимо, вы не до конца поняли мой вопрос или же я его по-глупому задал, если решили, что нужно выкинуть из него что-либо. Поясню.

    Есть некий заказ, проект, сайт. Допустим, он пишется с нуля, а не используется какая-либо CMS или что-то вроде. Соответственно в данный момент работа начинается так:

    Создается поддомен на каком-то домене, это будет место, где сайт хостится до его переноса на его рабочий адрес. В PHPStorm создается новый проект (в рамках его терминологии), в нем подключается папка того поддомена и начинается работа над проектом. Он доходит до какой-то стадии и потом все это вручную переносится уже на рабочий домен. До этого места и в такой конфигурации все работает.

    При этом тестовый поддомен и рабочий домен находятся физически на одном сервере, но созданы под разными пользователями в ISManager, то есть их файлы лежат в папках разных пользователей Linux, и какого-то общего доступа между ними нет, это отдельно живущие вещи в рамках одной машины.

    Вопрос в том, что есть желание внедрить Git. И вот тут возникает вопрос, как с минимумом труда и создания лишнего сделать так, чтобы в рамках одного проекта PHPStorm можно было сначала что-то писать и отправлять для тестирования на тестовом сервере, а потом, если это необходимо, уже переносить на рабочий сервер. И возможно ли вообще такая конфигурация. Работать с Git естественно планируется по максимум прозрачно через PHPStorm, чтобы он автоматически делал все то, что обычно в мануалах пишется как десятки строк команд. То есть создавать в начале какой-то репозиторий конечно же не проблема, и ручками его там прикручивать к очередному тестовому и рабочему домену, но потом все действия конечно же хочется производить из IDE, то есть в нашем случае из PHPStorm.
  • Как реализовать загрузку конфигурации Mikrotik в зависимости от статуса wathdog?

    lamo4ok
    @lamo4ok Автор вопроса
    Евгений Быченко: возможно, но в общем-то конфигурации совершенно разные, могу, если интересно, выложить экспорт обеих.
  • Как реализовать загрузку конфигурации Mikrotik в зависимости от статуса wathdog?

    lamo4ok
    @lamo4ok Автор вопроса
    Понятно, спасибо. Но я искал скорее уж готовое решение, если кто-то аналогичное реализовывал, писать самому все это - занятие для того дня, когда мне совсем уж нечем будет заняться :)
  • Как сделать доступным FTP сервер за NAT+Cloud Mikrotik и за NAT провайдера с динамическим IP?

    lamo4ok
    @lamo4ok Автор вопроса
    Тем не менее, может быть посмотрите, что выше я мог не так сделать, или подскажете в чем может быть проблема? Потому что не работает именно ftp, тут даже не в роутере скорее всего дело, а в кривых руках разработчиков dlink.
  • Как сделать доступным FTP сервер за NAT+Cloud Mikrotik и за NAT провайдера с динамическим IP?

    lamo4ok
    @lamo4ok Автор вопроса
    Сергей: может быть, мне хотелось немного секса... Кажется, не туда пишу.
  • Как сделать доступным FTP сервер за NAT+Cloud Mikrotik и за NAT провайдера с динамическим IP?

    lamo4ok
    @lamo4ok Автор вопроса
    Это как факультатив - вспомнить, что и как, а заодно исправить какие-то ошибки в настройке, если таковые имеются. Ну и всяко удобнее кому-то помимо меня дать доступ к ftp, а не к vpn.
  • Как сделать доступным FTP сервер за NAT+Cloud Mikrotik и за NAT провайдера с динамическим IP?

    lamo4ok
    @lamo4ok Автор вопроса
    nimbo: да тут такое дело, что сервера у меня в другом месте совершенно, и там все давно как часы работает, а то что я тут пытаюсь сделать - это домашняя сеть с роутером и насом за ним, сделать ее доступной из интернета - это приятная опция при работе вне дома - скачать там что-то с домашнего сервера, закачать, в общем чувствовать себя как дома. Самый простой вариант - например нужен дистрибутив какого-то софта или же архив фотографий, которые хочется скачать из внешнего интернета, находясь вне дома.
  • Как сделать доступным FTP сервер за NAT+Cloud Mikrotik и за NAT провайдера с динамическим IP?

    lamo4ok
    @lamo4ok Автор вопроса
    Да, спасибо. Я на самом деле еще рассматриваю вариант с просто поднятым vpn на роутере, тем более что это уже все работает, просто пока что не хочется переходить на него - более сложный вариант в использовании потом будет.
  • CSS: как вертикально прижать друг к другу несколько рядов блоков, разных по ширине?

    lamo4ok
    @lamo4ok Автор вопроса
    @SelenIT2 спасибо и за эту версию, оформили бы отдельным ответом - отметил бы и ваше решение как верное ;)
  • CSS: как вертикально прижать друг к другу несколько рядов блоков, разных по ширине?

    lamo4ok
    @lamo4ok Автор вопроса
    @barkalov я последовал примеру, который ниже привел @ModestesGonze - и так тоже получилось. Но и твой ответ тоже верный, если использовать flex как я выше написал и очистить стили от бутстрапа.
  • CSS: как вертикально прижать друг к другу несколько рядов блоков, разных по ширине?

    lamo4ok
    @lamo4ok Автор вопроса
    Впрочем, нашел как использовать flex, но при этом нужно ограничивать как-то вертикальную высоту контейнера. Код такой:

    .wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    flex-direction: column;

    width: 1200px;
    height: 800px;
    }

    .main {
    align-self: flex-start;
    margin: 10px;
    border: 1px solid black;
    background: deepskyblue;
    width: 300px;
    }