Задать вопрос
  • Почему возникает ошибка php при docker-compose build?

    svisch
    @svisch Автор вопроса
    Александр Торопов, да можно конечно. Привожу его ниже. Но повторюсь, все прекрасно работало на предыдущей системе и перестало работать только после переустановки.
    version: '3'
    services:
        web:
            image: nginx
            volumes:
                - ./.docker/conf/nginx/default.conf:/etc/nginx/conf.d/default.conf
                - ./www:/var/www/html
            ports:
                - 80:80
            depends_on:
                - php
                - db
        php:
            build: .docker
            volumes:
                - ./.docker/conf/php/php.ini:/usr/local/etc/php/conf.d/php.ini
                - ./.docker/conf/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
                - ./www:/var/www/html
        composer:
            image: composer
            volumes:
                - .:/app
            command: install
        db:
            image: postgres:10.1
            restart: on-failure
            environment:
                - POSTGRES_DB=${DB_NAME}
                - POSTGRES_USER=${DB_USER}
                - POSTGRES_PASSWORD=${DB_PASSWORD}
            ports:
                - 5432:5432
            volumes:
                - ./.docker/conf/postgres/:/docker-entrypoint-initdb.d/
  • Как правильно устанавливать linux с двумя жёсткими дисками?

    svisch
    @svisch Автор вопроса
    xotkot, спасибо за наводку. Не слышал про dwarfs. Обязательно изучу данный вопрос!)
  • Как правильно устанавливать linux с двумя жёсткими дисками?

    svisch
    @svisch Автор вопроса
    xotkot, понял) спасибо за рекомендации))
  • Как правильно устанавливать linux с двумя жёсткими дисками?

    svisch
    @svisch Автор вопроса
    Ваша логика понятна в целом кроме одного - почему не отделяя Хоум в отдельный раздел? Ведь сами же говорите, что он будет разрастаться. А если не отделять его, то при следующей переустановке он затрется!
  • Как правильно устанавливать linux с двумя жёсткими дисками?

    svisch
    @svisch Автор вопроса
    vaut, понял. Спасибо большое за советы. Сделаю тогда как вы советуете: разделю nvme на рут и Хоум, а другой физический диск примотрирую. И надеюсь получится справиться с вариантом без переустановки, а то уж больно не хочется снова заморачиваться установкой и настройкой всяких докеров(а самое главное по новой поднятия проектов в нем) и компосеров.)
  • Как правильно устанавливать linux с двумя жёсткими дисками?

    svisch
    @svisch Автор вопроса
    vaut, хорошо. Допустим, при такой разметке при следующей переустановке мне ведь придется затереть Хоум новой установкой? Знаю, что можно и не тереть, но где то мне посоветовали типа лучше затирать ее.
    Про своп кстати вычитал, что он быстрее изнашивает SSD и использовать его не рекомендуется. Прочитав это испугался и отключил у себя своп. Да и в моем случае сейчас он не особо то и нужен - вместе с диском докупил ещё планку памяти))
  • Как правильно устанавливать linux с двумя жёсткими дисками?

    svisch
    @svisch Автор вопроса
    Интересные решения. fstab, что в нем править? А то я не такой спец в linux ещё)
    По поводу рут и Хоум на nvme - это же очень много для системы и кофигов. 90% будет пустовать на этом диске. Как выше писали не логично ли его разделить на пару-тройку разделов. Получится под хлам часть nvme и storage с ssd например
  • Почему в Nuxt js в исходном коде страницы не отображается контент?

    svisch
    @svisch Автор вопроса
    Путем экспериментов мне удалось выяснить следующее. Дополняю подробности, ниже приведу код.
    Мое приложение имеет мультиязычность(рус и англ). Значение языка, параметры приложения и меню берется из бэкенда методом getMenu() в хранилище. Есть файлы переводов, которые я подключаю к компонентам и в зависимости от языка вывожу либо рус либо анг версию некой строки. Если в компоненте просто выводить переменные компоненты, то они нормально рендерятся сервером. Но в моем случае почему то компонента отрисовывается до того, как будет получено меню, и соответственно язык приложения, а следовательно и все зависимые данные от этого. Мучался с fetch в default.vue и случайным образом у меня началась рендериться страница как надо, т.е. с учетом данных бэкэенда, от которых зависит отрисовка других элементов. В default.vue отделил код комментариями со звездочками, после добавления которого все завелось, но в этом не вижу никакой логики. Если сможете объясните пожалуйста!
    Что имеем:
    store/index.js
    //import axios from 'axios'
    
    export const state = () => ({
      lang: '',
      error: {},
      message: {},
      entry:{
        nav: {
          brandLabel: {},
          brandUrl: '',
          menu: [],
        },
        userRole: '',
        appParams:{
          organization:{},
          country:{},
        }
      }
    })
    
    export const mutations = {
      setLang(state, lang) {
        state.lang=lang;
      },
      clearError(state){
        //state.error=Object.assign({});
        //if ("message" in state.error)
        state.error={};
      },
      clearMessage(state){
        state.message={};
      },
      setBrandLabel(state, val){
        state.entry.nav.brandLabel = val
      },
      setBrandUrl(state, val){
        state.entry.nav.brandUrl = val
      },
      setMenu(state, val){
        state.entry.nav.menu = val
      },
      setUserRole(state, val){
        state.entry.userRole = val
      },
      setOrganization(state, val){
        state.entry.appParams.organization = val
      },
      setCountry(state, val) {
        state.entry.appParams.country = val
      },
    }
    
    export const actions = {
      async getMenu({state, commit, $axios }){
        await this.$axios.get('menu')
          .then(response=>{
            //console.log(response.data)
            let d = response.data;
            commit('setBrandLabel', d.brandLabel)
            commit('setBrandUrl', d.brandUrl)
            commit('setMenu', d.menu)
            commit('setLang', d.lang)
            commit('setUserRole', d.userRole)
    
            commit('setOrganization', d.appParams.organization)
            commit('setCountry', d.appParams.country)
    
            //console.log(state.entry)
            return Promise.resolve(d.lang);
    
          })
          .catch(e => {
            state.error = e.response;
    
          });
        }
    }
    
    export const getters = {
      lang: state => state.lang,
      userRole: state => state.entry.userRole,
      error(state){
        if ((state.error instanceof Object) && ('message' in state.error)){
          return ('name' in state.error) ? `${state.error.name}. ${state.error.message}`.split(';') : state.error.message.split(';');
        }
        else if (JSON.stringify(state.error)=='{}' || state.error=='')
          return false;
        return [state.error];
      },
      message(state){
        if(JSON.stringify(state.message)=='{}' || state.message=='') {
          return false;
        } else return state.message;
      },
    }


    layouts/default.vue
    <template>
      <div id="app">
        <Navbar :nav="entry.nav" :lang="lang" />
        <main>
          {{test}}
          <div class='container'>
            <Nuxt />
          </div>
        </main>
      </div>
    </template>
    
    <script>
    import Navbar from '@/components/Navbar'
    import {mapState, mapActions} from 'vuex'
    import axios from 'axios'
    
    export default {
      components: {
        Navbar
      },
      data(){
        return {
          test: '',
        }
      },
      watch: {
        '$route' (to, from) {
            if (to.path.search(/^\/language/)>-1)  {
              this.changeLanguage(to,from);
            }
            this.$store.commit('clearError');
          },
      },
      computed: {
        ...mapState(['lang', 'entry']),
      },
      methods: {
        ...mapActions(['getMenu']),
        changeLanguage(to, from){
    			this.$router.replace(from.path);
    			if (this.lang!=to.params.lang)
    			{
    				this.setLang(to.params.lang);
    				this.sendLang(to.path);
    			}
    		},
    		sendLang(path){
          axios.put(path)
            .catch(e=>{
              this.$store.dispatch('setError', e);
          });
    		},
        setLang(lang){
    			this.$store.commit('setLang', lang);
    		},
      },
    
    //***************************************  после добавления этого кода начинает рендериться как надо
      async fetch() {
        const t = await fetch('http://localhost:8000/menu').then(res =>
          res.json())
      },
      asyncData() {
          return {
            name: 'Alex',
            food: 'apple'
          }
        },
    //*********************************конец странного и непонятного кода
    
      created(){
        this.getMenu()
      },
    }
    </script>


    pages/index.vue
    <template>
      <div class="home">
        <h1>front page</h1>
        <img alt="Vue logo" class='front-logo' src="../assets/logo-front.png">
        <FrontGuest v-if="userRole == 'roleGuest'" :msg = "voc.h1[lang]"/>
        <FrontUser v-if="userRole == 'roleUser' || userRole == 'roleAdmin'" :msg = "voc.h1[lang]"/>
        <div class="generate"></div>
      </div>
    </template>
    
    <script>
    import FrontGuest from '@/components/FrontPage/FrontGuest.vue'
    import FrontUser from '@/components/FrontPage/FrontUser.vue'
    import translations from '@/components/FrontPage/translations';
    
    export default {
      components: {
        FrontGuest, FrontUser
      },
      data(){
        return {
          name: 'Home',
          voc: translations,
        }
      },
      head: {
        title: 'Home page',
     
      data() {
        return {
          voc: translations,
        }
      },
      computed: {
        lang(){
          return this.$store.getters.lang;
        },
        userRole() {
          return  this.$store.getters.userRole;
        },
      },
    }
    </script>
  • Почему постоянно перекидывает на /core/install.php?

    svisch
    @svisch
    Тяжело сказать. Вы устанавливали друпал копированием файлов - хз что там могло произойти. Так уже никто не устанавливает начиная с 8ки. Настоятельно рекомендую потратить время на изучение composer - он пригодится не только с друпалом. Если вы этого не сделаете, то рано или поздно все равно столкнетесь с проблемами обновления ядра или установки модулей.
    Если на хостинге сидите - попробуйте восстановить резервную копию сайта в тот день, когда он был рабочий и запоминайте действия, которые делаете, если вдруг проблема повторится (просто так не могло по идее сломаться)
    Новая установка и замена бд на старую не сработает скорее всего (как то тоже маялся восстанавливая сайт, наверное там какое то соответствие стоит между файлами и бд в которую изначально ставится)
    И вообще идите на drupal.ru. Там все друпалеры обитают, тут мало их, по моим наблюдениям. Опишите там проблему и поясните, что ставили не компосером. Думаю там спецы дадут дельные советы.
  • Почему постоянно перекидывает на /core/install.php?

    svisch
    @svisch
    Иван Шульга, sites/default/settings.php смотрели? Настройки подключения к бд корректные?
  • Почему постоянно перекидывает на /core/install.php?

    svisch
    @svisch
    Иван Шульга, а перед этим действием что делали? как файлы на хостинг заливали? не использовали composer? вручную копировали?
  • Как проксировать запросы к бэкэнду в nuxt в dev режиме?

    svisch
    @svisch Автор вопроса
    Алексей Ярков, еще один момент - запрос происходит из store. Не знаю важно ли это)))
  • Как проксировать запросы к бэкэнду в nuxt в dev режиме?

    svisch
    @svisch Автор вопроса
    Алексей Ярков, в консоли нет никаких ошибок. Просто в интерфейс не выводится информация с api в случае с настройкой прокси '/api': 'localhost:8000/api'
  • Как проксировать запросы к бэкэнду в nuxt в dev режиме?

    svisch
    @svisch Автор вопроса
    Алексей Ярков, ну ковычки если только.... вот так '/api': 'http://localhost:8000/api'
    Почему спрашиваете серьезно ли или нет? В этом есть что то абсурдное?)
  • Почему в Nuxt js в исходном коде страницы не отображается контент?

    svisch
    @svisch Автор вопроса
    в конфиге стоит mode: 'universal',

    Создал ща другую страницу для теста - там все ок.
    Не ОК на проблемной странице может из за того, что там подключен файл с объектом для мультиязычности. Т.е. с бэкенда приходит параметр языка и в зависимости от него с этого файла с переводом подгружается переменная в шаблоне: var[lang].
    Может из-за асинхронности вся эта борода?
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, оновременно написали) выше написал почему не работал ssl - коллега помог найти)) Но вы и Vitaly Karasik указали на имеющиеся ошибки в настройках сервера. Без вас бы не заработало) Еще раз спасибо за помощь)
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, Vitaly Karasik, помимо всех вышеперечисленных ошибок в конфиге (повторялись настройки для 443) оказалось все дело вовсе не в apache, не в файерволе и не в пробросе портов, а в CMS сайта (opencart). Оказалось в конфигах сайта есть такая строчка: define('HTTPS_SERVER', 'https://site.ru/'). Так вот вместо https почему то стояло http, поэтому и не работало.
    Всем большое спасибо за помощь. Сильно помогли и расширили кругозор)
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, ну смотрите что получилось))
    С этой машины ip addr выдал только 127.0.0.1 и какой то двойной ip:
    inet 192.168.5.177/24 brd 192.168.5.255 scope global noprefixroute dynamic eno50332176

    первый и есть ip сервера в сети, естественно по нему отдает сертификат, по второму нет (connect:errno=9
    ), не знаю что это за адрес.

    Иду дальше, захожу с другой машины в этой сети и делаю openssl s_client -connect address:443 - сертификат отдает. Получается с файерволом все ок.

    Наверное все таки с dns что то или пробросом портов, а это для меня темный лес))) забыл еще упомянуть, что по домен не пингуется, на который настраиваю ssl)